@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-vietnamese-wght-normal.a3924ff4.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-ext-wght-normal.55a1343a.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_next/static/media/space-grotesk-latin-wght-normal.5a0c43ff.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-ext-wght-normal.0d2c2f66.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-cyrillic-wght-normal.23645aad.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-greek-wght-normal.c6c31cb1.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-vietnamese-wght-normal.93fc40a8.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-ext-wght-normal.9c9751ca.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/_next/static/media/jetbrains-mono-latin-wght-normal.a865edea.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{color-scheme:light;--page:#faf6ee;--surface:#ffffff;--ink:#20282c;--ink-2:#4b5955;--muted:#8b9190;--grid:#ede7d9;--baseline:#d3cbb8;--border:#eae3d3;--series-mean:#2a78d6;--series-apparent:#eb6834;--series-star:#1baf7a;--status-good:#0ca30c;--status-good-text:#006300;--status-critical:#d03b3b;--status-warning:#fab219;--accent:#2f7d8e;--accent-deep:#266878;--accent-ink:#1d5361;--accent-wash:#e9f2f2;--accent-line:#a9cfd6;--night-0:#050a16;--night-1:#0a1428;--night-2:#10203f;--font-display:"Space Grotesk Variable","Avenir Next",system-ui,sans-serif;--font-body:"Inter Variable",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono Variable",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--radius-s:8px;--radius:12px;--radius-l:16px;--e1:0 1px 2px rgba(48,40,24,0.05);--e2:0 1px 2px rgba(48,40,24,0.05),0 8px 24px rgba(48,40,24,0.07);--e3:0 2px 4px rgba(48,40,24,0.06),0 16px 40px rgba(48,40,24,0.12);--ring:0 0 0 3px rgba(47,125,142,0.3)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{margin:0;padding:0;background:var(--page);color:var(--ink);font:400 16px/1.65 var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:var(--accent-wash);color:var(--accent-ink)}*{scrollbar-width:thin;scrollbar-color:#cfc7b4 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#cfc7b4;border-radius:8px}::-webkit-scrollbar-track{background:transparent}a{color:var(--accent-ink);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--accent-deep)}button,input,select{transition:box-shadow .15s ease,background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease}:focus-visible{outline:none;box-shadow:var(--ring);border-radius:6px}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}h1,h2,h3{font-family:var(--font-display)}h1{font-size:clamp(1.9rem,3vw,2.5rem);font-weight:600;letter-spacing:-.02em;line-height:1.18;color:var(--ink)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(6,11,22,.86);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border-bottom:1px solid rgba(148,163,184,.14);color:#eef3f7;padding:.72rem 0}.site-header .container{display:flex;gap:1.1rem}.wordmark{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;color:#fff;text-decoration:none;font-size:1.08rem;display:inline-flex;align-items:center;gap:.55rem}.wordmark .dot{color:#52b9c9}.brand-seal{width:30px;height:30px;flex:0 0 auto;display:block;background:#fff;border-radius:50%;padding:2px;box-sizing:border-box}.wordmark .tag{margin-left:.7rem;padding-left:.7rem;border-left:1px solid rgba(148,163,184,.3);font-family:var(--font-body);font-weight:500;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#8fa3b8}.site-header nav{display:flex;gap:.15rem;min-width:0;overflow-x:auto;scrollbar-width:none}.site-header nav::-webkit-scrollbar{display:none}.site-header nav a{white-space:nowrap;color:#b9c7d6;text-decoration:none;font-size:.88rem;font-weight:500;padding:.34rem .8rem;border-radius:8px}.site-header nav a:hover{color:#fff;background:rgba(148,163,184,.12)}.site-footer{margin-top:3.5rem;padding:1.5rem 0 2.4rem;border-top:1px solid var(--grid);color:var(--muted);font-size:.8rem}.status-banner{display:inline-block;font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#92600c;background:#fdf8ec;border:1px solid #ecd9a8;border-radius:6px;padding:.18rem .55rem}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));grid-gap:1.2rem;gap:1.2rem;margin-top:1.4rem}.module-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem 1.45rem 1.25rem;display:flex;flex-direction:column;gap:.6rem;box-shadow:var(--e1);transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.module-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;border-radius:12px 12px 0 0;background:linear-gradient(90deg,var(--accent),#52b9c9);opacity:0;transition:opacity .2s ease}.module-card:hover{transform:translateY(-2px);box-shadow:var(--e2);border-color:var(--accent-line)}.module-card:hover:before{opacity:1}.module-card h3{margin:0;font-size:1.16rem;font-weight:600;letter-spacing:-.01em}.module-card p{margin:0;color:var(--ink-2);font-size:.94rem}.module-card .meta{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.chip{font-family:var(--font-mono);font-size:.73rem;font-weight:500;padding:.18rem .55rem;border-radius:6px;background:#f3eee1;color:var(--ink-2);border:1px solid var(--border)}.chip.soon{color:var(--muted)}.card-link{margin-top:.25rem;font-weight:600;font-size:.93rem;text-decoration:none;color:var(--accent-ink)}.card-link:hover{color:var(--accent-deep)}.lab-header{margin:1.6rem 0 .6rem}.lab-header h1{margin:.35rem 0 .45rem;font-size:1.65rem}.lab-header .outcomes{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem 1rem;margin:.8rem 0;font-size:.88rem;color:var(--ink-2)}.lab-header .outcomes summary{cursor:pointer;color:var(--ink);font-weight:600}.lab-header .outcomes ul{margin:.5rem 0 0;padding-left:1.2rem}.mode-tabs{display:inline-flex;gap:.2rem;margin:1.05rem 0;flex-wrap:wrap;background:#eee8da;border-radius:10px;padding:.22rem}.mode-tabs button{font:inherit;font-weight:550;font-size:.93rem;padding:.5rem 1.15rem;border-radius:8px;cursor:pointer;border:none;background:transparent;color:var(--ink-2)}.mode-tabs button:hover{color:var(--ink)}.mode-tabs button[aria-selected=true]{background:#fff;color:var(--ink);font-weight:650;box-shadow:var(--e1)}.lab-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:1rem;gap:1rem;align-items:start}.lab-grid>*{min-width:0}@media (max-width:900px){.lab-grid{grid-template-columns:1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);padding:1.35rem 1.5rem;box-shadow:var(--e1)}.panel h2{margin:0 0 .75rem;font-family:var(--font-body);font-size:.7rem;text-transform:uppercase;letter-spacing:.13em;color:var(--accent-ink);font-weight:700}.controls{display:flex;flex-wrap:wrap;gap:.85rem 1.3rem;align-items:center;margin-top:.9rem}.controls label{font-size:.76rem;font-weight:550;letter-spacing:.02em;color:var(--ink-2);display:flex;flex-direction:column;gap:.3rem;min-width:150px;flex:1 1}.controls .value{font-family:var(--font-mono);font-weight:500;color:var(--ink);font-size:.84rem}input[type=range]{width:100%;height:20px;margin:0;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:#e3dcc9}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-6px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 3px rgba(15,23,32,.25);-webkit-transition:transform .12s ease,box-shadow .12s ease;transition:transform .12s ease,box-shadow .12s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}input[type=range]:focus-visible{box-shadow:none}input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:var(--ring)}input[type=range]::-moz-range-track{height:4px;border-radius:4px;background:#e3dcc9}input[type=range]::-moz-range-progress{height:4px;border-radius:4px;background:var(--accent)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 3px rgba(15,23,32,.25)}.btn,input[type=date],input[type=number],input[type=text],input[type=time],select{font:inherit}.btn{font-size:.9rem;font-weight:550;cursor:pointer;padding:.5rem 1.05rem;border-radius:9px;border:1px solid #d6cfbe;background:var(--surface);color:var(--ink);box-shadow:var(--e1)}.btn:hover{border-color:var(--accent-line);color:var(--accent-ink)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.primary:hover{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.readout table{border-collapse:collapse;width:100%;font-size:.9rem}.readout th{text-align:left;font-weight:500;color:var(--ink-2);padding:.3rem .5rem .3rem 0}.readout td{font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;padding:.3rem 0;border-bottom:1px solid var(--grid)}.readout tr:last-child td{border-bottom:none}.readout tr:hover td,.readout tr:hover th{background:#f6f1e6}.readout .swatch{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:.45rem;vertical-align:baseline}.legend{display:flex;gap:1rem;flex-wrap:wrap;font-size:.8rem;color:var(--ink-2);margin-top:.5rem}.legend .item{display:flex;align-items:center;gap:.4rem}.legend .sw{width:12px;height:12px;border-radius:3px}.gate{border-left:3px solid var(--accent);padding:.2rem 0 .2rem 1rem;margin:1rem 0}.gate .q{font-weight:600;margin-bottom:.5rem}.gate .choices{display:flex;gap:.5rem;flex-wrap:wrap}.gate .choices button.chosen{background:var(--ink);color:#fff;border-color:var(--ink)}.reveal{margin-top:.7rem;padding:.7rem .9rem;border-radius:8px;font-size:.9rem}.reveal.good{background:#eefaf2;border:1px solid #9fd4b4}.reveal.bad{background:#fdf2f2;border:1px solid #ecacac}.reveal .verdict{font-weight:700}.reveal .verdict.ok{color:var(--status-good-text)}.reveal .verdict.no{color:var(--status-critical)}.errtag{display:inline-block;font-family:var(--font-mono);font-size:.72rem;background:#f0efec;border:1px solid var(--grid);border-radius:5px;padding:.05rem .4rem;margin-left:.5rem;color:var(--ink-2)}.practice-input{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.6rem 0}.practice-input input[type=text]{font:inherit;font-family:var(--font-mono);padding:.4rem .6rem;border:1px solid var(--baseline);border-radius:8px;width:7.5rem}.score-line{font-size:.85rem;color:var(--ink-2);margin-top:.6rem}.evidence-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;font-size:.8rem;color:var(--muted);flex-wrap:wrap}figure.viz{margin:0}figure.viz figcaption{font-size:.78rem;color:var(--muted);margin-top:.4rem}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--night-1);color:#fff;padding:.5rem 1rem;border-radius:0 0 8px 0}.skip-link:focus{left:0}.site-header .container{align-items:center}.site-header nav{flex:1 1}.profile-menu{position:relative;margin-left:auto}.profile-btn{font:inherit;font-size:.85rem;color:#eaf2f4;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.2rem .7rem .2rem .25rem;cursor:pointer;display:flex;align-items:center;gap:.45rem}.profile-btn:hover{background:rgba(255,255,255,.16)}.profile-btn .avatar{width:1.5rem;height:1.5rem;border-radius:50%;background:#7fd1c8;color:#0e2230;font-weight:700;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem}.profile-pop{position:absolute;right:0;top:calc(100% + .45rem);min-width:15rem;z-index:60;background:#fff;color:var(--ink);border:1px solid var(--baseline);border-radius:10px;box-shadow:0 8px 24px rgba(14,34,48,.18);padding:.6rem}.profile-pop .hint{font-size:.72rem;color:var(--muted);margin:0 0 .45rem}.profile-row{display:block;width:100%;text-align:left;font:inherit;font-size:.88rem;background:none;border:none;border-radius:6px;padding:.3rem .4rem;cursor:pointer;color:var(--ink)}.profile-row:hover{background:#f3eee1}.profile-row.on{font-weight:700;color:var(--accent)}.profile-pop form{display:flex;gap:.4rem;margin-top:.5rem}.profile-pop input{font:inherit;font-size:.85rem;flex:1 1;min-width:0;padding:.3rem .5rem;border:1px solid var(--baseline);border-radius:7px}.chip.mastery-yes{background:#eefaf2;color:var(--status-good-text);border-color:#9fd4b4}.chip.mastery-prog{background:#eef4f8;color:var(--accent);border-color:#b9d2dd}.record-line{font-size:.82rem;color:var(--ink-2);margin:.45rem 0 0}details.notebook{margin-top:1.1rem;border:1px dashed var(--baseline);border-radius:10px;padding:.6rem .9rem;background:#fdfaf1}details.notebook summary{cursor:pointer;font-size:.88rem;font-weight:600;color:var(--ink-2)}.note-list{list-style:none;margin:.5rem 0 0;padding:0}.note-item{border-top:1px solid var(--grid);padding:.5rem 0}.note-item p{margin:.25rem 0 0;font-size:.9rem;white-space:pre-wrap}.note-meta{display:flex;align-items:center;gap:.6rem;font-size:.75rem;color:var(--muted);flex-wrap:wrap}.note-meta .btn{font-size:.72rem;padding:.1rem .5rem;margin-left:auto}.data-table{width:100%;border-collapse:collapse;font-size:.9rem}.data-table td,.data-table th{text-align:left;padding:.45rem .6rem;border-bottom:1px solid var(--grid);vertical-align:middle}.data-table th{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.data-table td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.data-table tbody tr:hover td{background:#f6f1e6}.data-table td .chip{margin:0}@media (max-width:640px){.site-header .container{flex-wrap:wrap}.profile-menu{margin-left:0}.data-table{font-size:.8rem}}.dial-panel{position:relative;border:1px solid rgba(148,163,184,.16);background:radial-gradient(1.6px 1.6px at 12% 22%,rgba(255,255,255,.34) 45%,transparent 55%),radial-gradient(1.3px 1.3px at 31% 74%,rgba(255,255,255,.22) 45%,transparent 55%),radial-gradient(1.5px 1.5px at 52% 16%,rgba(255,255,255,.28) 45%,transparent 55%),radial-gradient(1.2px 1.2px at 71% 68%,rgba(255,255,255,.2) 45%,transparent 55%),radial-gradient(1.7px 1.7px at 90% 30%,rgba(255,255,255,.3) 45%,transparent 55%),linear-gradient(160deg,var(--night-1) 0,var(--night-0) 70%);color:#dce7ee;box-shadow:var(--e3)}.dial-panel h2{color:#67c5d8}.dial-grid{display:flex;gap:1.3rem 2rem;flex-wrap:wrap;align-items:flex-end}.dial-block{display:flex;flex-direction:column;gap:.45rem}.dial-label{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#7fb5c4}.dial-toggle{display:flex;gap:.4rem}.dial-toggle button{font:inherit;font-size:1rem;font-weight:600;padding:.5rem 1rem;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:rgba(255,255,255,.04);cursor:pointer;color:#a7b8c6}.dial-toggle button:hover{border-color:rgba(148,163,184,.55);color:#eef3f7}.dial-toggle button.on{background:var(--accent);border-color:var(--accent);color:#fff}.dial-toggle.small button{font-size:.88rem;padding:.4rem .75rem}.dial-num{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.dial-num input[type=number]{font-family:var(--font-mono);font-size:1.45rem;font-weight:500;width:4.4rem;text-align:right;padding:.35rem .5rem;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:rgba(2,6,16,.55);color:#eef6f9;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dial-num input[type=number]:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.dial-num>span{font-size:1.1rem;font-weight:600;color:#8397a8}.dial-date,.dial-time{font-family:var(--font-mono);font-size:1.15rem;font-weight:500;padding:.45rem .65rem;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:rgba(2,6,16,.55);color:#eef6f9;color-scheme:dark}.dial-date:focus,.dial-time:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.dial-open{font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:.05em;padding:.72rem 1.9rem;border:none;border-radius:11px;cursor:pointer;background:var(--accent);color:#fff;box-shadow:0 8px 24px rgba(8,145,178,.35)}.dial-open:hover{background:#3a94a6;transform:translateY(-1px)}.dial-open:active{transform:none}.open-block{justify-content:flex-end}.dial-readback{font-size:.92rem;font-family:var(--font-mono);color:#7fb5c4;margin:.9rem 0 0}.dial-place{margin-bottom:1.15rem}.dial-place-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.45rem}.dial-place-input{font:inherit;font-size:1.02rem;font-weight:500;flex:1 1;min-width:260px;padding:.58rem .85rem;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:rgba(2,6,16,.55);color:#eef6f9}.dial-place-input::placeholder{color:#6d8194;font-weight:400}.dial-place-input:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.dial-chip{font:inherit;font-size:.8rem;font-weight:550;cursor:pointer;padding:.34rem .8rem;border-radius:999px;border:1px solid rgba(148,163,184,.3);background:transparent;color:#a7b8c6}.dial-chip:hover{border-color:var(--accent);color:#eef6f9;background:rgba(8,145,178,.12)}.dial-teach{margin:.6rem 0 0;font-size:.9rem;color:#b7c8d3;border-left:2px solid var(--accent);padding-left:.7rem}.dial-teach strong{color:#67c5d8;font-family:var(--font-mono);font-weight:600}.sky-hero{position:relative;display:block;overflow:hidden;border:1px solid rgba(148,163,184,.16);border-radius:var(--radius-l);padding:2.3rem 2.4rem 1.8rem;background:radial-gradient(1.6px 1.6px at 14% 28%,rgba(255,255,255,.4) 45%,transparent 55%),radial-gradient(1.3px 1.3px at 29% 72%,rgba(255,255,255,.26) 45%,transparent 55%),radial-gradient(1.5px 1.5px at 46% 18%,rgba(255,255,255,.32) 45%,transparent 55%),radial-gradient(1.2px 1.2px at 62% 76%,rgba(255,255,255,.22) 45%,transparent 55%),radial-gradient(1.8px 1.8px at 76% 32%,rgba(255,255,255,.36) 45%,transparent 55%),radial-gradient(1.3px 1.3px at 91% 62%,rgba(255,255,255,.26) 45%,transparent 55%),linear-gradient(135deg,var(--night-0) 0,var(--night-1) 55%,#142a52 100%);color:#eef3f7;text-decoration:none;margin:1.5rem 0 1.7rem;box-shadow:var(--e3);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.sky-hero:hover{transform:translateY(-2px);border-color:rgba(148,163,184,.3)}.sky-hero .kicker{font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#67c5d8;margin-bottom:.55rem}.sky-hero .big{font-family:var(--font-display);font-size:clamp(1.5rem,3.2vw,2.15rem);font-weight:600;letter-spacing:-.015em;color:#fff;line-height:1.2}.sky-hero .sub{font-size:1.03rem;color:#a8bccb;margin-top:.55rem;max-width:47rem}.sky-hero .go{display:inline-block;margin-top:1.15rem;font-weight:600;font-size:.97rem;background:var(--accent);color:#fff;padding:.6rem 1.35rem;border-radius:10px}.sky-hero:hover .go{background:#3a94a6}.sky-hero .hero-stats{display:flex;gap:1.8rem;flex-wrap:wrap;margin-top:1.35rem;padding-top:1rem;border-top:1px solid rgba(148,163,184,.16)}.sky-hero .stat{display:flex;flex-direction:column;gap:.1rem}.sky-hero .stat .n{font-family:var(--font-mono);font-size:1.06rem;font-weight:600;color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sky-hero .stat .l{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#7d93a6}@media (max-width:720px){.dial-num input[type=number]{font-size:1.2rem;width:3.7rem}.dial-open{width:100%}.sky-hero .big{font-size:1.3rem}.sky-hero .hero-stats{gap:1.1rem}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.dial-open:hover,.module-card:hover,.sky-hero:hover{transform:none}}.login-note{font-size:.88rem;color:var(--ink-2);margin:.35rem 0}.login-err{font-size:.85rem;color:var(--status-critical);margin:.35rem 0}.login-create{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.7rem}.login-create input,.login-create select{font:inherit;font-size:.92rem;padding:.44rem .7rem;border:1px solid var(--baseline);border-radius:9px;background:#fff;color:var(--ink);min-width:0}.login-create input:focus,.login-create select:focus{border-color:var(--accent);box-shadow:var(--ring);outline:none}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.95rem 1.1rem;gap:.95rem 1.1rem}@media (max-width:640px){.form-grid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.field.wide{grid-column:1/-1}.field>label{font-size:.8rem;font-weight:600;letter-spacing:.04em;color:var(--ink)}.field>label .req{color:var(--accent-deep)}.field input,.field select{font:inherit;font-size:.95rem;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:9px;padding:.6rem .7rem;width:100%;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(47,125,142,.18)}.field .hint{font-size:.76rem;color:var(--ink-2)}.field .err{font-size:.78rem;color:#a4442a;font-weight:600}.field.invalid input,.field.invalid select{border-color:#c05b3d}.subject-picks{display:flex;flex-wrap:wrap;gap:.5rem}.subject-pick{position:relative;display:inline-flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:600;color:var(--ink);border:1px solid var(--border);border-radius:999px;padding:.42rem .85rem;cursor:pointer;background:var(--surface);transition:border-color .15s ease,background .15s ease,color .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.subject-pick input{position:absolute;inset:0 auto auto 0;width:1px!important;height:1px;opacity:0;pointer-events:none}.subject-pick[data-on=true]{background:var(--accent);border-color:var(--accent);color:#fff}.subject-pick:hover{border-color:var(--accent)}.apply-banner{display:flex;gap:.7rem;align-items:flex-start;background:rgba(47,125,142,.08);border:1px solid var(--accent-line);border-radius:var(--radius);padding:.85rem 1rem;margin:.4rem 0 1.1rem;font-size:.9rem;color:var(--ink)}.approval-row{display:grid;grid-template-columns:1fr auto;grid-gap:.8rem 1rem;gap:.8rem 1rem;align-items:start;padding:.9rem 0;border-top:1px solid var(--border)}.approval-row:first-of-type{border-top:none}.approval-who{font-weight:650;color:var(--ink)}.approval-facts{font-size:.84rem;color:var(--ink-2);margin-top:.15rem;line-height:1.55}.approval-facts .chip{margin-right:.3rem}.approval-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.status-chip-pending{background:#f6e7c6!important;color:#7a5310!important;border-color:#e8cf94!important}.status-chip-rejected{background:#f3d8cd!important;color:#8c3a20!important;border-color:#e5b8a6!important}@media (max-width:640px){.approval-row{grid-template-columns:1fr}.approval-actions{justify-content:flex-start}}.login-brand{display:flex;align-items:center;gap:.85rem;margin-bottom:1.1rem}.login-brand img{display:block}.login-brand-name{display:block;font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:.14em;color:var(--ink)}.login-brand-sub{display:block;font-size:.82rem;color:var(--ink-2);margin-top:.1rem}.login-pin{font-family:var(--font-mono)!important;width:7.4rem;letter-spacing:.12em}.login-user-row{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;padding:.5rem 0;border-top:1px solid var(--grid)}.login-user-row:first-of-type{border-top:none}.login-user-row .login-pin{width:5.4rem;padding:.34rem .55rem;font-size:.9rem;border:1px solid var(--baseline);border-radius:8px}.login-user-name{font-weight:550;display:inline-flex;gap:.45rem;align-items:center}.login-college-block{margin-top:.9rem;border-top:1px solid var(--grid);padding-top:.6rem}.mono-strong{font-family:var(--font-mono);font-weight:600;color:var(--accent-ink)}.console-stack{display:flex;flex-direction:column;gap:1rem;margin-top:.4rem}.kit-sub{margin:1.4rem 0 .5rem;font-family:var(--font-body);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.sandbox-banner{font-size:.84rem;color:#92600c;background:#fdf8ec;border:1px solid #ecd9a8;border-radius:var(--radius-s);padding:.55rem .8rem;margin:.2rem 0 .6rem}.role-tag{font-size:.74rem;color:var(--muted)}.profile-row.console-link{color:var(--accent-ink);font-weight:600;text-decoration:none}details.chalisa-q{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem 1rem;margin:.55rem 0;box-shadow:var(--e1)}details.chalisa-q>summary{cursor:pointer;display:flex;align-items:center;gap:.6rem;font-weight:600;list-style:none}details.chalisa-q>summary::-webkit-details-marker{display:none}details.chalisa-q[open]{box-shadow:var(--e2);border-color:var(--accent-line)}.chalisa-fam{font-size:.92rem}.chalisa-marks{margin-left:auto;font-family:var(--font-mono);font-size:.74rem;color:var(--muted)}.chalisa-text{font-size:.92rem;color:var(--ink-2);margin:.7rem 0;max-width:56rem}.exam-card{display:block;text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);padding:1.2rem 1.4rem;margin-top:1rem;box-shadow:var(--e1);transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;position:relative;overflow:hidden}.exam-card:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,var(--status-warning),var(--accent));opacity:.85}.exam-card:hover{transform:translateY(-2px);box-shadow:var(--e2);border-color:var(--accent-line)}.exam-card h3{margin:0 0 .3rem;font-size:1.08rem}.exam-card p{margin:.2rem 0;color:var(--ink-2);font-size:.9rem;max-width:60rem}.section-head{margin:2.6rem 0 .15rem;font-size:.73rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}.exam-card{padding:1.5rem 1.7rem}.exam-card h3{font-size:1.25rem}.exam-card p{font-size:.96rem}.chalisa-q svg,.panel svg,figure.viz svg{max-width:100%;height:auto}img{max-width:100%}@media (max-width:860px){.site-header{padding:.6rem 0}.site-header .container{display:grid;grid-template-columns:1fr auto;align-items:center;grid-row-gap:.45rem;row-gap:.45rem;grid-column-gap:.8rem;column-gap:.8rem}.wordmark{grid-row:1;grid-column:1}.profile-menu{grid-row:1;grid-column:2;margin-left:0}.site-header nav{grid-row:2;grid-column:1/-1;margin:0 -.2rem;padding:.1rem .2rem .25rem}.site-header nav a{font-size:.92rem;padding:.4rem .85rem;background:rgba(148,163,184,.09);border-radius:999px;margin-right:.35rem}}@media (max-width:760px){.container{padding:0 1.05rem}h1{font-size:clamp(1.6rem,6.4vw,1.95rem)}.lab-header h1{font-size:1.42rem}.panel{padding:1.05rem 1.1rem;border-radius:var(--radius)}.panel h2{font-size:.68rem}.sky-hero{padding:1.5rem 1.25rem 1.2rem;margin:1.1rem 0 1.3rem}.sky-hero .sub{font-size:.96rem}.sky-hero .hero-stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:.9rem 1.2rem;gap:.9rem 1.2rem;margin-top:1.1rem;padding-top:.9rem}.mode-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch}.mode-tabs::-webkit-scrollbar{display:none}.mode-tabs button{white-space:nowrap;flex:0 0 auto}.login-create{flex-direction:column;align-items:stretch}.login-create .btn,.login-create button,.login-create input,.login-create select{width:100%}.login-pin{width:100%!important}.login-user-row{gap:.45rem}.practice-input input[type=text]{flex:1 1;min-width:8rem}.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table td,.data-table th{white-space:nowrap}.readout table{font-size:.84rem}.readout td{word-break:break-word}.dial-grid{gap:1rem 1.2rem}.dial-readback{font-size:.84rem}details.chalisa-q{padding:.6rem .85rem}details.chalisa-q>summary{flex-wrap:wrap;row-gap:.2rem}.chalisa-text{font-size:.94rem}.exam-card{padding:1.2rem 1.15rem}.evidence-bar{flex-direction:column;align-items:flex-start;gap:.5rem}.site-footer{margin-top:2.4rem}}@media (max-width:480px){.wordmark .tag{display:none}.status-banner{font-size:.6rem;letter-spacing:.07em}.controls label{min-width:100%}}.subject-grid{display:grid;grid-template-columns:1fr;grid-gap:1.3rem;gap:1.3rem;margin:1.8rem 0 2.5rem}@media (min-width:860px){.subject-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}.subject-card{font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-l);padding:0;box-shadow:var(--e1);transition:box-shadow .22s ease,border-color .22s ease,transform .22s ease;position:relative;overflow:hidden}.subject-art{display:block;height:150px}.subject-art svg{display:block;width:100%;height:100%}.subject-body{display:flex;flex-direction:column;gap:.55rem;flex:1 1;padding:1.25rem 1.5rem 1.35rem;border-top:1px solid rgba(15,34,48,.35)}.subject-body .card-link{margin-top:auto;padding-top:.5rem}.subject-card:hover{transform:translateY(-3px);box-shadow:var(--e3);border-color:var(--accent-line)}.subject-card:hover .subject-title{color:var(--accent-deep)}.subject-card:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.subject-kicker{font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}.subject-title{font-family:var(--font-display);font-size:1.45rem;font-weight:600;letter-spacing:-.015em;color:var(--ink)}.subject-sub{font-size:.93rem;color:var(--ink-2)}.subject-meta{gap:.4rem;margin-top:.2rem}.subject-bar,.subject-meta{display:flex;flex-wrap:wrap}.subject-bar{align-items:center;gap:.9rem;margin:1.2rem 0 .2rem}.subject-bar-label{font-size:.68rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.subject-bar .mode-tabs{margin:0}