[hidden]{display:none!important}
:root{
  --parchment:#f6efe1;
  --parchment-2:#efe4cf;
  --ink:#2b2119;
  --ink-soft:#5c4d3d;
  --line:#d8c7a6;
  --gold:#b58a2e;
  --gold-2:#d8ac4a;
  --wine:#7a2e2e;
  --olive:#5c6b3a;
  --sky:#3d6480;
  --card:#fffdf7;
  --shadow:0 6px 22px rgba(60,42,20,.14);
  --radius:14px;
  /* chrome + reading colours — themes (themes.css) override these */
  --page-glow:#fbf6ea;
  --bar-1:#3a2b1a; --bar-2:#2c2013; --bar-ink:#f4e9d2; --bar-accent:#f0dca0;
  --btn-1:#8a5a2b; --btn-2:#6f4620; --btn-ink:#fdf6e6;
  --gold-ink:#3a2b12;
  --hl-1:#ffef9f; --hl-2:#b8ecc0; --hl-3:#f9c9de; --hl-4:#bcdcf5;
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  color:var(--ink);
  background:
    radial-gradient(1200px 600px at 50% -10%, var(--page-glow), transparent),
    var(--parchment);
  min-height:100vh;
  line-height:1.55;
}
h1,h2,h3{font-weight:700;letter-spacing:.2px}
h2{margin:.2em 0 .6em}
a{color:var(--wine)}

/* Top bar */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:.7rem 1.1rem;
  background:linear-gradient(180deg,var(--bar-1),var(--bar-2));
  color:var(--bar-ink);position:sticky;top:0;z-index:20;
  box-shadow:0 2px 10px rgba(0,0,0,.25);
}
.brand{font-size:1.15rem;font-weight:700;cursor:pointer;display:flex;gap:.4rem;align-items:center}
.brand span{background:linear-gradient(90deg,var(--gold-2),var(--bar-accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.topnav{display:flex;gap:.35rem;flex-wrap:wrap}
.navbtn{
  background:transparent;border:1px solid rgba(216,172,74,.4);color:#e9d9b3;
  padding:.35rem .7rem;border-radius:999px;cursor:pointer;font:inherit;font-size:.9rem;
}
.navbtn:hover{background:rgba(216,172,74,.18)}
.navbtn.active{background:var(--gold);color:var(--gold-ink);border-color:var(--gold)}

/* Layout */
#app{max-width:880px;margin:0 auto;padding:1.2rem 1rem 4rem}
.view{animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Hero */
.hero{text-align:center;padding:2rem 1rem}
.hero h1{font-size:2.5rem;margin:.2em 0;color:var(--ink)}
.tagline{max-width:34rem;margin:0 auto 1.6rem;color:var(--ink-soft);font-size:1.08rem}
.home-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.home-actions .btn.big{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:15rem}
.btn-sub{font-size:.78rem;font-weight:400;opacity:.85}
.home-actions-2{margin-top:.7rem}
/* choose a session type */
.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1rem;margin:.6rem 0 0}
.mode-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.1rem 1.2rem;box-shadow:var(--shadow);display:flex;flex-direction:column}
.mode-card h3{margin:0 0 .3rem;font-size:1.3rem}
.mode-lead{margin:0 0 .6rem;color:var(--ink-soft)}
.mode-points{margin:0 0 .8rem;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem}
.mode-points li{line-height:1.45}
.pts-tag{background:var(--gold);color:var(--gold-ink);border-radius:999px;padding:.02rem .45rem;
  font-size:.78rem;font-weight:700;margin-left:.4rem;white-space:nowrap}
.mode-card .btn{margin-top:auto}
.loadstate{margin-top:1.4rem;color:var(--ink-soft);font-style:italic;min-height:1.2em}
.loadstate.err{color:var(--wine)}

/* Buttons */
.btn{
  background:linear-gradient(180deg,var(--btn-1),var(--btn-2));color:var(--btn-ink);border:none;
  padding:.6rem 1.1rem;border-radius:10px;cursor:pointer;font:inherit;font-size:1rem;
  box-shadow:var(--shadow);transition:transform .06s ease, filter .15s ease;
}
.btn:hover{filter:brightness(1.08)}
.btn:active{transform:translateY(1px)}
.btn.gold{background:linear-gradient(180deg,var(--gold-2),var(--gold));color:var(--gold-ink)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}
.btn.ghost:hover{background:var(--parchment-2)}
.btn.big{font-size:1.15rem;padding:.8rem 1.5rem}
.btn.small{font-size:.86rem;padding:.4rem .75rem}
.btn:disabled{opacity:.5;cursor:not-allowed}

.row-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
.row-actions.center{justify-content:center}

/* Fields */
.field{display:block;margin:1rem 0}
.field>span{display:block;font-size:.9rem;color:var(--ink-soft);margin-bottom:.35rem;font-weight:600}
/* every text-ish input gets the same parchment field — password and email were
   missing here, so they fell back to the browser's own box */
input[type=text],input[type=search],input[type=password],input[type=email],
input[type=tel],input[type=number],input[type=url],select,textarea{
  width:100%;padding:.6rem .7rem;border:1px solid var(--line);border-radius:9px;
  background:var(--card);font:inherit;font-size:1rem;color:var(--ink);
  line-height:1.35;-webkit-appearance:none;appearance:none;
}
input[type=password]{letter-spacing:.12em}
input::placeholder{color:#a8977f}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold-2);outline-offset:1px;border-color:var(--gold)}
/* Chrome paints autofilled fields pale blue — keep them on parchment */
input:-webkit-autofill,input:-webkit-autofill:focus,input:autofill{
  -webkit-text-fill-color:var(--ink);
  box-shadow:0 0 0 100px var(--card) inset;
  background-color:var(--card)!important;
  background-image:none;
}
textarea{resize:vertical;min-height:2.4rem}

.player-inputs{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}
.player-row{display:flex;gap:.5rem;align-items:center}
.player-row input{flex:1}
.player-row .rm{background:none;border:none;color:var(--wine);font-size:1.2rem;cursor:pointer;padding:.2rem .4rem}

/* Panels */
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1rem 1.1rem;margin:1rem 0;box-shadow:var(--shadow)}
.hint{color:var(--ink-soft);font-size:.92rem}
.muted{color:#9a8b76}

/* Hub */
.hub-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.hub-tools{display:flex;gap:.4rem}

/* Scoreboard */
.scoreboard{display:flex;gap:.6rem;flex-wrap:wrap;margin:.5rem 0 0}
.score-chip{
  background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:.5rem .9rem;min-width:110px;box-shadow:var(--shadow);position:relative;flex:1 1 auto
}
.score-chip .nm{font-weight:700;display:flex;align-items:center;gap:.35rem}
.score-chip .pts{font-size:1.9rem;font-weight:700;color:var(--gold);line-height:1}
/* a study keeps no score — the chips are just "who's here", so they stay small */
.scoreboard.names-only{gap:.4rem}
.scoreboard.names-only .score-chip{padding:.3rem .7rem;min-width:0;flex:0 0 auto;font-size:.92rem}
.score-chip.leader{border-color:var(--gold);box-shadow:0 0 0 2px rgba(181,138,46,.25),var(--shadow)}
.score-chip.out{opacity:.5;filter:grayscale(.5)}
.score-chip.out .pts{color:var(--ink-soft)}
.out-tag{font-size:.78rem;color:var(--ink-soft);font-weight:400}
.chip-dot{width:.7rem;height:.7rem;border-radius:50%;display:inline-block;flex:none}
.crown{filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}

/* Player manager */
.player-manager{margin-top:.8rem}
.roster-list{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0 .8rem}
.roster-row{display:flex;align-items:center;gap:.6rem;background:var(--parchment);border:1px solid var(--line);
  border-radius:10px;padding:.45rem .7rem}
.roster-row.out{opacity:.6}
.roster-name{font-weight:700;flex:1}
.roster-score{color:var(--ink-soft);font-size:.88rem}
.dropin-row{display:flex;gap:.5rem}
.dropin-row input{flex:1}

/* Bible progress */
.bible-progress{margin:.9rem 0 0}
.bp-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.9rem;color:var(--ink-soft);margin-bottom:.3rem}
.bp-head span:first-child{font-weight:600}
.bp-track{height:12px;background:var(--parchment-2);border:1px solid var(--line);border-radius:999px;overflow:hidden}
.bp-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-2));border-radius:999px;transition:width .6s ease}

/* Current chapter */
.cc-ref{font-size:1.5rem;font-weight:700;margin-bottom:.2rem}
.cc-why{font-size:.9rem;color:var(--gold);font-style:italic;margin-bottom:.5rem}

/* Next-chapter method vote */
.next-method{margin-top:1rem}
.next-method h3{margin:1rem 0 .3rem}
.method-list{display:flex;flex-direction:column;gap:.4rem;margin:.5rem 0}
.method-row{display:flex;align-items:center;gap:.5rem;background:var(--card);border:1px solid var(--line);
  border-radius:10px;padding:.4rem .6rem;box-shadow:var(--shadow)}
.method-row.leader{border-color:var(--gold);background:#fbf4e2}
.method-vote{background:var(--olive);color:#fff;border:none;border-radius:7px;padding:.3rem .6rem;font:inherit;font-size:.85rem;cursor:pointer}
.method-unvote{background:none;border:1px solid var(--line);border-radius:7px;width:1.7rem;height:1.7rem;cursor:pointer;font-size:1rem;line-height:1}
.method-count{min-width:1.4rem;text-align:center;font-weight:700;color:var(--gold)}
.method-label{flex:1}
.method-leader{margin-top:.4rem;font-weight:600;color:var(--olive)}
.chooserHint,.hint.chooser{font-style:italic}

/* History */
.history-list{margin:.4rem 0 0;padding-left:1.2rem}
.history-list li{margin:.35rem 0}
.h-ref{font-weight:700}
.h-detail{color:var(--ink-soft);font-size:.92rem}

/* Reader */
.reader-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  position:sticky;top:52px;background:var(--parchment);padding:.4rem 0;z-index:5;border-bottom:1px solid var(--line)}
.reader-tools{display:flex;gap:.4rem}
/* Reading options bar */
/* sticky, so it needs its own opaque backing — otherwise the chapter text
   scrolls up underneath the buttons and reads through the gaps */
.reading-options{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.6rem 0;
  position:sticky;top:96px;z-index:4;
  background:var(--parchment);border:1px solid var(--line);border-radius:10px;
  padding:.35rem .5rem;box-shadow:var(--shadow)}
.ro-group{display:flex;gap:.2rem;background:var(--card);border:1px solid var(--line);border-radius:9px;padding:.15rem;box-shadow:var(--shadow)}
.ro-btn{background:transparent;border:none;border-radius:7px;padding:.35rem .6rem;font:inherit;font-size:.85rem;cursor:pointer;color:var(--ink)}
.ro-btn:hover{background:var(--parchment-2)}
.ro-btn.sel{background:var(--gold);color:var(--gold-ink);font-weight:600}
.ro-toggle{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}
.ro-version{display:inline-flex}
.ro-version select,.ro-version-sel{padding:.3rem .5rem;border:1px solid var(--line);border-radius:8px;background:var(--card);font:inherit;font-size:.85rem;cursor:pointer}
.ro-version-sel{margin-left:.3rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.cmp-label{font-size:1rem;color:var(--ink-soft);padding:0 .2rem}
/* side-by-side compare */
.scripture.compare{line-height:1.55}
.cmp-head{display:grid;grid-template-columns:1.6rem 1fr 1fr;gap:.8rem;position:sticky;top:0;background:var(--card);
  padding:.2rem 0 .4rem;border-bottom:2px solid var(--line);margin-bottom:.3rem;z-index:2}
.cmp-col-h{font-weight:700;color:var(--wine);font-size:.85em}
.cmp-row{display:grid;grid-template-columns:1.6rem 1fr 1fr;gap:.8rem;padding:.35rem 0;border-bottom:1px solid #eadfc6;cursor:pointer}
.cmp-row .vn{vertical-align:top}
.cmp-col{min-width:0}
.scripture.compare.no-nums .cmp-head,.scripture.compare.no-nums .cmp-row{grid-template-columns:1fr 1fr}
@media (max-width:560px){
  .cmp-head,.cmp-row{grid-template-columns:1.4rem 1fr 1fr;gap:.5rem;font-size:.95em}
}

.scripture{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1.4rem 1.5rem;margin:1rem 0;box-shadow:var(--shadow);
  font-size:1.14rem;line-height:1.85;
}
.scripture.sans{font-family:"Segoe UI",Verdana,system-ui,sans-serif;line-height:2}
.scripture.size-xs{font-size:.98rem}
.scripture.size-s{font-size:1.06rem}
.scripture.size-m{font-size:1.18rem}
.scripture.size-l{font-size:1.4rem;line-height:1.95}
.scripture.size-xl{font-size:1.7rem;line-height:2}
.verse .vn{
  font-size:.72em;color:var(--gold);font-weight:700;vertical-align:super;margin-right:.25em;
  font-family:Georgia,serif;
}
.scripture.no-nums .vn{display:none}
.verse:target{background:#fff3cf}
/* line-by-line: each verse on its own line */
.scripture.layout-lines .verse{display:block;margin:.15rem 0;padding-left:1.6rem;text-indent:-1.6rem}
.scripture.layout-lines .verse .vn{vertical-align:baseline;font-size:.82em}
/* focus: one big verse + nav */
.scripture.layout-verse{text-align:center}
/* Focus layout: the group's verse, with the one before and after kept faint
   so nobody loses the thread of the passage. */
.scripture.layout-verse .verse{margin:.5rem 0}
.scripture.layout-verse .verse.ctx{opacity:.5;font-size:.72em;line-height:1.5;color:var(--ink-soft)}
.scripture.layout-verse .verse.ctx:hover{opacity:.75}
.verse.focus{display:block;font-size:1.35em;line-height:1.7;padding:1rem .5rem 1.5rem}
.verse.focus .vn{font-size:.55em}
.verse-nav{display:flex;align-items:center;justify-content:center;gap:1rem;border-top:1px solid var(--line);padding-top:1rem}
.vn-count{color:var(--ink-soft);font-size:.9rem;min-width:8rem}

/* Chapter search */
.chsearch-list{display:flex;flex-direction:column;gap:.6rem}
.chsearch-item{display:flex;gap:.8rem;align-items:center;justify-content:space-between;
  background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;box-shadow:var(--shadow)}
.chs-main{flex:1;min-width:0}
.chs-ref{font-weight:700;color:var(--wine);margin-bottom:.2rem}
.chs-snip{font-size:.92rem;color:var(--ink-soft);line-height:1.5}
.chs-vn{color:var(--gold);font-weight:700;font-size:.85em;margin-right:.3rem}
.chs-snip mark{background:#fff0b8;color:inherit;padding:0 .1em;border-radius:3px}

/* Log view */
.log-tabs{display:flex;gap:.4rem;flex-wrap:wrap;margin:.4rem 0 1rem}
.log-tab{background:var(--card);border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;font:inherit;font-size:.9rem;cursor:pointer;color:var(--ink)}
.log-tab.sel{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);font-weight:600}
.log-list{line-height:1.9}
.log-round{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;margin:.6rem 0;box-shadow:var(--shadow)}
.log-round-head{font-weight:700;margin-bottom:.35rem;display:flex;align-items:center;gap:.4rem}
.log-ans{margin:0;padding-left:1.2rem;line-height:1.75}
.log-ans li{margin:.2rem 0}
.log-player{font-weight:700}
.log-type.person{color:var(--sky)}.log-type.location{color:var(--olive)}.log-type.application{color:var(--wine)}
.log-pts{color:var(--gold);font-weight:700;font-size:.9em}

/* Present-this-round bar */
.present-bar{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin:.3rem 0 .9rem;
  padding:.5rem .7rem;background:var(--parchment-2);border:1px solid var(--line);border-radius:10px}
.present-label{font-size:.85rem;color:var(--ink-soft);font-weight:700;margin-right:.2rem}
.present-chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.3rem .8rem;
  font:inherit;font-size:.9rem;cursor:pointer;opacity:.55}
.present-chip.on{opacity:1;border-color:var(--olive);background:#eaf0dd;font-weight:600}

/* Score form */
.score-form{display:flex;flex-direction:column;gap:.8rem;margin-top:.6rem}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem;box-shadow:var(--shadow)}
.pcard .phead{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.pcard .pname{font-weight:700;font-size:1.05rem}
.type-choices{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.5rem}
.type-pill{
  border:1px solid var(--line);background:var(--parchment);border-radius:999px;
  padding:.35rem .8rem;cursor:pointer;font:inherit;font-size:.9rem;user-select:none;display:flex;gap:.3rem;align-items:center
}
.type-pill.sel{color:var(--ink);font-weight:700;box-shadow:inset 0 0 0 2px currentColor}
.type-pill[data-t=person].sel{background:#cfe0ec;border-color:var(--sky);color:#274a63}
.type-pill[data-t=location].sel{background:#dde7c8;border-color:var(--olive);color:#3f4d26}
.type-pill[data-t=application].sel{background:#eccdcd;border-color:var(--wine);color:#5e2020}
.type-pts{font-size:.75em;opacity:.85}
.pcard .note{margin-top:.2rem}
.bonus-row{display:flex;gap:.5rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}
.bonus-row label{font-size:.85rem;color:var(--ink-soft);display:flex;gap:.35rem;align-items:center}
.bonus-row input[type=number]{width:4.5rem;padding:.35rem}
.bonus-row input[type=text]{flex:1;min-width:8rem}
.next-chooser{max-width:22rem}

/* Reference tag in headings */
.ref-tag{font-size:1rem;color:var(--gold);font-weight:700}

/* Type badge (phase 2) */
.type-badge{display:inline-block;font-size:.78rem;padding:.15rem .6rem;border-radius:999px;color:#fff;font-weight:600}
.type-badge.person{background:var(--sky)}.type-badge.location{background:var(--olive)}.type-badge.application{background:var(--wine)}

/* Duplicate answer warning */
.note.dup{border-color:var(--wine);background:#fbeceb;outline:2px solid var(--wine)}
.dup-warn{color:var(--wine);font-size:.82rem;margin-top:.3rem;font-weight:600}

/* Resolve panel */
.resolve-panel{margin-top:.5rem}
.resolve-panel h3{margin:1rem 0 .3rem}
.match-row{display:flex;gap:.55rem;align-items:flex-start;background:var(--card);border:1px solid var(--line);
  border-radius:10px;padding:.6rem .8rem;margin:.4rem 0;cursor:pointer;box-shadow:var(--shadow)}
.match-row.auto{border-color:var(--gold);background:#fbf4e2}
.match-row input{margin-top:.25rem;width:1.1rem;height:1.1rem;flex:none}
.match-tag{color:var(--ink-soft);font-size:.82rem;font-style:italic}

.vote-box{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem;margin:.5rem 0;box-shadow:var(--shadow)}
.vote-q{margin-bottom:.55rem}
.vote-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:.5rem}
.vote-seg{display:flex;flex-direction:column;gap:.25rem;background:var(--parchment);border:1px solid var(--line);border-radius:10px;padding:.4rem .5rem}
.vote-name{font-size:.82rem;font-weight:700;color:var(--ink-soft);text-align:center}
.vbtn{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:.3rem .5rem;font:inherit;font-size:.82rem;cursor:pointer}
.vbtn.yes.sel{background:var(--olive);color:#fff;border-color:transparent}
.vbtn.no.sel{background:var(--wine);color:#fff;border-color:transparent}
.vseg-btns{display:flex;gap:.25rem}
.help-seg{display:flex;flex-direction:column;gap:.3rem;background:var(--parchment);border:1px solid var(--line);border-radius:10px;padding:.45rem .55rem;align-items:stretch}
.hbtn{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:.3rem .5rem;font:inherit;font-size:.8rem;cursor:pointer}
.hbtn.sel{background:var(--gold);color:var(--gold-ink);border-color:transparent;font-weight:600}
.hbtn:disabled{opacity:.4;cursor:not-allowed}
.chbtn{border:1px solid var(--wine);background:var(--card);color:var(--wine);border-radius:7px;padding:.3rem .5rem;font:inherit;font-size:.8rem;cursor:pointer}
.chbtn.sel{background:var(--wine);color:#fff;border-color:transparent;font-weight:600}
.research-area{margin-top:.6rem;border-top:1px dashed var(--line);padding-top:.6rem;display:flex;flex-direction:column;gap:.5rem}
.research-banner{background:#f3e7c9;border:1px solid var(--gold);border-radius:10px;padding:.55rem .75rem;font-size:.92rem}
.challenger-row{margin:.35rem 0;display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.chal-label{font-size:.85rem;color:var(--ink-soft)}
.chal-sel{width:auto;padding:.35rem .5rem}
.vote-verdict{font-weight:600;font-size:.92rem;padding:.35rem 0}
.vote-verdict.good{color:var(--olive)}
.vote-verdict.bad{color:var(--wine)}

/* Reveal */
.reveal-list{display:flex;flex-direction:column;gap:.7rem;margin:1rem 0}
.reveal-card{
  background:var(--card);border:1px solid var(--line);border-left:6px solid var(--gold);
  border-radius:12px;padding:.9rem 1rem;box-shadow:var(--shadow);
  opacity:0;transform:translateX(-10px);animation:slidein .4s forwards;
}
@keyframes slidein{to{opacity:1;transform:none}}
.reveal-card .rc-top{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}
.reveal-card .rc-name{font-weight:700;font-size:1.1rem}
.reveal-card .rc-pts{font-weight:700;color:var(--gold);font-size:1.2rem;white-space:nowrap}
.reveal-card .rc-type{display:inline-block;font-size:.78rem;padding:.1rem .5rem;border-radius:999px;color:#fff;margin-top:.2rem}
.rc-type.person{background:var(--sky)}.rc-type.location{background:var(--olive)}.rc-type.application{background:var(--wine)}
.reveal-card .rc-note{margin-top:.4rem;color:var(--ink-soft)}
.reveal-card .rc-bonus{margin-top:.3rem;font-size:.88rem;color:var(--gold);font-weight:600}
.reveal-card .rc-bonus.good{color:var(--olive)}
.reveal-card .rc-bonus.bad{color:var(--wine)}
.reveal-card.zero{border-left-color:#b0a48d;opacity:.85}
.reveal-card.zero .rc-pts{color:var(--ink-soft)}

/* Atlas */
.atlas-search{max-width:26rem;margin-bottom:1rem}
.atlas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.map-card{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;
  box-shadow:var(--shadow);cursor:pointer;display:flex;flex-direction:column}
.map-card img{width:100%;height:150px;object-fit:cover;background:#e9dec4;display:block}
.map-card .mc-body{padding:.55rem .7rem}
.map-card .mc-title{font-size:.88rem;font-weight:600;line-height:1.25}
.map-card .mc-lic{font-size:.72rem;color:#9a8b76;margin-top:.2rem}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(20,14,6,.9);display:flex;align-items:center;justify-content:center;
  flex-direction:column;z-index:50;padding:1rem}
.lightbox img{max-width:96vw;max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.lightbox .lb-cap{color:#eaddc0;margin-top:.7rem;text-align:center;max-width:60rem;font-size:.9rem}
.lightbox .lb-cap a{color:var(--gold-2)}
.lightbox .lb-close{position:absolute;top:1rem;right:1.3rem;color:#fff;font-size:2rem;cursor:pointer;background:none;border:none}

/* Rules */
.rules-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.4rem;box-shadow:var(--shadow)}
.rules{line-height:1.9}
.rules li{margin:.3rem 0}

/* Saved games modal list */
.savelist{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem}
.save-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;
  background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.6rem .8rem}
.save-row .sr-meta{font-size:.85rem;color:var(--ink-soft)}
.save-row .sr-actions{display:flex;gap:.35rem}

/* Bible map + journey */
.journey-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:1rem 1.1rem;margin:1rem 0;box-shadow:var(--shadow)}
.journey-wrap{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#dfeaf0}
.biblemap{display:block;width:100%;height:auto}
.biblemap .sea-label{fill:#3d6480;font-size:15px;font-style:italic;font-family:Georgia,serif;opacity:.7}
.biblemap .marker-label{font-size:13px;font-family:Georgia,serif;fill:#2b2119;font-weight:600;paint-order:stroke}
.biblemap .marker-label.halo{stroke:#fffdf7;stroke-width:3.2px;fill:none}
.biblemap .marker{cursor:default}
.journey-legend{margin-top:.7rem;display:flex;flex-direction:column;gap:.3rem}
.leg-item{display:flex;align-items:baseline;gap:.45rem;font-size:.92rem;flex-wrap:wrap}
.leg-dot{width:.8rem;height:.8rem;border-radius:50%;display:inline-block;flex:none;align-self:center}
.leg-name{font-weight:700}
.leg-path{color:var(--ink-soft)}

/* Verse layout + highlighting */
.scripture.layout-flow .verse{display:inline}
.verse{cursor:pointer;border-radius:5px;transition:background .1s}
.scripture.readonly .verse{cursor:default}
.verse.hl-1{background:var(--hl-1)}.verse.hl-2{background:var(--hl-2)}
.verse.hl-3{background:var(--hl-3)}.verse.hl-4{background:var(--hl-4)}
.hl-bar{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap;margin:.5rem 0}
.theme-bar{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:.5rem 0}
/* compare with a second translation */
.cmp-bar{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:.5rem 0}
.cmp-sel{width:auto;min-width:9rem;padding:.35rem .5rem;font-size:.9rem}
.cmp-modes{display:inline-flex;gap:.2rem;background:var(--card);border:1px solid var(--line);border-radius:9px;
  padding:.15rem;flex:0 0 auto;white-space:nowrap}
.cmp-modes .ro-btn{white-space:nowrap}
/* the reader's options bar is a flex row — keep the compare controls inline */
.ro-version{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto}
.ro-version select{width:auto;min-width:6.5rem}
.cmp-modes.off{display:none}
.cmp-tag{display:inline-block;font-size:.62em;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink-soft);background:var(--parchment-2);border-radius:999px;padding:.05rem .4rem;margin-right:.35rem;
  vertical-align:.12em}
/* stacked: the second reading sits under the first */
.cmp-alt{display:block;margin:.15rem 0 .35rem;color:var(--ink-soft);font-size:.88em;line-height:1.5}
.scripture.cmp-inline .verse{display:block;margin:.5rem 0;padding-bottom:.35rem;border-bottom:1px dashed var(--line)}
/* side by side: two columns per verse, stacking on a narrow screen */
.scripture.cmp-inline.cmp-side .verse{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;align-items:start}
.scripture.cmp-inline.cmp-side .verse .vn{grid-column:1 / -1}
.scripture.cmp-inline.cmp-side .cmp-alt{margin:0;border-left:1px solid var(--line);padding-left:.9rem}
@media (max-width:640px){ .scripture.cmp-inline.cmp-side .verse{grid-template-columns:1fr} 
  .scripture.cmp-inline.cmp-side .cmp-alt{border-left:0;padding-left:0} }
/* reader's stacked compare rows */
.scripture.compare.stacked .cmp-row{grid-template-columns:1.6rem 1fr}
.cmp-stack{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.cmp-line{line-height:1.5}
.cmp-line.alt{color:var(--ink-soft)}
.theme-sel{width:auto;min-width:11rem;padding:.35rem .5rem;font-size:.9rem}
.hl-label{font-size:.85rem;color:var(--ink-soft);font-weight:600;margin-right:.2rem}
.hl-tool{width:2rem;height:2rem;border:1px solid var(--line);background:var(--card);border-radius:8px;
  cursor:pointer;font-size:1.05rem;line-height:1;display:flex;align-items:center;justify-content:center}
.hl-tool.sel{border-color:var(--ink);box-shadow:0 0 0 2px var(--gold-2)}

/* Chapter peek (phase 2) + maps row */
.peek-row{margin:.4rem 0}
.chapter-peek{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.4rem .8rem;margin:.5rem 0;box-shadow:var(--shadow)}
.chapter-peek>summary{cursor:pointer;font-weight:700;padding:.3rem 0}
.peek-hint{font-weight:400;font-size:.82rem;color:var(--ink-soft)}
.chapter-peek .scripture{max-height:50vh;overflow:auto;margin:.5rem 0 .3rem}

/* Maps popup */
.maps-pop{align-items:flex-start;overflow:auto;padding:2rem 1rem}
.maps-pop-panel{background:var(--card);border-radius:14px;padding:1.2rem 1.4rem;max-width:52rem;width:100%;margin:auto}
.maps-pop-panel h3{margin:.2rem 0 .5rem}
.maps-pop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.7rem;margin-top:.5rem}
.mp-sub{font-weight:700;margin-top:.9rem}

/* Account + auth */
.account-bar{display:flex;gap:.6rem;align-items:center;justify-content:center;margin-top:1.3rem;flex-wrap:wrap}
.acct-name{font-weight:700}
/* optional account row on the New Study / New Game screen */
.setup-acct{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;background:var(--parchment);border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;margin-bottom:1rem}
.setup-acct .hint{flex-basis:100%;margin:.1rem 0 0}
.auth-panel{max-width:22rem;margin:1rem auto 0;text-align:left}
/* auth modal overlay (works over any screen, incl. a live game) */
/* the panel can be taller than a phone screen (the reset step adds two fields),
   so the overlay scrolls and the buttons are always reachable */
.auth-overlay{position:fixed;inset:0;z-index:55;background:rgba(20,14,6,.55);display:flex;
  align-items:flex-start;justify-content:center;padding:1rem;overflow:auto;-webkit-overflow-scrolling:touch}
.auth-overlay .auth-modal{margin:auto}
.auth-overlay[hidden]{display:none}
.auth-modal{background:var(--card);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.4);padding:1.2rem 1.3rem;
  max-width:24rem;width:100%;position:relative}
.modal-x{position:absolute;top:.5rem;right:.55rem;width:2rem;height:2rem;border-radius:8px;
  border:1px solid var(--line);background:var(--parchment);color:var(--ink-soft);
  font:inherit;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.modal-x:hover{background:var(--parchment-2);color:var(--ink)}
.auth-modal .auth-body{padding-top:.6rem}
.auth-body{text-align:left}
.gender-row{display:flex;gap:.4rem;margin:.4rem 0}
.gender-btn{border:1px solid var(--line);background:var(--parchment);border-radius:999px;padding:.35rem .8rem;font:inherit;font-size:.9rem;cursor:pointer}
.gender-btn.sel{background:var(--sky);color:#fff;border-color:transparent;font-weight:700}
.chat-gate{padding:.5rem .7rem;border-top:1px solid var(--line);text-align:center}
.auth-tabs{display:flex;gap:.4rem;margin-bottom:.6rem}
.auth-tab{flex:1;background:var(--parchment);border:1px solid var(--line);border-radius:9px;padding:.45rem;font:inherit;cursor:pointer}
.auth-tab.sel{background:var(--gold);color:var(--gold-ink);border-color:var(--gold);font-weight:700}
.auth-error{color:var(--wine);font-size:.88rem;font-weight:600;margin:.2rem 0}
.auth-alt{margin:.5rem 0 0;text-align:center}
/* book picker (custom scope) */
.bookpick-pop{position:fixed;inset:0;background:rgba(20,14,6,.55);display:flex;align-items:flex-start;justify-content:center;
  padding:2rem 1rem;overflow:auto;z-index:60}
.bookpick-card{background:var(--card);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.4);padding:1.1rem 1.2rem;
  max-width:44rem;width:100%}
.bookpick-card h3{margin:0 0 .2rem}
.bookpick-card h4{margin:.9rem 0 .35rem;color:var(--wine);font-size:.95rem;letter-spacing:.02em}
.bookpick-quick{display:flex;gap:.4rem;flex-wrap:wrap;margin:.6rem 0 .2rem}
.bookpick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.35rem}
.book-chip{display:flex;align-items:center;justify-content:space-between;gap:.4rem;text-align:left;
  background:var(--parchment);border:1px solid var(--line);border-radius:9px;padding:.4rem .55rem;
  font:inherit;font-size:.9rem;cursor:pointer;color:var(--ink)}
.book-chip:hover{border-color:var(--gold)}
.book-chip.sel{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-weight:700}
.book-chip-n{font-size:.75rem;color:var(--ink-soft);font-weight:600}
.book-chip.sel .book-chip-n{color:#5a4413}
.bookpick-count{margin:.9rem 0 .2rem;font-weight:600;color:var(--wine)}
.bookpick-actions{position:sticky;bottom:0;background:var(--card);padding-top:.5rem}
@media (max-width:560px){ .bookpick-grid{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr))} }
.linkish{background:none;border:0;padding:0;font:inherit;font-size:.9rem;color:var(--sky);text-decoration:underline;cursor:pointer}
.linkish:hover{color:var(--wine)}
.verified-badge{background:var(--olive);color:#fff;border-radius:999px;padding:.1rem .5rem;font-size:.78rem;font-weight:700}

/* voice call bar */
.voice-bar{max-width:880px;margin:.8rem auto 0;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;
  background:var(--parchment-2);border:1px solid var(--line);border-radius:12px;padding:.5rem .9rem}
.voice-label{font-weight:700}
.voice-names{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.9rem}
.voice-me{font-weight:700}
.voice-peer{color:var(--ink-soft)}
.voice-peer.on{color:var(--olive);font-weight:600}

/* online chat */
.online-chat{max-width:880px;margin:1rem auto 0;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden}
.chat-head{padding:.5rem .9rem;font-weight:700;border-bottom:1px solid var(--line);background:var(--parchment-2)}
.chat-messages{max-height:34vh;overflow:auto;padding:.6rem .9rem;display:flex;flex-direction:column;gap:.3rem}
.chat-msg{font-size:.94rem;line-height:1.4}
.chat-from{font-weight:700;color:var(--wine)}
.chat-compose{display:flex;gap:.4rem;padding:.5rem .7rem;border-top:1px solid var(--line)}
.chat-compose input{flex:1}
.chat-compose input:disabled{opacity:.6}

/* Saved-game cards with minimap */
.savelist{gap:.8rem}
.save-card{display:flex;gap:.9rem;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem;box-shadow:var(--shadow)}
.save-mini{width:120px;flex:none;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#dfeaf0;align-self:stretch;min-height:80px}
.save-mini.empty{display:flex;align-items:center;justify-content:center}
.save-mini .biblemap{width:100%;height:100%;display:block}
.save-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}
.save-title{font-weight:700}
.bp-track.mini{height:8px;margin:.15rem 0}
.log-passage{cursor:pointer}
.log-passage:hover .h-ref{text-decoration:underline}
.hl-count{color:var(--gold);font-size:.85em}

/* Docked map panel */
.map-dock{position:fixed;left:0;right:0;bottom:0;z-index:45;background:var(--card);
  border-top:2px solid var(--gold);box-shadow:0 -6px 24px rgba(60,42,20,.28);
  max-height:52vh;display:flex;flex-direction:column;border-radius:14px 14px 0 0;animation:dockup .25s ease}
.map-dock[hidden]{display:none}
.map-dock.expanded{max-height:92vh}
@keyframes dockup{from{transform:translateY(100%)}to{transform:none}}
.map-dock-head{display:flex;justify-content:space-between;align-items:center;padding:.5rem .9rem;border-bottom:1px solid var(--line);flex:none}
.map-dock-title{font-weight:700}
.map-dock-tools{display:flex;gap:.3rem}
.map-dock-body{overflow:auto;padding:.7rem .9rem;-webkit-overflow-scrolling:touch}
.md-sub{font-weight:700;margin:.7rem 0 .3rem}
.md-sub:first-child{margin-top:0}
.osm-wrap{position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#e9edf0}
.osm-embed{width:100%;height:300px;border:0;display:block}
.osm-open{display:inline-block;padding:.4rem .7rem;font-size:.85rem;color:var(--wine)}
.md-place-picker{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.5rem}
.md-place{border:1px solid var(--line);background:var(--parchment);border-radius:999px;padding:.3rem .7rem;font:inherit;font-size:.85rem;cursor:pointer}
.md-place.sel{background:var(--wine);color:#fff;border-color:transparent}
.good-note{color:var(--olive);font-weight:600}

/* Online multiplayer */
.online-choice{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;margin-top:1rem}
.read-mode-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.5rem 0}
.mark-dots{display:inline-flex;gap:3px;margin-right:.35rem;vertical-align:middle;flex-wrap:wrap}
.mark-dot{width:.6rem;height:.6rem;border-radius:50%;display:inline-block;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
/* who marked it: the name rides next to the colour when there's room for it */
.mark-dot.named{width:auto;height:auto;border-radius:999px;padding:.02rem .4rem .02rem .3rem;
  display:inline-flex;align-items:center;gap:.25rem;line-height:1.35}
.mark-name{font-size:.62em;font-weight:700;letter-spacing:.01em;color:#2b2119;
  background:rgba(255,253,247,.82);border-radius:999px;padding:0 .3rem;max-width:7rem;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* no room on a phone — fall back to plain dots (the name stays in the tooltip) */
@media (max-width:560px){
  .mark-dot.named{width:.6rem;height:.6rem;padding:0;border-radius:50%;display:inline-block}
  .mark-name{display:none}
}
.map-hero{max-width:100%;max-height:220px;object-fit:contain;display:block;margin:.4rem auto;border:1px solid var(--line);border-radius:8px;background:#e9dec4}
.ctl-picker{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;margin:.5rem 0;padding:.5rem .7rem;background:var(--parchment-2);border:1px solid var(--line);border-radius:10px}
.verse.cur{background:rgba(181,138,46,.16);outline:2px solid var(--gold-2);border-radius:5px}
/* shared / private highlight toggle + private-only marker */
.hl-share{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;margin:.5rem 0}
.hl-share .hl-label{font-size:.85rem;opacity:.8}
.priv-lock{font-size:.7rem;margin-right:.25rem;vertical-align:middle;opacity:.75}
.verse-nav-wrap{margin:.6rem 0}
.verse-nav-wrap .row-actions{margin-top:.5rem}
.verse.cur.hl-1,.verse.cur.hl-2,.verse.cur.hl-3,.verse.cur.hl-4{outline:2px solid var(--gold)}
.name-picker{display:flex;gap:.5rem;flex-wrap:wrap;margin:.6rem 0}
.name-chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:.5rem 1rem;font:inherit;cursor:pointer}
.name-chip.sel{background:var(--gold);color:var(--gold-ink);border-color:transparent;font-weight:700}
.free-toggle{display:flex;gap:.4rem;align-items:flex-start;font-size:.9rem;color:var(--ink-soft);margin:.6rem 0}
.invite-bar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:space-between;
  background:var(--parchment-2);border:1px solid var(--line);border-radius:10px;padding:.45rem .8rem;margin:0 0 .7rem}
.spectator-note{background:#f3e7c9;border:1px solid var(--gold);border-radius:10px;padding:.5rem .8rem;margin:.5rem 0;font-size:.92rem;
  display:flex;gap:.6rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.watch-switch{margin:.4rem 0;text-align:right}
.hint.locked-hl{color:var(--wine);font-weight:600}
.row-actions.hl-clear{margin-top:.4rem;gap:.4rem}
/* themed alert / confirm / prompt */
.cc-dialog-pop{position:fixed;inset:0;background:rgba(20,14,6,.55);display:flex;align-items:center;justify-content:center;
  padding:1.5rem 1rem;z-index:70}
.cc-dialog{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.4);
  padding:1.1rem 1.2rem;max-width:26rem;width:100%;text-align:left}
.cc-dialog-title{margin:0 0 .35rem}
.cc-dialog-msg{margin:0;color:var(--ink-soft);line-height:1.55}
.cc-dialog-input{width:100%;font:inherit;padding:.5rem .6rem;margin:.7rem 0 0;border:1px solid var(--line);
  border-radius:9px;background:var(--parchment);color:var(--ink)}
.cc-dialog-actions{margin-top:1rem;justify-content:flex-end}
.paste-dialog{max-width:40rem}
.progress-dialog{max-width:34rem;max-height:82vh;overflow:auto}
.prog-row{margin:.55rem 0}
.prog-head{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline;font-size:.9rem;margin-bottom:.2rem}
.prog-name{font-weight:600}
.prog-num{color:var(--ink-soft);font-size:.85rem;white-space:nowrap}
.prog-sub{margin:1rem 0 .2rem;color:var(--wine)}
.paste-text{width:100%;font:inherit;font-size:.95rem;line-height:1.45;padding:.6rem .7rem;margin:.6rem 0 .3rem;
  border:1px solid var(--line);border-radius:9px;background:var(--parchment);color:var(--ink);resize:vertical}
.paste-status{margin:.2rem 0}
.paste-status.warn{color:var(--wine);font-weight:600}
.paste-preview{display:flex;flex-direction:column;gap:.25rem;margin:.35rem 0 0;max-height:9rem;overflow:auto}
.paste-line{background:var(--parchment-2);border-radius:8px;padding:.3rem .5rem;font-size:.88rem;line-height:1.4}
.btn.danger{background:var(--wine);color:#f6efe1;border-color:var(--wine)}
.btn.danger:hover{filter:brightness(1.1)}
/* host's shared text / commentary */
.notes-panel{background:var(--parchment-2);border:1px solid var(--gold);border-left:5px solid var(--gold);
  border-radius:10px;padding:.7rem .9rem;margin:.7rem 0}
.notes-head{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;flex-wrap:wrap}
.notes-title{font-weight:700;color:var(--wine)}
.notes-count{font-size:.82rem;color:var(--ink-soft)}
.notes-body{margin:.45rem 0 .2rem;line-height:1.6;white-space:pre-wrap}
.notes-vref{display:inline-block;background:var(--gold);color:var(--gold-ink);border-radius:999px;
  padding:.05rem .5rem;font-size:.78rem;font-weight:700;margin-right:.45rem;vertical-align:.05em}
.notes-nav{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.5rem}
.notes-img{display:block;max-width:100%;max-height:52vh;margin:.6rem 0 0;border:1px solid var(--line);
  border-radius:10px;cursor:zoom-in;background:var(--card)}
.notes-img-row{align-items:center;margin-top:.2rem}
.chat-img{max-width:min(100%,14rem);max-height:10rem;border:1px solid var(--line);border-radius:8px;
  cursor:zoom-in;vertical-align:middle}
.img-viewer{position:fixed;inset:0;background:rgba(12,8,4,.88);display:flex;align-items:center;justify-content:center;
  padding:1rem;z-index:80;cursor:zoom-out}
.img-viewer img{max-width:100%;max-height:100%;border-radius:8px}
.notes-editor .notes-title-input,.notes-editor .notes-text{width:100%;font:inherit;padding:.5rem .6rem;margin:.4rem 0;
  border:1px solid var(--line);border-radius:9px;background:var(--parchment);color:var(--ink)}
.notes-editor .notes-text{line-height:1.5;resize:vertical}
.watch-toggle{display:flex;gap:.45rem;align-items:center;margin:.5rem 0;font-size:.92rem;cursor:pointer}
.score-chip.watching{opacity:.72}
.invite-box{background:var(--parchment-2);border:1px solid var(--line);border-radius:10px;padding:.7rem .9rem;margin:.6rem 0}
.invite-code{font-size:1.3rem;letter-spacing:.15em;color:var(--wine)}
.invite-code-label{color:var(--ink-soft)}
.invite-link-row{display:flex;gap:.4rem;margin-top:.5rem}
.invite-link{flex:1;font-size:.85rem}
.find-input .type-choices{margin:.5rem 0}
.find-status .roster-row.out{opacity:.6}
.find-status .roster-score{font-size:.85rem}

/* Toast */
.toast{position:fixed;bottom:1.2rem;left:50%;transform:translateX(-50%);
  background:#2c2013;color:#f4e9d2;padding:.6rem 1.1rem;border-radius:999px;
  box-shadow:var(--shadow);z-index:60;font-size:.92rem;animation:fade .2s}

@media (max-width:560px){
  .hero h1{font-size:2rem}
  .scripture{padding:1.1rem;font-size:1.06rem}
  #app{padding-top:.8rem}
}
