.orcm-bible {
  --orcm-primary: #17243b;
  --orcm-accent: #c79a48;
  --orcm-background: #f8f5ee;
  --orcm-white: #ffffff;
  --orcm-text: #243044;
  --orcm-muted: #667085;
  --orcm-border: #e5dfd2;
  --orcm-shadow: 0 18px 45px rgba(23,36,59,.10);
  max-width: 1120px;
  margin: 30px auto;
  padding: clamp(22px,4vw,48px);
  border-radius: 24px;
  background: var(--orcm-background);
  color: var(--orcm-text);
  font-family: inherit;
  line-height: 1.65;
}
.orcm-bible.orcm-dark {
  --orcm-background:#101827;
  --orcm-white:#182235;
  --orcm-text:#f6f2e9;
  --orcm-muted:#b5becc;
  --orcm-border:#334056;
  --orcm-shadow:0 18px 45px rgba(0,0,0,.26);
}
.orcm-bible * { box-sizing:border-box; }
.orcm-bible__hero { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:28px; }
.orcm-bible__eyebrow { display:inline-block; margin-bottom:7px; color:var(--orcm-accent); font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.orcm-bible h2 { margin:0 0 9px; color:var(--orcm-primary); font-size:clamp(2rem,5vw,3.65rem); line-height:1.08; letter-spacing:-.035em; }
.orcm-bible.orcm-dark h2,.orcm-bible.orcm-dark h3 { color:var(--orcm-text); }
.orcm-bible__hero p { max-width:720px; margin:0; color:var(--orcm-muted); }
.orcm-theme-toggle { display:inline-flex; align-items:center; gap:8px; flex:0 0 auto; border:1px solid var(--orcm-border); border-radius:999px; padding:9px 13px; background:var(--orcm-white); color:var(--orcm-text); cursor:pointer; font:inherit; font-size:.88rem; }
.orcm-bible__panel,.orcm-reader { background:var(--orcm-white); border:1px solid var(--orcm-border); border-radius:18px; box-shadow:var(--orcm-shadow); }
.orcm-bible__panel { padding:clamp(18px,3vw,30px); }
.orcm-bible label { display:block; margin-bottom:7px; font-size:.82rem; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.orcm-search-row { display:grid; grid-template-columns:minmax(210px,1.5fr) minmax(230px,.8fr) auto; gap:12px; }
.orcm-bible input,.orcm-bible select { width:100%; min-height:50px; border:1px solid var(--orcm-border); border-radius:10px; padding:10px 13px; background:var(--orcm-white); color:var(--orcm-text); font:inherit; }
.orcm-bible input:focus,.orcm-bible select:focus,.orcm-bible button:focus,.orcm-bible a:focus { outline:3px solid color-mix(in srgb,var(--orcm-accent) 28%,transparent); outline-offset:2px; }
.orcm-button { min-height:50px; border:0; border-radius:10px; padding:10px 22px; cursor:pointer; font:inherit; font-weight:800; }
.orcm-button--primary { background:var(--orcm-accent); color:#111827; }
.orcm-button--secondary { align-self:end; background:var(--orcm-primary); color:#fff; }
.orcm-bible.orcm-dark .orcm-button--secondary { background:var(--orcm-accent); color:#111827; }
.orcm-help { margin:9px 0 0; color:var(--orcm-muted); font-size:.85rem; }
.orcm-divider { display:flex; align-items:center; gap:12px; margin:22px 0; color:var(--orcm-muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.orcm-divider:before,.orcm-divider:after { content:""; height:1px; background:var(--orcm-border); flex:1; }
.orcm-browse-form { display:grid; grid-template-columns:1.2fr .55fr auto; gap:12px; }
.orcm-status { min-height:28px; padding:12px 4px 0; color:var(--orcm-muted); font-size:.9rem; }
.orcm-reader { min-height:280px; padding:clamp(22px,4vw,42px); }
.orcm-reader__empty { max-width:650px; margin:25px auto; text-align:center; }
.orcm-reader__empty h3 { margin:7px 0; color:var(--orcm-primary); font-size:1.65rem; }
.orcm-reader__empty p { color:var(--orcm-muted); }
.orcm-reader__mark { color:var(--orcm-accent); font-size:2.2rem; }
.orcm-text-link { padding:0; border:0; background:transparent; color:var(--orcm-accent); font:inherit; font-weight:800; text-decoration:underline; cursor:pointer; }
.orcm-reader__header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--orcm-border); }
.orcm-reader__header h3 { margin:0; color:var(--orcm-primary); font-size:clamp(1.65rem,4vw,2.35rem); }
.orcm-reader__version { color:var(--orcm-muted); font-size:.85rem; }
.orcm-verses { font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.05rem,2vw,1.23rem); line-height:1.85; }
.orcm-verse { display:inline; }
.orcm-verse-num { color:var(--orcm-accent); font-size:.7em; font-weight:800; vertical-align:super; margin-right:3px; }
.orcm-error { max-width:680px; margin:30px auto; padding:20px; border-left:4px solid var(--orcm-accent); background:rgba(199,154,72,.09); }
.orcm-bible__actions { display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:20px; }
.orcm-card-link { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:13px; padding:18px; border:1px solid var(--orcm-border); border-radius:14px; background:var(--orcm-white); color:var(--orcm-text); text-decoration:none; transition:transform .2s ease,box-shadow .2s ease; }
.orcm-card-link:hover { transform:translateY(-2px); box-shadow:var(--orcm-shadow); }
.orcm-card-icon { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:rgba(199,154,72,.15); color:var(--orcm-accent); font-size:1.2rem; }
.orcm-card-link strong,.orcm-card-link small { display:block; }
.orcm-card-link small { color:var(--orcm-muted); margin-top:2px; }
.orcm-attribution { margin:18px 4px 0; color:var(--orcm-muted); font-size:.75rem; text-align:center; }
.orcm-spinner { width:30px; height:30px; margin:60px auto; border:3px solid var(--orcm-border); border-top-color:var(--orcm-accent); border-radius:50%; animation:orcm-spin .8s linear infinite; }
@keyframes orcm-spin { to { transform:rotate(360deg); } }
@media (max-width:760px) {
  .orcm-bible { border-radius:14px; padding:18px; }
  .orcm-bible__hero { display:block; }
  .orcm-theme-toggle { margin-top:16px; }
  .orcm-search-row,.orcm-browse-form,.orcm-bible__actions { grid-template-columns:1fr; }
  .orcm-button { width:100%; }
  .orcm-reader__header { display:block; }
  .orcm-reader__version { margin-top:6px; }
}
@media (prefers-reduced-motion:reduce) {
  .orcm-spinner { animation:none; }
  .orcm-card-link { transition:none; }
  .orcm-card-link:hover { transform:none; }
}
