@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/ffc7b595a48b6846-s.2k_u76ydap2io.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/276a8f4fe816cb6b-s.31_i6ngnt52xa.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/82b67ad56d243b47-s.2p5l8hwveaaiz.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/33ee198db9637ef4-s.1_g-53zz09yvy.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/fbb7028efdf70529-s.2gp_y-cmv6-ey.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/82450a180bcad83c-s.p.2ywnh8m32q6p0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}._8ycCrW_className{font-family:Manrope,Manrope Fallback;font-style:normal}._8ycCrW_variable{--font-latin:"Manrope", "Manrope Fallback"}
@font-face{font-family:Anek Bangla;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/4604d69aff8a2c04-s.p.0iar_3lmj5cgd.woff2)format("woff2");unicode-range:U+951-952,U+964-965,U+980-9FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1,U+11DF0-11DF1}@font-face{font-family:Anek Bangla;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/b302819900539d72-s.0s6hfm_zv_o-6.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Anek Bangla;font-style:normal;font-weight:100 800;font-stretch:100%;font-display:swap;src:url(../media/df14e2e040848ad1-s.2rpdf6n8e-878.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Anek Bangla Fallback;src:local(Arial);ascent-override:134.44%;descent-override:66.25%;line-gap-override:0.0%;size-adjust:92.98%}._49jjSa_className{font-family:Anek Bangla,Anek Bangla Fallback;font-style:normal}._49jjSa_variable{--font-bangla:"Anek Bangla", "Anek Bangla Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#0f172a;--bone:#f8fafc;--white:#fff;--blue:#2563eb;--blue-dark:#4f46e5;--blue-soft:#dbeafe;--warning:#f59e0b;--muted:#64748b;--line:#e2e8f0;--green:#16a34a;--green-soft:#dcfce7;--green-text:#166534;--red:#dc2626;--red-soft:#fee2e2;--red-text:#b91c1c;--radius:16px}*{box-sizing:border-box}:where(h1,h2,h3,h4,h5,h6){color:var(--ink)}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--bone);color:var(--muted);font-family:var(--font-latin), var(--font-bangla), sans-serif;margin:0;font-size:17px;line-height:1.65}h1,h2,h3,h4,p,ul,ol,dl,dd,pre{margin:0;padding:0}ul,ol{list-style:none}h1,h2,h3{font-weight:700;line-height:1.25}a{color:inherit;text-decoration:none}button,select,textarea{font:inherit;color:inherit}button{color:var(--ink);cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible,g:focus-visible{outline:2px solid var(--blue);outline-offset:2px}sub,sup{font-size:.68em;line-height:0}.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 16px}.eyebrow{color:var(--text-accent);font-size:15px;font-weight:600}.btn{color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:10px;justify-content:center;align-items:center;min-height:46px;padding:0 20px;font-weight:600;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--blue);border-color:var(--text-accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){background:var(--blue-dark)}.btn-wide{width:100%}.tag{background:var(--bone);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:13px;font-weight:600}.note{color:var(--muted);font-size:15px}.print-only{display:none}.site-header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#f4f3efeb;position:sticky;top:0}.site-header-row{justify-content:space-between;align-items:center;gap:12px;min-height:62px;display:flex}.brand{letter-spacing:-.02em;font-size:19px;font-weight:800}.brand span{color:var(--text-accent)}.site-header nav{gap:16px;font-size:15px;font-weight:500;display:flex}.site-header nav a:hover{color:var(--text-accent)}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:28px 0;font-size:14px}.hero{padding:48px 0}.hero-grid{align-items:center;gap:32px;display:grid}.hero h1{letter-spacing:-.01em;margin-top:8px;font-size:clamp(34px,6vw,52px)}.hero-lead{max-width:520px;color:var(--muted);margin-top:14px;font-size:18px}.hero-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.hero-lab{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:20px;display:grid}.section{padding:40px 0}.section-white{background:var(--white)}.section-title{margin-bottom:16px;font-size:26px}.chapter-grid{gap:14px;display:grid}.chapter-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:6px;padding:20px;transition:border-color .15s,transform .15s;display:grid}.chapter-card:hover{border-color:var(--text-accent);transform:translateY(-2px)}.chapter-number{color:var(--text-accent);font-size:14px;font-weight:600}.chapter-card h3{font-size:19px}.chapter-card p,.chapter-card small{color:var(--muted);font-size:15px}.progress{background:var(--bone);border-radius:999px;height:6px;margin-top:8px;overflow:hidden}.progress span{background:var(--blue);height:100%;transition:width .3s;display:block}.feature-grid{gap:18px;display:grid}.feature-grid h3{margin-bottom:4px;font-size:18px}.feature-grid p{color:var(--muted);font-size:16px}.chapter-page{gap:36px;padding-top:32px;padding-bottom:48px;display:grid}.chapter-head h1{margin:6px 0;font-size:clamp(28px,5vw,40px)}.chapter-head>p:not(.eyebrow){color:var(--muted)}.deck{gap:16px;min-width:0;display:grid}.deck-list{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.deck-list li{flex:none}.deck-list button{background:var(--white);border:1px solid var(--line);text-align:left;border-radius:10px;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 12px;font-size:15px;display:flex}.deck-list button span{background:var(--bone);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:13px;font-weight:600;display:grid}.deck-list button[data-done=true] span{background:var(--green);color:var(--on-accent)}.deck-list button[aria-current=true]{background:var(--blue-soft);border-color:var(--text-accent)}.slide{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:12px;min-width:0;padding:24px;animation:.25s slide-in;display:grid}@keyframes slide-in{0%{opacity:0;transform:translateY(6px)}}.slide h3{font-size:26px}.slide-lead{color:var(--muted)}.slide-points{gap:8px;display:grid}.slide-points li{border-left:3px solid var(--blue);padding-left:16px}.video{aspect-ratio:16/9;background:var(--night);border-radius:12px;overflow:hidden}.video iframe{border:0;width:100%;height:100%;display:block}.video-empty{background:var(--bone);color:var(--muted);border-radius:10px;padding:14px 16px;font-size:15px}.deck-nav{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.lab-stack{gap:16px;min-width:0;display:grid}.lab-stack .section-title{margin-bottom:0}.notes{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:16px;padding:24px;display:grid}.notes-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.notes-head h2{font-size:24px}.note-block h4{font-size:18px}.note-block p{color:var(--muted)}.note-block ul{margin-top:4px;padding-left:20px;list-style:outside}.lab{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:16px;min-width:0;padding:20px;display:grid}.lab-head h3{font-size:20px}.lab-head p{color:var(--muted);font-size:15px}.chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.chips button{background:var(--white);border:1px solid var(--line);border-radius:999px;min-height:40px;padding:0 14px;font-size:15px;font-weight:600}.chips [aria-pressed=true]{background:var(--night);border-color:var(--night);color:var(--on-accent)}.controls{flex-wrap:wrap;align-items:end;gap:16px;margin:12px 0;display:flex}.range{flex:180px;gap:4px;font-size:15px;display:grid}.range input{width:100%;accent-color:var(--text-accent)}.field{gap:4px;font-size:15px;display:grid}.field select{background:var(--white);border:1px solid var(--line);border-radius:10px;min-height:42px;padding:0 10px}.check{align-items:center;gap:8px;font-size:15px;display:flex}.check input{width:18px;height:18px;accent-color:var(--text-accent)}.split{align-items:start;gap:16px;min-width:0;display:grid}.code{background:var(--night);color:#e8eaf3;border-radius:10px;padding:14px;font-family:ui-monospace,Consolas,monospace;font-size:14px;line-height:1.6;overflow-x:auto}.lab-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.chart{width:100%;height:auto;display:block}.graph-scroll{min-width:0;overflow-x:auto}.graph-scroll .chart{min-width:560px}.axis{stroke:var(--line);stroke-width:1.5px}.plot{fill:none;stroke:var(--blue);stroke-width:3px;stroke-linejoin:round}.guide{stroke:var(--blue);stroke-dasharray:4 4;opacity:.5}.dot{fill:var(--blue);stroke:var(--white);stroke-width:3px}.tick{fill:var(--muted);font-size:13px}.graph-link{fill:none;stroke:var(--line);stroke-width:1.5px;transition:stroke .15s}.graph-link[data-on=true]{stroke:var(--blue);stroke-width:2.5px}.graph-node circle{fill:var(--white);stroke:var(--line);stroke-width:2px;transition:fill .15s,stroke .15s}.graph-node text{fill:var(--muted);font-size:15px}.graph-node[role=button]{cursor:pointer}.graph-node[data-on=true] circle{fill:var(--blue);stroke:var(--blue)}.graph-node[data-on=true] text{fill:var(--night);font-weight:600}.bit-lab{gap:14px;min-width:0;display:grid}.bit-row{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;display:grid}.bit-cell{justify-items:center;gap:6px;display:grid}.bit-cell small{color:var(--muted);font-size:12px}.bit-bar{background:var(--bone);border-radius:6px;align-items:flex-end;width:100%;height:72px;display:flex;overflow:hidden}.bit-bar span{background:var(--blue);width:100%;transition:height .2s;display:block}.bit{background:var(--bone);border:1px solid var(--line);white-space:nowrap;border-radius:8px;min-width:100%;min-height:44px;padding:0 6px;font-weight:700}.bit[aria-pressed=true]{background:var(--blue);border-color:var(--text-accent);color:var(--on-accent)}.readouts{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.readouts>div{background:var(--bone);text-align:center;border-radius:10px;padding:10px 4px}.readouts dt{color:var(--muted);font-size:13px}.readouts dd{font-size:24px;font-weight:700;line-height:1.3}.circuit{align-items:center;gap:8px;margin-bottom:14px;display:flex}.circuit-inputs{flex:none;gap:8px;width:88px;display:grid}.wire{background:var(--line);border-radius:2px;flex:1;height:4px}.wire[data-on=true]{background:var(--blue)}.gate-box{background:var(--night);color:var(--on-accent);border-radius:10px 28px 28px 10px;flex:none;padding:16px 12px;font-weight:700}.lamp{background:var(--bone);border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:54px;height:54px;font-size:20px;font-weight:700;display:grid}.lamp[data-on=true]{background:var(--blue);border-color:var(--text-accent);box-shadow:0 0 0 6px var(--blue-soft);color:var(--on-accent)}.truth{border-collapse:collapse;text-align:center;width:100%;font-size:15px}.truth th,.truth td{border-bottom:1px solid var(--line);padding:7px 8px}.truth th{color:var(--muted);font-weight:600}.truth tr[data-active=true] td{background:var(--blue-soft);font-weight:700}.table-wrap{min-width:0;overflow-x:auto}.network{width:100%;max-width:340px;height:auto;margin:0 auto;display:block}.net-link{stroke:var(--blue);stroke-width:2px}.net-link[data-broken=true]{stroke:var(--line);stroke-dasharray:4 4}.net-node{cursor:pointer}.net-node circle{fill:var(--night)}.net-node text{fill:var(--white);font-size:14px;font-weight:600}.net-node[data-failed=true] circle{fill:var(--red)}.stack-stats{gap:10px;display:grid}.stack-stats>div{background:var(--bone);border-radius:10px;padding:12px 14px}.stack-stats dt{color:var(--muted);font-size:14px}.stack-stats dd{font-size:22px;font-weight:700}.stack-stats p{color:var(--muted);font-size:15px}.html-lab{gap:12px;display:grid}.html-lab textarea{background:var(--night);color:#e8eaf3;resize:vertical;border:0;border-radius:10px;width:100%;min-height:240px;padding:14px;font-family:ui-monospace,Consolas,monospace;font-size:14px}.html-lab iframe{background:var(--white);border:1px solid var(--line);border-radius:10px;width:100%;min-height:240px}.bars{align-items:stretch;gap:4px;height:180px;margin:12px 0;display:flex}.bar-col{text-align:center;flex-direction:column;flex:1;justify-content:flex-end;gap:2px;min-width:0;display:flex}.bar-col span{background:var(--line);border-radius:5px 5px 0 0;transition:height .25s;display:block}.bar-col[data-on=true] span{background:var(--blue)}.bar-col small{font-size:12px;font-weight:600}.bar-col em{color:var(--muted);white-space:nowrap;font-size:11px;font-style:normal;overflow:hidden}.page{padding-top:32px;padding-bottom:48px}.page h1{font-size:clamp(28px,5vw,40px)}.page-lead{color:var(--muted);margin:6px 0 20px}.practice-bar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;margin-bottom:16px;display:flex}.tabs{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:4px;display:inline-flex}.tabs button{background:0 0;border:0;border-radius:9px;min-height:40px;padding:0 16px;font-weight:600}.tabs [aria-selected=true]{background:var(--blue);color:var(--on-accent)}.practice-list{gap:14px;max-width:760px;display:grid}.q-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:12px;min-width:0;padding:20px;display:grid}.q-top{color:var(--text-accent);justify-content:space-between;align-items:center;gap:10px;font-size:15px;display:flex}.q-card h3{font-size:18px;font-weight:600}.passage{background:var(--bone);white-space:pre-line;border-radius:10px;padding:12px 14px;font-size:16px}.statements{gap:2px;display:grid}.statements span{color:var(--muted)}.q-options{gap:8px;display:grid}.q-options button{background:var(--white);border:1.5px solid var(--line);overflow-wrap:anywhere;text-align:left;border-radius:12px;align-items:center;gap:12px;min-height:50px;padding:8px 12px;display:flex}.q-options button:hover:not(:disabled){border-color:var(--text-accent)}.q-options button:disabled{color:inherit;cursor:default}.q-options button>span{background:var(--bone);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:14px;font-weight:600;display:grid}.q-options [data-state=right]{background:var(--green-soft);border-color:var(--green)}.q-options [data-state=wrong]{background:var(--red-soft);border-color:var(--red)}.q-explain{border-top:1px solid var(--line);padding-top:10px}.q-explain h4{color:var(--text-accent);font-size:14px}.q-explain p{color:var(--muted);white-space:pre-line;font-size:15px}.cq-part{border-top:1px solid var(--line);padding-top:10px}.cq-question{justify-content:space-between;align-items:start;gap:10px;display:flex}.link-btn{min-height:36px;color:var(--text-accent);background:0 0;border:0;padding:0;font-size:15px;font-weight:600}.cq-answer{background:var(--blue-soft);white-space:pre-line;overflow-wrap:anywhere;border-radius:10px;padding:12px 14px;font-size:15px}.career-layout{align-items:start;gap:16px;display:grid}.career-layout>.graph-scroll{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.career-detail{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:8px;padding:20px;display:grid}.career-detail h3{font-size:22px}.career-detail h4{margin-top:8px;font-size:15px}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.step-list{gap:4px;padding-left:20px;list-style:decimal;display:grid}@media (min-width:640px){.chapter-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.split,.html-lab{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){.hero{padding:72px 0}.hero-grid{grid-template-columns:1.05fr 1fr;gap:56px}.chapter-grid{grid-template-columns:repeat(3,1fr)}.feature-grid{grid-template-columns:repeat(4,1fr)}.deck{grid-template-columns:280px minmax(0,1fr);align-items:start}.deck-list{display:grid;overflow:visible}.career-layout{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}}@media print{.site-header,.site-footer,.no-print,.notes-head button{display:none}.print-only{display:block}body{background:var(--white)}.chapter-page{padding:0;display:block}.notes{border:0;padding:0}.note-block{break-inside:avoid}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
.site-header{background:var(--header-bg);border-bottom-color:rgb(var(--stage-rgb) / .08);color:var(--on-accent)}.brand span,.site-header nav a:hover{color:var(--stage-accent)}.hero{background:radial-gradient(700px 420px at 78% 12%, #2563eb57, transparent 70%), radial-gradient(600px 400px at 8% 90%, #8c46ff33, transparent 70%), var(--ink);color:var(--on-accent);padding-bottom:0;position:relative;overflow:hidden}.data-field{width:100%;height:100%;position:absolute;inset:0}.hero .wrap{pointer-events:none;position:relative}.hero .wrap a,.hero .wrap button,.hero .wrap label{pointer-events:auto}.hero .eyebrow{color:var(--stage-accent)}.hero-lead{color:var(--stage-muted)}.gradient-text{background:linear-gradient(90deg, var(--stage-accent), var(--accent-2), var(--stage-accent));color:#0000;background-size:300% 100%;-webkit-background-clip:text;background-clip:text;animation:8s linear infinite gradient-flow}@keyframes gradient-flow{to{background-position:-300% 0}}.btn{transition:transform .15s,box-shadow .15s,background .15s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn-glow{box-shadow:0 8px 30px #2563eb8c}.btn-ghost{background:rgb(var(--stage-rgb) / .07);border-color:rgb(var(--stage-rgb) / .2);color:var(--on-accent)}.hero-lab{background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-color:rgb(var(--stage-rgb) / .12);box-shadow:0 30px 80px #00000073}.hero-lab .bit-bar,.hero-lab .readouts>div{background:rgb(var(--stage-rgb) / .07)}.hero-lab .bit:not([aria-pressed=true]){background:rgb(var(--stage-rgb) / .07);border-color:rgb(var(--stage-rgb) / .14);color:var(--on-accent)}.hero-lab .bit-cell small,.hero-lab .readouts dt{color:var(--stage-muted)}.hero-lab .bit-bar span{background:linear-gradient(180deg, var(--stage-accent), var(--blue))}.ticker{border-top:1px solid rgb(var(--stage-rgb) / .08);margin-top:48px;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.ticker div{width:max-content;color:var(--stage-muted);gap:40px;padding:14px 0;font-size:15px;animation:36s linear infinite ticker-move;display:flex}@keyframes ticker-move{to{transform:translate(-33.33%)}}.stats-band{background:var(--white);border-bottom:1px solid var(--line)}.stats-grid{text-align:center;grid-template-columns:repeat(2,1fr);gap:16px;padding-top:26px;padding-bottom:26px;display:grid}.stats-grid dd{color:var(--text-accent);font-size:36px;font-weight:700;line-height:1.2}.stats-grid dt{color:var(--muted);font-size:15px}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(22px)}.reveal[data-shown=true]{opacity:1;transform:none}.chapter-card{position:relative;overflow:hidden}.chapter-card:before{content:"";opacity:0;background:radial-gradient(220px circle at var(--x,50%) var(--y,50%), #2563eb21, transparent 70%);pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.chapter-card:hover:before{opacity:1}.section-dark{background:var(--night);color:var(--on-accent)}.bento{gap:14px;display:grid}.bento article{background:var(--stage-card);border:1px solid rgb(var(--stage-rgb) / .09);border-radius:var(--radius);align-content:start;gap:8px;min-width:0;padding:22px;transition:border-color .2s,transform .2s;display:grid}.bento article:hover{border-color:#8ea2ff99;transform:translateY(-3px)}.bento h3{font-size:20px}.bento p{color:var(--stage-muted);font-size:15px}.bento-link{color:var(--stage-accent);font-weight:600}.signal-canvas{background:var(--stage-deep);border-radius:12px;width:100%;height:220px;display:block}.legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:8px;font-size:14px;display:flex}.legend li{align-items:center;gap:6px;display:flex}.legend li:before{content:"";background:var(--stage-accent);border-radius:2px;width:14px;height:4px}.legend [data-color=digital]:before{background:var(--stage-gold)}.radar{width:100%;max-width:240px;margin:0 auto;display:block}.radar-ring{fill:none;stroke:rgb(var(--stage-rgb) / .12)}.radar-shape{fill:#2563eb66;stroke:var(--stage-accent);stroke-width:2px;transition:all .6s}.radar-label{fill:var(--stage-muted);font-size:15px}.plot-draw{stroke-dasharray:1;animation:1.4s forwards draw-line}@keyframes draw-line{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.dot{transition:cx .25s,cy .25s}.graph-link[data-on=true]{stroke-dasharray:8 6;animation:.7s linear infinite flow}@keyframes flow{to{stroke-dashoffset:-14px}}.net-link:not([data-broken=true]){stroke-opacity:.55}.net-packet{fill:var(--stage-gold);filter:drop-shadow(0 0 5px var(--stage-gold))}.wire[data-on=true]{background:repeating-linear-gradient(90deg, var(--blue) 0 14px, var(--stage-accent) 14px 28px);background-size:28px 100%;animation:.5s linear infinite wire-flow}@keyframes wire-flow{to{background-position:28px 0}}.lamp[data-on=true]{animation:1.4s ease-in-out infinite lamp-pulse}@keyframes lamp-pulse{50%{box-shadow:0 0 0 12px var(--blue-soft), 0 0 26px #2563eb80}}.chips-tight{margin-bottom:0}.ladder{gap:6px;margin-bottom:12px;display:grid}.ladder li{background:var(--bone);border-radius:8px;justify-content:space-between;gap:12px;padding:7px 12px;font-size:15px;animation:.3s pop-in;display:flex}.ladder b{color:var(--text-accent)}@keyframes pop-in{0%{opacity:0;transform:translate(-12px)}}.answer-digits{color:var(--text-accent);align-items:baseline;gap:2px;font-size:26px;font-weight:700;display:flex}.answer-digits span{animation:.3s pop-in}.race-panel{min-width:0}.race-panel h4{margin-bottom:8px;font-size:16px}.sort-bars{background:var(--night);border-radius:12px;align-items:flex-end;gap:3px;height:170px;padding:10px;display:flex}.sort-bars span{background:var(--blue);border-radius:3px 3px 0 0;flex:1;transition:height 60ms linear}.sort-bars [data-active=true]{background:var(--stage-gold)}.search-grid{background:var(--night);border-radius:12px;grid-template-columns:repeat(8,1fr);gap:4px;padding:10px;display:grid}.search-grid span{aspect-ratio:1;background:rgb(var(--stage-rgb) / .1);border-radius:4px;transition:background .15s}.search-grid [data-seen=true]{background:#2563eba6}.search-grid [data-current=true]{background:var(--stage-gold)}.search-grid [data-found=true]{background:#35d39a;box-shadow:0 0 12px #35d39a}.score-strip{z-index:5;background:var(--white);border:1px solid var(--line);border-radius:12px;gap:2px;padding:10px 14px;font-size:15px;font-weight:600;display:grid;position:sticky;top:70px}.score-strip .progress{margin-top:0}.q-options [data-state=right]{animation:.35s right-pop}.q-options [data-state=wrong]{animation:.35s wrong-shake}@keyframes right-pop{50%{transform:scale(1.02)}}@keyframes wrong-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.slide-points li{animation:.35s backwards pop-in}.slide-points li:nth-child(2){animation-delay:80ms}.slide-points li:nth-child(3){animation-delay:.16s}@media (min-width:640px){.stats-grid{grid-template-columns:repeat(4,1fr)}.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bento-wide{grid-column:1/-1}}@media (min-width:960px){.bento{grid-template-columns:repeat(3,minmax(0,1fr))}.bento-wide{grid-column:span 2}}@media (prefers-reduced-motion:reduce),print{.reveal{opacity:1;transform:none}}
.lesson-body{gap:22px;min-width:0;margin-top:6px;display:grid}.lesson-body section{min-width:0}.lesson-body h4{color:var(--text-accent);margin-bottom:8px;font-size:17px}.lesson-body section>p+p{margin-top:10px}.terms{gap:8px;display:grid}.terms>div{background:var(--bone);border-radius:10px;padding:10px 12px}.terms dt{font-weight:700}.terms dd{color:var(--muted);font-size:15px}.data-table{border-collapse:collapse;width:100%;font-size:15px}.data-table th{background:var(--night);color:var(--on-accent);text-align:left;white-space:nowrap;padding:8px 10px;font-weight:600}.data-table th:first-child{border-radius:8px 0 0}.data-table th:last-child{border-radius:0 8px 0 0}.data-table td{border-bottom:1px solid var(--line);padding:8px 10px}.data-table tbody tr:nth-child(2n) td{background:var(--bone)}.example-box,.mistake-box{border-radius:12px;padding:16px}.example-box{background:var(--blue-soft)}.example-box .code{margin-bottom:10px}.example-box ol{overflow-wrap:anywhere;gap:4px;padding-left:22px;list-style:decimal;display:grid}.mistake-box{background:var(--red-soft)}.mistake-box h4{color:var(--red-text)}.mistake-box ul{gap:4px;padding-left:20px;list-style:outside;display:grid}.tip-box{background:var(--green-soft);border-radius:12px;padding:14px 16px}.tip-box b{color:var(--green-text)}.note-toggle{border:0;border-top:1px solid var(--line);text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 0;display:flex}.note-toggle b{font-size:18px;display:block}.note-toggle small{color:var(--muted);font-size:15px}.note-toggle i{color:var(--text-accent);flex:none;font-size:24px;font-style:normal;transition:transform .2s}[data-open=true] .note-toggle i{transform:rotate(45deg)}.note-body{padding-bottom:16px;display:none}[data-open=true] .note-body{display:block}@media (min-width:640px){.terms{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{body{font-size:13px}.note-body{display:block}.note-toggle i{display:none}.note-block{break-inside:auto}.data-table th{color:var(--ink);border-bottom:2px solid var(--ink);background:0 0}.example-box,.mistake-box,.tip-box,.terms>div{border:1px solid var(--line);background:0 0}.code{color:var(--ink);border:1px solid var(--line);background:0 0}.lesson-body section{break-inside:avoid}}
.lecture{z-index:50;background:radial-gradient(800px 500px at 85% 0%, #2563eb33, transparent 70%), var(--ink);color:var(--on-accent);grid-template-rows:auto auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.lecture-top{justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;font-size:14px;display:flex}.lecture-back{color:var(--stage-muted);white-space:nowrap}.lecture-lesson{color:var(--stage-muted);text-overflow:ellipsis;white-space:nowrap;display:none;overflow:hidden}.lecture-tools{gap:6px;display:flex}.lecture-tools button{background:rgb(var(--stage-rgb) / .07);border:1px solid rgb(var(--stage-rgb) / .14);white-space:nowrap;border-radius:8px;min-height:36px;padding:0 10px;font-size:13px}.lecture-tools [aria-pressed=true]{background:var(--blue);border-color:var(--text-accent)}.lecture-progress{background:rgb(var(--stage-rgb) / .1);height:3px}.lecture-progress span{background:linear-gradient(90deg, var(--stage-accent), var(--accent-2));height:100%;transition:width .3s;display:block}.lecture-body{grid-template-rows:minmax(0,1fr) auto;min-height:0;display:grid}.stage{min-width:0;padding:24px 16px;overflow-y:auto}.stage-slide{align-content:center;gap:14px;width:100%;max-width:880px;min-height:100%;margin:0 auto;animation:.35s stage-in;display:grid}@keyframes stage-in{0%{opacity:0;transform:translate(24px)}}.slide-kicker{color:var(--stage-accent);font-size:15px;font-weight:600}.stage-slide h1{font-size:clamp(30px,5.5vw,52px)}.stage-slide h2{font-size:clamp(22px,3.6vw,34px)}.stage-lead{color:var(--stage-muted);font-size:clamp(18px,2.4vw,23px)}.stage-idea{font-size:clamp(23px,4vw,38px);font-weight:600;line-height:1.45}.stage-muted{color:var(--stage-muted);font-size:15px}.stage-list{gap:10px;font-size:clamp(17px,2.2vw,22px);display:grid}.stage-list li{background:rgb(var(--stage-rgb) / .06);border-left:3px solid var(--stage-accent);overflow-wrap:anywhere;border-radius:0 10px 10px 0;padding:10px 14px;animation:.35s pop-in}.stage-numbered{padding-left:30px;list-style:decimal}.stage-warn li{border-left-color:#ff8a80}.stage-tip{background:#35d39a1f;border-radius:12px;padding:14px 16px;font-size:clamp(16px,2vw,19px)}.stage-tip b{color:#35d39a}.flip-grid{gap:10px;display:grid}.flip-card{background:rgb(var(--stage-rgb) / .06);border:1px solid rgb(var(--stage-rgb) / .14);text-align:left;border-radius:14px;gap:4px;min-height:92px;padding:14px 16px;transition:background .2s,border-color .2s,transform .2s;display:grid}.flip-card:hover{transform:translateY(-2px)}.flip-card b{font-size:19px}.flip-card span{color:var(--stage-muted);font-size:15px}.flip-card[data-open=true]{border-color:var(--stage-accent);background:#2563eb47}.flip-card[data-open=true] span{color:var(--on-accent)}.stage-table{border-collapse:collapse;width:100%;font-size:clamp(14px,1.9vw,18px)}.stage-table th{background:var(--blue);text-align:left;white-space:nowrap;padding:10px 12px}.stage-table td{border-bottom:1px solid rgb(var(--stage-rgb) / .12);padding:10px 12px}.check-question{line-height:1.4}.stage-options{gap:10px;display:grid}.stage-options button{background:rgb(var(--stage-rgb) / .06);border:1.5px solid rgb(var(--stage-rgb) / .14);text-align:left;border-radius:12px;align-items:center;gap:12px;min-height:54px;padding:8px 14px;font-size:18px;display:flex}.stage-options button:disabled{color:inherit;cursor:default}.stage-options span{background:rgb(var(--stage-rgb) / .1);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.stage-options [data-state=right]{background:#35d39a33;border-color:#35d39a;animation:.35s right-pop}.stage-options [data-state=wrong]{background:#ff8a8033;border-color:#ff8a80;animation:.35s wrong-shake}.stage-lab{background:var(--white);min-width:0;color:var(--ink);border-radius:14px;padding:16px}.lecture-notes{background:var(--stage-card);border-top:1px solid rgb(var(--stage-rgb) / .1);align-content:start;gap:6px;max-height:32dvh;padding:14px 16px;font-size:15px;display:grid;overflow-y:auto}.lecture-notes h3{color:var(--stage-gold);font-size:14px}.lecture-notes p{color:var(--stage-muted)}.lecture-notes a{color:var(--stage-accent);font-weight:600}.lecture-nav{padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid rgb(var(--stage-rgb) / .1);text-align:center;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-weight:600;display:grid}@media (min-width:640px){.flip-grid,.stage-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){.lecture-lesson{display:block}.lecture-body{grid-template-rows:none}.lecture[data-notes=true] .lecture-body{grid-template-columns:minmax(0,1fr) 320px}.stage{padding:32px 40px}.lecture-notes{border-top:0;border-left:1px solid rgb(var(--stage-rgb) / .1);max-height:none;padding:24px 20px;font-size:16px}.lecture-nav{grid-template-columns:140px 1fr 140px}}.stage{overflow-x:hidden}
.brand{flex:none}.site-header-row{gap:16px}.top-nav{display:none}.site-header{position:sticky}.scroll-progress{background:linear-gradient(90deg, var(--stage-accent), var(--accent-2));transform-origin:0;height:2px;transform:scaleX(0)}.search-button{background:rgb(var(--stage-rgb) / .08);border:1px solid rgb(var(--stage-rgb) / .16);min-height:38px;color:var(--stage-muted);border-radius:10px;align-items:center;gap:10px;padding:0 12px;font-size:14px;display:flex}.search-button kbd{background:rgb(var(--stage-rgb) / .1);border-radius:5px;padding:1px 6px;font-family:inherit;font-size:12px;display:none}.search-dialog{border-radius:var(--radius);width:calc(100% - 32px);max-width:560px;color:var(--ink);border:0;margin:12vh auto auto;padding:0;animation:.2s stage-in;box-shadow:0 30px 80px #0006}.search-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99}.search-dialog input{border:0;border-bottom:1px solid var(--line);width:100%;font:inherit;background:0 0;outline:none;padding:16px 18px;font-size:18px}.search-dialog ul{max-height:50dvh;overflow-y:auto}.search-dialog a{justify-content:space-between;gap:12px;padding:11px 18px;display:flex}.search-dialog a:hover,.search-dialog a:focus{background:var(--blue-soft)}.search-dialog a span{max-width:45%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:none;font-size:13px;overflow:hidden}.search-dialog .note{padding:14px 18px}.tab-bar{z-index:25;padding-bottom:env(safe-area-inset-bottom);background:var(--header-bg);border-top:1px solid rgb(var(--stage-rgb) / .1);color:var(--stage-muted);text-align:center;grid-template-columns:repeat(5,1fr);font-size:13px;display:grid;position:fixed;bottom:0;left:0;right:0}.tab-bar a{padding:13px 2px}body{padding-bottom:50px}.donut{width:132px;margin:0;position:relative}.donut svg{display:block;transform:rotate(-90deg)}.donut-track,.donut-fill{fill:none;stroke-width:11px}.donut-track{stroke:var(--bone)}.donut-fill{stroke:var(--blue);stroke-linecap:round;stroke-dashoffset:var(--offset);transition:stroke-dashoffset .8s;animation:1.1s backwards donut-in}@keyframes donut-in{0%{stroke-dashoffset:100px}}.donut figcaption{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.donut b{font-size:24px;line-height:1.1}.donut span{color:var(--muted);font-size:12px}.bar-list{gap:12px;display:grid}.bar-list li>div:first-child{justify-content:space-between;gap:12px;font-size:15px;display:flex}.bar-track{background:var(--bone);border-radius:999px;height:9px;margin-top:4px;overflow:hidden}.bar-track span{background:linear-gradient(90deg, var(--blue), var(--stage-accent));transform-origin:0;height:100%;animation:.8s backwards grow-bar;animation-delay:var(--delay);border-radius:999px;transition:width .6s;display:block}@keyframes grow-bar{0%{transform:scaleX(0)}}.fade-in{animation:1s .5s backwards fade}@keyframes fade{0%{opacity:0}}.activity-read{color:var(--muted);font-size:15px}.activity-read b{color:var(--text-accent);font-size:24px}.dash{gap:14px;display:grid}.dash-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);min-width:0;padding:20px}.dash-card h2{margin-bottom:12px;font-size:18px}.dash-rings{flex-wrap:wrap;justify-content:space-around;align-items:center;gap:20px;display:flex}.dash-numbers{gap:6px;display:grid}.dash-numbers b{color:var(--text-accent);font-size:26px}.dash-dark{background:var(--night);border-color:var(--night);color:var(--on-accent)}.dash-note{grid-column:1/-1}.journey{background:var(--stage-card);border:1px solid rgb(var(--stage-rgb) / .09);border-radius:var(--radius);gap:16px;min-width:0;padding:22px;display:grid}.journey-input{color:var(--stage-muted);gap:6px;font-size:15px;display:grid}.journey-input input{background:var(--stage-deep);border:1.5px solid rgb(var(--stage-rgb) / .16);min-height:50px;color:var(--on-accent);font:inherit;border-radius:10px;padding:0 14px;font-size:20px;font-weight:600}.journey-input input:focus{border-color:var(--stage-accent);outline:none}.journey-letters{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;display:grid}.journey-letters li{background:var(--stage-deep);border-radius:10px;gap:2px;padding:10px 12px;animation:.3s pop-in;display:grid}.journey-letters b{color:var(--on-accent);font-size:22px;line-height:1.3}.journey-letters small{color:var(--stage-muted);font-size:12px}.journey-letters code{letter-spacing:.04em;overflow-wrap:anywhere;font-family:ui-monospace,Consolas,monospace;font-size:13px}.journey-letters i{color:#5d6275;font-style:normal;animation:.3s backwards bit-in}.journey-letters i[data-on=true]{color:var(--stage-accent)}@keyframes bit-in{0%{color:var(--stage-gold);opacity:0}}.wire-line{align-items:center;gap:8px;min-width:0;display:flex}.wire-node{background:var(--blue);color:var(--on-accent);border-radius:8px;flex:none;padding:6px 10px;font-size:12px;font-weight:600}.wire-track{border-block:1px dashed #8ea2ff66;flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.wire-track p{width:max-content;color:var(--stage-gold);white-space:nowrap;padding:3px 0;font-family:ui-monospace,Consolas,monospace;font-size:13px;animation:7s linear infinite bits-travel}@keyframes bits-travel{0%{transform:translate(-33.33%)}to{transform:translate(0)}}.journey-note{color:var(--stage-muted)}.course-map{align-items:center;gap:20px;display:grid}.course-map svg{width:100%;max-width:440px;margin:0 auto;display:block}.map-orbit{fill:none;stroke:rgb(var(--stage-rgb) / .1);stroke-dasharray:4 8;transform-origin:50%;animation:60s linear infinite orbit-spin}@keyframes orbit-spin{to{transform:rotate(360deg)}}.map-link{stroke:rgb(var(--stage-rgb) / .1);stroke-width:1.5px}.map-link[data-on=true]{stroke:var(--stage-accent);stroke-width:2.5px;stroke-dasharray:8 6;animation:.7s linear infinite flow}.map-hub{fill:var(--blue);filter:drop-shadow(0 0 16px #2563ebb3)}.map-hub-text{fill:var(--white);font-size:15px;font-weight:700}.map-node{cursor:pointer}.map-node-bg{fill:var(--stage-card);stroke:rgb(var(--stage-rgb) / .16);stroke-width:5px;transition:fill .2s}.map-node-ring{fill:none;stroke:#35d39a;stroke-width:5px;stroke-linecap:round;transition:stroke-dashoffset .7s}.map-node text{fill:var(--white);font-size:24px;font-weight:700}.map-node[data-on=true] .map-node-bg{fill:#27337a}.map-panel{background:var(--stage-card);border:1px solid rgb(var(--stage-rgb) / .09);border-radius:var(--radius);gap:10px;min-width:0;padding:22px;animation:.3s pop-in;display:grid}.map-panel .eyebrow{color:var(--stage-accent)}.map-panel h3{font-size:21px}.map-panel ul{color:var(--stage-muted);gap:4px;font-size:15px;display:grid}.map-panel li:before{content:"○ ";color:var(--stage-accent)}.map-panel li[data-done=true]:before{content:"● ";color:#35d39a}.map-panel .hero-actions{margin-top:6px}.chapter-stats{grid-template-columns:repeat(2,1fr);gap:10px;margin-top:18px;display:grid}.chapter-stats>div{background:var(--white);border:1px solid var(--line);text-align:center;border-radius:12px;padding:12px}.chapter-stats dd{color:var(--text-accent);font-size:26px;font-weight:700;line-height:1.2}.chapter-stats dt{color:var(--muted);font-size:14px}.chapter-nav{z-index:10;background:var(--white);border:1px solid var(--line);border-radius:12px;justify-self:start;gap:6px;padding:5px;display:flex;position:sticky;top:64px;box-shadow:0 6px 20px #0f172a12}.chapter-nav a{border-radius:8px;padding:5px 16px;font-size:15px;font-weight:600;transition:background .2s,color .2s}.chapter-nav [aria-current=true]{background:var(--blue);color:var(--on-accent)}.matcher{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:20px;margin-top:16px;padding:22px;display:grid}.matcher h2{font-size:22px}.matcher-sliders{gap:12px;margin-top:14px;display:grid}.matcher-rank{position:relative}.matcher-rank li{transition:transform .45s cubic-bezier(.2,.8,.2,1);position:absolute;left:0;right:0}.matcher-rank button{background:var(--bone);border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;font-size:15px;display:flex;position:relative;overflow:hidden}.matcher-rank [aria-pressed=true]{border-color:var(--text-accent)}.matcher-rank span,.matcher-rank b{z-index:1;position:relative}.matcher-rank i{background:var(--blue-soft);transition:width .4s;position:absolute;inset:0 auto 0 0}@media (min-width:640px){.chapter-stats{grid-template-columns:repeat(4,1fr)}.dash{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-rings,.dash-wide{grid-column:1/-1}}@media (min-width:860px){.tab-bar{display:none}body{padding-bottom:0}.top-nav{gap:18px;margin-left:auto;font-size:15px;font-weight:500;display:flex}.search-button kbd{display:inline}.course-map,.matcher{grid-template-columns:repeat(2,minmax(0,1fr))}.matcher{align-items:start}}@media print{.tab-bar,.chapter-nav{display:none}body{padding-bottom:0}}.section-joined{padding-top:0}
.slide-kicker{align-items:center;gap:8px;display:flex}.slide-kicker span{background:var(--stage-accent);width:32px;height:32px;color:var(--stage-on-accent);border-radius:10px;place-items:center;display:grid}.lesson-pills{gap:8px;display:grid}.lesson-pills li{background:rgb(var(--stage-rgb) / .06);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;animation:.35s backwards pop-in;display:flex}.lesson-pills b{background:var(--stage-accent);width:28px;height:28px;color:var(--stage-on-accent);border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.tiles{gap:10px;display:grid}.tile{background:rgb(var(--stage-rgb) / .06);border:1.5px dashed rgb(var(--stage-rgb) / .25);text-align:left;border-radius:14px;align-items:center;gap:12px;min-height:74px;padding:14px;transition:transform .2s,background .2s,border-color .2s;display:flex}.tile:hover{transform:translateY(-3px)}.tile svg{color:var(--stage-accent);flex:none}.tile b{font-size:24px}.tile span{animation:.3s pop-in}.tile[data-open=true]{border:1.5px solid var(--stage-accent);background:#2563eb29}.idea-dots{gap:8px;display:flex}.idea-dots span{background:rgb(var(--stage-rgb) / .16);border-radius:999px;width:34px;height:6px;transition:background .25s}.idea-dots [data-on=true]{background:var(--stage-accent)}.stage-idea{animation:.3s stage-in}.flip3d{perspective:900px;background:0 0;border:0;height:112px;padding:0}.flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:block;position:relative}.flip3d:hover .flip-inner{transform:rotateY(10deg)}.flip3d[data-open=true] .flip-inner{transform:rotateY(180deg)}.flip-front,.flip-back{backface-visibility:hidden;text-align:center;border-radius:14px;place-items:center;padding:10px 14px;display:grid;position:absolute;inset:0;overflow:hidden}.flip-front{background:rgb(var(--stage-rgb) / .06);border:1px solid rgb(var(--stage-rgb) / .16);font-size:19px}.flip-back{background:var(--blue);color:var(--on-accent);font-size:15px;line-height:1.45;transform:rotateY(180deg)}.compare-chips{flex-wrap:wrap;gap:8px;display:flex}.compare-chips button{background:rgb(var(--stage-rgb) / .06);border:1px solid rgb(var(--stage-rgb) / .16);border-radius:999px;min-height:42px;padding:4px 14px;font-weight:600}.compare-chips [aria-pressed=true]{background:var(--blue);border-color:var(--text-accent);color:var(--on-accent)}.compare-card{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;animation:.3s pop-in;display:grid}.compare-card>div{background:rgb(var(--stage-rgb) / .06);overflow-wrap:anywhere;border-radius:14px;padding:16px}.compare-card dt{color:var(--stage-muted);font-size:14px}.compare-card dd{font-size:clamp(17px,2.3vw,22px);font-weight:700}.step-track{background:rgb(var(--stage-rgb) / .14);border-radius:999px;height:6px;overflow:hidden}.step-track span{background:linear-gradient(90deg, var(--stage-accent), var(--accent-2));height:100%;transition:width .3s;display:block}.match{grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:10px;display:grid}.match>div{align-content:start;gap:8px;display:grid}.match button{background:rgb(var(--stage-rgb) / .06);border:1.5px solid rgb(var(--stage-rgb) / .16);overflow-wrap:anywhere;text-align:left;border-radius:12px;min-height:60px;padding:8px 10px;font-size:15px;line-height:1.35;transition:background .2s,border-color .2s,opacity .3s}.match>div:first-child button{font-weight:700}.match [data-state=chosen]{border-color:var(--stage-accent);background:#2563eb40}.match [data-state=done]{color:inherit;cursor:default;background:#35d39a2e;border-color:#35d39a}.match [data-state=wrong]{border-color:#ff8a80;animation:.35s wrong-shake}.confetti{z-index:60;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti span{border-radius:2px;width:9px;height:14px;animation:1.5s ease-in forwards confetti-fall;position:absolute;top:-14px}@keyframes confetti-fall{to{opacity:0;transform:translate(var(--drift), 92vh) rotate(540deg)}}.star-count{color:var(--stage-gold);align-items:center;gap:4px;padding:0 8px;font-weight:700;animation:.4s star-pop;display:flex}.star-count svg{fill:currentColor}@keyframes star-pop{50%{transform:scale(1.3)}}.traps{gap:8px;display:grid}.traps button{background:rgb(var(--stage-rgb) / .06);text-align:left;border:1.5px dashed #ff8a80;border-radius:12px;align-items:center;gap:10px;min-height:56px;padding:10px 14px;font-weight:600;display:flex}.traps svg{color:#ff8a80;flex:none}.traps [data-open=true]{background:#ff8a8024;border-style:solid;font-weight:500}.stage-tip{gap:10px;display:flex}.stage-tip svg{color:#35d39a;flex:none}.part-title{margin-bottom:8px}.part-tabs{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.part-tabs button{background:var(--bone);border:1px solid var(--line);border-radius:10px;flex:none;align-items:center;gap:6px;min-height:42px;padding:0 12px;font-size:15px;font-weight:600;display:flex}.part-tabs [aria-selected=true]{background:var(--blue);border-color:var(--text-accent);color:var(--on-accent)}.part-panel{min-width:0;animation:.25s pop-in}.part-panel section>p+p{margin-top:10px}.chapter-icon{background:var(--blue-soft);width:46px;height:46px;color:var(--text-accent);border-radius:13px;place-items:center;margin-bottom:4px;display:grid}@media (min-width:640px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.tile{flex-direction:column;align-items:flex-start;min-height:148px}.lesson-pills{grid-template-columns:repeat(2,minmax(0,1fr))}}
.photo-hero{border-radius:18px;align-content:end;display:grid;position:relative;overflow:hidden}.photo-hero[data-photo=true]{background:var(--night);min-height:clamp(190px,30vh,340px)}.photo-hero img{object-fit:cover;animation:14s ease-out forwards photo-drift}@keyframes photo-drift{0%{transform:scale(1.12)}}.photo-hero>div{gap:8px;display:grid;position:relative}.photo-hero[data-photo=true]>div{color:#fff;background:linear-gradient(#0000,#080a10e0);padding:60px 20px 18px}.photo-hero[data-photo=true] .slide-kicker,.photo-hero[data-photo=true] .stage-lead{color:#e6e8f2}.photo-hero[data-photo=true] .slide-kicker span{background:var(--blue);color:#fff}.photo-credit{color:var(--stage-muted);font-size:12px}.orbit-wrap{justify-items:center;gap:16px;display:grid}.orbit{--size:min(78vw, 46vh, 400px);--reach:calc(var(--size) / 2 - 36px);width:var(--size);height:var(--size);position:relative}.orbit-ring{border:1.5px dashed rgb(var(--stage-rgb) / .25);border-radius:50%;position:absolute;inset:36px}.orbit-center{background:linear-gradient(135deg, var(--blue), #8b5cf6);color:#fff;border-radius:50%;place-items:center;width:118px;height:118px;margin:-59px 0 0 -59px;animation:.35s center-pop;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 0 44px #2563eb80}@keyframes center-pop{0%{transform:scale(.8)}}.orbit-spin{animation:26s linear infinite orbit-turn;position:absolute;inset:0}.orbit-seat{width:0;height:0;transform:rotate(var(--angle)) translateY(calc(var(--reach) * -1)) rotate(calc(var(--angle) * -1));position:absolute;top:50%;left:50%}.orbit-item{background:var(--stage-card);border:2px solid rgb(var(--stage-rgb) / .2);width:64px;height:64px;color:var(--stage-accent);border-radius:50%;place-items:center;margin:-32px 0 0 -32px;transition:background .2s,border-color .2s,scale .2s;animation:26s linear infinite reverse orbit-turn;display:grid;box-shadow:0 8px 22px #0003}.orbit-item:hover{scale:1.12}.orbit-item[data-seen=true]{border-color:#35d39a}.orbit-item[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff;scale:1.15}.orbit[data-paused=true] .orbit-spin,.orbit[data-paused=true] .orbit-item{animation-play-state:paused}@keyframes orbit-turn{to{transform:rotate(360deg)}}.orbit-card{background:rgb(var(--stage-rgb) / .07);border-radius:14px;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;width:100%;max-width:460px;min-height:76px;padding:12px 16px;animation:.25s pop-in;display:grid}.orbit-card b{grid-column:1;font-size:20px}.orbit-card span{color:var(--stage-muted);grid-column:1}.orbit-card small{color:var(--stage-accent);grid-area:1/2/span 2;font-weight:700}.order-game{gap:12px;display:grid}.order-built{gap:6px;display:grid}.order-built li{overflow-wrap:anywhere;background:#35d39a29;border-radius:10px;align-items:center;gap:8px;padding:9px 12px;animation:.25s pop-in;display:flex}.order-built svg{color:#35d39a;flex:none}.order-pool{gap:8px;display:grid}.order-pool button{background:rgb(var(--stage-rgb) / .06);border:1.5px solid rgb(var(--stage-rgb) / .16);overflow-wrap:anywhere;text-align:left;border-radius:12px;align-items:center;gap:8px;min-height:52px;padding:8px 12px;transition:transform .15s,border-color .15s;display:flex}.order-pool button:hover{border-color:var(--stage-accent);transform:translate(4px)}.order-pool svg{color:var(--stage-muted);flex:none}.order-pool [data-wrong=true]{border-color:#ff8a80;animation:.35s wrong-shake}@media (prefers-reduced-motion:reduce){.orbit-spin,.orbit-item{animation:none}}.chapter-card{padding-top:0}.chapter-photo{height:150px;margin:0 -20px 4px;display:block;position:relative;overflow:hidden}.chapter-photo img{object-fit:cover;transition:transform .5s}.chapter-card:hover .chapter-photo img{transform:scale(1.07)}.chapter-card .chapter-icon{background:var(--white);border:1px solid var(--line);margin-top:-36px;position:relative}.slide-photo{border-radius:12px;height:clamp(170px,30vw,280px);position:relative;overflow:hidden}.slide-photo img{object-fit:cover}.footer-row{flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.footer-row a{text-underline-offset:3px;text-decoration:underline}.credit-list{gap:10px;display:grid}.credit-list a{color:var(--text-accent);overflow-wrap:anywhere;font-weight:600;display:block}.credit-list span{color:var(--muted);font-size:14px}
.exam-setup{gap:14px;max-width:760px;display:grid}.setup-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:20px;display:grid}.setup-card h2{align-items:center;gap:8px;font-size:18px;display:flex}.setup-card h2 svg{color:var(--text-accent)}.setup-chapters{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;display:grid}.setup-chapters button{background:var(--bone);border:1.5px solid var(--line);border-radius:12px;align-items:center;gap:8px;min-height:52px;padding:0 12px;font-size:15px;font-weight:600;transition:border-color .15s,transform .15s;display:flex}.setup-chapters button:hover{transform:translateY(-2px)}.setup-chapters [aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.setup-time span{align-items:center;gap:6px;display:flex}.runner-top{z-index:30;background:var(--header-bg);border-bottom:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:8px 16px;display:grid;position:sticky;top:0}.runner-clock{font-variant-numeric:tabular-nums;font-size:24px}.runner-top[data-warning=true] .runner-clock{color:var(--red-text);animation:1s ease-in-out infinite lamp-beat}@keyframes lamp-beat{50%{opacity:.55}}.runner-time{grid-column:1/-1;height:4px;margin:0}.runner-body{gap:14px;max-width:760px;padding-top:16px;padding-bottom:32px;display:grid}.runner-card{animation:.25s pop-in}.q-options [data-state=chosen]{background:var(--blue-soft);border-color:var(--blue)}.runner-dots{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px;display:grid}.runner-dots button{background:var(--white);border:1.5px solid var(--line);border-radius:9px;height:38px;font-size:14px;font-weight:600}.runner-dots [data-done=true]{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.runner-dots [data-current=true]{outline:2px solid var(--text-accent);outline-offset:1px}.runner-nav{grid-template-columns:1fr 1fr;gap:10px;display:grid}.result-page{gap:16px;display:grid}.result-top{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.result-change{color:var(--red-text);align-items:center;gap:6px;font-weight:600;display:flex}.result-change[data-up=true]{color:var(--green-text)}.report-cards{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;display:grid}.report-cards>div{background:var(--bone);text-align:center;border-radius:12px;justify-items:center;gap:2px;padding:12px 6px;animation:.3s pop-in;display:grid}.report-cards svg{color:var(--text-accent)}.report-cards b{font-size:24px;line-height:1.2}.report-cards span{color:var(--muted);font-size:13px}.weak-list{gap:10px;display:grid}.weak-list li{justify-content:space-between;align-items:center;gap:10px;display:flex}.weak-list b{display:block}.weak-list span{color:var(--muted);font-size:14px}.weak-list .btn{flex:none;min-height:38px;padding:0 12px;font-size:14px}.mistake-call{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pattern{gap:12px;display:grid}.pattern-clue{background:#2563eb24;border-radius:14px;gap:12px;padding:14px 16px;font-size:clamp(17px,2.2vw,21px);font-weight:600;display:flex}.pattern-clue svg{color:var(--stage-accent);flex:none;margin-top:4px}.pattern-clue small{color:var(--stage-muted);font-size:13px;font-weight:500;display:block}.pattern-steps{gap:8px;display:grid}.pattern-steps li{background:rgb(var(--stage-rgb) / .06);border-radius:12px;align-items:center;gap:10px;padding:9px 12px;animation:.3s pop-in;display:flex}.pattern-steps b{background:var(--stage-accent);width:28px;height:28px;color:var(--stage-on-accent);border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.pattern-actions{flex-wrap:wrap;gap:8px;display:flex}.pattern-trap{background:#ff8a8029;border-left:3px solid #ff8a80;border-radius:0 10px 10px 0;padding:12px 14px;animation:.3s pop-in}.try{gap:12px;display:grid}.try-passage{background:rgb(var(--stage-rgb) / .07);font-family:inherit}.try-explain{background:rgb(var(--stage-rgb) / .07);color:var(--stage-muted);white-space:pre-line;border-radius:12px;padding:12px 14px}.lesson-exam{justify-content:center;display:flex}.exam-setup{grid-template-columns:minmax(0,1fr)}.field select{width:100%;max-width:100%}.option-text{font-style:normal}.confirm-modal{background:var(--white);border:1px solid var(--line);width:calc(100% - 32px);max-width:400px;color:var(--ink);border-radius:20px;padding:0;overflow:hidden;box-shadow:0 30px 80px #00000059}.confirm-modal[open]{animation:.22s cubic-bezier(.2,.8,.2,1) modal-in}.confirm-modal::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a99;animation:.2s fade}@keyframes modal-in{0%{opacity:0;transform:translateY(14px)scale(.96)}}.confirm-box{text-align:center;justify-items:center;gap:8px;padding:26px 22px 20px;display:grid}.confirm-icon{background:var(--blue-soft);width:60px;height:60px;color:var(--text-accent);border-radius:50%;place-items:center;margin-bottom:4px;display:grid}.confirm-box h2{font-size:21px}.confirm-box p{color:var(--muted);font-size:16px}.confirm-actions{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:12px;display:grid}.confirm-modal[data-danger=true] .confirm-icon{background:var(--red-soft);color:var(--red-text)}.confirm-modal[data-danger=true] .btn-primary{background:#dc2626;border-color:#dc2626}
.classroom{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;padding-top:20px;display:grid}.class-main{gap:14px;min-width:0;display:grid}.class-info h1{font-size:clamp(24px,4vw,32px)}.class-type{color:var(--muted);align-items:center;gap:6px;font-size:15px;display:flex}.player{border-radius:var(--radius);color:#fff;background:#0b0d14;overflow:hidden;box-shadow:0 18px 50px #0f172a47}.player:fullscreen{border-radius:0;grid-template-rows:minmax(0,1fr) auto auto;display:grid}.player-screen{aspect-ratio:16/9;cursor:pointer;background:linear-gradient(135deg,#171f55,#0f172a);display:grid;position:relative;overflow:hidden;container-type:inline-size}.player:fullscreen .player-screen{aspect-ratio:auto}.player-photo{object-fit:cover;opacity:.32;animation:30s ease-out forwards photo-drift}.player-scene{text-align:center;place-content:center;gap:1.4cqw;padding:5cqw 7cqw;animation:.5s scene-in;display:grid;position:relative}@keyframes scene-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.player-scene small{color:#9db0ff;font-size:clamp(13px,2.4cqw,22px);font-weight:600}.player-scene p{text-shadow:0 2px 16px #0009;font-size:clamp(19px,4.4cqw,46px);font-weight:700;line-height:1.4}.player-scene[data-kind=title] p{font-size:clamp(17px,3.4cqw,34px);font-weight:500}.player-scene[data-kind=tip] small{color:#ffb454}.player-icon{background:linear-gradient(135deg,#2563eb,#8b5cf6);border-radius:50%;place-items:center;width:76px;height:76px;margin:0 auto;display:grid;box-shadow:0 0 40px #2563eb99}.player-big-play{background:#2563eb;border-radius:50%;place-items:center;width:64px;height:64px;display:grid;position:absolute;bottom:14px;right:16px;box-shadow:0 8px 26px #2563eb99}.player-seek{padding:0 12px;line-height:0}.player-seek input{appearance:none;background:linear-gradient(90deg, #2563eb var(--done), #fff3 var(--done)) center / 100% 4px no-repeat;cursor:pointer;width:100%;height:18px;margin:0}.player-seek input::-webkit-slider-thumb{appearance:none;background:#fff;border-radius:50%;width:14px;height:14px}.player-seek input::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:14px;height:14px}.player-bar{align-items:center;gap:4px;padding:4px 8px 8px;display:flex}.player-bar button{color:#fff;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;min-width:42px;height:42px;display:grid}.player-bar button:hover{background:#ffffff1f}.player-time{color:#c9cdda;font-variant-numeric:tabular-nums;flex:none;padding:0 6px;font-size:14px}.player-title{color:#c9cdda;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.player-speed{font-size:14px;font-weight:700}.class-list{gap:8px;min-width:0;display:grid}.class-list section{background:var(--white);border:1px solid var(--line);border-radius:14px;overflow:hidden}.class-chapter{text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:12px;display:grid}.class-chapter>svg{color:var(--muted);transition:transform .2s}[data-open=true]>.class-chapter>svg{transform:rotate(180deg)}.class-chapter-icon{background:var(--blue-soft);width:40px;height:40px;color:var(--text-accent);border-radius:11px;place-items:center;display:grid}.class-chapter b,.class-chapter small{display:block}.class-chapter small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.class-meter{background:rgb(var(--stage-rgb) / .1);border-radius:999px;height:4px;margin-top:5px;display:block;overflow:hidden}.class-meter em{background:var(--green);height:100%;transition:width .4s;display:block}.class-list ol{padding:0 6px 8px;animation:.25s pop-in}.class-list ol button{text-align:left;background:0 0;border:0;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:100%;min-height:46px;padding:6px 8px;display:grid}.class-list ol button:hover{background:var(--bone)}.class-list ol button>span{background:rgb(var(--stage-rgb) / .08);width:26px;height:26px;color:var(--text-accent);border-radius:50%;place-items:center;display:grid}.class-list ol [data-done=true]>span{background:var(--green);color:#fff}.class-list ol b{font-size:15px;font-weight:500}.class-list ol small{color:var(--muted);font-size:12px}.class-list ol [aria-current=true]{background:var(--blue-soft)}.class-list ol [aria-current=true] b{font-weight:700}@media (min-width:960px){.classroom{grid-template-columns:minmax(0,1fr) 340px}.class-list{max-height:calc(100dvh - 104px);position:sticky;top:84px;overflow-y:auto}}@media (prefers-reduced-motion:reduce){.player-photo,.player-scene{animation:none}}
:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--night:#0f172a;--on-accent:#fff;--stage:#f1f5f9;--stage-card:#fff;--stage-deep:#e2e8f0;--stage-text:#0f172a;--stage-muted:#64748b;--stage-accent:#2563eb;--stage-on-accent:#fff;--stage-gold:#b45309;--accent-2:#4f46e5;--text-accent:#2563eb;--stage-rgb:15 23 42;--header-bg:#fffffff0;--glass:#fffc}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bone:#0f172a;--white:#1e293b;--ink:#f1f5f9;--muted:#94a3b8;--line:#334155;--blue-soft:#1e3a8a;--green:#4ade80;--green-text:#4ade80;--green-soft:#14532d;--red:#f87171;--red-text:#fca5a5;--red-soft:#7f1d1d;--stage:#0f172a;--stage-card:#1e293b;--stage-deep:#0b1120;--stage-text:#fff;--stage-muted:#94a3b8;--stage-accent:#60a5fa;--stage-on-accent:#0f172a;--stage-gold:#fbbf24;--accent-2:#818cf8;--text-accent:#93c5fd;--stage-rgb:255 255 255;--header-bg:#0f172af2;--glass:#1e293bb8}body{transition:background .25s,color .25s}.site-header{background:var(--header-bg);border-bottom-color:var(--line);color:var(--stage-text)}.tab-bar{border-top-color:var(--line);color:var(--stage-muted)}.tab-bar a{justify-items:center;gap:2px;padding:8px 2px;font-size:12px;display:grid}.hero{background:radial-gradient(700px 420px at 78% 12%, #2563eb3d, transparent 70%), radial-gradient(600px 400px at 8% 90%, #8c46ff26, transparent 70%), var(--stage);color:var(--stage-text)}.section-dark{background:var(--stage);color:var(--stage-text)}.lecture{background:radial-gradient(800px 500px at 85% 0%, #2563eb29, transparent 70%), var(--stage);color:var(--stage-text)}.dash-dark{background:var(--stage);border-color:var(--line);color:var(--stage-text)}.btn-ghost,.lecture-tools button,.theme-toggle,.search-button,.hero-lab .bit:not([aria-pressed=true]),.journey-letters b,.journey-input input,.map-node text{color:var(--stage-text)}.lecture-tools [aria-pressed=true]{color:var(--on-accent)}.theme-toggle{background:rgb(var(--stage-rgb) / .08);border:1px solid rgb(var(--stage-rgb) / .16);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.show-in-dark,:root[data-theme=dark] .show-in-light{display:none}:root[data-theme=dark] .show-in-dark{display:block}.sort-bars,.search-grid{background:var(--stage-deep)}.chips [aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.net-node circle{stroke:var(--stage-accent);stroke-width:1.5px}.net-node[data-failed=true] circle{stroke:#dc2626}.net-node text,.map-hub-text{fill:#fff}.gate-box{border:1px solid var(--line)}.search-dialog{background:var(--white);color:var(--ink)}.search-dialog input{color:var(--ink)}.lecture-back{width:38px;height:38px;color:var(--stage-text);place-items:center;display:grid}.lecture-nav .btn{min-width:64px}.lecture-nav{border-top-color:rgb(var(--stage-rgb) / .12)}.lecture-tools{align-items:center}.lecture-tools button{place-items:center;min-width:38px;padding:0;display:grid}@media print{:root,:root[data-theme=dark]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bone:#fff;--white:#fff;--ink:#0f172a;--muted:#4a4e5c;--line:#d9d8d1}}.donut-track{stroke:rgb(var(--stage-rgb) / .1)}.empty-chart{color:var(--muted);text-align:center;justify-items:center;gap:10px;padding:28px 12px;display:grid}.empty-chart svg{color:var(--text-accent)}.site-header .top-nav{display:none}@media (min-width:860px){.site-header .top-nav{display:flex}}
::selection{background:var(--blue);color:#fff}html{scrollbar-color:rgb(var(--stage-rgb) / .3) transparent}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}main{animation:.35s page-in}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}}.dash-card,.setup-card,.q-card,.lab,.slide,.notes,.matcher,.career-detail,.career-layout>.graph-scroll,.class-list section{box-shadow:0 1px 2px #0f172a0a,0 8px 24px #0f172a0d}.chapter-card{transition:border-color .2s,transform .2s,box-shadow .2s;box-shadow:0 1px 2px #0f172a0a,0 8px 24px #0f172a0d}.chapter-card:hover{box-shadow:0 18px 44px #2563eb29}:root[data-theme=dark] .dash-card,:root[data-theme=dark] .setup-card,:root[data-theme=dark] .q-card,:root[data-theme=dark] .lab,:root[data-theme=dark] .slide,:root[data-theme=dark] .notes,:root[data-theme=dark] .matcher,:root[data-theme=dark] .career-detail,:root[data-theme=dark] .chapter-card{box-shadow:none}.btn:active:not(:disabled){transform:translateY(0)scale(.98)}.btn svg{flex:none}.top-nav a{color:var(--stage-muted);padding:4px 0;transition:color .15s;position:relative}.top-nav a:hover,.top-nav [aria-current=page]{color:var(--stage-text)}.top-nav [aria-current=page]:after{content:"";background:var(--stage-accent);border-radius:2px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.tab-bar [aria-current=page]{color:var(--stage-accent);font-weight:600}.graph-node text{fill:var(--stage-muted)}.graph-node[data-on=true] text{fill:var(--stage-text)}.graph-link{stroke:rgb(var(--stage-rgb) / .14)}.graph-link[data-on=true]{stroke:var(--stage-accent)}.graph-node circle{fill:var(--white);stroke:rgb(var(--stage-rgb) / .2)}.graph-node[data-on=true] circle{fill:var(--stage-accent);stroke:var(--stage-accent)}svg g:focus,svg g:focus-visible{outline:none}.map-node:focus-visible .map-node-bg,.graph-node:focus-visible circle,.net-node:focus-visible circle{stroke:var(--stage-gold);stroke-width:4px}.map-node-bg{fill:var(--stage-card);stroke:rgb(var(--stage-rgb) / .16)}.map-node[data-on=true] .map-node-bg{fill:var(--blue);stroke:var(--blue)}.map-node-icon{color:var(--stage-accent)}.map-node[data-on=true] .map-node-icon{color:#fff}.map-node text{fill:var(--stage-muted);font-size:15px;font-weight:600}.map-node[data-on=true] text{fill:var(--stage-text)}.site-footer{padding:36px 0 22px}.footer-grid{gap:24px;display:grid}.footer-grid p{max-width:300px;margin-top:6px}.footer-grid .brand{color:var(--ink)}.footer-grid h2{color:var(--ink);margin-bottom:6px;font-size:15px}.footer-grid nav{align-content:start;gap:3px;font-size:15px;display:grid}.footer-grid nav a:hover,.footer-end a:hover{color:var(--text-accent)}.footer-end{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:26px;display:flex}.not-found{text-align:center;align-content:center;justify-items:center;gap:8px;min-height:62dvh;padding-top:40px;padding-bottom:40px;display:grid}.not-found-icon{background:var(--blue-soft);width:96px;height:96px;color:var(--text-accent);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.not-found h1{font-size:clamp(26px,5vw,38px)}.not-found>p:not(.eyebrow){color:var(--muted)}@media (min-width:640px){.footer-grid{grid-template-columns:2fr 1fr 1fr}}
.lecture{grid-template-rows:auto auto minmax(0,1fr) auto auto}.lecture-notes p{white-space:pre-line}@keyframes icon-float{50%{transform:translateY(-5px)}}@keyframes tap-ring{0%{box-shadow:0 0 #2563eb80}to{box-shadow:0 0 0 16px #2563eb00}}@keyframes icon-pop{0%{transform:scale(.7)rotate(-8deg)}60%{transform:scale(1.12)rotate(3deg)}}.lesson-map{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.lesson-map button{background:rgb(var(--stage-rgb) / .06);border:1.5px solid rgb(var(--stage-rgb) / .14);border-radius:16px;justify-items:center;gap:8px;padding:16px 10px;font-size:15px;font-weight:600;line-height:1.35;transition:transform .2s,border-color .2s,background .2s;animation:.45s backwards icon-pop;display:grid}.lesson-map button svg{color:var(--stage-accent)}.lesson-map button:hover{border-color:var(--stage-accent);transform:translateY(-5px)}.photo-hero[data-photo=true]{min-height:min(62dvh,520px)}.photo-hero>div{grid-template-columns:minmax(0,1fr) auto;align-items:end;column-gap:14px}.photo-hero>div>*{grid-column:1}.hero-play{background:var(--blue);color:#fff;border:0;border-radius:50%;grid-row:1/span 3;align-self:end;place-items:center;width:76px;height:76px;animation:1.6s ease-out infinite tap-ring;display:grid;grid-column:2!important}.hero-play:hover{scale:1.08}.orbit-center{animation:.35s center-pop,3.2s ease-in-out infinite icon-float}.orbit-item:not([data-seen=true]){box-shadow:0 0 #2563eb80}.orbit-seat .orbit-item:not([data-seen=true]):after{content:"";pointer-events:none;border-radius:50%;animation:2s ease-out infinite tap-ring;position:absolute;inset:-2px}.orbit-item{position:relative}.orbit-item[aria-pressed=true] svg{animation:.4s icon-pop}.step-start{background:var(--blue);color:#fff;border:0;border-radius:50%;place-items:center;width:96px;height:96px;margin:12px auto;animation:1.6s ease-out infinite tap-ring;display:grid}.step-focus{background:#2563eb1f;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;min-height:130px;padding:20px;animation:.3s stage-in;display:grid}.step-focus b{background:var(--blue);color:#fff;border-radius:50%;place-items:center;width:58px;height:58px;font-size:26px;animation:.4s icon-pop;display:grid}.step-focus p{overflow-wrap:anywhere;font-size:clamp(19px,3vw,28px);font-weight:600;line-height:1.4}.step-dots{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.step-dots span{background:rgb(var(--stage-rgb) / .18);border-radius:50%;width:10px;height:10px;transition:background .2s,transform .2s}.step-dots [data-on=true]{background:var(--stage-accent);transform:scale(1.2)}.drag-game{gap:18px;display:grid}.drag-targets{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:10px;display:grid}.drag-targets button{background:rgb(var(--stage-rgb) / .05);border:2px dashed rgb(var(--stage-rgb) / .22);border-radius:16px;align-content:center;justify-items:center;gap:6px;min-height:132px;padding:12px 8px;transition:background .2s,border-color .2s;display:grid}.drag-targets svg{color:var(--stage-accent)}.drag-targets small{color:var(--stage-muted);font-size:13px;line-height:1.3}.drag-hole{background:rgb(var(--stage-rgb) / .12);border-radius:999px;width:64px;height:10px}.drag-targets [data-placed=true]{background:#35d39a29;border:2px solid #35d39a;animation:.35s icon-pop}.drag-targets [data-wrong=true]{border-color:#ff8a80;animation:.35s wrong-shake}.drag-names{flex-wrap:wrap;justify-content:center;gap:8px;min-height:50px;display:flex}.drag-name{background:var(--blue);color:#fff;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border:0;border-radius:999px;min-height:48px;padding:0 18px;font-weight:700;box-shadow:0 8px 20px #2563eb4d}.drag-name[data-chosen=true]{outline:3px solid var(--stage-gold);outline-offset:2px}.drag-name[data-dragging=true]{z-index:5;cursor:grabbing;pointer-events:auto;position:relative}.flip3d{height:148px}.flip-front{align-content:center;gap:6px}.flip-front svg{color:var(--stage-accent)}.flip3d:hover .flip-front svg{animation:.4s icon-pop}.pattern h2{text-align:center}.pattern-icons{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.pattern-icons button{background:rgb(var(--stage-rgb) / .06);border:1.5px solid rgb(var(--stage-rgb) / .14);border-radius:16px;justify-items:center;gap:4px;padding:14px 6px;font-weight:600;transition:transform .2s,background .2s;display:grid}.pattern-icons button:hover{transform:translateY(-4px)}.pattern-icons svg{color:var(--stage-accent)}.pattern-icons [aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.pattern-icons [aria-pressed=true] svg{color:#fff;animation:.4s icon-pop}.pattern-panel{background:rgb(var(--stage-rgb) / .05);border-radius:16px;align-content:center;min-height:130px;padding:16px;animation:.25s pop-in;display:grid}.pattern-panel>p{text-align:center;font-size:clamp(18px,2.6vw,24px);font-weight:600}.pattern-panel ol{gap:8px;display:grid}.pattern-panel li{align-items:center;gap:10px;animation:.3s backwards pop-in;display:flex}.pattern-panel li b{background:var(--stage-accent);width:28px;height:28px;color:var(--stage-on-accent);border-radius:50%;flex:none;place-items:center;font-size:14px;display:grid}.pattern-dots{justify-content:center;gap:8px;display:flex}.pattern-dots button{background:rgb(var(--stage-rgb) / .16);border:0;border-radius:999px;width:34px;height:12px;padding:0}.pattern-dots [aria-pressed=true]{background:var(--stage-accent)}.trap-icons{gap:16px;display:grid}.trap-row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.trap-row button{color:#e5635a;background:#ff8a8024;border:2px solid #ff8a80;border-radius:50%;place-items:center;width:82px;height:82px;transition:transform .2s;animation:2.6s ease-in-out infinite icon-float;display:grid}.trap-row button:nth-child(2){animation-delay:.4s}.trap-row button:nth-child(3){animation-delay:.8s}.trap-row [data-tip=true]{color:#1aa877;background:#35d39a24;border-color:#35d39a}.trap-row [data-seen=true]{opacity:.75;animation:none}.trap-row [aria-pressed=true]{opacity:1;scale:1.1}.trap-text{background:rgb(var(--stage-rgb) / .05);text-align:center;border-radius:14px;place-content:center;min-height:92px;padding:14px;font-size:clamp(16px,2.2vw,20px);font-weight:500;animation:.25s pop-in;display:grid}.wrap-exam{justify-self:center}.lesson-rail{border-top:1px solid rgb(var(--stage-rgb) / .1);scrollbar-width:none;justify-content:center;gap:4px;padding:6px 8px;display:flex;overflow-x:auto}.lesson-rail button{width:34px;height:34px;color:var(--stage-muted);opacity:.6;background:0 0;border:0;border-radius:10px;flex:none;place-items:center;transition:background .2s,opacity .2s,transform .2s;display:grid}.lesson-rail button:hover{opacity:1;transform:translateY(-2px)}.lesson-rail [data-done=true]{color:var(--stage-accent);opacity:1}.lesson-rail [aria-current=true]{background:var(--blue);color:#fff;opacity:1}.lecture-nav{padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}.lecture-nav .btn{min-height:42px}@media (prefers-reduced-motion:reduce){.orbit-center,.hero-play,.step-start,.trap-row button,.orbit-seat .orbit-item:after{animation:none!important}}.lesson-rail button{flex:1 1 0;min-width:0;max-width:34px}
.price-layout{align-items:center;gap:24px;display:grid}.price-title{margin:6px 0 18px;font-size:clamp(28px,5vw,40px)}.price-list{gap:10px;display:grid}.price-list li{align-items:center;gap:12px;font-size:17px;font-weight:500;display:flex}.price-list span{background:var(--blue-soft);width:38px;height:38px;color:var(--text-accent);border-radius:11px;flex:none;place-items:center;display:grid}.price-card{background:var(--white);border:2px solid var(--blue);text-align:center;border-radius:22px;gap:4px;padding:28px 24px 22px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px #2563eb33}.price-badge{color:#fff;background:#e5484d;border-radius:999px;justify-self:center;padding:3px 14px;font-size:15px;font-weight:700;animation:2.6s ease-in-out infinite icon-float}.price-card h3{margin-top:8px;font-size:20px}.price-old{color:var(--muted);margin-top:8px;font-size:22px}.price-old s{text-decoration-color:#e5484d;text-decoration-thickness:2px}.price-now{color:var(--text-accent);font-size:clamp(52px,10vw,68px);font-weight:800;line-height:1.1}.price-save{color:var(--green-text);margin-bottom:14px;font-weight:600}.price-note{color:var(--muted);margin-top:8px;font-size:14px}@media (min-width:860px){.price-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:48px}}@media (prefers-reduced-motion:reduce){.price-badge{animation:none}}
.board-pill{color:#fff;background:#e5484d;border-radius:999px;justify-self:start;padding:2px 12px;font-size:14px;font-weight:700}.board-topics{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:6px;max-width:760px;margin-bottom:16px;padding:18px;display:grid}.board-topics h2{align-items:center;gap:8px;font-size:18px;display:flex}.board-topics h2 svg{color:#e5484d}.board-rows{gap:4px;margin-top:6px;display:grid}.board-rows button{text-align:left;background:0 0;border:1.5px solid #0000;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:6px 8px;transition:background .15s;display:grid}.board-rows button:hover{background:var(--bone)}.board-rows [aria-pressed=true]{background:var(--blue-soft);border-color:var(--blue)}.board-name{flex-wrap:wrap;align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.board-name i{color:#d9a400;display:inline-flex}.board-name svg{fill:currentColor}.board-rows b{color:var(--text-accent);grid-area:1/2/span 2;font-size:20px}.board-bar{background:rgb(var(--stage-rgb) / .08);border-radius:999px;height:7px;display:block;overflow:hidden}.board-bar em{transform-origin:0;background:linear-gradient(90deg,#dc2626,#f59e0b);border-radius:999px;height:100%;animation:.8s backwards grow-bar;display:block}.fact-cards{gap:8px;max-width:760px;display:grid}.fact-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.fact-grid button{background:var(--white);border:1.5px solid var(--line);text-align:left;overflow-wrap:anywhere;border-radius:14px;align-content:center;gap:4px;min-height:96px;padding:12px 14px;transition:transform .15s,border-color .15s,background .15s;display:grid}.fact-grid button:hover{border-color:var(--blue);transform:translateY(-2px)}.fact-grid span{color:var(--muted);font-size:15px}.fact-grid b{color:var(--text-accent);font-size:18px}.fact-grid [data-open=true]{background:var(--blue-soft);border-color:var(--blue)}.fact-grid [data-open=true] b{animation:.25s pop-in}.nano-lab{gap:14px;display:grid}.nano-stage{background:var(--bone);text-align:center;border-radius:14px;justify-items:center;gap:2px;padding:22px 12px;transition:background .3s;display:grid}.nano-stage[data-nano=true]{background:var(--blue-soft)}.nano-emoji{font-size:60px;line-height:1.2;animation:.35s icon-pop}.nano-stage b{font-size:20px}.nano-stage span:not(.nano-emoji){color:var(--muted)}.nano-stage em{background:var(--blue);color:#fff;border-radius:999px;margin-top:4px;padding:1px 10px;font-size:13px;font-style:normal;font-weight:700}
.board-lab{gap:14px;min-width:0;display:grid}.heat-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);gap:8px;min-width:0;padding:18px;display:grid}.heat-card h2,.board-bar-row h2{font-size:18px}.heat{border-spacing:4px;width:100%;font-size:14px}.heat th{text-align:left;font-weight:600}.heat thead th{text-align:center}.heat thead th:first-child{text-align:left}.heat th button{text-align:left;background:0 0;border:0;border-radius:8px;min-height:34px;padding:2px 6px;font-weight:600;line-height:1.25}.heat tbody th{min-width:128px}.heat th [aria-pressed=true]{background:var(--blue);color:var(--on-accent)}.heat-cell{background:rgb(var(--stage-rgb) / .05);border:2px solid #0000;border-radius:8px;place-items:center;width:100%;min-width:34px;height:36px;font-weight:700;transition:transform .12s;display:grid}.heat-cell:hover{transform:scale(1.08)}.heat-cell[data-level="1"]{background:#2563eb33}.heat-cell[data-level="2"]{background:#2563eb66}.heat-cell[data-level="3"]{color:#fff;background:#2563eba6}.heat-cell[data-level="4"]{color:#fff;background:#2563eb}.heat-cell[data-on=true]{border-color:var(--stage-gold)}.heat-answer{background:var(--blue-soft);border-radius:10px;padding:10px 12px;font-size:15px;animation:.25s pop-in}.board-bar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.board-bar-row h2{align-items:center;gap:8px;display:flex}.board-bar-row h2 svg{color:var(--text-accent)}.year-marks{flex-wrap:wrap;gap:5px;display:flex}.year-mark{background:var(--blue);border:1.5px solid var(--blue);min-height:28px;color:var(--on-accent);border-radius:999px;padding:0 9px;font-size:13px;font-weight:700}.year-mark[data-similar=true]{color:var(--text-accent);background:0 0;border-style:dashed}.year-mark[aria-pressed=true]{background:var(--stage-gold);border:1.5px solid var(--stage-gold);color:var(--white)}.board-lab-link{margin-top:12px}.board-link{min-height:0;display:inline-block}@media (max-width:560px){.heat-card{padding:14px 10px}.heat{border-spacing:3px;font-size:13px}.heat tbody th{min-width:84px}.heat th button{padding:2px}.heat-cell{min-width:26px;height:32px}}
.chapter-page section[id]{scroll-margin-top:132px}.chapter-hero{gap:18px;min-width:0;display:grid}.chapter-switch{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.chapter-switch a{background:var(--white);border:1px solid var(--line);min-height:38px;color:var(--muted);border-radius:10px;flex:none;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;transition:border-color .15s,color .15s;display:inline-flex}.chapter-switch a:hover{border-color:var(--text-accent);color:var(--text-accent)}.chapter-switch [aria-current=page],.chapter-switch [aria-current=page]:hover{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.chapter-hero-main{align-items:stretch;gap:18px;min-width:0;display:grid}.chapter-hero-text{align-content:center;gap:10px;min-width:0;display:grid}.chapter-hero-text h1{font-size:clamp(26px,4.4vw,40px);line-height:1.25}.chapter-hero-text>p{color:var(--muted)}.chapter-hero-text .btn svg{flex:none}.chapter-hero-card{border-radius:var(--radius);color:#fff;place-content:center;justify-items:center;gap:6px;min-height:210px;display:grid;position:relative;overflow:hidden}.chapter-hero-card img{object-fit:cover}.chapter-hero-card:after{content:"";background:#0a0c189e;position:absolute;inset:0}.chapter-hero-card>:not(img){z-index:1;position:relative}.chapter-hero-card p{font-weight:600}.progress-ring{place-items:center;width:118px;height:118px;display:grid;position:relative}.progress-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.progress-ring circle{fill:none;stroke:#ffffff40;stroke-width:8px}.progress-ring circle+circle{stroke:#fff;stroke-linecap:round;transition:stroke-dashoffset .7s}.progress-ring b{font-size:25px}.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.hub-grid[data-odd=true] .hub-tile:first-child{grid-column:span 2}.hub-tile{background:var(--white);border:1px solid var(--line);border-radius:14px;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;padding:14px;transition:transform .15s,border-color .15s,box-shadow .15s;animation:.35s both hub-in;display:grid}.hub-tile:nth-child(2){animation-delay:40ms}.hub-tile:nth-child(3){animation-delay:80ms}.hub-tile:nth-child(4){animation-delay:.12s}.hub-tile:nth-child(5){animation-delay:.16s}.hub-tile:nth-child(6){animation-delay:.2s}.hub-tile:nth-child(7){animation-delay:.24s}.hub-tile:nth-child(8){animation-delay:.28s}@keyframes hub-in{0%{opacity:0;transform:translateY(8px)}}.hub-tile:hover{border-color:var(--text-accent);transform:translateY(-3px);box-shadow:0 8px 22px #0f172a17}.hub-icon{background:var(--blue-soft);width:44px;height:44px;color:var(--text-accent);border-radius:12px;grid-row:span 2;place-items:center;transition:transform .15s;display:grid}.hub-tile:hover .hub-icon{transform:scale(1.08)rotate(-4deg)}.hub-tile b{align-self:end;font-size:16px;line-height:1.3}.hub-tile small{color:var(--muted);align-self:start;font-size:13px}.deck-side{gap:10px;min-width:0;display:grid}.deck-search{background:var(--white);border:1px solid var(--line);color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.deck-search:focus-within{border-color:var(--text-accent)}.deck-search input{width:100%;min-width:0;min-height:42px;color:inherit;font:inherit;background:0 0;border:0;outline:0;font-size:15px}.deck-name{flex:1;font-style:normal}.deck-list button small{color:var(--stage-gold);flex:none;align-items:center;gap:2px;font-size:12px;font-weight:700;display:inline-flex}.lesson-links{flex-wrap:wrap;gap:8px;display:flex}.lesson-links a{background:var(--blue-soft);min-height:38px;color:var(--text-accent);border-radius:10px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;transition:transform .15s;display:inline-flex}.lesson-links a:hover{transform:translateY(-2px)}.lab-tabs{flex-wrap:wrap;gap:8px;display:flex}.lab-tabs button{background:var(--white);border:1px solid var(--line);border-radius:10px;flex:none;align-items:center;gap:6px;min-height:40px;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.lab-tabs [aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.chapter-pager{gap:10px;display:grid}.chapter-pager a{background:var(--white);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:14px;font-weight:600;line-height:1.35;transition:border-color .15s;display:flex}.chapter-pager a:hover{border-color:var(--text-accent)}.chapter-pager svg{color:var(--text-accent);flex:none}.chapter-pager span{flex:1;min-width:0}.chapter-pager small{color:var(--muted);font-size:13px;font-weight:500;display:block}.chapter-pager [data-next=true]{text-align:right}@media (min-width:640px){.chapter-pager{grid-template-columns:repeat(2,minmax(0,1fr))}.chapter-pager [data-next=true]:only-child{grid-column:2}}@media (min-width:860px){.chapter-hero-main{grid-template-columns:minmax(0,1fr) 320px}.hub-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:960px){.deck-side{position:sticky;top:130px}}@media (max-width:859px){.chapter-hero-card{justify-content:center;align-items:center;gap:14px;min-height:92px;padding:10px;display:flex}.progress-ring{width:70px;height:70px}.progress-ring b{font-size:15px}}@media (prefers-reduced-motion:reduce){.hub-tile{animation:none}.hub-tile,.hub-icon,.lesson-links a,.progress-ring circle+circle{transition:none}}.hub-tile b,.chapter-pager a{color:var(--ink)}
.tlab{gap:12px;min-width:0;margin-top:12px;display:grid}.tlab>.btn{justify-self:start}.tlab-row{flex-wrap:wrap;gap:8px;display:flex}.tlab-label{color:var(--muted);font-size:14px;font-weight:600}.tlab-chip{background:var(--white);border:1px solid var(--line);border-radius:10px;min-height:40px;padding:0 13px;font-size:15px;font-weight:600;transition:transform .12s}.tlab-chip:hover:not(:disabled){transform:translateY(-2px)}.tlab-chip[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:var(--on-accent)}.tlab-chip[data-state=right]{background:var(--green-soft);border-color:var(--green);color:var(--green-text)}.tlab-chip[data-state=wrong]{background:var(--red-soft);border-color:var(--red);color:var(--red-text)}.tlab-tag{background:var(--bone);min-height:32px;color:var(--muted);border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.tlab-tag[data-on=true]{background:var(--blue-soft);color:var(--text-accent)}.tlab-result{background:var(--bone);border-radius:10px;padding:10px 13px;font-size:15px;font-weight:500;animation:.22s pop-in}.tlab-result[data-good=true]{background:var(--green-soft);color:var(--green-text)}.village-map{aspect-ratio:2;background:#06081a url(/photos/global-village.jpg) 50%/100% 100%;border-radius:12px;overflow:hidden}.village-map svg{width:100%;height:100%;display:block}.village-route{fill:none;stroke:#ff8f8f;stroke-dasharray:3 3;stroke-width:.9px}.village-route[data-live=true]{stroke:#93c5fd;stroke-dasharray:none}.village-city{fill:#fff}.village-message{fill:#ffc24d}.home-stage{background:var(--bone);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;transition:background .3s;display:grid}.home-stage[data-night=true]{background:#141a33}.home-room{background:var(--white);color:var(--muted);text-align:center;border-radius:10px;justify-items:center;gap:4px;padding:14px 6px;font-size:15px;font-weight:600;display:grid}.home-room[data-on=true]{color:var(--text-accent);box-shadow:inset 0 0 0 2px var(--text-accent)}.home-room[data-spin=true] svg{animation:1s linear infinite home-spin}@keyframes home-spin{to{transform:rotate(360deg)}}.vr-headset{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#0f172a;border-radius:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px;display:grid}.vr-eye{border-radius:12px;width:100%;display:block}.ai-meter{grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;display:grid}.ai-meter b{color:var(--text-accent);font-size:26px;line-height:1.1}.ai-meter span{color:var(--muted);font-size:14px}.ai-meter i{background:var(--bone);border-radius:8px;grid-column:span 2;height:8px;overflow:hidden}.ai-meter em{background:var(--blue);height:100%;transition:width .3s;display:block}.ai-map{grid-template-columns:auto minmax(0,1fr);gap:4px 6px;display:grid}.ai-map svg{cursor:crosshair;border-radius:10px;width:100%;display:block}.ai-map small{color:var(--muted);font-size:12px}.ai-y{writing-mode:vertical-rl;align-self:center;transform:rotate(180deg)}.ai-x{text-align:center;grid-column:2}.ai-key:before{content:"";background:#bfdbfe;border-radius:3px;width:12px;height:12px}.ai-key[data-spam=true]:before{background:#ffd9a8}.ai-cell{fill:#bfdbfe;transition:fill .2s}.ai-cell[data-spam=true]{fill:#ffd9a8}.ai-dot{fill:#2563eb;stroke:#fff;stroke-width:1.5px}.ai-dot[data-spam=true]{fill:#e0741a}.robot-board{grid-template-columns:repeat(5,1fr);gap:4px;width:min(100%,320px);display:grid}.robot-cell{aspect-ratio:1;background:var(--bone);color:var(--text-accent);border-radius:8px;place-items:center;display:grid}.robot-cell[data-wall=true]{background:var(--muted)}.robot-program{border:1px dashed var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px;min-height:42px;padding:6px 8px;display:flex}.robot-program small{color:var(--muted);font-size:14px}.robot-program span{background:var(--bone);border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.robot-program [data-now=true]{background:var(--blue);color:var(--on-accent)}.cryo-stage{background:#f2c9b0;border-radius:12px;position:relative;overflow:hidden}.cryo-stage svg{width:100%;max-height:300px;display:block}.cryo-stage b{color:#fff;background:#0f172ab8;border-radius:8px;padding:2px 10px;font-size:20px;position:absolute;top:10px;left:12px}.cryo-stage b[data-cold=true]{background:#4f46e5}.cryo-skin{fill:#f2c9b0}.cryo-tumour{fill:#c9483f;transition:fill .3s}.cryo-tumour[data-dead=true]{fill:#7f6a70}.cryo-edge{fill:none;stroke:#6e4a3a;stroke-dasharray:3 3}.cryo-ice{fill:#aadeffb8;stroke:#fff}.cryo-probe{fill:#64748b}.bio-stage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.bio-print{background:var(--bone);height:190px;color:var(--line);border-radius:12px;place-items:center;display:grid;position:relative}.bio-print[data-on=true]{color:var(--text-accent)}.bio-print svg:last-child{width:150px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bio-point{fill:#e0741a}.bio-saved{fill:none;stroke:#16a34a;stroke-width:1.4px}.bio-result{background:var(--bone);color:var(--muted);text-align:center;border-radius:12px;place-content:center;justify-items:center;gap:6px;display:grid}.bio-result[data-open=true]{background:var(--green-soft);color:var(--green-text)}.bio-result[data-shut=true]{background:var(--red-soft);color:var(--red-text)}.bio-steps{flex-wrap:wrap;gap:6px;padding:0;list-style:none;display:flex}.bio-steps li{background:var(--bone);color:var(--muted);border-radius:8px;padding:3px 10px;font-size:14px;font-weight:600}.bio-steps [data-done=true]{background:var(--blue-soft);color:var(--text-accent)}.dna-strand{gap:2px;padding-bottom:6px;display:flex;overflow-x:auto}.dna-pair{background:var(--bone);width:26px;font-family:var(--font-latin), monospace;border:0;border-radius:6px;flex:none;justify-items:center;gap:2px;padding:5px 0;font-size:14px;display:grid}.dna-pair small{color:var(--muted);font-size:12px}.dna-pair i{background:var(--muted);width:2px;height:12px}.dna-pair[data-mark=true]{background:var(--blue);color:var(--on-accent)}.dna-pair[data-mark=true] small{color:inherit}.dna-pair[data-mark=true] i{background:currentColor}.gene-stage{background:var(--bone);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px;padding:10px;display:grid}.gene-stage>svg{width:100%;max-height:180px;display:block}.gene-cell{fill:#2563eb1f;stroke:#2563eb;stroke-width:1.5px}.gene-ring{fill:none;stroke:#2563eb;stroke-width:6px;transition:stroke-dasharray .3s}.gene-insert{fill:none;stroke:#e0a019;stroke-width:6px}.gene-colony{flex-wrap:wrap;gap:6px;display:flex}.gene-colony i{background:var(--green);border-radius:12px;width:26px;height:12px;animation:.25s pop-in}.btn[data-done=true]{opacity:.5}.ethics-case{background:var(--blue-soft);border-radius:12px;padding:16px;font-size:18px;font-weight:600;line-height:1.5}@media (prefers-reduced-motion:reduce){.home-room[data-spin=true] svg,.tlab-result{animation:none}.tlab-chip,.ai-cell,.ai-meter em,.cryo-tumour,.gene-ring,.home-stage{transition:none}}
