/* ChemSym = Atkinson Hyperlegible Bold (SIL OFL 1.1, Braille Institute), Latin letters only (digits use the regular font), embedded so it works offline. Capital I has serifs, lowercase l has a tail: "Cl" can never be read as "CI". */
@font-face{font-family:"ChemSym";src:url("data:font/woff2;base64,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") format("woff2");font-weight:100 900;font-style:normal;font-display:block}
:root{
 --bg:#0b1230; --bg2:#141d48; --card:#ffffff; --ink:#14203a; --muted:#5d6b86; --accent:#ffb703; --accent2:#4cc9f0;
 --good:#1f9d55; --bad:#d64545; --radius:18px; --shadow:0 6px 18px rgba(0,0,20,.25);
 --metal:#9fd3ff; --nonmetal:#ffe08a; --semi:#d9c2ff; --alk:#ff9f7a; --hal:#7be0a8; --nob:#c7a6ff; --z:1;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Segoe UI","Noto Sans Hebrew","Arial Hebrew",Arial,Helvetica,sans-serif;color:var(--ink);font-size:clamp(17px,2.1vw,22px);line-height:1.45;min-height:100vh;overflow-x:hidden;
 background:radial-gradient(1200px 600px at 80% -10%,#2b3a8a 0,transparent 60%),radial-gradient(900px 500px at 0% 110%,#3b1d6e 0,transparent 55%),var(--bg);background-attachment:fixed}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.55;
 background-image:radial-gradient(1.5px 1.5px at 20px 30px,#fff,transparent),radial-gradient(1px 1px at 80px 120px,#fff,transparent),radial-gradient(1.2px 1.2px at 150px 60px,#cfe,transparent),radial-gradient(1px 1px at 220px 180px,#fff,transparent);background-size:260px 220px}
button{font:inherit;cursor:pointer}
a{color:inherit}
.f{unicode-bidi:isolate;direction:ltr;display:inline-block;font-weight:700}
.f sub{font-size:.7em}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(9,14,40,.92);color:#fff;backdrop-filter:blur(6px);border-bottom:1px solid rgba(255,255,255,.12)}
.brand{flex:1;font-weight:800;font-size:1.05em}
.stats{display:flex;align-items:center;gap:8px}
.pts{background:var(--accent);color:#1b1300;border-radius:999px;padding:3px 12px;font-weight:800}
.iconbtn{background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:12px;min-width:44px;min-height:44px;font-size:1.2em}
.iconbtn.small{min-width:40px;min-height:40px;font-size:1em}
main{max-width:980px;margin:0 auto;padding:14px 12px 60px;outline:none}
h1{font-size:1.6em;margin:.2em 0}
h2{font-size:1.3em;margin:.3em 0 .5em}
.muted{color:var(--muted)} .small{font-size:.85em}
.hero,.crumb,main>h2,main>p.muted,.lgd,.tabs,.zoom{color:#fff}
.hero .muted,main>p.muted{color:#b9c3e6}
.crumb{margin-bottom:6px} .crumb a{color:#ffd56a;text-decoration:none;font-weight:700}
.hero{padding:6px 2px 10px}
.rank{display:inline-block;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:4px 14px}
.rank .muted{color:#b9c3e6}
.card,.qcard{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 16px 18px;margin:10px 0}
.tablebtn{display:flex;flex-direction:column;gap:2px;text-decoration:none;background:linear-gradient(135deg,#ffb703,#fb8500);color:#1b1000;border-radius:var(--radius);padding:14px 18px;box-shadow:var(--shadow);font-size:1.1em}
.tablebtn span{font-size:.8em}
.stages{display:grid;gap:12px;margin:14px 0;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.stagecard{display:flex;gap:12px;align-items:center;text-decoration:none;background:var(--card);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}
.sc-icon{font-size:2.2em}
.sc-body{flex:1}
.sc-title{font-weight:800}
.bar{height:10px;background:#e6e9f5;border-radius:99px;overflow:hidden;margin:6px 0 2px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,#4cc9f0,#7b2ff7)}
.teacher{display:flex;gap:8px;align-items:center;color:#cfd7f5;font-size:.85em;margin-top:10px}
.teacher input{width:22px;height:22px}
.levelrow{display:flex;align-items:center;gap:10px;width:100%;text-align:right;background:var(--card);border:0;border-radius:16px;padding:14px;margin:8px 0;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);min-height:60px}
.levelrow .lv-icon{font-size:1.5em}
.levelrow .lv-name{flex:1;font-weight:700}
.levelrow .lv-st{font-size:.85em;color:var(--muted)}
.levelrow.done{background:#e9fbef}
.levelrow.done .lv-st{color:var(--good);font-weight:700}
.levelrow.locked{opacity:.6;cursor:not-allowed}
.learnrow{background:#fff7dd}
.starrow i{font-style:normal;color:#c9cfdf} .starrow i.on{color:#f5b301}
.btn{display:inline-block;background:linear-gradient(135deg,#4361ee,#7b2ff7);color:#fff;border:0;border-radius:14px;padding:12px 22px;font-weight:800;text-decoration:none;min-height:50px;box-shadow:0 4px 10px rgba(40,30,120,.3)}
.btn.ghost{background:#eef1fb;color:var(--ink);box-shadow:none}
.btn.big{font-size:1.15em;padding:14px 26px;display:block;margin:12px auto;width:100%;max-width:520px}
.btn:disabled{opacity:.6}
.navrow{display:flex;justify-content:space-between;gap:10px;margin-top:8px}
.navrow .btn{flex:1;text-align:center}
.learn p{margin:.5em 0} .learn ul{padding-inline-start:1.2em;margin:.4em 0} .learn li{margin:.25em 0}
.big-line{background:#f1f4ff;border-radius:12px;padding:10px 12px;font-weight:700}
/* cells */
.cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:8px;border:1.5px solid rgba(0,0,30,.25);background:#f4f6fb;color:#101a33;padding:3px 2px;min-width:0;line-height:1.05;text-align:center;user-select:none}
.cell .no{font-size:.62em;align-self:flex-start;padding-inline-start:3px;opacity:.85}
.cell .sy{font-weight:900;font-size:1.25em;direction:ltr}
.cell .he{font-size:.6em;font-weight:600;word-break:break-word;overflow-wrap:anywhere;max-width:100%}
.cell.t-m{background:var(--metal)} .cell.t-n{background:var(--nonmetal)} .cell.t-s{background:var(--semi)}
.cell.plain{background:#fff}
.cell.big{width:150px;height:150px;font-size:34px;border-width:3px;border-radius:16px}
.cell.big .he{font-size:.55em}
.bigcell-wrap{display:flex;justify-content:center;margin:6px 0}
.bigsym{font-size:3.4em;font-weight:900;text-align:center;color:#1b2a6b}
.optcell .cell{width:96px;height:96px;font-size:22px;margin:auto}
.opts.cells{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.opts.cells .opt{justify-content:center}
/* mini table */
.minitbl{display:grid;grid-template-columns:22px repeat(8,minmax(0,1fr));gap:3px;max-width:560px;margin:8px auto;font-size:clamp(11px,3.4vw,17px);direction:ltr}
.minitbl .mh{font-size:.75em;font-weight:800;color:#55627f;display:flex;align-items:center;justify-content:center;padding:2px 0}
.minitbl .mh.on{background:#ffb703;color:#1b1000;border-radius:6px}
.minitbl .cell{aspect-ratio:1/1.05;background:#f4f6fb;padding:2px 1px}
.minitbl .cell .sy{font-size:1.1em}
.minitbl .cell .he{font-size:.55em}
.minitbl .cell.empty{background:transparent;border-color:transparent}
.minitbl .cell.hl{background:#ffb703;border-color:#c25e00;box-shadow:0 0 0 3px rgba(255,183,3,.45);transform:scale(1.06);z-index:2}
.minitbl .cell.dim{opacity:.45}
.minitbl.withstair .cell.stairL{border-left:4px solid #d00000}
.minitbl.withstair .cell.stairT{border-top:4px solid #d00000}
/* questions */
.playhead{display:flex;justify-content:space-between;align-items:center;color:#fff;font-weight:700;gap:8px}
.playhead a{color:#c7d0f3;text-decoration:none;font-size:.85em}
.qn{background:rgba(255,255,255,.15);border-radius:99px;padding:2px 10px}
.progress{height:8px;background:rgba(255,255,255,.15);border-radius:99px;overflow:hidden;margin:8px 0}
.progress i{display:block;height:100%;background:linear-gradient(90deg,#ffd166,#ffb703)}
.prompt{font-size:1.2em;margin:0 0 .4em}
.qbig{margin:6px 0 10px}
.stmt{background:#f1f4ff;border-radius:14px;padding:14px;font-size:1.12em;font-weight:700;text-align:center;margin:4px 0}
.opts{display:grid;gap:10px;grid-template-columns:1fr}
.opts.two{grid-template-columns:1fr 1fr}
.opts.grid{grid-template-columns:1fr 1fr}
.opt{display:flex;align-items:center;gap:10px;background:#f4f6fd;border:2px solid #dfe4f5;border-radius:14px;padding:12px;min-height:58px;text-align:right;color:var(--ink);font-weight:700;transition:transform .08s}
.opt:active{transform:scale(.98)}
.opt .key{flex:none;width:26px;height:26px;border-radius:8px;background:#dfe4f5;color:#55627f;font-size:.75em;display:flex;align-items:center;justify-content:center}
.opt .oh{flex:1}
.opt.right{background:#dcfce7;border-color:var(--good)}
.opt.wrong{background:#fde2e2;border-color:var(--bad)}
.opt:disabled{cursor:default;color:var(--ink)}
.fb{margin-top:12px;border-radius:14px}
.fb.good,.fb.bad{padding:12px}
.fb.good{background:#ecfdf3} .fb.bad{background:#fff4e5}
.praise{font-size:1.35em;font-weight:900;color:var(--good);animation:pop .35s ease-out}
.miss{font-size:1.15em;font-weight:800;color:#b45309}
.exline{margin-top:4px}
.half{margin-top:6px;font-weight:800;color:#7b2ff7}
@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.12)}100%{transform:scale(1);opacity:1}}
.why{margin-top:8px}
.why summary{display:inline-block;cursor:pointer;list-style:none;background:#fff;border:1.5px solid #c9d2f0;border-radius:999px;padding:4px 14px;font-size:.85em;font-weight:700;color:#3a4a8a;min-height:36px}
.why summary::-webkit-details-marker{display:none}
.why[open] summary{background:#eef1ff}
.whytext{background:#fff;border:1px solid #dfe4f5;border-radius:12px;padding:10px 12px;margin-top:6px;font-size:.92em;position:relative}
.fb .next{display:block;width:100%;margin-top:10px}
.summary{text-align:center}
.summary h2.done{font-size:2em;color:var(--good)}
.summary .score{font-size:1.4em;font-weight:900}
.trophy{font-size:4em;animation:pop .5s}
/* stage 4 */
.subname{text-align:center;font-size:1.4em;font-weight:900}
.partpic{display:flex;flex-direction:column;align-items:center;gap:6px}
.partpic svg{width:min(220px,60vw);height:auto;max-height:150px}
.partpic.small svg{width:120px;max-height:90px}
.legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;font-size:.85em;font-weight:700}
.legend i{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid #0b1530;margin-inline-end:4px;vertical-align:-2px}
.subrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:8px 0}
.subcard{background:#f6f8ff;border-radius:12px;padding:8px;text-align:center;font-size:.9em}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.chip{border:2px solid #c9d2f0;background:#fff;border-radius:999px;padding:6px 12px;font-weight:700;min-height:44px}
.chip.on{background:#ffb703;border-color:#c25e00}
.chip .sy{font-weight:900}
.buildout{margin-top:10px}
.anatomy{display:flex;gap:14px;align-items:center;justify-content:center;flex-wrap:wrap}
.anno{font-size:.95em}
.symgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;font-size:16px}
.symgrid .cell{aspect-ratio:1/1;cursor:pointer}
/* full table */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0}
.tabs button{border:0;border-radius:999px;padding:8px 14px;background:rgba(255,255,255,.15);color:#fff;font-weight:700;min-height:44px}
.tabs button.on{background:#ffb703;color:#1b1000}
.zoom{display:flex;gap:6px;float:left;margin-top:-50px}
.zoom button{border:0;border-radius:10px;width:44px;height:44px;background:rgba(255,255,255,.15);color:#fff}
.lgd{display:flex;gap:10px;flex-wrap:wrap;font-size:.85em;margin:6px 0}
.lgd span{display:inline-flex;align-items:center;gap:6px}
.lgd span:before{content:"";width:16px;height:16px;border-radius:4px;border:1px solid #0003}
.l-m:before{background:var(--metal)} .l-n:before{background:var(--nonmetal)} .l-s:before{background:var(--semi)}
.l-a:before{background:var(--alk)} .l-h:before{background:var(--hal)} .l-g:before{background:var(--nob)}
.pscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;background:rgba(255,255,255,.06);border-radius:14px;padding:8px;margin:0 -6px}
.ptable{display:grid;grid-template-columns:24px repeat(18,calc(58px * var(--z)));grid-auto-rows:calc(64px * var(--z));gap:3px;width:max-content;font-size:calc(15px * var(--z))}
.ptable .ph{color:#dfe6ff;font-size:.72em;font-weight:800;display:flex;align-items:flex-end;justify-content:center;text-align:center}
.ptable .ph.col{background:rgba(255,183,3,.25);border-radius:6px 6px 0 0;align-items:center}
.ptable .ph.mid{color:#9aa6cf;font-weight:600;align-items:center}
.ptable .ph.rowh{align-items:center}
.ptable .ph.fnote{background:rgba(255,255,255,.12);border-radius:8px;align-items:center;font-size:.65em}
.ptable .ph.gap{height:10px}
.ptable .cell{cursor:pointer;padding:2px 1px}
.ptable .cell:hover,.ptable .cell:focus{outline:3px solid #ffb703;z-index:3}
.ptable .cell .he{font-size:.58em}
.ptable[data-mode=fam] .cell{background:#3a4470;color:#cfd6f2;border-color:#0000}
.ptable[data-mode=fam] .cell.fam-a{background:var(--alk);color:#101a33}
.ptable[data-mode=fam] .cell.fam-h{background:var(--hal);color:#101a33}
.ptable[data-mode=fam] .cell.fam-g{background:var(--nob);color:#101a33}
/* modal */
#modal{position:fixed;inset:0;background:rgba(5,8,25,.6);z-index:50;display:flex;align-items:center;justify-content:center;padding:16px}
#modal[hidden]{display:none}
.mbox{background:#fff;border-radius:20px;max-width:420px;width:100%;padding:18px;position:relative;box-shadow:var(--shadow);max-height:90vh;overflow:auto}
.mbox h3{margin:.4em 0;font-size:1.4em;text-align:center}
.mcell{display:flex;justify-content:center}
.mclose{position:absolute;top:8px;left:8px;border:0;background:#eef1fb;border-radius:10px;width:40px;height:40px}
/* confetti */
#confetti{position:fixed;inset:0;pointer-events:none;z-index:60;overflow:hidden}
#confetti i{position:absolute;top:-12px;width:10px;height:14px;border-radius:2px;animation:fall 2.6s linear forwards}
#confetti b{position:fixed;font-size:20px;animation:spark 1s ease-out forwards}
@keyframes fall{to{transform:translateY(105vh) rotate(540deg)}}
@keyframes spark{to{transform:translate(var(--dx),var(--dy));opacity:0}}
@media (max-width:480px){
 .cell.big{width:128px;height:128px;font-size:28px}
 .optcell .cell{width:84px;height:84px;font-size:19px}
 .opts.grid{grid-template-columns:1fr 1fr}
 .opt{padding:10px;min-height:54px}
 .zoom{float:none;margin:0 0 6px}
 h1{font-size:1.35em}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
body.wide main{max-width:1320px}
@media (min-width:1100px){.ptable{grid-template-columns:24px repeat(18,calc(64px * var(--z)));grid-auto-rows:calc(68px * var(--z));font-size:calc(16px * var(--z))}}
@media (max-width:480px){.brand{font-size:.9em}}

/* ---- fix round 1 ---- */
.qbig .minitbl{grid-template-columns:14px repeat(8,minmax(0,1fr));gap:2px;font-size:clamp(12px,3.9vw,19px);max-width:620px}
.qbig .minitbl .cell{padding:2px 0}
.qbig .minitbl .cell .he{font-size:.6em;letter-spacing:-.03em;white-space:nowrap}
.qbig .minitbl .cell .sy{font-size:1.15em}
.lookup{cursor:zoom-in;border-radius:12px;padding:2px;margin:0 -8px}
.lookup:focus-visible{outline:3px solid #ffb703}
.lookhint{font-size:.85em;font-weight:700;color:#1b2a6b;text-align:center}
.striplbl{font-size:.85em;color:#55627f;text-align:center;margin-top:4px}
.strip4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-width:360px;margin:6px auto;font-size:18px}
.strip4 .cell{aspect-ratio:1/1;padding:3px}
.strip4 .cell .he{font-size:.62em}
.strip{display:flex;justify-content:center;gap:8px;margin:6px auto;font-size:20px}
.strip .cell{width:84px;height:84px}
.strip .cell.q{background:#fff6d6;border:2px dashed #c25e00}
.zoombox{max-width:920px}
.zoomscroll{overflow:auto;-webkit-overflow-scrolling:touch;padding-top:28px}
.zoomscroll .minitbl{min-width:600px;max-width:900px;font-size:22px;grid-template-columns:26px repeat(8,minmax(0,1fr))}
.zoomscroll .minitbl .cell .he{font-size:.6em}
.zoomscroll .strip4{max-width:560px;font-size:24px}
/* lab */
.labmode{display:flex;gap:6px;background:#eef2ff;border-radius:999px;padding:4px;margin:4px 0 10px}
.labmode button{flex:1;border:0;background:transparent;border-radius:999px;padding:9px 6px;font-weight:800;font-size:1em;color:#1b2a6b;min-height:44px}
.labmode button.on{background:#ffb703;color:#1b1000}
.labsteps{margin:4px 0 8px;padding-inline-start:1.4em}
.labsteps li{margin:2px 0}
.labbtns{display:flex;gap:8px;flex-wrap:wrap}
.labbtns .btn{flex:1}
.rtitle{font-size:1.05em;margin:16px 0 6px}
.recipes{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.recipe{display:flex;flex-direction:column;align-items:center;gap:2px;background:#f6f8ff;border:2px solid #dfe4f5;border-radius:14px;padding:8px 6px;min-height:44px;font-family:inherit;color:var(--ink)}
.recipe:hover,.recipe:focus-visible{border-color:#ffb703}
.recipe .re{font-size:1.7em;line-height:1.1}
.recipe b{font-size:.95em}
.recipe .ri{font-size:.78em;color:#55627f}
.subcard .re{font-size:1.8em}
.subcard.alone{background:#fff8e1;margin:8px 0;text-align:right}
.labmsg{background:#fff4e5;border-radius:12px;padding:8px 10px;font-weight:700}
.trys{display:flex;flex-direction:column;gap:6px;margin:4px 0 8px}
.trybtn{background:#e9f7ef;border:2px solid #86d3a5;border-radius:12px;padding:8px 10px;font-weight:700;text-align:right;min-height:44px;font-family:inherit;color:var(--ink)}
.chal{background:#eef2ff;border-radius:14px;padding:10px 12px;margin-bottom:8px}
.chal .ctask{font-size:1.25em;font-weight:900;margin:2px 0}
.chal .hint{background:#fff;border-radius:10px;padding:6px 8px;margin:6px 0}
.chal.done{background:#ecfdf3}
.btn.small{padding:6px 12px;font-size:.9em;min-height:40px}
.labwin{text-align:center}

/* credit line */
.hero .credit{display:flex;width:fit-content;max-width:100%;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:10px 0 2px;padding:6px 12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:.92em;line-height:1.35}
.hero .credit .school{font-weight:700}
.homefoot{margin:18px 0 8px;text-align:center;font-size:.85em;color:#c7d0f3}

/* chemical symbols & formulas: ChemSym so capital I and lowercase l never look alike */
.f,.chem,.sy,.bigsym,.fml{font-family:"ChemSym","Verdana","DejaVu Sans",sans-serif}
