:root{
  /* Warm parchment — cream paper, dark ink, lapis blue */
  --bg:#f5eedf;--bg2:#fffaf1;--bg3:#f0e6d2;--bg4:#e8dbc0;
  --border:#e2d4b7;--border2:#cbb68c;
  --accent:#1f4e8c;--accent2:#2a5fa3;--accent-dark:#163a6b;--accent-dim:rgba(31,78,140,.10);
  --purple:#6b3f99;--purple-dim:rgba(107,63,153,.10);
  --teal:#0e6b66;--teal-dim:rgba(14,107,102,.10);
  --rose:#a8284b;--rose-dim:rgba(168,40,75,.09);
  --amber:#7d4f00;--amber-dim:rgba(196,140,30,.16);
  --gold:#b07d1a;
  --sky:#16698c;--sky-dim:rgba(22,105,140,.10);--rust:#9a4f0f;--rust-dim:rgba(154,79,15,.10);   /* pronoun and adverb tags */
  --green:#1d6f44;--green-dim:rgba(29,111,68,.11);
  --red:#a82a22;--red-dim:rgba(168,42,34,.09);
  --text:#2b2118;--text2:#5b4a38;--text3:#665744;
  --heb-color:#1d2b4d;
  --heb-font:'Noto Serif Hebrew','SBL Hebrew','Times New Roman',serif;
  --radius:14px;--radius-sm:10px;
  --nav-h:52px;--bot-h:64px;
  --card-shadow:0 1px 2px rgba(80,56,20,.06),0 4px 14px rgba(80,56,20,.06);
  --focus:0 0 0 3px rgba(31,78,140,.18);
  --fill-a:var(--accent);--fill-b:var(--accent-dark);   /* filled buttons and banners, under white text */
  --on-color:#fff;   /* text on a solid --green, --teal, --purple or --red fill */
  --heb-scale:1;
}
/* Night theme: chosen in You → Settings, or following the device when set to “Match my device” */
@media (prefers-color-scheme: dark){
:root:not([data-theme="light"]){
  --bg:#17130e;--bg2:#211b14;--bg3:#2a2219;--bg4:#342a1f;
  --border:#3a2f23;--border2:#54452f;
  --accent:#86b0ea;--accent2:#6f9fe0;--accent-dark:#9dc0f0;--accent-dim:rgba(134,176,234,.14);
  --purple:#bda3e6;--purple-dim:rgba(189,163,230,.14);
  --teal:#66c7bd;--teal-dim:rgba(102,199,189,.13);
  --rose:#ec93aa;--rose-dim:rgba(236,147,170,.13);
  --amber:#e3b466;--amber-dim:rgba(227,180,102,.16);
  --gold:#dcae55;
  --sky:#7cc3e0;--sky-dim:rgba(124,195,224,.14);--rust:#e5a46f;--rust-dim:rgba(229,164,111,.14);
  --green:#79cb97;--green-dim:rgba(121,203,151,.14);
  --red:#f09286;--red-dim:rgba(240,146,134,.13);
  --text:#f1e7d6;--text2:#d0c2aa;--text3:#ab9b82;
  --heb-color:#f4e4c4;
  --card-shadow:0 1px 2px rgba(0,0,0,.35),0 4px 14px rgba(0,0,0,.25);
  --focus:0 0 0 3px rgba(134,176,234,.3);
  --fill-a:#3b69a8;--fill-b:#2b5189;
  --on-color:#17130e;
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --bg:#17130e;--bg2:#211b14;--bg3:#2a2219;--bg4:#342a1f;
  --border:#3a2f23;--border2:#54452f;
  --accent:#86b0ea;--accent2:#6f9fe0;--accent-dark:#9dc0f0;--accent-dim:rgba(134,176,234,.14);
  --purple:#bda3e6;--purple-dim:rgba(189,163,230,.14);
  --teal:#66c7bd;--teal-dim:rgba(102,199,189,.13);
  --rose:#ec93aa;--rose-dim:rgba(236,147,170,.13);
  --amber:#e3b466;--amber-dim:rgba(227,180,102,.16);
  --gold:#dcae55;
  --sky:#7cc3e0;--sky-dim:rgba(124,195,224,.14);--rust:#e5a46f;--rust-dim:rgba(229,164,111,.14);
  --green:#79cb97;--green-dim:rgba(121,203,151,.14);
  --red:#f09286;--red-dim:rgba(240,146,134,.13);
  --text:#f1e7d6;--text2:#d0c2aa;--text3:#ab9b82;
  --heb-color:#f4e4c4;
  --card-shadow:0 1px 2px rgba(0,0,0,.35),0 4px 14px rgba(0,0,0,.25);
  --focus:0 0 0 3px rgba(134,176,234,.3);
  --fill-a:#3b69a8;--fill-b:#2b5189;
  --on-color:#17130e;
  color-scheme:dark;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;font-weight:500;line-height:1.5;-webkit-font-smoothing:antialiased;}
/* ── HEADER ── */
.hdr{background:var(--bg2);border-bottom:1px solid var(--border);padding:0 12px;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;position:sticky;top:0;z-index:100;gap:8px;}
.logo{display:flex;align-items:center;gap:10px;}
.logo-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--accent-dark),var(--accent));border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;box-shadow:0 1px 3px rgba(22,58,107,.3);}
.logo-text{font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.3px;}
.logo-text span{font-size:11px;color:var(--text3);display:block;font-weight:700;margin-top:2px;text-transform:uppercase;letter-spacing:1px;}
.hdr-pills{display:flex;gap:6px;flex-shrink:1;min-width:0;justify-content:flex-end;}
.pill{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:4px 10px;font-size:12px;color:var(--text2);font-weight:600;display:flex;align-items:center;gap:3px;}
.pill b{color:var(--accent);}
.pill-streak{background:var(--amber-dim);border-color:rgba(143,90,0,.35);}.pill-streak b{color:var(--amber);}
.pill-saved{cursor:pointer;background:var(--purple-dim);border-color:rgba(107,63,153,.35);}.pill-saved b{color:var(--purple);}
/* ── LAYOUT ── */
.app-wrap{display:flex;flex:1;overflow:hidden;height:calc(100vh - var(--nav-h));}
.sidebar{width:210px;background:var(--bg2);border-right:1px solid var(--border);padding:10px 8px;overflow-y:auto;flex-shrink:0;}
.nav-section{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--accent);padding:14px 12px 6px;text-transform:uppercase;}
.nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;background:none;border:none;color:var(--text2);font-size:13px;font-weight:700;cursor:pointer;transition:all .15s;text-align:left;border-radius:var(--radius-sm);margin-bottom:1px;font-family:inherit;}
.nav-btn:hover{background:var(--accent-dim);color:var(--text);}
.nav-btn.on{background:var(--accent-dim);color:var(--accent);box-shadow:inset 3px 0 0 var(--accent);}
.nav-icon{font-size:16px;width:20px;text-align:center;}
.main{flex:1;overflow-y:auto;padding:20px 16px calc(var(--bot-h) + 30px);background:var(--bg);}
/* ── CARDS ── */
.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:14px;box-shadow:var(--card-shadow);transition:border-color .2s;}
.card:hover{border-color:var(--border2);}
.card-title{font-size:12px;font-weight:800;letter-spacing:1px;color:var(--accent);text-transform:uppercase;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);}
/* ── HEBREW ── */
.heb-big{font-size:calc(46px*var(--heb-scale));color:var(--heb-color);text-align:center;padding:18px 12px;background:linear-gradient(135deg,var(--bg3),var(--bg4));border:1px solid var(--border2);border-radius:var(--radius);margin:8px 0;line-height:1.5;letter-spacing:3px;font-family:var(--heb-font);direction:rtl;}
.tlit{text-align:center;color:var(--text2);font-size:15px;font-style:italic;margin-bottom:3px;font-weight:500;}
.gloss{text-align:center;color:var(--text);font-size:22px;font-weight:800;margin-bottom:6px;}
.root-tag{text-align:center;color:var(--teal);font-size:14px;font-weight:700;}
/* ── BADGES ── */
.pb{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;}
.pn{background:var(--teal-dim);color:var(--teal);}.pv{background:var(--rose-dim);color:var(--rose);}
.pa{background:var(--green-dim);color:var(--green);}.pp{background:var(--amber-dim);color:var(--amber);}
.ppt{background:var(--purple-dim);color:var(--purple);}.prn{background:var(--sky-dim);color:var(--sky);}
.pad{background:var(--rust-dim);color:var(--rust);}.pph{background:var(--rose-dim);color:var(--rose);}
/* ── QUIZ OPTIONS ── */
.qo{padding:16px 14px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:15px;font-weight:700;cursor:pointer;transition:all .15s;text-align:center;width:100%;line-height:1.4;position:relative;overflow:hidden;}
.qo:hover:not(:disabled){background:var(--bg4);border-color:var(--accent);box-shadow:0 2px 10px rgba(31,78,140,.14);}
.qo:active:not(:disabled){transform:scale(.98);}
.qo.ok{background:var(--green-dim);border-color:var(--green);color:var(--green);}
.qo.ng{background:var(--red-dim);border-color:var(--red);color:var(--red);}
.qo.dim{opacity:.5;}
/* Right and wrong are marked with ✓ and ✗ as well as green and red, for anyone who can't tell the two colors apart */
.qo.ok,.qo.ng,.gq-choice.correct,.gq-choice.wrong{padding-left:40px;padding-right:40px;}
.qo.ok::after,.qo.ng::after,.gq-choice.correct::after,.gq-choice.wrong::after{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:900 13px/1 system-ui,sans-serif;color:var(--on-color);}
.qo.ok::after,.gq-choice.correct::after{content:'✓';background:var(--green);}
.qo.ng::after,.gq-choice.wrong::after{content:'✗';background:var(--red);}
.qo:disabled{cursor:default;}
.qo.heb-choice{line-height:1.7;overflow:visible;}
.choice-translit{display:block;margin-top:4px;color:var(--text2);font-size:13px;font-weight:600;font-style:italic;direction:ltr;line-height:1.35;}
.quiz-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;}
/* Read first, then listen: a 🔊 beside each recorded choice */
.say-choice{display:flex;gap:8px;align-items:stretch;}
.say-choice .qo{flex:1;}
.say-play{flex:0 0 auto;min-width:64px;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:16px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--fill-a),var(--fill-b));}
.say-play:active{transform:scale(.96);}
/* ── SENTENCES ── */
.sent-heb{font-size:calc(22px*var(--heb-scale));direction:rtl;color:var(--heb-color);text-align:center;padding:16px;background:linear-gradient(135deg,var(--bg3),var(--bg4));border-radius:var(--radius-sm);border:1px solid var(--border);margin-bottom:10px;line-height:2;font-family:var(--heb-font);}
.sent-tlit{color:var(--text2);font-style:italic;font-size:14px;text-align:center;margin-bottom:5px;}
.sent-eng{color:var(--text);font-size:17px;text-align:center;font-weight:600;}
/* ── BUTTONS (elegant with subtle glow) ── */
.btn{padding:11px 20px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-size:14px;font-weight:700;transition:all .2s;font-family:inherit;}
.btn:active:not(:disabled){transform:scale(.97);}
.btn:disabled{opacity:.4;cursor:default;}
.btn-primary{background:linear-gradient(135deg,var(--fill-a),var(--fill-b));color:#fff;border-color:var(--accent-dark);box-shadow:0 1px 2px rgba(22,58,107,.25);}
.btn-primary:hover:not(:disabled){box-shadow:0 2px 10px rgba(31,78,140,.14);transform:translateY(-1px);}
.btn-ghost{background:var(--bg3);border:1px solid var(--border);color:var(--text);}
.btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent);box-shadow:0 2px 10px rgba(31,78,140,.14);}
.btn-teal{background:var(--teal);color:var(--on-color);border-color:var(--teal);}
.btn-purple{background:var(--purple);color:var(--on-color);border-color:var(--purple);}
.btn-row{display:flex;gap:10px;justify-content:center;margin-top:14px;flex-wrap:wrap;}
/* ── FLASHCARDS ── */
.fc-wrap{perspective:1000px;cursor:pointer;margin:10px auto 20px;max-width:460px;}
.fc-inner{position:relative;width:100%;height:310px;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,.2,.2,1);}
.fc-inner.fl{transform:rotateY(180deg);}
.fc-face{position:absolute;inset:0;backface-visibility:hidden;background:linear-gradient(160deg,var(--bg2),var(--bg3));border:1px solid var(--border);border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:22px 18px;overflow:hidden;box-shadow:var(--card-shadow);}
.fc-back{transform:rotateY(180deg);}
.srs-btn{padding:10px 6px;border-radius:10px;border:1px solid;cursor:pointer;font-size:13px;font-weight:700;transition:all .15s;font-family:inherit;line-height:1.25;}
.srs-btn:active{transform:scale(.95);}
.srs-when{display:block;font-size:11px;font-weight:500;opacity:.85;margin-top:2px;}
.srs-panel{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:12px;text-align:center;box-shadow:var(--card-shadow);}
.deck-select{padding:9px 12px;font-size:14px;font-weight:600;}
/* ── INPUTS ── */
.inp{width:100%;padding:12px 16px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:15px;outline:none;transition:all .2s;font-family:inherit;font-weight:500;}
.inp:focus{border-color:var(--accent);box-shadow:var(--focus);}
.inp::placeholder{color:var(--text3);}
select.inp{cursor:pointer;}textarea.inp{resize:vertical;}
/* ── WORD LIST ── */
.wl{display:grid;gap:8px;}
.wi{display:grid;grid-template-columns:80px 1fr 80px 70px;align-items:center;gap:10px;padding:12px 14px;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;}
.wi:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(31,78,140,.14);}
.wh{font-size:calc(19px*var(--heb-scale));direction:rtl;color:var(--heb-color);font-family:var(--heb-font);}
.we{color:var(--text);font-size:14px;font-weight:600;}
.wr{color:var(--teal);font-size:12px;direction:rtl;font-family:var(--heb-font);font-weight:700;}
/* ── PROGRESS BARS (glowing gradient) ── */
.pbar{height:10px;background:var(--bg4);border-radius:10px;overflow:hidden;margin:5px 0;border:1px solid var(--border);}
.pfill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--teal));border-radius:8px;transition:width .5s;}
/* ── STATS ── */
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;}
.stat-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 8px;text-align:center;box-shadow:var(--card-shadow);}
.stat-n{font-size:26px;font-weight:900;color:var(--accent);line-height:1;}
.stat-l{font-size:12px;color:var(--text3);margin-top:5px;font-weight:600;}
/* ── TABLES ── */
.gt{width:100%;border-collapse:collapse;font-size:13px;}
.gt th{background:var(--bg3);color:var(--accent);font-size:11px;letter-spacing:1px;font-weight:800;padding:8px 10px;text-align:left;border:1px solid var(--border);text-transform:uppercase;}
.gt td{padding:9px 10px;border:1px solid var(--border);color:var(--text);font-weight:600;}
.gt tr:nth-child(even) td{background:var(--bg3);}
.gh{direction:rtl;font-size:calc(16px*var(--heb-scale));color:var(--heb-color);font-family:var(--heb-font);}
/* ── MODAL ── */
.ov{position:fixed;inset:0;background:rgba(43,33,24,.45);display:flex;align-items:center;justify-content:center;z-index:1000;padding:14px;animation:fadeIn .25s;}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.ob{background:var(--bg2);border:1px solid var(--border2);border-radius:var(--radius);padding:22px;max-width:540px;width:100%;max-height:85vh;overflow-y:auto;animation:slideUp .35s cubic-bezier(.2,.8,.3,1);box-shadow:0 12px 40px rgba(60,40,10,.25);-webkit-overflow-scrolling:touch;}
@keyframes slideUp{from{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}
.oc{float:right;background:none;border:none;color:var(--text3);font-size:22px;cursor:pointer;font-weight:800;line-height:1;}.oc:hover{color:var(--text);}
.hid{display:none!important;}
/* ── TABS ── */
.tabs{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;}
.tab{padding:5px 13px;background:var(--bg3);border:1px solid var(--border);border-radius:20px;color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit;}
.tab.on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);}
.tab:hover:not(.on){border-color:var(--border2);color:var(--text2);}
/* ── FEEDBACK ── */
.fb{padding:14px 18px;border-radius:var(--radius-sm);text-align:center;font-size:15px;font-weight:800;margin:10px 0;}
.fok{background:var(--green-dim);border:1px solid var(--green);color:var(--green);}
.fng{background:var(--red-dim);border:1px solid var(--red);color:var(--red);}
/* Phones: the answer sheet that slides up above the tab bar (js/aids.js) */
@media(max-width:720px){
  .fb-sheet{position:fixed;left:0;right:0;bottom:calc(var(--bot-h) + env(safe-area-inset-bottom,0px));z-index:150;max-height:62vh;overflow-y:auto;background:var(--bg2);border-top:3px solid var(--green);border-radius:18px 18px 0 0;box-shadow:0 -8px 28px rgba(40,28,10,.22);padding:14px 16px 12px;animation:fbUp .28s cubic-bezier(.2,.8,.3,1);text-align:left;}
  .fb-sheet.ng{border-top-color:var(--red);}
  .fb-sheet.info{border-top-color:var(--accent);}
  .fb-sheet>.gq-explain{margin-top:0;}
  .fb-sheet>.fb,.fb-sheet>div>.fb{margin:0 0 8px;}
  .fb-sheet>.btn-row{margin-top:10px;}
  .fb-sheet>.btn-row .btn-primary{flex:1;min-height:48px;font-size:15px;}
  body.has-fb-sheet .bot-nav{box-shadow:none;}
}
@keyframes fbUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.fb-sheet{animation:none;}}
/* ── AI ── */
@keyframes pulse{0%,100%{opacity:.5}50%{opacity:1}}
.loading-dots::after{content:'';animation:dots 1.5s steps(4,end) infinite;}
@keyframes dots{0%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}}
/* ── ROOTS ── */
.rg{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:10px;box-shadow:var(--card-shadow);}
.rb{font-size:28px;direction:rtl;color:var(--accent);font-family:var(--heb-font);font-weight:bold;}
.rws{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.rwp{background:var(--bg3);border:1px solid var(--border);border-radius:20px;padding:4px 12px;font-size:13px;color:var(--text);cursor:pointer;transition:all .15s;font-weight:600;font-family:inherit;}
.rwp:hover{border-color:var(--accent);color:var(--accent);}
/* ── GRAMMAR QUIZ ── */
.gq-prompt{background:linear-gradient(135deg,var(--bg3),var(--bg4));border:1px solid var(--border2);border-radius:var(--radius);padding:16px;margin-bottom:14px;text-align:center;}
.gq-cat{font-size:11px;font-weight:800;letter-spacing:1px;color:var(--accent);text-transform:uppercase;margin-bottom:8px;}
.gq-question{font-size:15px;color:var(--text);margin-bottom:6px;line-height:1.5;font-weight:600;}
.gq-sub{font-size:12px;color:var(--text3);}
.gq-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;}
.gq-choice{position:relative;padding:16px 14px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s;text-align:center;font-family:inherit;}
.gq-choice:hover:not(:disabled){border-color:var(--accent);box-shadow:0 2px 10px rgba(31,78,140,.14);}
.gq-choice:active:not(:disabled){transform:scale(.97);}
.gq-heb{font-size:calc(28px*var(--heb-scale));direction:rtl;color:var(--heb-color);font-family:var(--heb-font);line-height:1.7;margin-bottom:6px;}
.gq-lit{font-size:12px;color:var(--text2);font-style:italic;}
.gq-choice.correct{border-color:var(--green);background:var(--green-dim);}
.gq-choice.wrong{border-color:var(--red);background:var(--red-dim);}
.gq-choice:disabled{cursor:default;}
.gq-explain{background:var(--bg3);border-left:3px solid var(--accent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:14px 16px;font-size:13px;color:var(--text);line-height:1.7;margin-top:10px;}
.gq-rule{background:var(--accent-dim);border:1px solid var(--accent);border-radius:var(--radius-sm);padding:10px 14px;font-size:12px;color:var(--accent);margin-bottom:12px;font-weight:700;}
.lit-line{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:9px 13px;margin:8px 0;font-size:14px;line-height:1.5;color:var(--text);text-align:left;}
.lit-line .lit-k{font-weight:700;color:var(--accent);margin-right:2px;}
.lit-line i{color:var(--text2);}
.rd-ww{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:9px 11px;margin:8px 0;text-align:left;}
.rd-ww .lit-k{font-size:14px;font-weight:700;color:var(--accent);}
.rd-ww .lit-k small{font-weight:500;color:var(--text3);font-size:12px;}
.rd-ww-row{display:flex;flex-wrap:wrap;margin-top:4px;}
/* ── SENTENCE BUILDER ── */
.sb-tile{padding:11px 16px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit;}
.sb-tile:hover:not(:disabled){background:var(--accent-dim);border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px rgba(31,78,140,.14);}
.sb-tile:active:not(:disabled){transform:translateY(0);}
.sb-selected{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);}
.sb-selected:hover:not(:disabled){background:var(--red-dim);border-color:var(--red);color:var(--red);}
.sb-correct{background:var(--green-dim);border-color:var(--green);color:var(--green);}
.sb-slot{width:80px;height:40px;border:1px dashed var(--border2);border-radius:var(--radius-sm);opacity:.3;}
.sb-feedback{padding:16px 18px;border-radius:var(--radius);text-align:center;margin:12px 0;line-height:1.7;font-weight:700;}
.sb-ok{background:var(--green-dim);border:1px solid var(--green);color:var(--green);}
.sb-ng{background:var(--red-dim);border:1px solid var(--red);color:var(--red);}
/* ── BIBLE READER ── */
.bib-verse{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:10px;transition:all .15s;box-shadow:var(--card-shadow);}
.bib-verse:hover{border-color:var(--border2);}
.bib-word{display:inline-block;padding:2px 4px;margin:1px;border-radius:6px;cursor:pointer;transition:all .12s;font-family:var(--heb-font);}
.bib-word:hover{background:var(--accent-dim);color:var(--accent);}
.bib-word:active{transform:scale(.95);}
.vb{padding:6px 10px;background:var(--bg3);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-size:14px;transition:all .12s;font-family:inherit;}
.vb:hover{border-color:var(--accent);}
.vb:active{transform:scale(.93);}
/* ── BOTTOM NAV ── */
.bot-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--border);z-index:200;padding-bottom:env(safe-area-inset-bottom);}
.bot-nav-inner{display:grid;grid-template-columns:repeat(5,1fr);}
.bnb{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px 6px;background:none;border:none;color:var(--text3);font-size:11px;font-weight:700;cursor:pointer;gap:2px;font-family:inherit;transition:color .15s;}
.bnb.on{color:var(--accent);font-weight:800;box-shadow:inset 0 3px 0 var(--accent);}   /* a bar on top marks the tab you're on, not just its color */
.bnb-icon{font-size:20px;line-height:1;}
@keyframes slideUpMenu{from{transform:translateY(100%)}to{transform:translateY(0)}}
.bme{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:11px;color:var(--text);font-weight:700;font-family:inherit;transition:all .15s;}
.bme:hover{border-color:var(--accent);box-shadow:0 2px 10px rgba(31,78,140,.14);}
.bme-icon{font-size:24px;}
/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:5px;height:5px;}
::-webkit-scrollbar-track{background:transparent;}
::-webkit-scrollbar-thumb{background:var(--border);border-radius:5px;}
::-webkit-scrollbar-thumb:hover{background:var(--border2);}
/* ── RESPONSIVE ── */
@media(max-width:720px){
  .sidebar{display:none;}
  .bot-nav{display:block;}
  .main{padding:14px 12px calc(var(--bot-h) + 72px);}
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .quiz-grid{grid-template-columns:1fr;}
  .qo{padding:20px 16px;font-size:17px;min-height:60px;}
  .gq-choices{grid-template-columns:1fr;}
  .wi{grid-template-columns:70px minmax(0,1fr) auto;}.wr{display:none;}
  .hide-sm{display:none!important;}
  .logo-text{display:none;}
  .logo-text span{display:none;}
  .heb-big{font-size:calc(44px*var(--heb-scale));padding:16px 10px;letter-spacing:4px;}
  .card{padding:14px;}
  .btn{padding:10px 16px;font-size:13px;}
  .tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px;}.tab{flex-shrink:0;}
  .sent-heb{font-size:calc(19px*var(--heb-scale));padding:12px;}
  .fc-inner{height:280px;}
  .hdr{padding:0 12px;}.pill{padding:3px 7px;font-size:11px;}
}
@media(min-width:721px){.bot-nav{display:none!important;}}
/* ── LEARN TOPICS ── */
.track-h{display:flex;align-items:center;gap:8px;margin:18px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.track-h-icon{font-size:20px;}
.track-h-name{font-size:13px;font-weight:900;color:var(--accent);letter-spacing:1px;text-transform:uppercase;flex:1;}
.track-h-prog{font-size:12px;color:var(--text3);font-weight:800;}
.topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
@media(min-width:721px){.topic-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
.topic-card{position:relative;padding:14px;gap:4px;}
.topic-card .hub-icon{font-size:24px;margin-bottom:2px;}
.topic-card .hub-title{font-size:14px;line-height:1.25;padding-right:22px;}
.topic-card .hub-sub{font-weight:600;line-height:1.4;}
.topic-card.done{border-color:var(--green);background:linear-gradient(135deg,var(--bg2),var(--green-dim));}
.topic-check{position:absolute;top:10px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--green);color:var(--on-color);font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;}
.topic-meta{margin-top:auto;padding-top:6px;font-size:11px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--accent2);}
.topic-card.done .topic-meta{color:var(--green);}
.topic-card.next{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset,var(--card-shadow);}
.topic-next{position:absolute;top:10px;right:10px;background:var(--fill-a);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:20px;}
.topic-card.next .hub-title{padding-right:64px;}
.welcome{border-color:var(--border2);background:var(--bg2);}
.welcome-steps{display:grid;gap:10px;}
.welcome-steps>div{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--text);}
.welcome-steps>div>span{font-size:20px;line-height:1.2;flex-shrink:0;}
.link-btn{background:none;border:none;color:var(--accent);font:inherit;font-size:13px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:4px;}
.tabs.tabs-wrap{flex-wrap:wrap;overflow:visible;}
.seg{display:flex;background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:3px;gap:3px;margin-bottom:10px;}
.seg-btn{flex:1;padding:9px 6px;border:none;background:none;border-radius:9px;font:inherit;font-size:14px;font-weight:700;color:var(--text2);cursor:pointer;}
.seg-btn.on{background:var(--bg2);color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent),0 1px 3px rgba(80,56,20,.15);}
.audio-rate-options{flex-wrap:wrap;}
.audio-rate-options .seg-btn{flex:1 1 30%;}
.quiz-stats{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--text2);margin:0 0 12px;}
.quiz-stats b{color:var(--text);}
/* ── GUIDED READING & TODAY ── */
.heb-inline{font-family:var(--heb-font);color:var(--heb-color);font-weight:500;unicode-bidi:isolate;font-size:calc(1.2em*var(--heb-scale));}
.rv-ref{font-size:13px;font-weight:800;color:var(--accent);letter-spacing:.5px;text-transform:uppercase;}
.rv-heb{direction:rtl;text-align:center;font-family:var(--heb-font);font-size:calc(28px*var(--heb-scale));line-height:2;color:var(--heb-color);padding:6px 0;}
.vw{cursor:pointer;border-radius:6px;padding:0 3px;transition:background .12s;}
.vw:hover{background:var(--accent-dim);}
.vw.sel{background:var(--fill-a);color:#fff;}
.vw.noted{text-decoration:underline dotted var(--gold);text-underline-offset:8px;}
.rv-heb .vw.speaking{text-decoration:underline solid var(--green) 3px;text-underline-offset:6px;background:var(--green-dim);box-shadow:0 0 0 4px var(--green-dim);border-radius:8px;transition:background .12s;}
.word-help{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;margin-top:10px;}
.parts{display:flex;flex-wrap:wrap;gap:6px;align-items:center;direction:rtl;margin-top:8px;}
.part{display:flex;flex-direction:column;align-items:center;background:var(--bg2);border:1px solid var(--border2);border-radius:8px;padding:4px 10px;}
.part-h{font-family:var(--heb-font);font-size:calc(20px*var(--heb-scale));color:var(--heb-color);}
.part-l{direction:ltr;font-size:11px;color:var(--text2);font-weight:600;text-align:center;}
.part-m{direction:ltr;font-size:13px;color:var(--text);font-weight:700;text-align:center;}
.part-plus{color:var(--text3);font-weight:700;}
.rv-section{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);scroll-margin-top:70px;}
.rv-h{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.6px;text-transform:uppercase;margin-bottom:8px;}
.il{display:flex;flex-wrap:wrap;gap:6px;direction:rtl;}
.il-w{direction:ltr;text-align:center;background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:6px 8px;cursor:pointer;min-width:60px;}
.il-w.sel{border-color:var(--accent);background:var(--accent-dim);}
.il-heb{font-family:var(--heb-font);font-size:calc(20px*var(--heb-scale));color:var(--heb-color);direction:rtl;}
.il-g{font-size:12px;color:var(--text2);font-weight:600;max-width:120px;}
.rv-en{font-size:16px;line-height:1.6;color:var(--text);}
.note{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.6;margin-bottom:10px;}
.note-w{flex-shrink:0;font-family:var(--heb-font);font-size:calc(18px*var(--heb-scale));color:var(--heb-color);background:var(--amber-dim);border-radius:6px;padding:0 8px;cursor:pointer;line-height:1.6;}
.note-w.whole{font-family:inherit;font-size:11px;font-weight:700;color:var(--amber);cursor:default;padding:3px 8px;}
.vdots{display:flex;gap:5px;}.vdot{width:9px;height:9px;border-radius:50%;background:var(--border2);}.vdot.done{background:var(--green);}.vdot.on{outline:2px solid var(--accent);outline-offset:1px;}
.today-tag{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.6px;text-transform:uppercase;}
.today-ex{margin-top:16px;padding:12px;background:var(--bg3);border-radius:var(--radius-sm);border:1px solid var(--border);}
.today-ex mark{background:var(--amber-dim);color:inherit;border-radius:4px;padding:0 3px;}
.today-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0;}
.today-stats>div{display:flex;flex-direction:column;background:var(--bg3);border-radius:10px;padding:10px 4px;}
.today-stats b{font-size:20px;}.today-stats span{font-size:12px;color:var(--text2);}
.vw.known{color:var(--green);}
.il-w.known{border-color:rgba(29,111,68,.45);}.il-w.known .il-g{color:var(--green);}
.bib-heb{font-size:calc(21px*var(--heb-scale));direction:rtl;line-height:1.9;color:var(--heb-color);font-family:var(--heb-font);text-align:right;}
.bib-word.mq,.vw.mq{padding-left:0;margin-left:0;}
.bib-word.mq+.bib-word,.vw.mq+.vw{padding-right:0;margin-right:0;}
.bib-word.qere::after{content:'°';font-size:.6em;color:var(--text3);vertical-align:super;}
.bw-part{display:flex;gap:12px;align-items:center;padding:8px 10px;margin-bottom:6px;background:var(--bg3);border:1px solid var(--border);border-radius:10px;}
.bw-part-heb{font-family:var(--heb-font);font-size:calc(22px*var(--heb-scale));color:var(--heb-color);direction:rtl;min-width:56px;text-align:center;}
.bw-lemma{margin-top:10px;padding:12px;border:1px solid var(--border2);border-radius:12px;background:var(--bg2);}
.bw-status{flex-basis:100%;font-size:13px;font-weight:700;color:var(--green);}
.bib-word.known{text-decoration:underline 2px rgba(29,111,68,.55);text-underline-offset:7px;}
.known-line{font-size:13px;font-weight:700;color:var(--green);text-align:center;margin:4px 0;}
.gq-choice.dim{opacity:.5;}
.lesson-p{font-size:15px;line-height:1.65;margin:8px 0;}
.lesson-ul{margin:4px 0 8px 20px;font-size:15px;line-height:1.7;}
.letter-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(135px,1fr));gap:8px;margin-top:10px;}
.letter-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px;text-align:center;}
.letter-pronounce{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:4px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font:inherit;cursor:pointer;}
.letter-pronounce:hover,.letter-pronounce:focus-visible,.vowel-card:hover,.vowel-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.letter-pronounce small{font-size:12px;color:var(--accent);font-weight:700;}
.letter-sound{color:var(--accent);font-size:24px;font-weight:800;line-height:1.3;}
.letter-sound.long{font-size:15px;line-height:1.35;padding:4px 0;}
.letter-hook{font-size:12px;line-height:1.45;color:var(--amber);font-weight:600;margin-top:6px;}
.letter-ex{font-size:12px;color:var(--text2);margin-top:6px;line-height:1.5;}
/* Phones: one letter per row, the big letter and its sound on the left and the notes beside it */
@media(max-width:720px){
  .letter-grid{grid-template-columns:1fr;}
  .letter-card{display:grid;grid-template-columns:112px minmax(0,1fr);column-gap:12px;align-items:start;text-align:left;padding:10px 12px;}
  .letter-card>.letter-pronounce{grid-row:1/span 6;}
  .letter-card>:not(.letter-pronounce){grid-column:2;}
  .letter-card>:nth-child(2){margin-top:4px;}
  .letter-card:has(>.letter-pronounce:only-child){display:block;text-align:center;}
}
.vowel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin:10px 0;}
.vowel-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px;text-align:center;color:var(--text);font:inherit;cursor:pointer;}
.question-listen{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 10px;}
.sound-out{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:var(--bg3);border-radius:var(--radius-sm);padding:10px 14px;margin:8px 0;}
/* ── HUB CARDS ── */
.hub-card{background:linear-gradient(135deg,var(--bg2),var(--bg3));border:1px solid var(--border);border-radius:var(--radius);padding:18px;cursor:pointer;transition:all .18s;display:flex;flex-direction:column;gap:6px;text-align:left;font-family:inherit;width:100%;}
.hub-card:hover{border-color:var(--accent);box-shadow:0 4px 14px rgba(31,78,140,.18);transform:translateY(-1px);}
.hub-card.hero{background:linear-gradient(135deg,var(--fill-a),var(--fill-b));color:#fff;border-color:var(--accent2);box-shadow:0 4px 14px rgba(31,78,140,.18);}
.hub-card.hero:hover{transform:translateY(-2px);}
.hub-icon{font-size:32px;line-height:1;}
.hub-title{font-size:15px;font-weight:900;color:var(--text);}
.hub-card.hero .hub-title{color:#fff;}
.hub-sub{font-size:13px;color:var(--text2);font-weight:500;}
.hub-card.hero .hub-sub{color:rgba(255,255,255,.9);}
/* ── LESSON RUNNER ── */
.lesson-banner{position:sticky;top:var(--nav-h);z-index:90;background:linear-gradient(135deg,var(--fill-a),var(--fill-b));color:#fff;padding:8px 14px;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:800;border-bottom:1px solid var(--accent2);box-shadow:0 4px 14px rgba(31,78,140,.18);}
.lesson-banner-x{margin-left:auto;background:rgba(255,255,255,.2);border:none;color:#fff;width:24px;height:24px;border-radius:50%;cursor:pointer;font-weight:900;font-size:13px;}
.lesson-banner-x:hover{background:rgba(255,255,255,.35);}

/* Insights: how much of each book you could read */
.cov-row{display:grid;grid-template-columns:110px 1fr 40px;align-items:center;gap:8px;width:100%;background:none;border:none;padding:4px 0;cursor:pointer;font:inherit;color:var(--text);text-align:left;}
.cov-name{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cov-bar{height:8px;background:var(--bg4);border-radius:6px;overflow:hidden;}
.cov-bar span{display:block;height:100%;background:var(--green);border-radius:6px;}
.cov-pct{font-size:12px;font-weight:700;color:var(--text2);text-align:right;}
.bars{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;height:130px;align-items:end;}
.bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:3px;min-width:0;}
.bar-col .bar{width:70%;max-width:34px;background:var(--accent);border-radius:5px 5px 2px 2px;}
.bar-n{font-size:11px;font-weight:800;color:var(--text2);}
.bar-l{font-size:10px;color:var(--text3);white-space:nowrap;}

/* Words to fix */
.fix-note{margin:12px 0 0;padding:8px 12px;border-radius:10px;background:var(--rose-dim);color:var(--text);font-size:14px;text-align:left;}
.fix-box{margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--bg3);text-align:left;}
.fix-summary{margin:6px 0 12px;font-size:15px;font-weight:700;color:var(--green);}
.spot-verse{direction:rtl;line-height:2.4;}
.spot-part{padding:3px 0;font-size:15px;}
.spot-part .heb-inline{font-size:calc(22px*var(--heb-scale));margin-left:6px;}
.spot-w{font-family:var(--heb-font);font-size:calc(22px*var(--heb-scale));color:var(--heb-color);background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:2px 8px;cursor:pointer;margin:2px;}
.spot-w:hover{border-color:var(--accent);}
.spot-w.ok{background:var(--green-dim);border-color:var(--green);}
.spot-w.ng{background:var(--red-dim);border-color:var(--red);}

/* Hear a word */
.speak-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:6px auto 0;border-radius:50%;border:1px solid var(--border2);background:var(--bg2);font-size:20px;cursor:pointer;box-shadow:var(--card-shadow);}
.speak-btn:hover{border-color:var(--accent);}
.speak-btn:active{transform:scale(.94);}
.speak-btn.sm{position:relative;width:30px;height:30px;font-size:14px;margin:0 4px;vertical-align:middle;box-shadow:none;}
.speak-btn.sm::before{content:'';position:absolute;inset:-7px;}

#acctPill img{border-radius:50%;}

/* ═══ Landing & sign-in pages (js/landing.js) — full-screen: the app's own header and navigation are hidden ═══ */
body.chromeless .hdr,body.chromeless .sidebar,body.chromeless .bot-nav{display:none!important;}
body.chromeless .app-wrap{display:block;height:auto;overflow:visible;}
body.chromeless .main{padding:0!important;overflow:visible;}
.lp,.lg,.onb,.dash{--lp-display:'Fraunces',Georgia,'Times New Roman',serif;color:var(--text);}
.lp-wrap{max-width:1120px;margin:0 auto;padding:0 20px;}
:where(.lp,.lg,.onb) button{font:inherit;cursor:pointer;border:none;background:none;color:inherit;}
.lp-brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--lp-display);font-size:19px;font-weight:700;color:var(--text);letter-spacing:-.01em;}
.lp-brand img{border-radius:9px;box-shadow:0 2px 6px rgba(60,40,10,.2);}
.lp-brand-light{color:#fff;}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--fill-a),var(--fill-b))!important;color:#fff!important;border-radius:999px;padding:13px 22px;font-size:15px;font-weight:700;box-shadow:0 6px 18px -6px rgba(31,78,140,.55);transition:transform .15s,box-shadow .15s;}
.lp-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px -8px rgba(31,78,140,.6);}
.lp-btn-sm{padding:9px 16px;font-size:14px;}
.lp-btn-lg{padding:16px 26px;font-size:16px;}
.lp-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fff!important;color:#1f1f1f!important;border:1px solid #dadce0!important;border-radius:999px;padding:12px 22px;font-size:15px;font-weight:600;transition:background .15s,box-shadow .15s;}
.lp-google:hover{background:#f7f8f8!important;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.lp-btn-lg~.lp-google{padding:15px 24px;font-size:16px;}
.lp-link{color:var(--accent)!important;font-weight:700;font-size:14px;padding:8px 10px;border-radius:8px;}
.lp-link:hover{background:var(--accent-dim)!important;}
/* nav */
.lp-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--border);}
.lp-nav-in{height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.lp-nav-r{display:flex;align-items:center;gap:6px;}
/* hero */
.lp-hero{position:relative;overflow:hidden;padding:56px 0 80px;background:radial-gradient(900px 500px at 85% 20%,var(--accent-dim),transparent 60%),radial-gradient(700px 400px at 5% 90%,var(--amber-dim),transparent 60%);}
.lp-hero-grid{display:grid;gap:56px;align-items:center;}
.lp-eyebrow{display:inline-block;background:var(--accent-dim);color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:7px 13px;border-radius:999px;}
.lp-h1{font-family:var(--lp-display);font-size:clamp(38px,6.2vw,64px);line-height:1.04;letter-spacing:-.025em;font-weight:700;margin:20px 0 18px!important;color:var(--text);}
.lp-h1 em{font-style:italic;color:var(--accent);background:linear-gradient(transparent 68%,var(--amber-dim) 68%);padding:0 .06em;}
.lp-lead{font-size:18px;line-height:1.65;color:var(--text2);max-width:540px;}
.lp-lead-2{font-size:16px;margin-top:10px;}
.lp-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.lp-trust{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;font-size:13px;font-weight:600;color:var(--text3);}
.lp-hero-art{position:relative;max-width:500px;width:100%;justify-self:center;}
.lp-glow{position:absolute;inset:-12%;background:radial-gradient(closest-side,var(--accent-dim),transparent);filter:blur(10px);z-index:0;}
.lp-vc{position:relative;z-index:1;background:var(--bg2);border:1px solid var(--border);border-radius:24px;padding:22px 22px 16px;box-shadow:0 40px 70px -30px rgba(60,40,10,.45),0 10px 24px rgba(60,40,10,.08);}
.lp-vc-top{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--text3);}
.lp-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px var(--green-dim);}
.lp-vc-heb{font-family:var(--heb-font);font-size:clamp(25px,3.6vw,32px);line-height:1.9;text-align:right;color:var(--heb-color);margin:12px 0 4px;}
.lp-w{padding:0 6px!important;border-radius:8px;color:var(--heb-color)!important;transition:background .15s;}
.lp-w:hover{background:var(--bg3)!important;}
.lp-w.on{background:var(--amber-dim)!important;box-shadow:inset 0 -3px 0 var(--amber);}
.lp-vc-en{font-size:14px;font-style:italic;color:var(--text2);margin-bottom:14px;}
.lp-vc-pick{background:var(--bg3);border-radius:16px;padding:14px 16px;animation:lpIn .25s ease;}
.lp-vc-pick-h{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;}
.lp-vc-word{font-family:var(--heb-font);font-size:30px;color:var(--heb-color);}
.lp-vc-tl{font-size:15px;font-style:italic;color:var(--text2);}
.lp-vc-gl{font-size:15px;font-weight:700;}
.lp-parts{display:grid;gap:6px;margin-top:10px;}
.lp-part{display:flex;align-items:center;gap:10px;}
.lp-part-h{font-family:var(--heb-font);font-size:19px;color:var(--heb-color);background:var(--bg2);border-radius:8px;min-width:58px;text-align:center;padding:1px 8px;}
.lp-part-l{font-size:13px;color:var(--text2);}
.lp-part-m{font-size:13px;font-weight:700;color:var(--text);}
.lp-vc-hint{font-size:11px;color:var(--text3);text-align:center;margin-top:10px;}
.lp-float{position:absolute;z-index:2;background:var(--bg2);border:1px solid var(--border);border-radius:999px;padding:9px 15px;font-size:13px;font-weight:700;box-shadow:0 12px 26px -10px rgba(60,40,10,.35);white-space:nowrap;animation:lpBob 5s ease-in-out infinite;}
.lp-float-a{top:-18px;left:-18px;}
.lp-float-b{bottom:-34px;right:-14px;animation-delay:-2.5s;}
@keyframes lpBob{0%,100%{transform:translateY(0);}50%{transform:translateY(-6px);}}
@keyframes lpIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
/* stats */
.lp-stats{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:30px 0;}
.lp-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 20px;}
.lp-stats-grid div{display:flex;flex-direction:column;gap:2px;}
.lp-stats-grid b{font-family:var(--lp-display);font-size:36px;line-height:1.1;color:var(--accent);}
.lp-stats-grid span{font-size:13px;color:var(--text2);line-height:1.4;}
/* sections */
.lp-section{padding:84px 0;}
.lp-alt{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.lp-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}
.lp-h2{font-family:var(--lp-display);font-size:clamp(29px,4.2vw,44px);line-height:1.1;letter-spacing:-.02em;font-weight:700;margin:10px 0 38px!important;max-width:680px;}
.lp-features{display:grid;gap:18px;}
.lp-feat{background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:26px 24px;transition:border-color .2s,transform .2s;}
.lp-feat:hover{border-color:var(--border2);transform:translateY(-2px);}
.lp-feat-i{width:46px;height:46px;border-radius:13px;background:var(--accent-dim);display:grid;place-items:center;font-size:24px;font-family:var(--heb-font);color:var(--accent);font-weight:700;}
.lp-feat-i svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;}
.lp-feat h3{font-size:17px;font-weight:800;margin:16px 0 6px;}
.lp-feat p,.lp-step p{font-size:15px;line-height:1.6;color:var(--text2);}
.lp-steps{display:grid;gap:28px;counter-reset:s;}
.lp-step-n{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--fill-a),var(--fill-b));color:#fff;display:grid;place-items:center;font-family:var(--lp-display);font-size:20px;font-weight:700;margin-bottom:14px;}
.lp-step h3{font-size:19px;font-weight:800;margin-bottom:6px;}
/* verse band */
.lp-quote{background:linear-gradient(135deg,var(--fill-a),var(--fill-b));color:#fff;text-align:center;padding:84px 0;}
.lp-quote-heb{font-family:var(--heb-font);font-size:clamp(32px,5.5vw,56px);line-height:1.5;}
.lp-quote-tl{font-style:italic;opacity:.8;margin-top:6px;font-size:16px;}
.lp-quote-en{font-family:var(--lp-display);font-size:clamp(19px,2.4vw,24px);margin-top:18px;}
.lp-quote-en span{display:block;font-family:inherit;font-size:14px;opacity:.75;margin-top:6px;font-style:normal;}
/* final call to action */
.lp-final{text-align:center;padding:96px 0;}
.lp-final .lp-h2{margin:0 auto 14px!important;}
.lp-final .lp-ctas,.lp-final .lp-trust{justify-content:center;}
.lp-foot{border-top:1px solid var(--border);padding:30px 0 44px;}
.lp-foot-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 30px;}
.lp-brand-foot{font-size:16px;}
.lp-privacy{font-size:13px;color:var(--text2);}
.lp-credits{font-size:12px;color:var(--text3);max-width:620px;line-height:1.6;}
@media(min-width:640px){.lp-features{grid-template-columns:repeat(2,1fr);}.lp-stats-grid{grid-template-columns:repeat(4,1fr);}.lp-steps{grid-template-columns:repeat(3,1fr);}}
@media(min-width:960px){.lp-features{grid-template-columns:repeat(3,1fr);}.lp-hero{padding:88px 0 110px;}.lp-hero-grid{grid-template-columns:1.08fr .92fr;}}
@media(max-width:560px){.lp-float-b{display:none;}.lp-float-a{top:-16px;left:8px;}.lp-hero{padding-top:36px;}.lp-ctas>*{flex:1 1 100%;}.lp-nav .lp-link{display:none;}}
/* sign-in page */
.lg{min-height:100vh;min-height:100dvh;display:grid;background:var(--bg);}
.lg-side{display:none;background:radial-gradient(600px 400px at 20% 10%,rgba(255,255,255,.12),transparent 60%),linear-gradient(160deg,var(--fill-a),var(--fill-b));color:#fff;padding:32px 44px;flex-direction:column;justify-content:space-between;}
.lg-side-heb{font-family:var(--heb-font);font-size:clamp(38px,4vw,54px);line-height:1.4;}
.lg-side-en{font-family:var(--lp-display);font-style:italic;font-size:18px;opacity:.85;margin-top:8px;}
.lg-side-foot{font-size:14px;opacity:.8;}
.lg-main{position:relative;display:flex;align-items:center;justify-content:center;padding:80px 20px 40px;}
.lg-back{position:absolute;top:18px;left:14px;}
.lg-card{width:100%;max-width:410px;text-align:center;background:var(--bg2);border:1px solid var(--border);border-radius:24px;padding:38px 30px 30px;box-shadow:0 30px 60px -30px rgba(60,40,10,.35);}
.lg-logo{border-radius:15px;box-shadow:0 4px 12px rgba(60,40,10,.2);margin-bottom:18px;}
.lg-h{font-family:var(--lp-display);font-size:27px;line-height:1.2;letter-spacing:-.015em;font-weight:700;margin-bottom:10px!important;}
.lg-p{font-size:15px;line-height:1.6;color:var(--text2);margin-bottom:26px!important;}
.lg-full{width:100%;}
.lg-status{min-height:18px;margin-top:10px;font-size:12px;color:var(--text3);}
.lg-or{display:flex;align-items:center;gap:12px;margin:14px 0 6px;font-size:12px;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;}
.lg-or::before,.lg-or::after{content:"";flex:1;height:1px;background:var(--border);}
.lg-sub{font-size:14px;}
.lg-fine{font-size:12px;line-height:1.55;color:var(--text3);margin-top:20px!important;}
.lg-avatar{margin:-4px 0 12px;font-size:40px;}
.lg-avatar img{width:60px;height:60px;border-radius:50%;}
@media(min-width:860px){.lg{grid-template-columns:1fr 1fr;}.lg-side{display:flex;}.lg-card{border:none;background:transparent;box-shadow:none;}.lg-main{background:var(--bg2);}}
@media(prefers-reduced-motion:reduce){.lp-float,.lp-vc-pick{animation:none;}.lp-btn,.lp-feat{transition:none;}}

/* ═══ Getting started (js/onboard.js): three quick questions, then your plan — full-screen ═══ */
.onb{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(900px 500px at 50% -10%,var(--accent-dim),transparent 70%),var(--bg);}
.ob-top{display:flex;align-items:center;gap:14px;max-width:620px;width:100%;margin:0 auto;padding:18px 16px 0;}
.ob-back{width:40px;height:40px;border-radius:50%!important;font-size:20px!important;color:var(--text2)!important;flex-shrink:0;}
.ob-back:hover{background:var(--bg3)!important;}
.ob-bar{flex:1;height:8px;border-radius:99px;background:var(--bg3);overflow:hidden;}
.ob-bar div{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--fill-a),var(--accent2));transition:width .35s ease;}
.ob-count{font-size:13px;font-weight:700;color:var(--text3);white-space:nowrap;}
.ob-body{max-width:620px;width:100%;margin:0 auto;padding:34px 16px 48px;animation:obIn .35s ease both;}
@keyframes obIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.ob-h{font-family:var(--lp-display);font-size:clamp(26px,5vw,34px);line-height:1.15;letter-spacing:-.02em;font-weight:700;margin:0 0 8px!important;}
.ob-p{font-size:16px;line-height:1.55;color:var(--text2);margin:0 0 24px!important;}
.ob-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.ob-opts{display:grid;gap:10px;}
.ob-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--bg2)!important;border:1.5px solid var(--border)!important;border-radius:16px;padding:14px 16px;box-shadow:var(--card-shadow);transition:border-color .15s,transform .15s,box-shadow .15s;}
.ob-opt:hover{border-color:var(--accent)!important;transform:translateY(-1px);}
.ob-opt:active{transform:scale(.99);}
.ob-opt-i{width:46px;height:46px;border-radius:12px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;font-size:23px;flex-shrink:0;}
.ob-min{font-family:var(--lp-display);font-size:20px;color:var(--accent);}
.ob-opt-t{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.ob-opt-t b{font-size:16px;color:var(--text);}
.ob-opt-t span{font-size:13.5px;color:var(--text2);}
.ob-rec{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--green);background:var(--green-dim);padding:3px 8px;border-radius:99px;white-space:nowrap;}
.ob-plan{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:4px;}
.ob-plan li{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--border);}
.ob-plan li:last-child{border-bottom:none;}
.ob-plan li div{display:flex;flex-direction:column;gap:3px;}
.ob-plan b{font-size:16px;}
.ob-plan li span:not(.ob-n){font-size:14px;line-height:1.5;color:var(--text2);}
.ob-n{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--fill-a),var(--fill-b));color:#fff;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ob-cta{width:100%;}
.ob-skip{display:block;margin:12px auto 0;font-size:14px;}
.ob-note{text-align:center;font-size:13px;color:var(--text3);margin-top:12px;}
.ob-fine{text-align:center;font-size:12.5px;line-height:1.5;color:var(--text3);margin-top:22px!important;}

/* Learn page: your path */
.hero-kicker{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8);margin-bottom:2px;}
.path-line{flex:1;min-width:160px;display:flex;align-items:center;gap:10px;font-size:12px;font-weight:700;color:var(--text3);}
.path-line span{white-space:nowrap;}
/* After a lesson: what to do next (js/onboard.js nextStepHtml) */
.next-step{margin:14px 0 6px;padding:14px;border:1px solid var(--border2);border-radius:14px;background:var(--bg3);text-align:left;}
.next-step-h{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:8px;}
.next-step-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;}
.next-step-icon{font-size:26px;line-height:1;flex-shrink:0;}
.next-step-text{display:flex;flex-direction:column;gap:2px;min-width:0;}
.next-step-text b{font-size:16px;color:var(--text);}
.next-step-text span{font-size:13.5px;line-height:1.5;color:var(--text2);}
.next-step .btn{width:100%;}
.path-strip{display:flex;align-items:center;gap:6px;margin-top:10px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;}
.path-strip::-webkit-scrollbar{display:none;}
.path-chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-family:inherit;font-size:12.5px;font-weight:700;color:var(--text2);background:var(--bg3);border:1px solid var(--border);border-radius:99px;padding:6px 11px;cursor:pointer;}
.path-chip.done{color:var(--green);border-color:var(--green);background:var(--green-dim);}
.path-chip.on{color:#fff;background:linear-gradient(135deg,var(--fill-a),var(--fill-b));border-color:var(--accent);}
.path-sep{width:10px;height:2px;background:var(--border2);flex-shrink:0;}
.topics-toggle{display:flex;align-items:center;gap:10px;width:100%;font-family:inherit;background:none;border:none;border-top:1px solid var(--border);padding:14px 2px 4px;cursor:pointer;color:var(--accent);font-size:13px;font-weight:800;}
.topics-toggle>span:first-child{color:var(--text);font-size:15px;}
.topics-toggle-n{flex:1;text-align:left;color:var(--text3);font-weight:700;}
@media(max-width:720px){.topics-toggle{flex-wrap:wrap;row-gap:2px;}.topics-toggle>span:first-child{flex:1;text-align:left;}.topics-toggle-n{order:3;flex-basis:100%;font-size:12px;}}
.save-nudge{display:flex;align-items:center;gap:12px;flex-wrap:wrap;text-align:left;background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;margin:0 0 14px;}
.save-nudge b{display:block;font-size:14px;color:var(--text);}
.save-nudge span{display:block;font-size:13px;color:var(--text2);line-height:1.45;}
.lp-google-sm{font-family:inherit;cursor:pointer;padding:8px 14px!important;font-size:14px!important;}
.lp-google-sm span{display:inline!important;color:#1f1f1f!important;font-size:14px!important;}
/* Alphabet lessons: which group of letters you're on */
.chunk-steps{display:flex;gap:6px;margin:-2px 0 12px;}
.chunk-steps span{flex:1;height:6px;border-radius:99px;background:var(--bg3);}
.chunk-steps span.done{background:var(--green);}
.chunk-steps span.on{background:var(--accent);}
@media(prefers-reduced-motion:reduce){.ob-body{animation:none;}.ob-bar div{transition:none;}}

/* Listening (js/listen.js) and the first verse (js/lessons.js) */
.ear-btn{display:inline-flex;align-items:center;justify-content:center;width:84px;height:84px;margin:12px auto 0;border-radius:50%;border:none;cursor:pointer;font-size:36px;background:linear-gradient(135deg,var(--fill-a),var(--fill-b));box-shadow:0 8px 20px -8px rgba(31,78,140,.6);transition:transform .15s;}
.ear-btn:hover{transform:scale(1.04);}
.ear-btn:active{transform:scale(.96);}
.ear-hint{font-size:12px;color:var(--text3);margin:6px 0 4px;}
.listen-note{text-align:center;font-size:12px;color:var(--text3);margin-top:10px;}
.listen-missed{display:grid;gap:6px;margin:8px 0 4px;}
.listen-missed>div{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
.fv-verse{display:block;text-align:center;font-size:calc(34px*var(--heb-scale));line-height:1.7;margin:14px 0;padding:14px;border-radius:var(--radius-sm);background:var(--bg3);color:var(--heb-color);}
.fv-done{margin:6px 0 14px;padding:16px 12px;border-radius:var(--radius);background:var(--accent-dim);}
.fv-words{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 16px;margin:12px 0;}
.fv-words>div{display:flex;flex-direction:column;align-items:center;gap:2px;}
.fv-words .heb-inline{font-size:calc(26px*var(--heb-scale));}
.fv-words i{font-size:13px;color:var(--accent);font-weight:700;}
.fv-words small{font-size:11.5px;color:var(--text2);max-width:110px;}
.fv-en{font-size:15px;font-style:italic;color:var(--text);}
.fv-en span{font-style:normal;color:var(--text3);font-size:13px;}

/* Letter & vowel chart (js/aids.js) */
/* The letter and vowel chart sits in the header, so it never covers a verse or the Next button */
.chart-pill{cursor:pointer;font-family:inherit;font-weight:800;color:var(--accent);background:var(--accent-dim);border-color:var(--accent);}
.chart-pill-h{font-family:var(--heb-font);font-size:15px;line-height:1;color:var(--heb-color);}
.ch-h{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:14px 0 8px;display:flex;justify-content:space-between;gap:8px;}
.ch-h:first-child{margin-top:0;padding-right:34px;}
.ch-h span{font-weight:700;letter-spacing:0;text-transform:none;color:var(--text3);}
.ch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;direction:rtl;}
.ch-tile{display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 2px;border-radius:10px;background:var(--bg3);border:1px solid var(--border);direction:ltr;font:inherit;color:var(--text);cursor:pointer;min-height:44px;}
.ch-tile:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.ch-heb{font-size:calc(26px*var(--heb-scale));line-height:1.3;color:var(--heb-color);}
.ch-tile b{font-size:13px;color:var(--accent);}
.ch-tile small{font-size:10px;color:var(--text3);text-align:center;line-height:1.2;}
.ch-tip{font-size:12.5px;line-height:1.5;color:var(--text2);margin-top:8px;}
/* Progress you can feel (end of a session) */
.pw{margin:4px 0 16px;padding:14px;border-radius:var(--radius);background:var(--green-dim);border:1px solid var(--green);text-align:left;}
.pw-big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.pw-big b{font-size:30px;font-weight:900;color:var(--green);line-height:1;}
.pw-big span{font-size:14px;color:var(--text);line-height:1.4;}
.pw-big em{font-style:normal;font-weight:800;color:var(--green);white-space:nowrap;}
.pw-bar{position:relative;margin:10px 0 6px;}
.pw-bar i{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text3);border-radius:2px;}
.pw-next{font-size:13px;color:var(--text2);line-height:1.5;}
.pw-verse{font-size:13.5px;color:var(--text);margin-top:8px;padding-top:8px;border-top:1px solid var(--border);}
/* Spelling tiles (js/spell.js) */
.sp-slots{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:16px 0 10px;padding:10px;border-radius:14px;background:var(--bg3);min-height:74px;}
.sp-slots.ok{background:var(--green-dim);}
.sp-slots.ng{background:var(--red-dim);}
.sp-slot{display:inline-flex;align-items:center;justify-content:center;min-width:48px;height:54px;padding:0 6px;border-radius:10px;border:2px dashed var(--border2);font-family:var(--heb-font);font-size:calc(30px*var(--heb-scale));color:var(--heb-color);background:transparent;}
.sp-filled{border:2px solid var(--accent);background:var(--bg2);cursor:pointer;}
.sp-filled:disabled{cursor:default;}
.sp-hint{font-size:12.5px;color:var(--text3);margin-bottom:10px;line-height:1.45;}
.sp-tiles{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;}
.sp-tile{min-width:52px;height:58px;padding:0 8px;border-radius:12px;border:1px solid var(--border2);background:var(--bg2);box-shadow:0 2px 0 var(--border2);font-family:var(--heb-font);font-size:calc(30px*var(--heb-scale));color:var(--heb-color);cursor:pointer;transition:transform .1s;}
.sp-tile:hover{border-color:var(--accent);}
.sp-tile:active{transform:translateY(2px);box-shadow:none;}
.sp-tile:disabled{opacity:.25;cursor:default;box-shadow:none;}

/* Review loop (js/readings.js, js/today.js, js/quizzes.js) */
.toast{position:fixed;left:50%;bottom:calc(90px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:1100;max-width:min(92vw,460px);background:var(--text);color:var(--bg);font-size:14px;font-weight:600;line-height:1.4;padding:10px 16px;border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.25);animation:toastIn .25s ease;transition:opacity .4s;text-align:center;}
.toast.out{opacity:0;}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,8px);}to{opacity:1;transform:translate(-50%,0);}}
@media(min-width:721px){.toast{bottom:32px;}}
.add-verse-words{display:block;margin-top:8px;font-size:13px;}
.picked{margin-top:6px;font-size:13.5px;font-weight:600;opacity:.9;}
.quiz-scope{display:flex;gap:6px;flex-wrap:wrap;}
.quiz-opts{margin:0 0 10px;}
.quiz-opts-btn{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 14px;font:inherit;font-size:14px;font-weight:800;color:var(--text);background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;}
.quiz-opts-btn small{flex:1;min-width:0;font-size:12.5px;font-weight:600;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.quiz-opts-btn:hover{border-color:var(--accent);}
.quiz-opts-body{background:var(--bg2);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-sm) var(--radius-sm);margin-top:-6px;padding:14px 12px 10px;}
.quiz-opts-body .tabs{margin-bottom:6px;}
.quiz-opts-h{font-size:11px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:var(--text3);margin:8px 0 6px;}
.quiz-opts-body>.quiz-opts-h:first-child{margin-top:0;}

/* Readings: "Ready for you" (js/readings.js) */
.ready-list{display:grid;gap:8px;}
.ready-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font-family:inherit;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px;cursor:pointer;color:var(--text);}
.ready-row:hover{border-color:var(--accent);}
.ready-i{font-size:24px;}
.ready-row b{display:block;font-size:15px;}
.ready-row small{display:block;font-size:12px;color:var(--text3);}
.ready-pk{font-size:18px;font-weight:900;color:var(--green);text-align:right;white-space:nowrap;}
.ready-pk small{font-size:10.5px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.04em;}

/* Study page by skill (js/learn.js) */
.study-group{margin:16px 0 4px;}
.study-group-h{display:flex;align-items:baseline;gap:8px;margin:0 2px 8px;}
.study-group-h b{font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}
.study-group-h small{font-size:12px;color:var(--text3);font-weight:600;}
.study-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.study-card{padding:14px;gap:4px;}
.study-card .hub-icon{font-size:22px;}
.study-card .hub-title{font-size:15px;}
/* Keyboard hint: only where there's a mouse and keyboard */
.key-hint{position:fixed;left:12px;bottom:18px;z-index:55;max-width:186px;font-size:12px;line-height:1.5;color:var(--text3);background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:5px 12px;}
.key-hint b{color:var(--text2);}
@media(hover:none),(pointer:coarse),(max-width:720px){.key-hint{display:none!important;}}
body.chromeless .key-hint{display:none!important;}
.ch-keys{font-size:12px;line-height:1.6;color:var(--text3);margin-top:12px;padding-top:10px;border-top:1px solid var(--border);}
.ch-keys b{color:var(--text2);}
@media(hover:none),(pointer:coarse){.ch-keys{display:none;}}

/* ═══ Dashboard: the top of the Learn page (js/dashboard.js) ═══ */
.dash{max-width:900px;margin:0 auto;padding:4px 0 20px;}
.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;}
.dash-shalom{font-family:var(--heb-font);font-size:18px;color:var(--accent);line-height:1;margin-bottom:4px;text-align:left;}
.dash-h{font-family:var(--lp-display);font-size:clamp(26px,4.5vw,34px);font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--text);margin:0!important;}
.dash-date{font-size:14px;color:var(--text3);margin-top:4px;}
.dash-head-r{display:flex;align-items:center;gap:10px;}
.dash-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;}
@media(max-width:640px){.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr));}}
.dash-tile{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--card-shadow);min-width:0;}
.dash-tile-top{display:flex;align-items:center;gap:8px;min-height:40px;}
.dash-tile-top b{font-size:26px;font-weight:900;color:var(--text);line-height:1;letter-spacing:-.02em;}
.dash-tile-top b small{font-size:15px;font-weight:700;color:var(--text3);}
.dash-ico{font-size:22px;line-height:1;}
.dash-tile-l{font-size:13px;font-weight:700;color:var(--text);margin-top:4px;}
.dash-tile-s{font-size:12px;color:var(--text3);margin-top:1px;line-height:1.35;}
.ring{width:40px;height:40px;flex-shrink:0;}
.ring-track{fill:none;stroke:var(--bg3);stroke-width:6;}
.ring-fill{fill:none;stroke:var(--accent);stroke-width:6;stroke-linecap:round;}
.dash-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;font-family:inherit;cursor:pointer;border:none;border-radius:20px;padding:22px 22px 18px;margin-bottom:10px;color:#fff;
  background:radial-gradient(500px 240px at 90% 0%,rgba(255,255,255,.16),transparent 60%),linear-gradient(135deg,var(--fill-a),var(--fill-b));box-shadow:0 14px 30px -14px rgba(31,78,140,.65);transition:transform .15s,box-shadow .15s;}
.dash-hero:hover{transform:translateY(-2px);box-shadow:0 18px 34px -14px rgba(31,78,140,.7);}
.dash-hero-art{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-family:var(--heb-font);font-size:96px;line-height:1;opacity:.22;pointer-events:none;}
.dash-hero-k{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.85;position:relative;}
.dash-hero-t{font-family:var(--lp-display);font-size:clamp(22px,4vw,28px);font-weight:700;letter-spacing:-.01em;line-height:1.15;position:relative;max-width:78%;}
.dash-hero-s{font-size:14.5px;line-height:1.45;opacity:.92;position:relative;max-width:78%;}
.dash-hero-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px;position:relative;width:100%;}
.dash-hero-cta{display:inline-flex;align-items:center;background:#fff;color:var(--accent-dark);font-weight:800;font-size:15px;padding:9px 18px;border-radius:99px;}
[data-theme="dark"] .dash-hero-cta{color:#1d3f6e;}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .dash-hero-cta{color:#1d3f6e;}}
.dash-hero-prog{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;opacity:.9;margin-left:auto;}
.dash-hero-bar{width:110px;height:6px;border-radius:99px;background:rgba(255,255,255,.25);overflow:hidden;display:inline-block;}
.dash-hero-bar span{display:block;height:100%;background:#fff;border-radius:99px;}
.dash-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-bottom:12px;}
.dash-card{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font-family:inherit;cursor:pointer;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;box-shadow:var(--card-shadow);color:var(--text);transition:border-color .15s,transform .15s;}
.dash-card:hover{border-color:var(--accent);transform:translateY(-1px);}
.dash-card-i{width:44px;height:44px;border-radius:12px;background:var(--accent-dim);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;font-family:var(--heb-font);}
.dash-card.amber .dash-card-i{background:var(--amber-dim);}
.dash-card.rose .dash-card-i{background:var(--red-dim);}
.dash-card.done .dash-card-i{background:var(--green-dim);}
.dash-card-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.dash-card-k{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text3);}
.dash-card-t{font-size:16px;font-weight:800;color:var(--text);}
.dash-card-s{font-size:13px;color:var(--text2);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.dash-card-go{font-size:18px;color:var(--text3);}
@media(max-width:560px){.dash-hero{padding:18px 16px 16px;}.dash-hero-art{font-size:72px;right:10px;}.dash-hero-t,.dash-hero-s{max-width:85%;}.dash-hero-prog{margin-left:0;}}
@media(prefers-reduced-motion:reduce){.dash-hero,.dash-card{transition:none;}}

/* Spoken instructions (js/help.js) */
.help-btn,.say-btn{display:inline-flex;align-items:center;gap:6px;font-family:inherit;cursor:pointer;font-size:13px;font-weight:700;color:var(--accent);background:var(--accent-dim);border:1px solid transparent;border-radius:99px;padding:6px 12px;}
.audio-speed{display:inline-flex;align-items:center;justify-content:center;flex:none;min-width:44px;min-height:44px;padding:6px 9px;border:1px solid var(--border2);border-radius:99px;background:var(--bg2);color:var(--accent);font:inherit;font-size:13px;font-weight:800;cursor:pointer;}
.audio-speed:hover,.audio-speed:focus-visible{border-color:var(--accent);}
.hdr .audio-speed{min-width:42px;min-height:32px;padding:4px 7px;font-size:12px;}
.say-btn{min-height:44px;}
.help-btn:hover,.say-btn:hover{border-color:var(--accent);}
.help-btn.on{background:var(--fill-a);color:#fff;}
.help-btn .hb-i{font-size:14px;line-height:1;}
.hdr .help-pill{padding:4px 10px;}
@media(max-width:560px){.help-pill .hb-t{display:none;}}
.lp-nav-r .help-btn{margin-right:4px;}
@media(max-width:480px){.lp-listen .hb-t{display:none;}}
.lg-listen{position:absolute;top:18px;right:14px;}
.lg-audio-controls{position:absolute;top:18px;right:14px;display:flex;align-items:center;gap:6px;}
.lg-audio-controls .lg-listen{position:static;}
.ob-top .help-btn{flex-shrink:0;}
@media(max-width:480px){.ob-listen .hb-t{display:none;}}
.ob-voice{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin:0 0 22px;padding:12px 14px;border-radius:14px;border:1px dashed var(--accent)!important;background:var(--accent-dim)!important;color:var(--text)!important;font-size:14px;line-height:1.45;}
.ob-voice>span:first-child{font-size:22px;}
.ob-voice b{color:var(--accent);}

.lesson-listen{display:flex;justify-content:flex-end;margin:-4px 0 8px;}
.lesson-listen .help-btn{font-size:14px;padding:7px 14px;}
/* Explainer video at the top of a lesson (js/explainers.js): its picture until played, then the YouTube player */
.explainer{margin:0 0 14px;}
.explainer-frame{position:relative;aspect-ratio:16/9;border-radius:var(--radius-sm);overflow:hidden;background:#000;border:1px solid var(--border2);}
.explainer-frame iframe,.explainer-poster{position:absolute;inset:0;width:100%;height:100%;border:0;}
.explainer-poster{padding:0;margin:0;cursor:pointer;background:var(--bg3);display:block;}
.explainer-poster img{width:100%;height:100%;object-fit:cover;display:block;}
.explainer-play{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:rgba(31,78,140,.92);color:#fff;font-size:26px;line-height:68px;text-align:center;padding-left:5px;box-shadow:0 4px 18px rgba(0,0,0,.25);transition:transform .15s;}
.explainer-poster:hover .explainer-play,.explainer-poster:focus-visible .explainer-play{transform:scale(1.08);}
.explainer-cap{font-size:13px;color:var(--text2);margin-top:6px;}
.explainer-cap b{color:var(--accent-dark);}

/* Levels and recommendations (js/curriculum.js, js/dashboard.js) */
.dash-sec-h{font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:18px 2px 8px;}
.rec-list{display:grid;gap:8px;margin-bottom:14px;}
.rec-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font-family:inherit;cursor:pointer;background:var(--bg2);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius);padding:12px 14px;color:var(--text);box-shadow:var(--card-shadow);}
.rec-row.amber{border-left-color:var(--amber);}
.rec-row:hover{border-color:var(--accent);}
.rec-i{font-size:24px;width:36px;text-align:center;flex-shrink:0;font-family:var(--heb-font);}
.rec-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.rec-k{font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--text3);}
.rec-t{font-size:15.5px;font-weight:800;}
.rec-why{font-size:13px;color:var(--text2);line-height:1.4;}
.level-box{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;margin-bottom:14px;box-shadow:var(--card-shadow);}
.level-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.level-top b{font-size:15px;flex:1;min-width:160px;}
.level-badge{font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,var(--fill-a),var(--fill-b));padding:4px 10px;border-radius:99px;}
.level-count{font-size:12px;font-weight:700;color:var(--text3);}
.level-goal{font-size:13px;color:var(--text2);margin:6px 0 10px;line-height:1.45;}
.level-dots{display:flex;gap:5px;margin-bottom:10px;}
.level-dots span{flex:1;height:6px;border-radius:99px;background:var(--bg3);}
.level-dots span.done{background:var(--green);}
.level-dots span.on{background:var(--accent);}
.level-h{display:flex;align-items:center;gap:12px;margin:22px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--border);}
.level-n{width:30px;height:30px;border-radius:50%;background:var(--bg3);color:var(--text2);font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.level-h.here .level-n{background:linear-gradient(135deg,var(--fill-a),var(--fill-b));color:#fff;}
.level-h-name{font-size:14px;font-weight:900;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.level-h-goal{font-size:12.5px;color:var(--text3);display:block;margin-top:2px;line-height:1.4;}
.level-toggle{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:4px 0;font:inherit;text-align:left;color:inherit;background:none;border:none;cursor:pointer;}
.level-h-text{flex:1;min-width:0;}
.level-chev{font-size:12px;color:var(--accent);font-weight:800;}
.level-h:not(.open){margin-bottom:0;}
@media(max-width:720px){.level-h{flex-wrap:wrap;row-gap:4px;}.level-toggle{flex-basis:100%;}.level-h .track-h-prog{padding-left:42px;}}
.level-here{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--fill-a);padding:2px 8px;border-radius:99px;}
.level-skip{font-size:10.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--text3);background:var(--bg3);padding:2px 8px;border-radius:99px;}
.topic-kind{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--text3);}

/* Hebrew as sounds only: spelled-out pronunciations hidden unless turned on in Settings (core.js tlitOn) */
.tlit-off .tlit,.tlit-off .tl,.tlit-off .sent-tlit,.tlit-off .tlit-toggle,.tlit-off .lp-vc-tl,.tlit-off .lp-quote-tl{display:none!important;}
.ob-start{font-size:14.5px;line-height:1.55;color:var(--text2);background:var(--accent-dim);border-radius:12px;padding:10px 14px;margin:6px 0 -6px;}
.ob-start b{color:var(--text);}

/* Tap Hebrew to hear it (js/voice.js markSayable) */
.heb-inline.say{cursor:pointer;border-bottom:2px dotted var(--accent);border-radius:2px;}
.heb-inline.say:hover,.heb-inline.say:focus-visible{background:var(--accent-dim);}
.lesson-listen{align-items:center;gap:10px;flex-wrap:wrap;}
.lesson-tap{font-size:12.5px;color:var(--text3);margin-right:auto;}
.say-sample{border-bottom:2px dotted var(--accent);}
.rv-ref+.say-btn{margin-left:auto;}

/* Reading without vowels (js/unpointed.js) */
.unp-verse{font-family:var(--heb-font);font-size:calc(28px*var(--heb-scale));line-height:1.9;text-align:right;color:var(--heb-color);background:var(--bg3);border-radius:var(--radius-sm);padding:12px 14px;}
.unp-verse mark{background:var(--accent-dim);color:inherit;border-radius:4px;padding:0 3px;box-shadow:0 0 0 2px var(--accent) inset;}
.vowel-btn.off{background:var(--amber-dim);color:var(--amber);}
.rv-ref~.say-btn{margin-left:6px;}
.rv-ref+.say-btn{margin-left:auto;}

/* Placement (js/placement.js) */
.place-rows{display:grid;gap:6px;max-width:360px;margin:0 auto;}
.place-row{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:8px 12px;border-radius:10px;background:var(--bg3);}
.place-row.ok b{color:var(--green);}
.place-row.ng b{color:var(--amber);}
.level-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px;padding-top:8px;border-top:1px solid var(--border);font-size:13px;}
.level-test{margin-left:8px;font-size:12px;}

/* Memory (js/memory.js) */
.dash-note{font-size:13.5px;line-height:1.5;color:var(--text);background:var(--green-dim);border:1px solid var(--green);border-radius:var(--radius);padding:10px 14px;margin:-2px 0 10px;}
.short-day{display:block;width:100%;text-align:left;font-family:inherit;font-size:13.5px;color:var(--text2);background:none;border:1px dashed var(--border2);border-radius:var(--radius);padding:10px 14px;margin:-2px 0 10px;cursor:pointer;}
.short-day:hover{border-color:var(--accent);color:var(--text);}
.short-day b{color:var(--accent);}
.mem-rows{display:grid;gap:6px;margin-top:10px;}
.mem-row{display:grid;grid-template-columns:minmax(110px,1.1fr) 2fr auto auto;gap:8px;align-items:center;font-size:12.5px;color:var(--text2);}
.mem-bar{height:8px;border-radius:99px;background:var(--bg3);overflow:hidden;}
.mem-bar span{display:block;height:100%;background:var(--green);border-radius:99px;}
.mem-row b{color:var(--text);min-width:36px;text-align:right;}
.mem-row small{color:var(--text3);}

/* Reading fluency (js/fluency.js) */
.ready-item{display:flex;flex-direction:column;gap:2px;}
.ready-pk.almost{color:var(--amber);}
.ready-learn{align-self:flex-end;font-size:12.5px;margin-right:6px;}
.flu-card{padding:18px 16px;}
.flu-text{font-family:var(--heb-font);font-size:calc(26px*var(--heb-scale));line-height:2;color:var(--heb-color);text-align:right;}
.flu-ref{font-family:system-ui,sans-serif;font-size:11px;font-weight:800;color:var(--accent);vertical-align:super;}
.flu-best{font-size:14px;color:var(--text2);text-align:center;margin:4px 0 6px;}
.flu-bars{display:flex;align-items:flex-end;justify-content:center;gap:8px;height:90px;margin:8px auto 14px;max-width:360px;}
.flu-bar{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:3px;}
.flu-bar span{display:block;width:100%;background:var(--green);border-radius:4px 4px 0 0;min-height:4px;}
.flu-bar small{font-size:11px;color:var(--text3);}

/* Keyboard focus: always visible, in the accent color */
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
.inp:focus-visible{outline:2px solid var(--accent);outline-offset:0;}
.heb-inline.say:focus-visible{outline:2px solid var(--accent);}

/* Word families and memory hooks (js/families.js) */
.hook{display:flex;gap:8px;align-items:flex-start;margin:12px auto 0;max-width:460px;padding:10px 12px;border-radius:12px;background:var(--amber-dim);color:var(--text);font-size:14.5px;line-height:1.5;text-align:left;}
.fb .hook{margin:10px 0 0;max-width:none;font-weight:500;}
.hook-i{flex:none;font-size:16px;line-height:1.35;}
.fam-box{margin:12px auto 0;max-width:460px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--teal-dim);text-align:left;}
.fam-h{font-size:14px;color:var(--text);}
.fam-sub{font-size:13px;color:var(--text2);margin-top:4px;}
.fam-root{color:var(--teal);font-weight:700;letter-spacing:1px;}
.fam-ws{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.fam-w{display:inline-flex;align-items:baseline;gap:6px;background:var(--bg2);border:1px solid var(--border);border-radius:18px;padding:4px 11px;font:inherit;font-size:13.5px;color:var(--text);cursor:pointer;}
span.fam-w{cursor:default;}
.fam-w .heb-inline{font-size:calc(18px*var(--heb-scale));}
.fam-w.known{border-color:var(--green);}
.fam-w b{color:var(--green);}
button.fam-w:hover{border-color:var(--teal);}
.fam-q-w{display:flex;flex-direction:column;align-items:center;gap:4px;margin:8px 0;}
.fam-q-row{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:10px 0;}
.fam-q-mini{display:flex;flex-direction:column;align-items:center;gap:2px;}
.fam-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.rwp.known{border-color:var(--green);}

/* Fair scoring notes (js/assess.js) */
.score-line{font-size:13.5px;color:var(--text2);margin:0 auto 12px;max-width:420px;line-height:1.5;}
.score-line span{display:block;font-size:12.5px;color:var(--text3);margin-top:2px;}
.extra-note{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:var(--amber-dim);color:var(--text);font-size:14px;}
.confirm-note{margin:12px auto 0;max-width:460px;padding:10px 12px;border-radius:12px;background:var(--teal-dim);color:var(--text);font-size:13.5px;line-height:1.5;text-align:left;}

/* Coach (js/coach.js) */
.coach-line{display:flex;align-items:center;gap:12px;width:100%;margin:12px 0 0;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);box-shadow:var(--card-shadow);cursor:pointer;text-align:left;font:inherit;color:var(--text);}
.coach-line:hover{border-color:var(--accent);}
.coach-av{flex:none;display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--teal-dim);font-size:20px;}
.coach-av-lg{width:52px;height:52px;font-size:28px;}
.coach-b{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.coach-k{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--teal);}
.coach-t{font-size:15px;font-weight:700;}
.coach-head{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.coach-head>div{flex:1;min-width:200px;}
.coach-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:4px 0 12px;}
.coach-days>div{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:12px;color:var(--text3);}
.coach-days i{display:block;width:100%;max-width:34px;height:10px;border-radius:6px;background:var(--bg3);border:1px solid var(--border);}
.coach-days .on i{background:var(--green);border-color:var(--green);}
.coach-days .on{color:var(--text);font-weight:700;}
.coach-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.coach-stats>div{display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:10px;background:var(--bg3);}
.coach-stats b{font-size:20px;font-weight:900;}
.coach-stats span{font-size:12px;color:var(--text2);text-align:center;}
.coach-sec{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin:18px 4px 8px;}
.coach-card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;box-shadow:var(--card-shadow);}
.coach-card.big{border-color:var(--accent);border-width:2px;}
.coach-card-h{display:flex;align-items:center;gap:8px;font-size:16px;}
.coach-card.big .coach-card-h{font-size:18px;}
.coach-card-i{font-size:20px;}
.coach-why{font-size:14.5px;color:var(--text2);line-height:1.55;margin:6px 0 10px;}
.coach-good{display:flex;flex-direction:column;gap:8px;}
.coach-good>div{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:var(--green-dim);}
.coach-good>div>span{font-size:18px;}
.coach-good b{display:block;font-size:14.5px;}
.coach-good small{display:block;font-size:13px;color:var(--text2);margin-top:2px;}
.coach-foot{font-size:12.5px;color:var(--text3);line-height:1.5;margin-top:16px;padding:0 4px;}
@media (max-width:420px){.coach-stats{grid-template-columns:repeat(2,1fr);}}

/* In English first (js/english-first.js) */
.eng-title{font-size:21px;font-weight:800;margin:4px 0 8px;}
.eng-he{margin:12px 0 0;padding:10px 12px;border-radius:12px;background:var(--teal-dim);font-size:14.5px;line-height:1.6;}
.eng-q{margin-top:12px;}
.eng-q-t{font-size:15.5px;font-weight:700;margin-bottom:8px;}
.eng-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
@media (max-width:480px){.eng-opts{grid-template-columns:1fr;}}
.eng-back{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 10px;padding:10px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);font:inherit;font-size:14px;color:var(--text);cursor:pointer;text-align:left;}
.eng-back>span:nth-child(2){flex:1;}
.eng-back:hover{border-color:var(--accent);}
.eng-ref{margin-bottom:10px;}

/* Your plan for today (js/dashboard.js) */
.plan{margin:4px 0 6px;}
.plan-h{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text3);margin:0 2px 10px;}
.plan-now{position:relative;margin-bottom:10px;}
.plan-now .dash-hero{margin-bottom:6px;}
.plan-n{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--bg3);border:1px solid var(--border);font-size:14px;font-weight:800;color:var(--text2);}
.plan-now>.plan-n{position:absolute;top:-8px;left:-6px;z-index:1;background:var(--fill-a);border-color:var(--fill-a);color:#fff;box-shadow:0 2px 6px rgba(0,0,0,.2);}
.plan-n.ok{background:var(--green);border-color:var(--green);color:var(--on-color);}
.plan-row{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 8px;padding:12px 14px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg2);font:inherit;color:var(--text);text-align:left;cursor:pointer;}
.plan-row:hover{border-color:var(--accent);}
.plan-row.done{opacity:.75;}
.plan-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;}
.plan-k{font-size:11px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--text3);}
.plan-t{font-size:15.5px;font-weight:700;}
.plan-s{font-size:13px;color:var(--text2);}
.plan-alt{display:block;margin:0 auto 4px;background:none;border:none;font:inherit;font-size:13.5px;color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
.plan-note{font-size:13px;color:var(--text2);text-align:center;margin:2px 8px 4px;}
.plan-skip{font-size:13.5px;color:var(--text2);text-align:center;margin:6px 12px 10px;}

/* Admin (js/admin.js) */
.ad-headline{font-size:16px;margin-bottom:14px;}
.ad-headline b{font-size:20px;font-weight:900;}
.ad-headline small{display:block;margin-top:6px;font-size:12px;color:var(--text3);line-height:1.5;}
.ad-flag{display:inline-block;font-size:11px;font-weight:700;padding:1px 7px;border-radius:999px;background:var(--bg2);color:var(--text3);border:1px solid var(--border);vertical-align:middle;}
.ad-flag-gave{color:var(--green);}
.acct-note{font-size:12px;color:var(--text3);line-height:1.5;margin:-4px 0 10px;}
.ad-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.ad-head>div:first-child{flex:1;min-width:220px;}
.ad-tabs{display:flex;gap:6px;margin:0 0 14px;flex-wrap:wrap;}
.ad-tabs button{font:inherit;font-size:14px;font-weight:700;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg2);color:var(--text2);cursor:pointer;}
.ad-tabs button.on{background:var(--fill-a);border-color:var(--fill-a);color:#fff;}
.ad-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;}
.ad-kpis-3{grid-template-columns:repeat(3,1fr);margin:0;}
.ad-kpis-4{grid-template-columns:repeat(4,1fr);margin:12px 0 0;}
@media (max-width:760px){.ad-kpis,.ad-kpis-4{grid-template-columns:repeat(2,1fr);}.ad-kpis-3{grid-template-columns:1fr;}}
.ad-kpi{background:var(--bg2);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;}
.ad-kpi b{font-size:24px;font-weight:900;line-height:1.1;}
.ad-kpi span{font-size:13px;color:var(--text2);}
.ad-kpi small{font-size:12px;color:var(--text3);}
.ad-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;}
.ad-grid>.card{margin:0;}
@media (max-width:760px){.ad-grid{grid-template-columns:1fr;}}
.ad-bars{display:flex;align-items:flex-end;gap:2px;height:110px;padding-top:6px;}
.ad-bar{flex:1;height:100%;display:flex;align-items:flex-end;}
.ad-bar span{display:block;width:100%;min-height:2px;border-radius:3px 3px 0 0;}
.ad-bars-x{display:flex;justify-content:space-between;font-size:11px;color:var(--text3);margin-top:4px;}
.ad-hbar{display:grid;grid-template-columns:minmax(120px,42%) 1fr auto auto;align-items:center;gap:8px;font-size:13px;padding:4px 0;}
.ad-hbar-l{color:var(--text);overflow:hidden;text-overflow:ellipsis;}
.ad-hbar-t{height:10px;border-radius:6px;background:var(--bg3);overflow:hidden;}
.ad-hbar-t span{display:block;height:100%;background:var(--accent);border-radius:6px;}
.ad-hbar b{min-width:24px;text-align:right;}
.ad-hbar small{min-width:34px;text-align:right;color:var(--text3);}
.ad-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px;}
.ad-tools .inp{flex:1;min-width:200px;}
.ad-chips{display:flex;gap:6px;flex-wrap:wrap;}
.ad-chip{font:inherit;font-size:13px;padding:6px 11px;border-radius:999px;border:1px solid var(--border);background:var(--bg2);color:var(--text2);cursor:pointer;}
.ad-chip.on{border-color:var(--accent);color:var(--accent);font-weight:700;}
.ad-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:14px;background:var(--bg2);}
.ad-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.ad-table th{text-align:left;padding:0;border-bottom:1px solid var(--border);background:var(--bg3);white-space:nowrap;}
.ad-table th:not(:has(button)){padding:10px 12px;font-weight:700;color:var(--text2);}
.ad-sort{font:inherit;font-weight:700;color:var(--text2);background:none;border:none;padding:10px 12px;cursor:pointer;width:100%;text-align:left;}
.ad-sort.on{color:var(--accent);}
.ad-table td{padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap;}
.ad-table tbody tr{cursor:pointer;}
.ad-table tbody tr:hover{background:var(--bg3);}
.ad-lessons tbody tr{cursor:default;}
.ad-who{display:flex;align-items:center;gap:10px;min-width:0;}
.ad-who b{display:block;font-size:14px;}
.ad-who small{display:block;font-size:12px;color:var(--text3);}
.ad-av{flex:none;width:32px;height:32px;border-radius:50%;object-fit:cover;display:inline-grid;place-items:center;background:var(--teal-dim);color:var(--teal);font-weight:800;}
.ad-who-lg .ad-av{width:48px;height:48px;font-size:20px;}
.ad-who-lg b{font-size:19px;}
.ad-pages{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0;font-size:13px;color:var(--text2);}
.ad-foot{font-size:12px;color:var(--text3);margin:12px 4px;}
.ad-words{display:flex;flex-direction:column;gap:4px;}
.ad-words>div{display:grid;grid-template-columns:auto 1fr auto auto;align-items:baseline;gap:10px;font-size:13.5px;padding:3px 0;border-bottom:1px solid var(--border);}
.ad-words .heb-inline{font-size:calc(19px*var(--heb-scale));}
.ad-words small{color:var(--text3);font-size:12px;}
.ad-ov{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;justify-content:flex-end;}
.ad-panel{position:relative;width:min(560px,100%);height:100%;overflow-y:auto;background:var(--bg);padding:22px 20px 40px;box-shadow:-10px 0 30px rgba(0,0,0,.25);}
.ad-x{position:absolute;top:12px;right:12px;font-size:18px;background:none;border:none;color:var(--text2);cursor:pointer;padding:6px 10px;}
.ad-cols{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin-top:12px;}
@media (max-width:520px){.ad-cols{grid-template-columns:1fr;}}
.ad-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:5px 0;border-bottom:1px solid var(--border);}
.ad-row span{color:var(--text2);}
.ad-row b{text-align:right;font-weight:700;}
.ad-tags{display:flex;flex-wrap:wrap;gap:6px;}
.ad-tags span{font-size:12.5px;padding:4px 9px;border-radius:999px;background:var(--green-dim);}
.ad-tags span.warn{background:var(--amber-dim);}
.ad-note{margin-top:10px;padding:8px 12px;border-radius:10px;background:var(--amber-dim);font-size:13px;}
.ad-steps{margin:6px 0 10px 20px;font-size:14px;line-height:1.6;}
.ad-steps li{margin-bottom:6px;}
.ad-uid{font-size:13px;margin:8px 0;word-break:break-all;}
.ad code,.ad-setup code{background:var(--bg3);padding:1px 6px;border-radius:6px;font-size:12.5px;}

/* Log out and Delete account (js/account.js) */
.acct-page{max-width:560px;margin:0 auto;padding:6px 0 20px;}
.acct-h{display:flex;align-items:center;gap:10px;margin:0 0 12px;}
.acct-h span{font-size:28px;}
.acct-h h1{font-size:24px;font-weight:900;margin:0;}
.acct-who{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.acct-who img,.acct-who>span{flex:none;width:44px;height:44px;border-radius:50%;object-fit:cover;display:inline-grid;place-items:center;background:var(--teal-dim);color:var(--teal);font-weight:800;font-size:18px;}
.acct-who b{display:block;font-size:16px;}
.acct-who small{display:block;font-size:13px;color:var(--text2);}
.acct-warn{border-color:var(--rose);}
.acct-list{margin:4px 0 12px 20px;font-size:15px;line-height:1.6;}
.acct-confirm{display:block;font-size:14px;margin:14px 0 6px;}
.acct-fine{font-size:12.5px;color:var(--text3);margin:6px 0 0;}
.acct-status{min-height:1.4em;font-size:14px;color:var(--text2);margin-top:10px;}
.acct-status.err{color:var(--red);font-weight:600;}
.acct-more{font-size:13.5px;color:var(--text2);text-align:center;margin:12px 0;}
.acct-danger{border-color:var(--red)!important;color:var(--red)!important;}
.acct-del{background:var(--red);border-color:var(--red);color:var(--on-color);font-weight:700;}
.acct-del:disabled{opacity:.45;cursor:not-allowed;}
/* Support page (js/support.js) */
.sup-test{background:var(--amber-dim);color:var(--amber);border-radius:10px;padding:10px 14px;font-size:13.5px;line-height:1.5;margin-bottom:12px;}
.sup-thanks{border-color:var(--teal);background:var(--teal-dim);}
.sup-thanks-h{font-size:22px;font-weight:900;margin-bottom:6px;}
.sup-appeal{border-color:var(--rose);}
.sup-gave{font-weight:700;color:var(--rose);margin:4px 0 0;}
.sup-sub{font-size:13.5px;color:var(--text2);margin:-4px 0 12px;}
.sup-amts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.sup-amt{display:flex;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;border:1.5px solid var(--border);border-radius:12px;background:var(--bg);color:var(--text);text-decoration:none;transition:border-color .15s,transform .15s;}
.sup-amt:hover,.sup-amt:focus-visible{border-color:var(--rose);transform:translateY(-1px);}
.sup-amt b{font-size:24px;font-weight:900;color:var(--rose);}
.sup-amt span{font-size:12.5px;color:var(--text2);}
.sup-once{display:inline-block;text-decoration:none;}
.sup-fine{font-size:12.5px;color:var(--text3);line-height:1.6;text-align:center;margin:6px 8px 0;}
.sup-fine a{color:var(--text2);}
.sup-ask{background:var(--rose-dim);border:1px solid var(--rose);border-radius:var(--radius);padding:14px 16px;margin:0 0 14px;}
.sup-ask-t{font-weight:800;font-size:15px;margin-bottom:4px;}
.sup-ask-s{font-size:13.5px;color:var(--text2);line-height:1.5;margin-bottom:10px;}
.sup-ask-b{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.lp-support{background:none;border:1.5px solid var(--rose);color:var(--rose);border-radius:999px;padding:7px 14px;font-weight:700;font-size:13px;cursor:pointer;}
.sup-ask-b .plan-alt{margin:0;}
.rem-ask{background:var(--accent-dim);border-color:var(--accent);}
/* Donation banner: a small tab hanging from the top of every page (js/support.js) */
:root{--don-h:0px;}
body.has-don{--don-h:42px;}
body.has-don .app-wrap{height:calc(100vh - var(--nav-h) - var(--don-h));}
/* Guided Hebrew sentence building */
.sf-page{max-width:680px;margin:0 auto;}
.sf-head{display:flex;align-items:center;gap:12px;margin:4px 0 16px;}
.sf-head h1{font-size:22px;line-height:1.2;margin:0 0 3px;}
.sf-head p{font-size:14px;color:var(--text2);margin:0;}
.sf-icon{font-size:28px;}
.sf-card{line-height:1.65;}
.sf-card h2{font-size:20px;line-height:1.3;margin:8px 0 10px;}
.sf-card p{font-size:15px;margin:8px 0 12px;}
.sf-steps{padding-left:22px;margin:10px 0 16px;}
.sf-steps li{padding-left:3px;margin:8px 0;font-size:15px;}
.sf-example{background:var(--accent-dim);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:14px;margin:14px 0;}
.sf-heb{font-family:var(--heb-font);font-size:calc(28px*var(--heb-scale));color:var(--heb-color);margin:6px 0;}
.sf-label{font-size:12px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin:14px 0 6px;}
.sf-built,.sf-bank{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-height:68px;padding:10px;border-radius:var(--radius-sm);}
.sf-built{border:2px dashed var(--border2);background:var(--bg3);}
.sf-hint{font-size:12px;color:var(--text2);margin:7px 0 12px;line-height:1.4;}
.sf-bank{border:1px solid var(--border);background:var(--bg2);}
.sf-placeholder{font-size:13px;color:var(--text3);}
.sf-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:52px;min-width:68px;padding:5px 9px;border:1px solid var(--border2);border-radius:var(--radius-sm);background:var(--bg3);color:var(--text);font:inherit;cursor:pointer;}
.sf-tile .heb-inline{font-size:calc(22px*var(--heb-scale));line-height:1.4;}
.sf-tile small{font-size:11px;color:var(--text2);}
.sf-tile:hover,.sf-tile:focus-visible{border-color:var(--accent);outline:2px solid var(--accent-dim);}
.sf-chosen{background:var(--accent-dim);border-color:var(--accent);}
.sf-feedback{padding:13px 15px;border-radius:var(--radius-sm);font-size:14px;margin-top:14px;}
.sf-right{background:var(--green-dim);border:1px solid var(--green);}
.sf-wrong{background:var(--red-dim);border:1px solid var(--red);}
.sf-done{text-align:center;}
.don-bar{height:var(--don-h);display:flex;justify-content:center;align-items:center;background:var(--bg2);flex-shrink:0;padding:0 8px;}
.don-tab{display:flex;align-items:center;gap:8px;max-width:100%;height:32px;padding:0 4px 0 14px;background:var(--rose-dim);border:1px solid var(--rose);border-radius:999px;font-size:12.5px;line-height:1;white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.06);}
.don-t{overflow:hidden;text-overflow:ellipsis;color:var(--text);}
.don-t b{color:var(--rose);}
.don-b{flex:none;background:var(--rose);color:var(--bg2);border:none;border-radius:999px;padding:4px 11px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;}
.don-b:hover{filter:brightness(1.08);}
.don-x{flex:none;background:none;border:none;color:var(--text3);font-size:12px;line-height:1;padding:5px 6px;cursor:pointer;border-radius:6px;}
.don-x:hover{color:var(--text);background:var(--bg3);}
.don-short{display:none;}
@media (max-width:640px){.don-long{display:none;}.don-short{display:inline;}}
/* Phone fixes (mobile audit) */
.back-btn{padding:6px 12px;font-size:11px;}
.br-filters{display:grid;grid-template-columns:1fr auto auto;gap:7px;margin-bottom:10px;align-items:center;}
.br-filters select{width:auto;}
.gt-pair{display:flex;flex-wrap:wrap;gap:0 14px;}
.gt-pair>.gt{flex:1 1 260px;width:auto;}
@media(max-width:560px){
  .br-filters{grid-template-columns:1fr 1fr;}
  .br-filters input{grid-column:1/-1;}
  .br-filters select{width:100%;min-width:0;}
}
@media(max-width:720px){
  .back-btn{min-height:36px;padding:8px 14px;font-size:12.5px;}
  .tab{min-height:36px;}
  .rwp,.cov-row{min-height:36px;}
  .vb{min-width:40px;min-height:38px;}
  .gt{font-size:12.5px;}
  .gt th,.gt td{padding:7px 7px;}
  .gt th{letter-spacing:.4px;}
  /* Small controls keep their look but get a finger-sized tap area */
  .link-btn,.hdr .pill,.help-btn:not(.lg-listen),.don-b,.don-x{position:relative;}
  .link-btn::after,.hdr .pill::after,.help-btn::after,.don-b::after,.don-x::after{content:"";position:absolute;inset:-8px -3px;}
}
/* Header pills never wrap; on the narrowest phones the streak and goal pills show just their numbers */
.hdr .pill{white-space:nowrap;flex-shrink:0;}
#acctPill{flex-shrink:1;min-width:0;max-width:120px;overflow:hidden;text-overflow:ellipsis;}
@media(max-width:430px){.hdr .pill-lbl{display:none;}.hdr-pills{gap:5px;}}
/* Wide tables scroll sideways inside their card instead of pushing the page */
.gt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;}
@media(max-width:360px){.don-tab>span[aria-hidden]{display:none;}.don-tab{gap:6px;padding-left:12px;}}
.quick-read{font-size:11px;padding:6px 10px;}
@media(max-width:720px){.quick-read{font-size:12.5px;padding:9px 12px;min-height:36px;}}
/* ── Bible reader (js/bible-reader.js) ── */
.br{max-width:820px;margin:0 auto;}
.br-wait{text-align:center;color:var(--text3);font-size:14px;padding:40px 16px;}
.br-lib-h h1{font-size:24px;font-weight:900;margin:0 0 4px;}
.br-lib-h p{font-size:14px;color:var(--text2);margin:0 0 14px;line-height:1.5;}
.br-continue{display:flex;align-items:center;gap:10px;width:100%;text-align:left;font:inherit;cursor:pointer;background:linear-gradient(135deg,var(--accent),#2c5fa3);color:#fff;border:none;border-radius:var(--radius);padding:16px 18px;margin-bottom:14px;box-shadow:var(--card-shadow);}
.br-continue-k{font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;opacity:.85;}
.br-continue-t{flex:1;font-size:19px;font-weight:900;}
.br-continue-go{font-size:22px;}
.br-continue{flex-wrap:wrap;}.br-continue-k{flex-basis:100%;}
.br-go{display:flex;gap:8px;margin-bottom:6px;}
.br-go .inp{flex:1;min-width:0;}
.br-sug{display:flex;flex-direction:column;gap:6px;margin-bottom:8px;}
.br-sug-go,.br-sug-book{text-align:left;font:inherit;cursor:pointer;border-radius:10px;padding:11px 14px;border:1px solid var(--border);background:var(--bg2);color:var(--text);}
.br-sug-go{background:var(--fill-a);border-color:var(--fill-a);color:#fff;font-weight:800;}
.br-sug-book small{color:var(--text3);}
.br-sug-none{font-size:13.5px;color:var(--text2);padding:4px 2px;}
.br-lab{font-size:11px;font-weight:800;color:var(--accent);letter-spacing:1px;text-transform:uppercase;margin:16px 0 8px;}
.br-chips{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
.br-chip{flex-shrink:0;white-space:nowrap;font:inherit;font-size:13.5px;font-weight:700;min-height:38px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg2);color:var(--text);cursor:pointer;}
.br-chip:hover,.br-book:hover,.br-chap:hover{border-color:var(--accent);}
.br-rec{font-size:.8em;}
.br-guided{flex-direction:row;align-items:center;gap:12px;margin:16px 0 4px;}
.br-sec h2{font-size:17px;font-weight:900;margin:22px 0 8px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;}
.br-sec h2 small{font-size:12.5px;font-weight:600;color:var(--text3);}
.br-book-w{border-bottom:1px solid var(--border);}
.br-book{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:8px 6px;font:inherit;text-align:left;background:none;border:1px solid transparent;border-radius:10px;color:var(--text);cursor:pointer;}
.br-book.on{background:var(--accent-dim);}
.br-book-en{flex:1;font-size:15.5px;font-weight:700;}
.br-book-he{font-family:var(--heb-font);font-size:calc(19px*var(--heb-scale));color:var(--heb-color);direction:rtl;}
.br-book-n{min-width:34px;text-align:right;font-size:12px;color:var(--text3);font-weight:700;}
.br-chaps{display:grid;grid-template-columns:repeat(auto-fill,minmax(46px,1fr));gap:6px;padding:8px 2px 14px;}
.br-chap{position:relative;min-height:44px;font:inherit;font-size:15px;font-weight:700;border:1px solid var(--border);background:var(--bg2);color:var(--text);border-radius:10px;cursor:pointer;}
.br-chap.rec::after{content:"";position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--rose);}
.br-chap.on{background:var(--fill-a);border-color:var(--fill-a);color:#fff;}
.br-credits{font-size:11.5px;color:var(--text3);text-align:center;margin:22px 4px 6px;line-height:1.6;}
/* the bar that stays at the top while you read */
.br-bar{position:sticky;top:var(--nav-h);z-index:50;display:flex;align-items:center;gap:6px;padding:8px 0;margin:-6px 0 6px;background:var(--bg);border-bottom:1px solid var(--border);}
.br-ic{flex:none;min-width:40px;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font:inherit;font-size:19px;font-weight:700;cursor:pointer;line-height:1;}
.br-ic:disabled{opacity:.35;cursor:default;}
.br-aa{font-size:15px;font-weight:900;}
.br-ref{flex:1;min-width:0;height:40px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);color:var(--text);font:inherit;font-size:15px;font-weight:800;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px;}
.br-ref span{color:var(--text3);font-size:12px;}
.br-listen{flex:none;height:40px;border-radius:999px;border:none;background:var(--fill-a);color:#fff;font:inherit;font-size:14px;font-weight:800;padding:0 14px;cursor:pointer;white-space:nowrap;}
.br-h{text-align:center;margin:14px 0 10px;}
.br-h-he{font-family:var(--heb-font);font-size:calc(30px*var(--heb-scale));color:var(--heb-color);direction:rtl;line-height:1.3;}
.br-h-en{font-size:13px;font-weight:800;color:var(--text3);letter-spacing:.6px;text-transform:uppercase;}
.br-note{font-size:12.5px;color:var(--text3);text-align:center;margin:8px 0;line-height:1.5;}
/* verses: the number on the right, where Hebrew lines start */
.br-v{display:flex;direction:rtl;gap:10px;align-items:flex-start;padding:10px 6px;border-bottom:1px solid var(--border);border-radius:8px;transition:background .3s;}
.br-vn{flex:none;min-width:32px;height:32px;margin-top:6px;border-radius:16px;border:none;background:var(--accent-dim);color:var(--accent);font:inherit;font-size:12.5px;font-weight:800;cursor:pointer;direction:ltr;}
.br-heb{flex:1;min-width:0;font-family:var(--heb-font);font-size:calc(24px*var(--heb-scale));line-height:2.05;color:var(--heb-color);text-align:right;}
.br-heb .bib-word{padding:1px 3px;margin:0;}
.br-v.both{flex-wrap:wrap;}
.br-en{flex-basis:100%;direction:ltr;text-align:left;font-size:15px;line-height:1.6;color:var(--text2);padding:2px 42px 2px 0;}
@media(min-width:900px){.br-v.both{flex-wrap:nowrap;}.br-v.both .br-heb{flex:1 1 50%;}.br-v.both .br-en{flex:1 1 50%;padding:6px 0 0;}}
.br-v.reading{background:var(--accent-dim);}
.br-v.flash{animation:brFlash 2.2s;}
@keyframes brFlash{0%,40%{background:var(--amber-dim);}100%{background:transparent;}}
.bib-word.sel{background:var(--accent);color:var(--bg2);}
.bib-word.speaking{text-decoration:underline solid var(--green) 3px;text-underline-offset:6px;}
/* word by word */
.br-v.inter .br-heb{line-height:1.3;}
.br-iw{display:inline-flex;flex-direction:column;align-items:center;gap:2px;vertical-align:top;margin:4px 2px 12px!important;padding:3px 5px!important;}
.br-iw-h{font-size:calc(24px*var(--heb-scale));line-height:1.5;}
.br-iw-g{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;direction:ltr;font-size:12px;font-weight:600;color:var(--text2);max-width:120px;text-align:center;line-height:1.25;}
.br-iw-t{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;direction:ltr;font-size:11.5px;font-style:italic;color:var(--text3);}
.bib-word.sel .br-iw-g,.bib-word.sel .br-iw-t{color:inherit;}
.br-foot{display:flex;justify-content:space-between;gap:10px;margin:18px 0 6px;flex-wrap:wrap;}
.br-foot .btn{min-height:44px;}
.br-err b{color:var(--red);}
/* the word or verse panel: a sheet at the bottom on phones, a side panel on wide screens */
.br-panel{position:fixed;left:0;right:0;bottom:0;z-index:900;max-height:64vh;overflow-y:auto;background:var(--bg2);border:1px solid var(--border2);border-bottom:none;border-radius:18px 18px 0 0;box-shadow:0 -8px 30px rgba(40,28,12,.18);padding:10px 16px calc(18px + env(safe-area-inset-bottom));animation:slideUp .25s;}
@media(max-width:720px){.br-panel{bottom:calc(var(--bot-h) + env(safe-area-inset-bottom));max-height:58vh;}}
@media(min-width:1100px){.br-panel{top:calc(var(--nav-h) + var(--don-h,0px));left:auto;width:390px;max-height:none;border-radius:0;border-left:1px solid var(--border2);border-top:none;box-shadow:-6px 0 24px rgba(40,28,12,.12);animation:none;}}
.br-p-top{display:flex;align-items:center;gap:6px;position:sticky;top:-10px;background:var(--bg2);padding:4px 0 8px;margin-bottom:4px;z-index:1;}
.br-p-ref{flex:1;font-size:12.5px;font-weight:800;color:var(--text3);text-align:center;}
.br-p-word{text-align:center;margin-bottom:12px;}
.br-p-heb{font-family:var(--heb-font);font-size:calc(46px*var(--heb-scale));color:var(--heb-color);direction:rtl;line-height:1.25;}
.br-p-tl{font-size:15px;color:var(--text2);font-style:italic;margin-top:2px;}
.br-p-gloss{font-size:16px;font-weight:800;margin-top:4px;}
.br-p-note{font-size:12px;color:var(--text3);}
.br-p-k{font-size:11px;color:var(--text3);font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin:4px 0 6px;}
.br-p-occ{margin-top:14px;border-top:1px solid var(--border);padding-top:10px;}
.br-p-occ summary{font-size:12px;font-weight:800;color:var(--accent);cursor:pointer;min-height:32px;display:flex;align-items:center;}
.br-occ{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:6px 4px;font:inherit;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text2);cursor:pointer;text-align:left;}
.br-occ .heb-inline{min-width:70px;font-size:calc(18px*var(--heb-scale));}
.br-occ span:nth-child(2){flex:1;font-size:13px;}
.br-p-verse{font-family:var(--heb-font);font-size:calc(24px*var(--heb-scale));line-height:2;color:var(--heb-color);direction:rtl;text-align:right;margin:4px 0 12px;}
.br-p-acts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.br-p-acts .btn{min-height:42px;}
.br-p-en{font-size:15px;line-height:1.6;color:var(--text2);}
/* the player while a chapter is read aloud */
.br-player{position:fixed;left:12px;right:12px;bottom:18px;z-index:850;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:16px;background:var(--fill-a);color:#fff;box-shadow:0 8px 26px rgba(20,30,60,.3);}
@media(max-width:720px){.br-player{bottom:calc(var(--bot-h) + 10px + env(safe-area-inset-bottom));}}
.br-pl-main{flex:none;width:44px;height:44px;border-radius:50%;border:none;background:#fff;color:var(--accent);font-size:18px;cursor:pointer;}
.br-pl-mid{flex:1;min-width:0;}
.br-pl-k{font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;opacity:.8;}
.br-pl-ref{font-size:15px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.br-pl-rate{flex:none;min-width:48px;height:36px;border-radius:999px;border:1px solid rgba(255,255,255,.5);background:none;color:#fff;font:inherit;font-weight:800;cursor:pointer;}
.br-player .br-ic{background:rgba(255,255,255,.15);border-color:transparent;color:#fff;}
body.br-playing .main{padding-bottom:calc(var(--bot-h) + 110px);}
/* options and the chapter picker (in the app's pop-up) */
.br-opts h2{font-size:19px;font-weight:900;margin:0 0 12px;}
.br-opt-l{font-size:13.5px;font-weight:700;margin-bottom:6px;}
.br-opt-l small{font-weight:600;color:var(--text3);}
.br-nav .br-lab:first-of-type{margin-top:12px;}
.br-nav-sec{margin-bottom:10px;}
.br-nav-sec-h{font-size:12px;font-weight:800;color:var(--text3);margin-bottom:6px;}
.br-nav-books{display:flex;flex-wrap:wrap;gap:6px;}
.br-nav-book{font:inherit;font-size:13.5px;font-weight:700;min-height:38px;padding:7px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg2);color:var(--text);cursor:pointer;}
.br-nav-book.on{border-color:var(--accent);color:var(--accent);}
@media(max-width:380px){.br-listen{padding:0 12px;font-size:13px;}.br-ic{min-width:36px;}}
@media(max-width:400px){.br-listen-t{display:none;}.br-listen{min-width:44px;}}
/* The page scrolls as a whole; the content area mustn't be its own scroll box here, or the reader's bar can't pin */
body.br-page .main,body.br-page .app-wrap{overflow:visible;}
body.br-page .main{min-width:0;}
.br-nav{padding-top:38px;}
.br-opts h2{padding-right:40px;}
/* ── Tutor (js/tutor.js) ── */
.tu-card{border-color:var(--amber);}
.tu-head{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;}
.tu-av{flex:none;width:44px;height:44px;border-radius:50%;background:var(--amber-dim);display:grid;place-items:center;font-size:22px;}
.tu-title{font-size:19px;font-weight:900;line-height:1.3;}
.tu-sub{font-size:14px;color:var(--text2);line-height:1.5;margin-top:2px;}
.tu-k{font-size:11px;font-weight:800;color:var(--accent);letter-spacing:1px;text-transform:uppercase;margin:14px 0 8px;}
.tu-misses{display:flex;flex-direction:column;gap:8px;}
.tu-miss{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:10px 12px;}
.tu-miss-q{font-size:14px;font-weight:700;line-height:1.45;}
.tu-miss-a{font-size:14.5px;color:var(--green);font-weight:700;margin-top:4px;}
.tu-miss-why{font-size:13px;color:var(--text2);line-height:1.5;margin-top:3px;}
.tu-idea{border-top:1px solid var(--border);margin-top:14px;}
.tu-lesson{margin-top:14px;border-top:1px solid var(--border);padding-top:10px;}
.tu-lesson summary{font-size:13.5px;font-weight:800;color:var(--accent);cursor:pointer;min-height:36px;display:flex;align-items:center;}
.tu-lesson-body{margin-top:8px;}
.tu-result{text-align:center;padding:24px 18px;}
.tu-result .lesson-p{text-align:center;}
.tu-big{font-size:44px;line-height:1.1;margin-bottom:4px;}
.tu-help{display:block;margin:10px auto 0;}
.tu-modal .tu-title{margin-bottom:6px;padding-right:36px;}
.tu-note{font-size:12.5px;color:var(--text3);line-height:1.5;margin:12px 0;}
/* keep building: a chapter's new words before you read it */
.jn-words{display:flex;flex-direction:column;gap:6px;margin:10px 0 4px;}
.jn-w{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg2);}
.jn-w-h{font-family:var(--heb-font);font-size:calc(22px*var(--heb-scale));color:var(--heb-color);direction:rtl;min-width:74px;text-align:right;}
.jn-w-g{flex:1;min-width:0;font-size:14px;font-weight:700;}
.jn-w-n{font-size:12px;color:var(--text3);white-space:nowrap;}
.jn-w-in{color:var(--green);font-weight:900;}
.jn-done{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;margin:18px 0 6px;padding:14px;border:1px dashed var(--accent);border-radius:var(--radius);}
.jn-done span{font-size:12.5px;color:var(--text3);}

/* New-word card verse: a front part joined to the learned form (וְ, הַ, בְּ…) is lighter, with a note below */
.today-ex mark .ex-front{opacity:.55}
.ex-note{font-size:13px;color:var(--text3);text-align:left;margin-top:6px}

/* Old (Bible) pronunciation beside the modern one the recordings use */
.snd-note{font-size:12.5px;line-height:1.45;color:var(--text2);background:var(--bg3);border-radius:8px;padding:5px 8px;margin:6px auto 0;max-width:420px;text-align:center}
.snd-note b{color:var(--text);font-weight:700}
.gt-note{font-size:13px;color:var(--text2);margin:0 0 8px}

/* Readable today (js/readable.js) */
.rd-head h1{margin:4px 0 6px}.rd-head p{color:var(--text2);font-size:14px;line-height:1.5;margin:0 0 14px}
.rd-count{font-size:14px;color:var(--text2);margin:0 0 10px}
.rd-card{margin-bottom:12px}.rd-card.rd-read{opacity:.7}
.rd-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.rd-ref{font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--accent)}
.rd-pct{font-size:12.5px;color:var(--text2)}.rd-pct.all{color:var(--green);font-weight:700}
.rd-heb{font-size:calc(24px*var(--heb-scale));line-height:1.9}
.rd-heb .rd-new{border-bottom:2px dotted var(--rose);}
.rd-w,.rd-iw{cursor:pointer;border-radius:6px;}
.rd-w:hover,.rd-iw:hover,.rd-w.sel{background:var(--accent-dim);}
.rd-en{font-size:14px;color:var(--text2);line-height:1.5;margin:4px 0 6px}
.rd-more{font-size:13px;color:var(--text3);text-align:center;margin:6px 0 20px}
.rd-link{margin-top:8px}
/* Read it aloud (js/pronounce.js): words heard clearly turn green, ones not caught are marked amber */
.pron{margin:8px 0 4px;text-align:center;}
.pron-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
.pron-btn.on{background:var(--red-dim);color:var(--red);}
.pron-note{font-size:13px;color:var(--text2);margin-top:6px;}
.pron-live{color:var(--accent);font-weight:700;}
.pron-err{color:var(--red);}
.pron-heard{font-size:13px;color:var(--text3);margin-top:4px;}
.rv-heb .vw.said,.bib-word.said,.br-pw.said{background:var(--green-dim);color:var(--green);}
.rv-heb .vw.missed,.bib-word.missed,.br-pw.missed{background:var(--amber-dim);text-decoration:underline wavy var(--amber) 2px;text-underline-offset:8px;}
#BR_PRON .pron{margin:12px 0 4px;}
.br-pw{border-radius:6px;padding:0 2px;cursor:pointer;}

/* Animated figures (js/figures.js): Black men, women and children of the Bible acting out words */
.fig-wrap{display:flex;justify-content:center;margin:8px 0 2px;}
.fig{width:104px;height:146px;overflow:visible;color:var(--text2);}
.fig-people{display:inline-flex;align-items:flex-end;gap:0;}
.fig-people .fig{width:70px;height:98px;margin:0 -8px;}
.fig-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:10px 0 14px;}
.fig-cell{display:flex;flex-direction:column;align-items:center;min-width:90px;}
.fig-cell .fig{width:84px;height:118px;}
.fig-cell .fig-people .fig{width:60px;height:84px;}
.fig-cap{font-size:14px;font-weight:700;color:var(--text);text-align:center;margin-top:2px;}
.fig *{transform-box:view-box;}
.fig .f-armL{transform-origin:39px 57px;}.fig .f-armR{transform-origin:61px 57px;}
.fig .f-foreL{transform-origin:38px 73px;}.fig .f-foreR{transform-origin:62px 73px;}
.fig .f-legL{transform-origin:46px 100px;}.fig .f-legR{transform-origin:54px 100px;}
.fig .f-legs{transform-origin:50px 100px;}
.fig .f-head{transform-origin:50px 47px;}
.fig .f-eye,.fig .f-mouth,.fig .f-spark path{transform-box:fill-box;transform-origin:center;}
/* Always: breathing and blinking */
.fig .f-body{animation:fig-breathe 3.2s ease-in-out infinite;}
.fig .f-eye{animation:fig-blink 4.5s infinite;}
@keyframes fig-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-.8px)}}
@keyframes fig-blink{0%,93%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
/* Walking (also going up, going down, returning): legs and arms swing, the ground slides past */
.fig-walk .f-body,.fig-up .f-body,.fig-down .f-body,.fig-back .f-body{animation:fig-bob .9s ease-in-out infinite;}
.fig-walk .f-legL,.fig-up .f-legL,.fig-down .f-legL,.fig-back .f-legL{animation:fig-swingA .9s ease-in-out infinite;}
.fig-walk .f-legR,.fig-up .f-legR,.fig-down .f-legR,.fig-back .f-legR{animation:fig-swingB .9s ease-in-out infinite;}
.fig-walk .f-armL,.fig-up .f-armL,.fig-down .f-armL,.fig-back .f-armL{animation:fig-armB .9s ease-in-out infinite;}
.fig-walk .f-armR,.fig-up .f-armR,.fig-down .f-armR,.fig-back .f-armR{animation:fig-armA .9s ease-in-out infinite;}
.fig .f-ground{animation:fig-ground .9s linear infinite;}
.fig-back .f-ground{animation-direction:reverse;}
@keyframes fig-bob{0%,50%,100%{transform:translateY(0)}25%,75%{transform:translateY(-2.2px)}}
@keyframes fig-swingA{0%,100%{transform:rotate(15deg)}50%{transform:rotate(-15deg)}}
@keyframes fig-swingB{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}
@keyframes fig-armA{0%,100%{transform:rotate(14deg)}50%{transform:rotate(-14deg)}}
@keyframes fig-armB{0%,100%{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}
@keyframes fig-ground{to{stroke-dashoffset:-30}}
/* Sitting, and standing up */
.fig-sit .f-body{animation:none;transform:translateY(9px);}
.fig-sit .f-legs{transform:scaleY(.55);}
.fig-rise .f-body{animation:fig-rise 3.4s ease-in-out infinite;}
.fig-rise .f-legs{animation:fig-rise-legs 3.4s ease-in-out infinite;}
@keyframes fig-rise{0%,30%{transform:translateY(9px)}55%,90%{transform:translateY(0)}100%{transform:translateY(9px)}}
@keyframes fig-rise-legs{0%,30%{transform:scaleY(.55)}55%,90%{transform:scaleY(1)}100%{transform:scaleY(.55)}}
/* Speaking and calling: the mouth moves, a hand gestures, sound goes out */
.fig .f-mouth{animation:fig-talk .32s ease-in-out infinite alternate;}
.fig-speak .f-foreR{animation:fig-gesture 1.3s ease-in-out infinite;}
.fig .f-waves{animation:fig-fade 1.3s ease-in-out infinite;}
@keyframes fig-talk{from{transform:scaleY(.35)}to{transform:scaleY(1.3)}}
@keyframes fig-gesture{0%,100%{transform:rotate(-55deg)}50%{transform:rotate(-85deg)}}
@keyframes fig-fade{0%,100%{opacity:.15}50%{opacity:1}}
/* Seeing: a hand shades the eyes and the head looks around */
.fig-see .f-head{animation:fig-look 2.6s ease-in-out infinite;}
@keyframes fig-look{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
/* Hearing: the head leans to the sound coming in */
.fig-hear .f-head{transform:rotate(8deg);}
.fig .f-sound{animation:fig-in 1.6s ease-in infinite;}
@keyframes fig-in{0%{transform:translateX(8px);opacity:0}40%{opacity:1}100%{transform:translateX(-6px);opacity:0}}
/* Blessing and praying: hands raised; rejoicing: a jump */
.fig-bless .f-armR,.fig-pray .f-armR{animation:fig-raiseR 2.4s ease-in-out infinite;}
.fig-bless .f-armL,.fig-pray .f-armL{animation:fig-raiseL 2.4s ease-in-out infinite;}
.fig-pray .f-head{transform:rotate(-4deg) translateY(-1px);}
@keyframes fig-raiseR{0%,100%{transform:rotate(-150deg)}50%{transform:rotate(-140deg)}}
@keyframes fig-raiseL{0%,100%{transform:rotate(150deg)}50%{transform:rotate(140deg)}}
.fig-rejoice .f-body{animation:fig-jump .7s ease-in-out infinite;}
@keyframes fig-jump{0%,100%{transform:translateY(0)}45%{transform:translateY(-7px)}}
.fig .f-spark path{animation:fig-twinkle 1.4s ease-in-out infinite;}
.fig .f-spark path:nth-child(2){animation-delay:-.5s}.fig .f-spark path:nth-child(3){animation-delay:-.9s}.fig .f-spark path:nth-child(4){animation-delay:-.3s}
@keyframes fig-twinkle{0%,100%{transform:scale(.3);opacity:.2}50%{transform:scale(1);opacity:1}}
/* Weeping: a tear falls */
.fig .f-tear{animation:fig-tear 1.6s ease-in infinite;}
@keyframes fig-tear{0%{transform:translateY(0);opacity:0}15%{opacity:1}100%{transform:translateY(12px);opacity:0}}
/* Carrying: a gentle sway under the load */
.fig-carry .f-body{animation:fig-sway 2s ease-in-out infinite;}
@keyframes fig-sway{0%,100%{transform:translateY(0)}50%{transform:translateY(1.5px)}}
@media (prefers-reduced-motion:reduce){.fig *{animation:none!important;}}

/* Hints (js/hints.js): the clue, and the choices a hint took away */
.hint-box{display:flex;gap:8px;align-items:flex-start;text-align:left;background:var(--amber-bg,#fff6e0);border:1px solid var(--amber,#c98a00);border-radius:10px;padding:10px 12px;margin:4px 0 12px;font-size:14px;line-height:1.5;color:var(--text);}
.qo.qo-off{opacity:.3;text-decoration:line-through;pointer-events:none;}

/* Before the scripts arrive: the page is not blank */
.boot{max-width:560px;margin:40px auto;text-align:center;}
.boot h1{font-family:var(--serif,inherit);font-size:28px;margin:0 0 10px;}
.boot p{color:var(--text2);line-height:1.5;margin:0 0 10px;}
.boot-wait{font-size:12px;color:var(--text3);}
/* Clickable cards, pills and words that are not <button>s are still reachable by keyboard (js/aids.js) */
[role="button"]:not(button):focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.lesson-more{margin:4px 0 12px;font-size:14px;color:var(--text2);}
.lesson-more summary{cursor:pointer;color:var(--accent);font-weight:600;}
.lesson-more[open] summary{margin-bottom:4px;}
.study-later{font-size:13px;color:var(--text2);line-height:1.8;margin:4px 2px 10px;}
.study-later .link-btn{font-size:13px;padding:0;}
/* One speed button at a time: a page with its own (lesson, question, verse) hides the header's copy */
body:has(#MC .audio-speed) .hdr-speed{display:none;}
/* On a phone the letter-chart button sits over the text of a lesson's explanation; the explanation shows the letters already */
.story-form{font-size:14px;color:var(--text2);margin-top:6px;}
.story-form .heb-inline{font-size:calc(20px*var(--heb-scale));color:var(--text);}
.read-first{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin:6px 0 4px;}
.read-first-w{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg3);cursor:pointer;font:inherit;color:var(--text);}
.read-first-a{font-size:12px;color:var(--text2);}
.vowel-on-row{display:flex;flex-wrap:wrap;gap:8px 14px;margin:2px 0 10px;}
.vowel-on{display:inline-flex;align-items:baseline;gap:6px;white-space:nowrap;background:var(--bg3);border-radius:var(--radius-sm);padding:4px 10px;}
.part-video{margin-top:14px;}
/* ── FOLLOW ALONG (js/help.js): the sentence being read aloud, above the bottom menu, and the Hebrew being said lit up on the page ── */
.follow-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:190;width:min(640px,calc(100% - 24px));display:flex;align-items:center;gap:10px;background:var(--bg2);border:1px solid var(--border2);border-left:4px solid var(--green);border-radius:14px;box-shadow:0 8px 26px rgba(40,28,10,.2);padding:10px 10px 10px 14px;animation:followUp .25s cubic-bezier(.2,.8,.3,1);}
@keyframes followUp{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
@media(max-width:720px){.follow-bar{bottom:calc(var(--bot-h) + 8px + env(safe-area-inset-bottom,0px));}}
body.chromeless .follow-bar{bottom:calc(14px + env(safe-area-inset-bottom,0px));}
.follow-text{flex:1;font-size:15px;line-height:1.55;color:var(--text3);max-height:4.7em;overflow:hidden;}
.follow-text .said{color:var(--text2);}
.follow-text .now{color:var(--text);font-weight:700;background:var(--green-dim);box-shadow:0 0 0 2px var(--green-dim);border-radius:4px;}
.follow-text .heb-inline{font-size:1.15em;color:var(--heb-color);}
.follow-stop{flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--border2);background:var(--bg3);color:var(--text);font-size:15px;cursor:pointer;}
body.following .main{padding-bottom:calc(var(--bot-h) + 150px);}   /* room to scroll the last lines above the bar */
.reading-block{background:var(--green-dim);box-shadow:0 0 0 6px var(--green-dim);border-radius:8px;transition:background .2s,box-shadow .2s;}
.heb-inline.reading-now{text-decoration:underline solid var(--green) 3px;text-underline-offset:6px;background:var(--green-dim);border-radius:6px;box-shadow:0 0 0 3px var(--green-dim);}
/* Hebrew inside a line of English keeps the line spacing even: it may be bigger, but it doesn't push the lines apart */
.lesson-p .heb-inline,.lit-line .heb-inline{line-height:1;}
/* A part of a lesson taught five at a time (js/number-steps.js): short paragraphs, one card per word, easy on a phone */
.np-page .today-tag{margin-bottom:10px;}
.np-page .lesson-p{font-size:16px;line-height:1.7;margin:0 0 12px;}
.np-h{font-size:12px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--accent);margin:18px 0 8px;}
.np-words{display:flex;flex-direction:column;gap:8px;}
.np-w{background:var(--bg3);border:1px solid var(--border);border-radius:12px;padding:10px 12px;}
.np-w-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.np-w-m{font-weight:800;font-size:15px;line-height:1.35;}
.np-w-h{text-align:right;flex-shrink:0;}
.np-w-h .heb-inline{line-height:1.3;}
.np-w-t{font-size:13px;color:var(--text2);font-style:italic;}
.np-w-about{font-size:14px;line-height:1.6;color:var(--text2);margin-top:6px;}
.np-ex{margin:0 0 12px;}
.np-ex-h{direction:rtl;text-align:right;line-height:1.5;}
.np-ex-h .heb-inline{line-height:1.5;}
.np-ex-e{font-size:15px;line-height:1.5;margin-top:2px;}
.np-ex-r{color:var(--text2);font-size:13px;white-space:nowrap;}
.np-next{color:var(--text2);font-size:14px !important;margin-top:16px !important;}
.rd-gr{background:var(--bg2);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);padding:9px 13px;margin:8px 0;text-align:left;font-size:14px;line-height:1.55;color:var(--text);}
.rd-gr .lit-k{font-size:14px;font-weight:700;color:var(--accent);}
.rd-gr .lit-k small{font-weight:500;color:var(--text3);font-size:12px;}
.rd-gr ol{margin:6px 0 4px;padding-left:20px;}
.rd-gr li{margin:5px 0;}
.rd-gr .heb-inline{line-height:1;}
.rd-gr-all{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border);}
/* Founding members (js/access.js) */
.founding-card{font-size:13.5px;line-height:1.55;color:var(--text2);margin-bottom:10px;border-left:3px solid var(--amber);}
.founding-badge{display:inline-block;font-weight:700;color:var(--text);margin-right:6px;}
.lp-founding{margin-top:12px;font-size:13.5px;color:var(--text2);}
