:root{--paper:#f8fafc;--ink:#1e293b;--ledger:#1b4d3e;--ledger-dark:#143a2f;--heat:#e4572e;--mist:#5c7268;--card:#fff;--line:#e3e9e1;--mid:#7fa98f;--none:#e7ece6;--soft:#edf3ec;--solid:#1e5b4a;--right:#1e5b4a}*{box-sizing:border-box;margin:0;padding:0}html{font-size:17px}@media (width>=700px){html{font-size:19px}}body{color:var(--ink);background:var(--paper);font-family:Public Sans,system-ui,sans-serif;line-height:1.55}.shell{max-width:560px;min-height:100vh;margin:0 auto;padding:26px 20px 40px}@media (width>=700px){.shell{max-width:calc(35.5rem + 40px)}.btn,.navrow,.form-col{max-width:27.5rem;margin-left:auto;margin-right:auto}.navrow .btn{max-width:none;margin-left:0;margin-right:0}}@media (width>=1200px){html{font-size:20px}}h1,h2,h3{font-family:Bitter,serif;line-height:1.2}h1{margin-bottom:10px;font-size:1.6rem}h2{margin-bottom:6px;font-size:1.3rem}p{margin-bottom:10px}.mono{font-family:IBM Plex Mono,monospace;font-weight:500}.quiet{color:var(--mist)}.small{font-size:.8rem}.center{text-align:center}.btn{background:var(--ledger);color:#fff;cursor:pointer;text-align:center;border:none;border-radius:8px;width:100%;min-height:52px;margin-top:8px;padding:16px;font-family:inherit;font-size:1.05rem;font-weight:600;display:block}.btn:hover{background:var(--ledger-dark)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.quiet{background:var(--soft);color:var(--ledger)}.btn.listen{margin-bottom:14px}button:focus-visible,input:focus-visible{outline:3px solid var(--heat);outline-offset:2px}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-bottom:14px;padding:18px}@font-face{font-family:Poppins;font-weight:500;font-style:normal;font-display:swap;src:url(/fonts/Poppins-Medium.woff2)format("woff2")}@font-face{font-family:Poppins;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/Poppins-Bold.woff2)format("woff2")}.logo{align-items:center;gap:12px;margin-bottom:20px;display:flex}.logo .mark{flex:none;width:52px;height:auto;display:block}.logo .name,.logo .ed{color:var(--ink);font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.logo .name{font-size:22px;font-weight:700;line-height:1.1}.logo .tm{vertical-align:top;margin-left:.12em;font-size:.36em;font-weight:500;line-height:1.6}.logo .ed{white-space:nowrap;font-size:12.5px;font-weight:500;line-height:1.3}.logo .by{color:var(--mist);margin-top:2px;font-size:11.5px;line-height:1.3}label{font-size:.85rem;font-weight:600;display:block}input[type=email],input[type=date],input[type=number]{border:1.5px solid var(--line);border-radius:8px;width:100%;margin:8px 0 14px;padding:13px;font-family:inherit;font-size:16px}.chips{flex-wrap:wrap;gap:8px;margin:8px 0 18px;display:flex}.pick{border:1.5px solid var(--line);background:var(--card);cursor:pointer;color:var(--ink);border-radius:20px;padding:10px 16px;font-family:inherit;font-size:15px}.pick[aria-pressed=true]{border-color:var(--ledger);background:var(--soft);font-weight:600}.pick:disabled{opacity:.45;cursor:not-allowed}.dprog{background:var(--none);border-radius:3px;height:6px;margin-bottom:18px;overflow:hidden}.dprog>div{background:var(--ledger);height:100%;transition:width .3s}.kind{letter-spacing:.07em;text-transform:uppercase;color:var(--ledger);margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:11px}.stem{white-space:pre-wrap;margin-bottom:16px;font-size:1.1rem;font-weight:600}.opt{text-align:left;background:var(--card);border:1.5px solid var(--line);cursor:pointer;width:100%;min-height:48px;color:var(--ink);border-radius:8px;gap:10px;margin-bottom:10px;padding:14px 16px;font-family:inherit;font-size:1rem;display:flex}.opt:hover:not(:disabled){border-color:var(--mist)}.opt:disabled{cursor:default}.opt.right{border-color:var(--right);background:var(--soft)}.opt.wrong{border-color:var(--heat);background:#fdf0ec}.idk{background:var(--card);border:1.5px dashed var(--mist);width:100%;color:var(--ink);cursor:pointer;border-radius:8px;min-height:46px;margin:2px 0 10px;padding:12px 16px;font-family:inherit;font-size:.95rem;display:block}.linkbtn{color:var(--mist);cursor:pointer;background:0 0;border:none;margin:6px auto 0;font-family:inherit;font-size:.85rem;text-decoration:underline;display:block}.legend{color:var(--mist);flex-wrap:wrap;gap:14px;margin-bottom:10px;font-size:12px;display:flex}.dot{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.domrow{margin-bottom:12px}.domrow .head{justify-content:space-between;margin-bottom:4px;font-size:.8rem;display:flex}.cells{flex-wrap:wrap;gap:4px;display:flex}.cell{background:var(--none);border-radius:4px;width:18px;height:18px}.b-green{background:var(--solid)}.b-yellow{background:var(--mid)}.b-red{background:var(--heat)}.b-unassessed{background:var(--none)}.readout{border-top:1px solid var(--line);justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;display:flex}.readout .fig{font-family:IBM Plex Mono,monospace;font-size:22px}.readout .lab{color:var(--mist);font-size:12px}.plan{border:1.5px solid var(--line);background:var(--card);text-align:left;cursor:pointer;width:100%;color:var(--ink);border-radius:10px;margin-bottom:12px;padding:16px;font-family:inherit}.plan[aria-pressed=true]{border-color:var(--ledger);border-width:2px}.plan .row{justify-content:space-between;align-items:baseline;display:flex}.plan .who{text-transform:uppercase;letter-spacing:.06em;color:var(--mist);font-size:12px}.plan .price{font-family:IBM Plex Mono,monospace;font-size:22px}.gline{background:var(--soft);border-left:4px solid var(--ledger);border-radius:0 8px 8px 0;margin:14px 0;padding:12px 14px;font-size:.8rem}.feedback{border-radius:8px;margin:8px 0 12px;padding:12px 14px;font-size:.9rem}.feedback.ok{background:var(--soft);border-left:4px solid var(--right)}.feedback.no{border-left:4px solid var(--heat);background:#fdf0ec}.lesson h1,.lesson h2,.lesson h3{margin:16px 0 8px}.lesson ul,.lesson ol{margin:0 0 10px 22px}.lesson p{margin-bottom:10px}.flash{text-align:center;cursor:pointer;justify-content:center;align-items:center;min-height:140px;font-size:1.05rem;display:flex}.notice{background:var(--card,#f4f1ea);border:1px solid #d9d3c4;border-radius:8px;margin-bottom:12px;padding:12px;font-size:.9rem}.err{border:1px solid var(--heat);background:#fdf0ec;border-radius:8px;margin-bottom:12px;padding:12px;font-size:.9rem}.devnote{color:var(--mist);border-top:1px dashed var(--line);margin-top:22px;padding-top:10px;font-size:.72rem}@media (prefers-reduced-motion:reduce){.dprog>div{transition:none}}.howto{margin:0 0 0 20px}.howto li{margin-bottom:10px}.planlist{margin:6px 0 10px 20px}.legend-card .legend-row{grid-template-columns:20px 1fr;align-items:start;column-gap:12px;margin-bottom:12px;display:grid}.legend-card .legend-row:last-child{margin-bottom:0}.legend-card .cell{margin-top:3px}.domrow{transition:opacity .4s}.domrow.dim{opacity:.18}.domrow.focus .cell{width:22px;height:22px}.story{min-height:170px;margin:4px 0 6px}.story h2{margin-bottom:8px}.navrow{gap:10px;display:flex}.navrow .btn{flex:1}@keyframes vc-fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes vc-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}.fade{opacity:0;animation:.5s forwards vc-fade}.cell.pop{opacity:0;animation:.35s forwards vc-pop}.cell.faded{outline:1.5px dashed var(--mist);outline-offset:1px}.dot.faded{outline:1.5px dashed var(--mist);outline-offset:1px;background:0 0}@media (prefers-reduced-motion:reduce){.fade,.cell.pop{opacity:1;animation:none}.domrow{transition:none}}.rec{border-top:1px solid var(--line);margin-top:4px;padding-top:10px}.rec .warn{color:#9a3412}.badge{background:var(--ledger);color:#fff;letter-spacing:.04em;text-transform:uppercase;vertical-align:1px;border-radius:10px;margin-left:8px;padding:1px 8px;font-size:10px;display:inline-block}.plan .price small{font-size:14px}.opt.sel{border-color:var(--ledger);background:var(--soft);font-weight:600}.simtop{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.simtop .pick{margin:0}.timer{background:var(--soft);border-radius:6px;padding:3px 8px;font-size:15px}.timer.low{color:#9a3412;background:#fdf0ec}.navgrid{grid-template-columns:repeat(10,1fr);gap:4px;margin-top:10px;display:grid}.navcell{border:1.5px solid var(--line);background:var(--card);cursor:pointer;border-radius:6px;padding:6px 0;font:500 12px IBM Plex Mono,monospace}.navcell.answered{background:var(--soft);border-color:var(--mid)}.navcell.flagged{box-shadow:inset 0 -3px 0 var(--heat)}.navcell.current{border-color:var(--ink)}.bar{background:var(--none);border-radius:4px;height:8px;overflow:hidden}.bar>div{background:var(--ledger);height:100%}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.simclock{align-items:center;gap:8px;display:flex}.warn{color:#9a3412}.tutor{margin-top:14px}.tutor-log{flex-direction:column;gap:8px;margin:8px 0;display:flex}.bubble{border-radius:10px;padding:10px 12px;font-size:.92rem}.bubble.me{background:var(--soft);align-self:flex-end;max-width:85%}.bubble.bot{background:var(--card);border:1px solid var(--line)}.bubble.bot p{margin-bottom:6px}.cite{border:1px solid var(--mid);background:var(--soft);color:var(--ledger);cursor:pointer;vertical-align:1px;border-radius:4px;margin:0 1px;padding:0 4px;font:600 11px IBM Plex Mono,monospace}.excerpt{border-left:3px solid var(--mid);background:var(--paper);max-height:240px;margin:8px 0;padding:6px 10px;overflow:auto}.tutor textarea{border:1.5px solid var(--line);width:100%;font:inherit;border-radius:8px;margin:4px 0 8px;padding:10px}.tutor select{font:inherit;border:1px solid var(--line);background:var(--card);border-radius:6px;padding:4px;font-size:.8rem}.excerpt .focus{background:#fff6d6;border-radius:4px;margin:6px 0;padding:6px 8px;font-weight:500}.excerpt summary{cursor:pointer;color:var(--ledger);margin-top:4px}.readiness-value{margin:2px 0 6px;font-size:2rem;line-height:1.1}.itemfb{margin:10px 0 14px}.itemfb .chips{margin:8px 0}.simlist{margin:8px 0;list-style:none}.simlist li{border-bottom:1px solid var(--line);padding:6px 0}.simlist li:last-child{border:0}.simlist .ok{color:var(--right)}.chips.nav{flex-wrap:nowrap;gap:6px}.chips.nav .pick{white-space:nowrap;padding:8px 12px;font-size:14px}@media (width<=379px){.chips.nav{flex-wrap:wrap;gap:4px}.chips.nav .pick{padding:7px 9px;font-size:13px}}.card.danger{border-color:#f0c4b5}.btn.danger{background:var(--heat)}.btn.danger:hover{background:#c4441f}input[type=text]#del-confirm{border:1.5px solid var(--line);border-radius:8px;width:100%;margin:8px 0 14px;padding:13px;font-family:IBM Plex Mono,monospace;font-size:16px}.lawyear{letter-spacing:.04em;border:1px solid var(--line);color:var(--ledger);background:var(--soft);border-radius:10px;padding:1px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;display:inline-block}
