.scripture-page, .scripture-display-page { --scripture-plum:#7b2854; --scripture-plum-deep:#42162f; --scripture-gold:#c78a24; --scripture-cream:#fff8e7; }
.scripture-page { background: radial-gradient(circle at 90% 0, rgba(123,40,84,.2), transparent 34rem), radial-gradient(circle at 0 100%, rgba(199,138,36,.18), transparent 30rem), #faf4e8; }
.scripture-main { max-width: 1320px; }
.scripture-page .eyebrow { color: #a45b09; }
.scripture-page .button.primary { background: var(--scripture-plum); box-shadow: 0 10px 25px rgba(123,40,84,.24); }
.scripture-page .button.secondary { color: var(--scripture-plum-deep); background: #f5dfeb; }
.scripture-page .tab.active { color: var(--scripture-plum-deep); }
.scripture-page .game-code { border-color: var(--scripture-gold); color: var(--scripture-plum-deep); }
.scripture-page .round-pill { color: var(--scripture-plum); background: #f5dfeb; }
.scripture-page .rule-note { border-color: var(--scripture-plum); color: var(--scripture-plum) !important; background: #f8e7f0; }
.scripture-intro h1 em { color: var(--scripture-plum); }
.scripture-mark { color: var(--scripture-plum-deep); background: linear-gradient(145deg,#f5d681,#c78a24); transform: rotate(-3deg); font-size: .8rem; }
.scripture-entry { max-width: 33rem; }
.custom-verse-setup p { margin: .4rem 0 .75rem; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.custom-verse-round { min-width: 0; margin: .75rem 0 0; padding: .8rem; display: grid; gap: .4rem; border: 1px solid var(--line); border-radius: .7rem; }
.custom-verse-round legend { padding: 0 .35rem; color: var(--scripture-plum); font-weight: 700; }
.custom-verse-round textarea { width: 100%; padding: .65rem; resize: vertical; border: 1px solid var(--line); border-radius: .5rem; font: inherit; }
.setup-save-status { margin: 0; font-size: .78rem; }
.scripture-layout { display: grid; gap: 1.2rem; }
.scripture-panel { min-width: 0; }
.scripture-panel, .scripture-page .roster-card { border-color: rgba(123,40,84,.16); }
.scripture-board { padding: clamp(.75rem,2vw,1.4rem); border: 1px solid rgba(123,40,84,.28); border-radius: 1rem; background: linear-gradient(155deg,#fffdf7,#f8e8ef); }
.scripture-board.editing-board { border-color:var(--scripture-plum); box-shadow:0 0 0 3px rgba(123,40,84,.12); }
.scripture-board .word-puzzle-flow { line-height: 1.2; }
.scripture-board .puzzle-cell { font-family: Fraunces,serif; font-weight: 700; border-radius: .2rem; }
.scripture-board .hidden-cell { border-bottom: 2px solid #91627d; color: transparent; background: rgba(123,40,84,.07); }
.scripture-board .called-cell { color: white; border: 1px solid var(--scripture-plum); background: var(--scripture-plum); }
.scripture-board .solved-only-cell { color: #126f4a; border: 1px dashed #2d966d; background: #effaf5; }
.scripture-board .separator-cell { width: auto; min-width: .25rem; color: #6e5637; }
.difficulty-pill { padding: .3rem .65rem; border-radius: 999px; color: #6d254f; background: #f4dcea; font-size: .72rem; font-weight: 700; text-transform: uppercase; }
.verse-answer-form { margin-top: 1rem; display: grid; gap: .65rem; }
.scripture-page .masked-answer-heading strong { color:var(--scripture-plum-deep); }
.scripture-page .masked-answer-heading span { color:#765c6b; font-size:.85rem; }
.scripture-page .masked-answer-grid { border-color:rgba(123,40,84,.22); background:#fffafc; }
.scripture-page .missing-letter-input.puzzle-cell { border-color:var(--scripture-plum); color:var(--scripture-plum-deep); }
.scripture-page .missing-letter-input.puzzle-cell:focus { outline-color:rgba(123,40,84,.2); }
.scripture-page .answer-letter-key { border-color:rgba(123,40,84,.35); color:var(--scripture-plum-deep); background:#f8e7f0; }
.scripture-page .answer-letter-key:hover:not(:disabled), .scripture-page .answer-letter-key:focus-visible:not(:disabled) { color:white; background:var(--scripture-plum); }
.scripture-page .answer-letter-key:disabled { border-color:#c5cbd1; color:#8b949d; background:#e3e6e8; }
.scripture-page .answer-backspace { color:#91540e; background:var(--scripture-cream); }
.scripture-actions { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: .55rem; }
.scripture-private { margin-top: 1rem; padding: .9rem; border: 1px dashed var(--scripture-gold); border-radius: .75rem; background: var(--scripture-cream); }
.scripture-private p { margin: .45rem 0 0; }
.scripture-reference { margin:-.35rem 0 1rem; color:var(--scripture-plum) !important; font-family:Fraunces,serif; font-size:1.15rem; font-weight:700; }
.scripture-display-page { overflow: hidden; color: #fff; background: #281020; }
.scripture-tv-board { width: 100vw; height: 100vh; padding: 2.2vh 2.4vw; display: grid; grid-template-rows: auto minmax(0,1fr) auto; gap: 1.7vh; background: radial-gradient(circle at 85% 0,rgba(232,183,79,.3),transparent 38vw),linear-gradient(145deg,#281020,#71254f); }
.scripture-tv-header .eyebrow, .scripture-tv-footer .eyebrow { color:#f2cf7c; }
.scripture-tv-header p, .scripture-tv-footer small { color:#ead4df; }
.scripture-tv-header .turn-clock { background:var(--scripture-plum); }
.scripture-tv-board .scripture-board { --verse-cell-size: min(2.35vw,4.5vh); min-width:0; min-height:0; overflow:hidden; display:flex; align-items:center; justify-content:center; background:rgba(255,253,247,.96); }
.scripture-tv-board .word-puzzle-flow { width:100%; flex:0 0 100%; min-width:0; justify-content:center; column-gap:calc(var(--verse-cell-size) * .6); row-gap:calc(var(--verse-cell-size) * .25); line-height:1; }
.scripture-tv-board .puzzle-token { max-width:none; gap:calc(var(--verse-cell-size) * .08); }
.scripture-tv-board .scripture-board .puzzle-cell { flex:0 0 auto; width:var(--verse-cell-size); height:calc(var(--verse-cell-size) * 1.35); min-height:0; border-width:var(--verse-cell-border,1px); font-size:calc(var(--verse-cell-size) * .8); }
.scripture-tv-board .scripture-board .hidden-cell { border-bottom-width:calc(var(--verse-cell-border,1px) * 2); }
.scripture-tv-board .scripture-board .separator-cell { width:calc(var(--verse-cell-size) * .4); min-width:0; }
.scripture-tv-footer .tv-scores li.active { border-color:var(--scripture-gold); background:rgba(232,183,79,.2); }
@media (min-width:900px) { .scripture-layout { grid-template-columns:minmax(0,1fr) 20rem; } }
@media (max-width:759px) { .scripture-board .puzzle-cell { width:clamp(.78rem,4.2vw,1.15rem); min-height:1.45rem; font-size:.72rem; } }
