:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#f2f3f6;--surface-3:#e8eaef;--ink:#0b0e14;--ink-2:#474e5d;--ink-3:#868d9c;--line:#e4e6eb;--line-2:#d3d6de;--brand:#0f766e;--brand-2:#0d9488;--brand-ink:#fff;--brand-soft:#e3f3f0;--accent:#4f46e5;--accent-soft:#eceafd;--good:#15803d;--good-soft:#e3f5e8;--bad:#c9302c;--bad-soft:#fcebea;--warn:#b45309;--warn-soft:#fdf1dc;--info:#2563eb;--info-soft:#e7eefd;--m5:#0891b2;--m6:#2563eb;--m10:#e8590c;--m15:#0a84c6;--m16:#e11d48;--m21:#7c3aed;--shadow-1:0 1px 2px #0f141e0d;--shadow-2:0 1px 2px #0f141e0a, 0 8px 24px -8px #0f141e1f;--shadow-3:0 24px 64px -16px #0f141e47, 0 2px 6px #0f141e0f;--ring:0 0 0 .1875rem color-mix(in srgb, var(--brand) 22%, transparent);--r-sm:.5rem;--r:.75rem;--r-lg:1rem;--r-xl:1.25rem;--ease:cubic-bezier(.2, .8, .2, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--font:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", monospace;--font-serif:"Instrument Serif", Georgia, serif;--side-w:16rem;--top-h:3.75rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#090b0f;--surface:#101319;--surface-2:#161a22;--surface-3:#1f242e;--ink:#eef1f5;--ink-2:#a2aaba;--ink-3:#6b7383;--line:#20252e;--line-2:#2c323d;--brand:#2dd4bf;--brand-2:#5eead4;--brand-ink:#04211d;--brand-soft:#2dd4bf1f;--accent:#818cf8;--accent-soft:#818cf824;--good:#4ade80;--good-soft:#4ade801f;--bad:#f87171;--bad-soft:#f871711f;--warn:#fbbf24;--warn-soft:#fbbf241f;--info:#7aa7ff;--info-soft:#7aa7ff21;--m5:#22d3ee;--m6:#60a5fa;--m10:#fb8a3c;--m15:#38bdf8;--m16:#fb7185;--m21:#a78bfa;--shadow-1:0 1px 2px #00000080;--shadow-2:0 1px 2px #0006, 0 10px 30px -10px #0009;--shadow-3:0 30px 70px -20px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#090b0f;--surface:#101319;--surface-2:#161a22;--surface-3:#1f242e;--ink:#eef1f5;--ink-2:#a2aaba;--ink-3:#6b7383;--line:#20252e;--line-2:#2c323d;--brand:#2dd4bf;--brand-2:#5eead4;--brand-ink:#04211d;--brand-soft:#2dd4bf1f;--accent:#818cf8;--accent-soft:#818cf824;--good:#4ade80;--good-soft:#4ade801f;--bad:#f87171;--bad-soft:#f871711f;--warn:#fbbf24;--warn-soft:#fbbf241f;--info:#7aa7ff;--info-soft:#7aa7ff21;--m5:#22d3ee;--m6:#60a5fa;--m10:#fb8a3c;--m15:#38bdf8;--m16:#fb7185;--m21:#a78bfa;--shadow-1:0 1px 2px #00000080;--shadow-2:0 1px 2px #0006, 0 10px 30px -10px #0009;--shadow-3:0 30px 70px -20px #000c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;transition:font-size .25s var(--ease)}body{background:var(--bg);color:var(--ink);font:400 1rem/1.6 var(--font);letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "cv11";min-height:100dvh;margin:0;overflow-x:hidden}h1,h2,h3,h4{letter-spacing:-.028em;margin:0 0 .5em;font-weight:600;line-height:1.15}h1{letter-spacing:-.038em;font-size:clamp(1.9rem,3.4vw,2.6rem)}h2{font-size:clamp(1.3rem,2.2vw,1.6rem)}h3{letter-spacing:-.018em;font-size:1.075rem}em.serif,h1 em,h2 em,h3 em{font-family:var(--font-serif);letter-spacing:-.01em;font-style:italic;font-weight:400}p{margin:0 0 1em}a{color:var(--brand);text-decoration:none}button{font:inherit;color:inherit;letter-spacing:inherit}svg{flex:none;display:block}::selection{background:color-mix(in srgb, var(--brand) 22%, transparent)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:.375rem}.skip{background:var(--surface);border-radius:var(--r-sm);z-index:200;padding:.5rem .9rem;position:absolute;top:.5rem;left:-999px}.skip:focus{left:.5rem}kbd{font:500 .6875rem var(--font-mono);border:1px solid var(--line-2);color:var(--ink-3);background:var(--surface);border-bottom-width:2px;border-radius:.3rem;padding:.1rem .35rem}.container{width:100%;max-width:72rem;margin:0 auto;padding:0 1rem}@media (width>=45rem){.container{padding:0 2rem}}.eyebrow{font:500 .6875rem/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:.84rem}.mono{font:500 .82rem var(--font-mono);color:var(--ink-2)}.danger{color:var(--bad)!important}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.spacer{flex:1}.stack>*+*{margin-top:1rem}.as-button{text-align:left;cursor:pointer;width:100%;font:inherit}@media (width<=40rem){.hide-sm{display:none!important}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shell{min-height:100dvh}.shell-main{min-width:0}@media (width>=64rem){.shell:not(.focus) .shell-main{margin-left:var(--side-w)}}.sidebar{width:var(--side-w);z-index:50;background:var(--surface);border-right:1px solid var(--line);flex-direction:column;padding:1rem .75rem;display:none;position:fixed;inset:0 auto 0 0}@media (width>=64rem){.sidebar{display:flex}}.brand{color:var(--ink);align-items:center;gap:.65rem;padding:.25rem .5rem;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg,#14b8a6,#0f766e 60%,#115e59);border-radius:.6rem;place-items:center;width:2.1rem;height:2.1rem;display:grid;box-shadow:inset 0 1px #ffffff40,0 4px 12px -4px #0f766e99}.brand-mark svg{width:1.35rem;height:1.35rem}.brand-mark path{stroke-dasharray:64;animation:ecg-mini 4s var(--ease) infinite}@keyframes ecg-mini{0%{stroke-dashoffset:64px}40%,to{stroke-dashoffset:0}}.brand-text{letter-spacing:-.025em;flex-direction:column;font-size:1.05rem;font-weight:650;line-height:1.1;display:flex}.brand-text small{font:500 .625rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-top:.2rem}.side-nav{flex:1;margin-top:1.25rem;padding-right:.15rem;overflow-y:auto}.side-section{gap:.1rem;margin-bottom:1.1rem;display:grid}.side-title{font:500 .625rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:.25rem .65rem .35rem}.side-link{z-index:0;color:var(--ink-2);border-radius:.55rem;align-items:center;gap:.65rem;padding:.5rem .65rem;font-size:.875rem;font-weight:500;transition:color .15s,background .15s;display:flex;position:relative}.side-link svg{opacity:.85;width:1.05rem;height:1.05rem}.side-link:hover{color:var(--ink);background:var(--surface-2)}.side-link.active{color:var(--ink)}.side-link.active svg{color:var(--brand);opacity:1}.side-active{z-index:-1;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:.55rem;position:absolute;inset:0}.side-active:before{content:"";background:var(--brand);border-radius:0 3px 3px 0;width:3px;position:absolute;top:.5rem;bottom:.5rem;left:-.75rem}.side-module{font-size:.84rem}.side-dot{background:var(--mc);width:.5rem;height:.5rem;box-shadow:0 0 0 3px color-mix(in srgb, var(--mc) 18%, transparent);border-radius:50%;margin:0 .2rem}.side-module-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.side-module-name small{font:500 .7rem var(--font-mono);color:var(--ink-3);margin-right:.15rem}.side-pct{font:500 .7rem var(--font-mono);color:var(--ink-3)}.side-module.active{background:var(--surface-2);color:var(--ink)}.side-foot{border-top:1px solid var(--line);padding-top:.75rem}.side-streak{border-radius:var(--r);background:var(--surface-2);align-items:center;gap:.65rem;padding:.65rem .7rem;display:flex}.side-streak svg{width:1.1rem;height:1.1rem;color:var(--warn)}.side-streak b{font-size:.84rem;font-weight:600;display:block}.side-streak small{color:var(--ink-3);font-size:.72rem;line-height:1.35;display:block}.topbar{z-index:40;height:var(--top-h);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.8)blur(14px);border-bottom:1px solid color-mix(in srgb, var(--line) 80%, transparent);position:sticky;top:0}.topbar-inner{align-items:center;gap:.75rem;max-width:72rem;height:100%;margin:0 auto;padding:0 1rem;display:flex}@media (width>=45rem){.topbar-inner{padding:0 2rem}}.mobile-brand{display:block}@media (width>=64rem){.mobile-brand{display:none}}.mobile-brand .brand{padding:0}.search-btn{border:1px solid var(--line);background:var(--surface);min-width:0;height:2.4rem;color:var(--ink-3);cursor:pointer;border-radius:.6rem;align-items:center;gap:.6rem;width:min(24rem,100%);padding:0 .6rem 0 .8rem;font-size:.86rem;transition:border-color .15s,box-shadow .15s;display:flex}.search-btn:hover{border-color:var(--line-2);box-shadow:var(--shadow-1)}.search-btn svg{width:1rem;height:1rem}.search-btn span{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}@media (width<=40rem){.search-btn{justify-content:center;width:2.4rem;padding:0}.search-btn span,.search-btn kbd{display:none}}.view-controls{align-items:center;gap:.5rem;display:flex}.zoom{border:1px solid var(--line);background:var(--surface);border-radius:.6rem;align-items:center;height:2.4rem;display:flex;overflow:hidden}.zoom button{cursor:pointer;min-width:2.2rem;height:100%;color:var(--ink-2);background:0 0;border:0;place-items:center;transition:background .15s,color .15s;display:grid}.zoom button:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.zoom button:disabled{opacity:.35;cursor:default}.zoom button svg{width:1.05rem;height:1.05rem}.zoom .zoom-val{min-width:3.1rem;font:500 .75rem var(--font-mono);border-left:1px solid var(--line);border-right:1px solid var(--line)}.icon-btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:2.4rem;height:2.4rem;color:var(--ink-2);border-radius:.6rem;flex:none;place-items:center;transition:background .15s,color .15s,border-color .15s;display:grid}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn svg{width:1.1rem;height:1.1rem}.icon-btn.ghost{background:0 0;border-color:#0000}main{outline:none;min-height:70vh;padding:1.75rem 0 7rem}@media (width>=64rem){main{padding-bottom:4rem}}.focus main{padding:0}.tabbar{left:.6rem;right:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom));z-index:40;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow-3);border-radius:1.1rem;grid-template-columns:repeat(5,1fr);padding:.35rem;display:grid;position:fixed}@media (width>=64rem){.tabbar{display:none}}.tabbar a{z-index:0;color:var(--ink-3);border-radius:.8rem;flex-direction:column;align-items:center;gap:.15rem;padding:.45rem 0;font-size:.66rem;font-weight:600;display:flex;position:relative}.tabbar a svg{width:1.3rem;height:1.3rem}.tabbar a.active{color:var(--brand)}.tab-pill{z-index:-1;background:var(--brand-soft);border-radius:.8rem;position:absolute;inset:0}.cmdk-backdrop{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080b1073;place-items:start center;padding:12vh 1rem 1rem;display:grid;position:fixed;inset:0}.cmdk{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);width:100%;max-width:40rem;box-shadow:var(--shadow-3);overflow:hidden}.cmdk-input{border-bottom:1px solid var(--line);align-items:center;gap:.7rem;padding:.95rem 1.1rem;display:flex}.cmdk-input svg{width:1.15rem;height:1.15rem;color:var(--ink-3)}.cmdk-input input{min-width:0;font:400 1.02rem var(--font);color:var(--ink);background:0 0;border:0;outline:0;flex:1}.cmdk-list{max-height:min(60vh,28rem);padding:.4rem;overflow-y:auto}.cmdk-group{font:500 .625rem var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);padding:.7rem .7rem .35rem}.cmdk-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.6rem;align-items:center;gap:.75rem;width:100%;padding:.55rem .7rem;display:flex}.cmdk-item.sel{background:var(--surface-2)}.cmdk-icon{background:color-mix(in srgb, var(--mc,var(--brand)) 12%, transparent);width:2rem;height:2rem;color:var(--mc,var(--brand));border-radius:.5rem;flex:none;place-items:center;display:grid}.cmdk-icon svg{width:1rem;height:1rem}.cmdk-text{flex:1;min-width:0}.cmdk-text b{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;display:block;overflow:hidden}.cmdk-text small{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;display:block;overflow:hidden}.cmdk-go{width:1rem;height:1rem;color:var(--ink-3)}.cmdk-empty{text-align:center;color:var(--ink-3);padding:2rem}.cmdk-foot{border-top:1px solid var(--line);color:var(--ink-3);gap:1rem;padding:.6rem 1.1rem;font-size:.75rem;display:flex}.cmdk-foot kbd{margin-right:.2rem}.btn{--b:var(--surface);--c:var(--ink);--bd:var(--line);border:1px solid var(--bd);background:var(--b);height:2.5rem;color:var(--c);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow-1);transition:transform .15s var(--ease), box-shadow .2s var(--ease), background .15s, border-color .15s, opacity .15s, filter .15s;-webkit-tap-highlight-color:transparent;border-radius:.6rem;justify-content:center;align-items:center;gap:.5rem;padding:0 1rem;font-size:.875rem;font-weight:550;display:inline-flex}.btn:hover{border-color:var(--line-2);box-shadow:var(--shadow-2)}.btn:active{transform:scale(.98)}.btn[disabled]{opacity:.45;pointer-events:none;box-shadow:none}.btn svg{width:1rem;height:1rem}.btn-primary{--b:var(--brand);--c:var(--brand-ink);--bd:transparent;box-shadow:0 1px 2px #0000001f, inset 0 1px 0 #ffffff26, 0 6px 16px -8px color-mix(in srgb, var(--brand) 80%, transparent);background-image:linear-gradient(#ffffff1f,#fff0)}.btn-primary:hover{filter:brightness(1.06);border-color:#0000}.btn-accent{--b:var(--ink);--c:var(--bg);--bd:transparent}.btn-accent:hover{border-color:#0000}.btn-ghost{--b:transparent;--bd:transparent;box-shadow:none}.btn-ghost:hover{--b:var(--surface-2);box-shadow:none;border-color:#0000}.btn-lg{border-radius:.7rem;height:2.9rem;padding:0 1.3rem;font-size:.94rem}.btn-sm{border-radius:.5rem;height:2rem;padding:0 .7rem;font-size:.8rem}.btn-block{width:100%}.chip{border:1px solid var(--line);background:var(--surface);height:2.1rem;color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s var(--ease);border-radius:.55rem;align-items:center;gap:.45rem;padding:0 .75rem;font-size:.84rem;font-weight:500;display:inline-flex}.chip:hover{border-color:var(--line-2);color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip .dot{background:var(--mc,var(--brand));border-radius:50%;width:.45rem;height:.45rem}.chip-count{font:500 .68rem var(--font-mono);background:var(--surface-2);color:var(--ink-3);border-radius:.3rem;padding:.05rem .4rem}.chip[aria-pressed=true] .chip-count{background:color-mix(in srgb, var(--bg) 18%, transparent);color:inherit}.chips{flex-wrap:wrap;gap:.45rem;display:flex}.badge{background:var(--surface-2);color:var(--ink-2);border:1px solid #0000;border-radius:.4rem;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.72rem;font-weight:550;line-height:1.35;display:inline-flex}.badge svg{width:.8rem;height:.8rem}.badge-ref{background:color-mix(in srgb, var(--mc,var(--brand)) 9%, var(--surface));border-color:color-mix(in srgb, var(--mc,var(--brand)) 22%, transparent);color:color-mix(in srgb, var(--mc,var(--brand)) 75%, var(--ink))}.badge-case{background:var(--accent-soft);color:var(--accent)}.badge-good{background:var(--good-soft);color:var(--good)}.badge-bad{background:var(--bad-soft);color:var(--bad)}.badge-warn{background:var(--warn-soft);color:var(--warn)}.diff{align-items:flex-end;gap:2px;height:.8rem;display:inline-flex}.diff i{background:var(--line-2);border-radius:1px;width:.25rem}.diff i:first-child{height:45%}.diff i:nth-child(2){height:72%}.diff i:nth-child(3){height:100%}.diff i.on{background:var(--ink-2)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:1.35rem;position:relative}.card-link{color:inherit;transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .2s;display:block;overflow:hidden}.card-link:hover{box-shadow:var(--shadow-2);border-color:var(--line-2);transform:translateY(-2px)}.spot:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(22rem circle at var(--mx,50%) var(--my,50%), color-mix(in srgb, var(--mc,var(--brand)) 10%, transparent), transparent 60%);transition:opacity .3s;position:absolute;inset:0}.spot:hover:after{opacity:1}.grid{gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=60rem){.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.grid>div>.card{height:100%}.section{margin-top:2.75rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.section-head h2{margin:.35rem 0 0}.ring{flex:none;position:relative}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring circle{fill:none}.ring .track{stroke:var(--surface-3)}.ring .val{stroke:var(--rc,var(--brand));stroke-linecap:round}.ring .ring-label{font:600 .75rem var(--font-mono);letter-spacing:-.02em;place-items:center;display:grid;position:absolute;inset:0}.ring-lg .ring-label span{font:600 2.4rem var(--font);letter-spacing:-.05em;justify-items:center;display:grid}.ring-lg .ring-label small{font:500 .68rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:-.1rem}.bar{background:var(--surface-3);border-radius:99px;height:.375rem;overflow:hidden}.bar>i{border-radius:inherit;background:var(--bc,var(--brand));height:100%;display:block}.page-head{padding:.25rem 0 .75rem}.page-head h1{margin:.6rem 0 .5rem}.page-head p{color:var(--ink-2);max-width:62ch;font-size:1rem}.crumbs{color:var(--ink-3);flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:1rem;font-size:.82rem;display:flex}.crumbs a{color:var(--ink-2)}.crumbs a:hover{color:var(--ink)}.crumbs svg{width:.85rem;height:.85rem}.foot{text-align:center;color:var(--ink-3);max-width:40rem;margin:0 auto;padding:3rem 1rem 0;font-size:.76rem;line-height:1.6}.empty{text-align:center;color:var(--ink-3);padding:3.5rem 1.25rem}.empty svg{width:2.75rem;height:2.75rem;margin:0 auto .75rem}.hero{isolation:isolate;color:#e8f1f2;box-shadow:var(--shadow-3);background:#0a1116;border:1px solid #ffffff0f;border-radius:1.5rem;padding:2rem 1.35rem 1.5rem;position:relative;overflow:hidden}@media (width>=45rem){.hero{padding:3rem 3rem 2.25rem}}.hero-grid{z-index:-2;opacity:.5;background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:2.5rem 2.5rem;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70% at 70% 30%,#000 30%,#0000 75%);mask-image:radial-gradient(80% 70% at 70% 30%,#000 30%,#0000 75%)}.hero-glow{z-index:-1;filter:blur(10px);background:radial-gradient(circle,#2dd4bf59,#2dd4bf00 65%);border-radius:50%;width:36rem;height:36rem;animation:14s ease-in-out infinite alternate drift;position:absolute;top:-16rem;right:-10rem}.hero-glow.b{background:radial-gradient(circle,#6366f147,#6366f100 65%);animation-duration:18s;inset:auto auto -22rem -14rem}@keyframes drift{to{transform:translate(-3rem,2rem)scale(1.08)}}.hero .eyebrow{color:#e8f1f28c;align-items:center;gap:.5rem;display:inline-flex}.live-dot{background:#2dd4bf;border-radius:50%;width:.45rem;height:.45rem;animation:2s infinite live;box-shadow:0 0 #2dd4bf99}@keyframes live{70%{box-shadow:0 0 0 .5rem #2dd4bf00}to{box-shadow:0 0 #2dd4bf00}}.hero h1{color:#fff;max-width:18ch;margin:1rem 0 .9rem;font-size:clamp(2.1rem,5vw,3.5rem);line-height:1.04}.hero h1 em{color:#5eead4}.hero p.lead{color:#e8f1f2b8;max-width:54ch;font-size:1.05rem}.hero .btn{box-shadow:none}.hero .btn-primary{--b:#fff;--c:#0a1116;background-image:none}.hero .btn-ghost{--c:#e8f1f2;--bd:#ffffff29}.hero .btn-ghost:hover{--b:#ffffff12;border-color:#ffffff3d}.ecg{z-index:-1;opacity:.55;pointer-events:none;height:4.5rem;position:absolute;bottom:8.25rem;left:0;right:0}.ecg path{fill:none;stroke:#2dd4bf;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1500;stroke-dashoffset:1500px;filter:drop-shadow(0 0 5px #2dd4bfe6);animation:6s linear infinite ecg-draw}@keyframes ecg-draw{0%{stroke-dashoffset:1500px;opacity:1}75%{stroke-dashoffset:0;opacity:1}to{stroke-dashoffset:0;opacity:0}}.hero-stats{border-radius:var(--r-lg);background:#ffffff14;border:1px solid #ffffff14;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:2.25rem;display:grid;overflow:hidden}@media (width>=45rem){.hero-stats{grid-template-columns:repeat(4,1fr)}}.hero-stat{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1116b8;padding:.95rem 1.1rem}.hero-stat>b{font:600 1.6rem/1.1 var(--font);letter-spacing:-.04em;color:#fff;font-variant-numeric:tabular-nums;display:block}.hero-stat>span{color:#e8f1f28c;font-size:.75rem}.resume{flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:1rem;display:flex}.resume-icon{background:var(--brand-soft);width:2.5rem;height:2.5rem;color:var(--brand);border-radius:.7rem;place-items:center;display:grid}.resume-icon svg{width:1.2rem;height:1.2rem}.action{flex-direction:column;gap:.85rem;min-height:9rem;padding:1.15rem;display:flex}.action-icon{width:2.4rem;height:2.4rem;color:var(--c,var(--brand));background:color-mix(in srgb, var(--c,var(--brand)) 11%, transparent);border:1px solid color-mix(in srgb, var(--c,var(--brand)) 18%, transparent);transition:transform .35s var(--spring);border-radius:.65rem;place-items:center;display:grid}.action:hover .action-icon{transform:translateY(-2px)rotate(-4deg)}.action-icon svg{width:1.2rem;height:1.2rem}.action h3{margin:0 0 .15rem;font-size:.98rem}.action p{color:var(--ink-2);margin:0;font-size:.82rem;line-height:1.45}.action .arrow-go{color:var(--ink-3);transition:transform .25s var(--ease), color .2s;position:absolute;top:1.15rem;right:1.15rem}.action .arrow-go svg{width:1rem;height:1rem}.action:hover .arrow-go{color:var(--ink);transform:translate(2px,-2px)}.next-step{background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 8%, var(--surface)), var(--surface) 60%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;display:flex;overflow:hidden}.next-step h3{margin:.5rem 0 .3rem;font-size:1.3rem}.next-step p{max-width:62ch;margin:0}.module-card{padding:1.35rem;position:relative}.module-card-top{justify-content:space-between;align-items:flex-start;margin-bottom:1.1rem;display:flex}.module-glyph{width:2.6rem;height:2.6rem;color:var(--mc);background:color-mix(in srgb, var(--mc) 11%, transparent);border:1px solid color-mix(in srgb, var(--mc) 20%, transparent);border-radius:.75rem;place-items:center;display:grid}.module-glyph svg{width:1.35rem;height:1.35rem}.module-num{font:500 .68rem var(--font-mono);color:var(--mc);letter-spacing:.1em}.module-card h3{margin:.3rem 0 .35rem;font-size:1.3rem}.module-card p{color:var(--ink-2);margin-bottom:1.1rem;font-size:.88rem}.module-meta{color:var(--ink-3);flex-wrap:wrap;gap:1rem;font-size:.76rem;display:flex}.module-meta b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.module-foot{align-items:center;gap:.75rem;display:flex}.quote{align-items:flex-start;gap:1rem;display:flex}.quote blockquote{font:italic 400 1.35rem/1.4 var(--font-serif);color:var(--ink);margin:0}.quote cite{color:var(--ink-3);margin-top:.4rem;font-size:.8rem;font-style:normal;display:block}.quote-mark{font:400 3.2rem/.8 var(--font-serif);color:var(--brand)}.module-banner{isolation:isolate;color:#fff;box-shadow:var(--shadow-2);background:#0a1116;border:1px solid #ffffff0f;border-radius:1.5rem;padding:2rem 1.35rem;position:relative;overflow:hidden}@media (width>=45rem){.module-banner{padding:2.75rem}}.module-banner:before{content:"";z-index:-1;background:radial-gradient(40rem 22rem at 100% 0%, color-mix(in srgb, var(--mc) 55%, transparent), transparent 70%), radial-gradient(30rem 20rem at 0% 120%, color-mix(in srgb, var(--mc) 25%, transparent), transparent 70%);position:absolute;inset:0}.module-banner .module-num{color:color-mix(in srgb, var(--mc) 55%, #fff)}.module-banner h1{color:#fff;margin:.6rem 0 .75rem;font-size:clamp(2rem,4.2vw,3rem)}.module-banner p{color:#ffffffb8;max-width:64ch;margin:0}.module-banner .glyph-bg{opacity:.1;z-index:-1;width:15rem;height:15rem;position:absolute;bottom:-2rem;right:-1.5rem}.module-banner .glyph-bg svg{stroke:#fff;stroke-width:.8px;width:100%;height:100%}.module-banner .btn{--b:#ffffff0f;--c:#fff;--bd:#ffffff29;box-shadow:none}.module-banner .btn:hover{--b:#ffffff1a}.module-banner .btn-primary{--b:#fff;--c:#0a1116;background-image:none}.banner-stats{color:#fff9;flex-wrap:wrap;gap:1.5rem;margin-top:1.5rem;font-size:.84rem;display:flex}.banner-stats b{color:#fff;font-size:1rem;font-weight:600}.topic-list{gap:.5rem;display:grid}.topic-item{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);color:inherit;transition:border-color .2s, box-shadow .25s, transform .25s var(--ease);align-items:center;gap:.9rem;padding:.95rem 1.1rem;display:flex;position:relative}.topic-item:hover{border-color:color-mix(in srgb, var(--mc) 35%, var(--line));box-shadow:var(--shadow-2);transform:translate(3px)}.topic-idx{width:2.1rem;height:2.1rem;font:500 .75rem var(--font-mono);background:var(--surface-2);color:var(--ink-2);border-radius:.55rem;flex:none;place-items:center;display:grid}.topic-idx svg{width:1rem;height:1rem}.topic-item.done .topic-idx{background:color-mix(in srgb, var(--mc) 13%, transparent);color:var(--mc)}.topic-item h3{margin:0;font-size:.95rem;font-weight:600}.topic-item p{color:var(--ink-2);margin:.15rem 0 0;font-size:.82rem}.topic-item .arrow{color:var(--ink-3);transition:transform .25s var(--ease), color .2s;margin-left:auto}.topic-item .arrow svg{width:1.05rem;height:1.05rem}.topic-item:hover .arrow{color:var(--mc);transform:translate(3px)}.exemplar-tag{font:500 .66rem var(--font-mono);color:var(--mc);background:color-mix(in srgb, var(--mc) 10%, transparent);letter-spacing:.06em;text-transform:uppercase;border-radius:.35rem;margin-bottom:.75rem;padding:.2rem .5rem;display:inline-block}.reader{gap:2.5rem;display:grid}@media (width>=72rem){.reader{grid-template-columns:14rem minmax(0,1fr)}}.toc{display:none}@media (width>=72rem){.toc{top:calc(var(--top-h) + 1.5rem);align-self:start;max-height:calc(100vh - 7rem);display:block;position:sticky;overflow:auto}}.toc a{color:var(--ink-2);border-left:2px solid var(--line);border-radius:0 .45rem .45rem 0;padding:.4rem .65rem;font-size:.82rem;transition:all .15s;display:block}.toc a:hover{color:var(--ink);background:var(--surface-2)}.toc a.current{color:var(--mc);border-left-color:var(--mc);background:color-mix(in srgb, var(--mc) 7%, transparent);font-weight:550}.toc-check{vertical-align:-.1rem;color:var(--mc);margin-right:.3rem;display:inline-block;width:.8rem!important;height:.8rem!important}.article{max-width:46rem}.article h1{font-size:clamp(1.9rem,3.8vw,2.6rem)}.article .summary{font:italic 400 1.3rem/1.5 var(--font-serif);color:var(--ink-2);margin-bottom:1.75rem}.article section{margin:0 0 1.75rem}.article h2{align-items:center;gap:.6rem;margin-bottom:.6rem;font-size:1.2rem;display:flex}.article h2:before{content:"";background:var(--mc);width:.35rem;height:.35rem;box-shadow:0 0 0 .25rem color-mix(in srgb, var(--mc) 16%, transparent);border-radius:50%}.article-title{font-size:1.6rem}.article p,.article li{color:var(--ink);font-size:1rem;line-height:1.75}.article ul{margin:0;padding-left:0;list-style:none}.article ul li{margin:.35rem 0;padding-left:1.3rem;position:relative}.article ul li:before{content:"";background:color-mix(in srgb, var(--mc) 70%, transparent);border-radius:2px;width:.4rem;height:2px;position:absolute;top:.72em;left:.25rem}.article strong{font-weight:650}.table-wrap,.table-scroll{overflow-x:auto}.table-wrap{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin:.5rem 0 1.75rem}.table-wrap table,.table-scroll table{border-collapse:collapse;width:100%;font-size:.86rem}.table-wrap table{min-width:30rem}.table-wrap caption{text-align:left;padding:.9rem 1rem .4rem;font-size:.95rem;font-weight:600}.table-wrap th,.table-wrap td,.table-scroll th,.table-scroll td{text-align:left;vertical-align:top;border-top:1px solid var(--line);padding:.65rem 1rem}.table-wrap th,.table-scroll th{background:var(--surface-2);font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.table-wrap tr:hover td{background:color-mix(in srgb, var(--mc) 3%, transparent)}.callout{border-radius:var(--r-lg);border:1px solid;margin:0 0 1.25rem;padding:1.1rem 1.25rem}.callout h3{font:500 .7rem var(--font-mono);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.callout h3 svg{width:1rem;height:1rem}.callout ul li{font-size:.95rem}.callout.pearl{background:color-mix(in srgb, var(--brand) 5%, var(--surface));border-color:color-mix(in srgb, var(--brand) 22%, transparent)}.callout.pearl h3{color:var(--brand)}.callout.pearl ul li:before{background:var(--brand)}.callout.red{background:color-mix(in srgb, var(--bad) 5%, var(--surface));border-color:color-mix(in srgb, var(--bad) 22%, transparent)}.callout.red h3{color:var(--bad)}.callout.red ul li:before{background:var(--bad)}.article-foot{border-top:1px solid var(--line);flex-wrap:wrap;gap:.6rem;margin-top:1.75rem;padding-top:1.35rem;display:flex}.pager{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.5rem;display:grid}.pager a{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);color:inherit;transition:border-color .2s, transform .25s var(--ease);padding:.85rem 1rem}.pager a:hover{border-color:var(--mc);transform:translateY(-2px)}.pager small{color:var(--ink-3);font-size:.72rem;display:block}.pager b{font-size:.9rem;font-weight:550}.pager .next{text-align:right;grid-column:2}.read-progress{background:var(--mc,var(--brand));z-index:90;transform-origin:0;height:2px;position:fixed;top:0;left:0;right:0}.fc-stage{max-width:40rem;margin:0 auto}.fc-swipe{perspective:1600px;cursor:grab;touch-action:pan-y;position:relative}.fc-swipe:active{cursor:grabbing}.fc{cursor:pointer;height:min(56vh,22rem);transform-style:preserve-3d;outline:none;position:relative}.fc-face{backface-visibility:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-2);border-radius:1.25rem;flex-direction:column;padding:1.75rem;display:flex;position:absolute;inset:0}.fc-back{background:linear-gradient(160deg, color-mix(in srgb, var(--mc) 7%, var(--surface)), var(--surface) 70%);border-color:color-mix(in srgb, var(--mc) 25%, var(--line));transform:rotateY(180deg)}.fc-body{text-align:center;flex:1;place-items:center;padding:.5rem;display:grid;overflow:auto}.fc-front .fc-body{font:600 clamp(1.2rem, 3vw, 1.55rem)/1.35 var(--font);letter-spacing:-.025em}.fc-back .fc-body{font-size:1.02rem;line-height:1.65}.fc-hint{text-align:center;color:var(--ink-3);font-size:.75rem}.swipe-tag{z-index:5;font:600 .75rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;background:var(--surface);border:1.5px solid;border-radius:.45rem;padding:.3rem .75rem;position:absolute;top:1.25rem}.swipe-tag.good{color:var(--good);right:1.25rem;rotate:8deg}.swipe-tag.bad{color:var(--bad);left:1.25rem;rotate:-8deg}.fc-controls{grid-template-columns:1fr 1fr;gap:.75rem;max-width:40rem;margin:1.25rem auto 0;display:grid}.fc-controls .btn{height:3.1rem}.btn-again{--b:var(--bad-soft);--c:var(--bad);--bd:transparent;box-shadow:none}.btn-got{--b:var(--good-soft);--c:var(--good);--bd:transparent;box-shadow:none}.fc-progress{max-width:40rem;margin:0 auto 1.1rem}.fc-done{text-align:center;padding:3rem 1.5rem}.fc-done-icon{background:var(--good-soft);width:3.5rem;height:3.5rem;color:var(--good);border-radius:1rem;place-items:center;margin:0 auto 1rem;display:grid}.fc-done-icon svg{width:1.75rem;height:1.75rem}.kbd-hints{color:var(--ink-3);justify-content:center;gap:1rem;margin-top:1rem;font-size:.76rem;display:none}@media (hover:hover) and (width>=56rem){.kbd-hints{display:flex}}.mode-switch{background:var(--surface-2);border:1px solid var(--line);border-radius:.7rem;gap:.15rem;padding:.2rem;display:inline-flex;position:relative}.mode-switch a{color:var(--ink-2);transition:all .2s var(--ease);border-radius:.55rem;align-items:center;gap:.45rem;padding:.4rem .9rem;font-size:.85rem;font-weight:550;display:inline-flex}.mode-switch a svg{width:1rem;height:1rem}.mode-switch a.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1), 0 0 0 1px var(--line)}.mode-switch a:not(.on):hover{color:var(--ink)}.builder{gap:1rem;margin-top:.5rem;display:grid}@media (width>=62rem){.builder{grid-template-columns:minmax(0,1fr) 20rem;align-items:start}}.builder .card>h3{font:500 .68rem var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin-bottom:.85rem}.builder-summary{top:calc(var(--top-h) + 1rem);position:sticky}.topic-chips{border-top:1px dashed var(--line);margin-top:1rem;padding-top:.9rem}.topic-chips .eyebrow{margin-bottom:.6rem;display:block}.cjmm-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:.5rem;display:grid}.cjmm{text-align:left;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:all .15s var(--ease);align-items:center;gap:.75rem;padding:.7rem .85rem;display:flex}.cjmm:hover{border-color:var(--line-2)}.cjmm b{font-size:.86rem;font-weight:600;display:block}.cjmm small{color:var(--ink-3);font-size:.74rem;line-height:1.35;display:block}.cjmm>span:nth-child(2){flex:1}.cjmm-n{width:1.7rem;height:1.7rem;font:500 .72rem var(--font-mono);background:var(--surface-2);color:var(--ink-2);border-radius:.45rem;flex:none;place-items:center;transition:all .15s;display:grid}.cjmm[aria-pressed=true]{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 5%, var(--surface));box-shadow:var(--ring)}.cjmm[aria-pressed=true] .cjmm-n{background:var(--brand);color:var(--brand-ink)}.mode{text-align:left;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:all .15s var(--ease);padding:.9rem;position:relative}.mode:hover{border-color:var(--line-2)}.mode[aria-pressed=true]{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 5%, var(--surface));box-shadow:var(--ring)}.mode b{font-size:.9rem;font-weight:600;display:block}.mode span{color:var(--ink-2);font-size:.78rem}.mode svg{width:1.2rem;height:1.2rem;color:var(--brand);margin-bottom:.5rem}.pool-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;display:grid}.pool-grid .mode .chip-count{position:absolute;top:.6rem;right:.6rem}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,10rem),1fr));gap:.6rem;display:grid}.summary-count{align-items:baseline;gap:.6rem;margin:.5rem 0 .6rem;display:flex}.big-num{font:600 3rem/1 var(--font);letter-spacing:-.06em;font-variant-numeric:tabular-nums}.slider-label{gap:.4rem;margin:.9rem 0 .4rem;font-size:.88rem;display:grid}.slider{width:100%;accent-color:var(--brand);height:1.5rem}.perks{color:var(--ink-2);gap:.6rem;margin:1rem 0 1.25rem;padding:0;font-size:.84rem;list-style:none;display:grid}.perks li{align-items:center;gap:.6rem;display:flex}.perks svg{width:1rem;height:1rem;color:var(--brand)}.select,.input{border:1px solid var(--line);background:var(--surface);width:100%;height:2.5rem;color:var(--ink);font:inherit;border-radius:.6rem;padding:0 .8rem;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.search{position:relative}.search svg{width:1rem;height:1rem;color:var(--ink-3);position:absolute;top:50%;left:.8rem;translate:0 -50%}.search .input{padding-left:2.3rem}.toggle{cursor:pointer;align-items:center;gap:.65rem;font-size:.88rem;display:flex}.toggle input{appearance:none;background:var(--surface-3);cursor:pointer;border-radius:99px;flex:none;width:2.3rem;height:1.3rem;margin:0;transition:background .2s;position:relative}.toggle input:after{content:"";width:1rem;height:1rem;box-shadow:var(--shadow-1);transition:transform .25s var(--spring);background:#fff;border-radius:50%;position:absolute;top:.15rem;left:.15rem}.toggle input:checked{background:var(--brand)}.toggle input:checked:after{transform:translate(1rem)}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:.65rem;flex-wrap:wrap;gap:.1rem;padding:.2rem;display:inline-flex;position:relative}.seg button{z-index:0;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:.35rem .7rem;font-size:.8rem;font-weight:550;transition:color .15s;position:relative}.seg button[aria-pressed=true]{color:var(--ink)}.seg-pill{z-index:-1;background:var(--surface);box-shadow:var(--shadow-1), 0 0 0 1px var(--line);border-radius:.5rem;position:absolute;inset:0}.session{flex-direction:column;min-height:100dvh;display:flex}.exam-bar{z-index:50;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.exam-bar-inner{align-items:center;gap:.6rem;max-width:90rem;margin:0 auto;padding:.55rem 1rem;display:flex}@media (width>=45rem){.exam-bar-inner{gap:.9rem;padding:.6rem 1.5rem}}.exam-title{align-items:center;gap:.6rem;min-width:0;display:flex}.exam-title b{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:600;overflow:hidden}@media (width<=40rem){.exam-title b,.exam-bar .zoom{display:none}}.exam-count{color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.82rem}.exam-count b{color:var(--ink)}.exam-progress{background:var(--line);height:2px}.exam-progress i{background:var(--brand);height:100%;box-shadow:0 0 8px var(--brand);display:block}.mode-tag{font:500 .62rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border-radius:.35rem;padding:.15rem .45rem;display:inline-flex}.mode-tag.practice{background:var(--brand-soft);color:var(--brand)}.mode-tag.exam{background:var(--accent-soft);color:var(--accent)}.timer{font:500 .82rem var(--font-mono);color:var(--ink);background:var(--surface-2);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:.5rem;align-items:center;gap:.35rem;padding:.3rem .6rem;display:inline-flex}.timer svg{width:.9rem;height:.9rem}.timer.low{color:var(--bad);background:var(--bad-soft);border-color:#0000;animation:1s infinite pulse-soft}@keyframes pulse-soft{50%{opacity:.6}}.streak-pill{font:500 .8rem var(--font-mono);background:var(--warn-soft);color:var(--warn);border-radius:.5rem;align-items:center;gap:.25rem;padding:.3rem .55rem;display:inline-flex}.streak-pill svg{width:.85rem;height:.85rem}.session-body{flex:1;width:100%;max-width:50rem;margin:0 auto;padding:1.5rem 1rem 7rem}.session-body.wide{max-width:90rem}@media (width>=45rem){.session-body{padding:2rem 1.5rem 7rem}}.action-bar{z-index:50;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.action-bar-inner{align-items:center;gap:.6rem;max-width:50rem;margin:0 auto;padding:.7rem 1rem;display:flex}.action-bar-inner.wide{max-width:90rem}@media (width>=45rem){.action-bar-inner{padding:.75rem 1.5rem}}.kbd-inline kbd{margin:0 .1rem}.navigator{flex-wrap:wrap;gap:.4rem;display:flex}.navigator button{border:1px solid var(--line);background:var(--surface);width:2.25rem;height:2.25rem;font:500 .75rem var(--font-mono);cursor:pointer;border-radius:.5rem;transition:all .15s;position:relative}.navigator button:hover{border-color:var(--line-2)}.navigator button.answered{background:var(--surface-3)}.navigator button.current{background:var(--ink);color:var(--bg);border-color:var(--ink)}.navigator button.flagged:after{content:"";background:var(--warn);border:2px solid var(--surface);border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:-.2rem;right:-.2rem}.legend{color:var(--ink-3);flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.76rem;display:flex}.legend i{border:1px solid var(--line-2);vertical-align:-.05rem;border-radius:.2rem;width:.7rem;height:.7rem;margin-right:.35rem;display:inline-block}.legend i.answered{background:var(--surface-3)}.legend i.flagged{background:var(--warn);border-color:#0000;border-radius:50%}.case-split{gap:1.25rem;display:grid}@media (width>=70rem){.case-split{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:start}.case-exhibit{position:sticky;top:5rem}}.exhibit{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}.exhibit-head{font:500 .68rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);background:var(--surface-2);border-bottom:1px solid var(--line);align-items:center;gap:.5rem;padding:.7rem 1rem;display:flex}.exhibit-head svg{width:.95rem;height:.95rem;color:var(--accent)}.exhibit-tabs{border-bottom:1px solid var(--line);gap:.15rem;padding:0 .6rem;display:flex;overflow-x:auto}.exhibit-tabs button{color:var(--ink-3);cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:.7rem .6rem;font-size:.82rem;font-weight:550;position:relative}.exhibit-tabs button.on,.exhibit-tabs button:hover{color:var(--ink)}.exhibit-tab-line{background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:.4rem;right:.4rem}.exhibit-body{max-height:min(70vh,40rem);padding:1rem 1.1rem 1.1rem;font-size:.9rem;line-height:1.65;overflow:auto}.exhibit-body p{margin:0 0 .7rem}.exhibit-body ul{margin:0;padding-left:1.1rem}.exhibit-body .table-scroll{margin:-.25rem -1.1rem -1.1rem}.exhibit-body td{font-variant-numeric:tabular-nums}.q-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-1);padding:1.35rem 1.15rem}@media (width>=45rem){.q-card{padding:1.9rem 2rem}}.modal .q-card{box-shadow:none}.q-meta{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.1rem;display:flex}.q-type{font:500 .66rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.q-meta .flag-btn{margin-left:auto}.q-stem{font:500 1.08rem/1.65 var(--font);letter-spacing:-.012em;color:var(--ink);margin-bottom:1.35rem}@media (width>=45rem){.q-stem{font-size:1.14rem}}.options{gap:.55rem;display:grid}.opt{text-align:left;border-radius:var(--r);border:1px solid var(--line);background:var(--surface);cursor:pointer;width:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;align-items:flex-start;gap:.85rem;padding:.85rem 1rem;font-size:.98rem;line-height:1.5;transition:border-color .15s,background .15s,box-shadow .15s;display:flex;position:relative}.opt:hover:not([disabled]){border-color:var(--line-2);background:var(--surface-2)}.opt-key{border:1.5px solid var(--line-2);width:1.75rem;height:1.75rem;font:500 .75rem var(--font-mono);color:var(--ink-2);border-radius:50%;flex:none;place-items:center;margin-top:-.05rem;transition:all .15s;display:grid}.opt.sata .opt-key{border-radius:.4rem}.opt.sata .opt-key svg{stroke-width:3px;opacity:0;width:.95rem;height:.95rem;transition:all .2s var(--spring);transform:scale(.4)}.opt[aria-checked=true]{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 6%, var(--surface));box-shadow:0 0 0 1px var(--brand)}.opt[aria-checked=true] .opt-key{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.opt.sata[aria-checked=true] .opt-key svg{opacity:1;transform:none}.opt-text{flex:1;min-width:0;padding-top:.1rem}.opt.correct{border-color:var(--good);background:color-mix(in srgb, var(--good) 7%, var(--surface));box-shadow:0 0 0 1px var(--good)}.opt.correct .opt-key{background:var(--good);border-color:var(--good);color:#fff}.opt.wrong{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 6%, var(--surface));box-shadow:0 0 0 1px var(--bad)}.opt.wrong .opt-key{background:var(--bad);border-color:var(--bad);color:#fff}.opt.missed{border-color:var(--good);border-style:dashed}.opt.dim{opacity:.6}.opt[disabled]{cursor:default}.opt-flag{font:500 .64rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:.3rem;margin-top:.4rem;padding:.12rem .45rem;display:table}.opt-flag.good{background:var(--good-soft);color:var(--good)}.opt-flag.bad{background:var(--bad-soft);color:var(--bad)}.opt-why{color:var(--ink-2);margin-top:.4rem;font-size:.86rem;line-height:1.55;display:block;overflow:hidden}.order-help{margin:-.5rem 0 .75rem;font-size:.82rem}.order-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.order-item{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;align-items:center;gap:.75rem;padding:.7rem .75rem .7rem .85rem;transition:box-shadow .15s,border-color .15s,background .15s;display:flex}.order-item:hover{border-color:var(--line-2)}.order-item.dragging{cursor:grabbing;box-shadow:var(--shadow-3);border-color:var(--brand);z-index:5;position:relative}.order-num{background:var(--surface-2);width:1.6rem;height:1.6rem;font:500 .72rem var(--font-mono);border-radius:50%;flex:none;place-items:center;display:grid}.order-grip{color:var(--ink-3)}.order-grip svg{width:1rem;height:1rem}.order-text{flex:1;font-size:.96rem;line-height:1.45}.order-btns{flex-direction:column;gap:2px;display:flex}.order-btns button{background:var(--surface-2);cursor:pointer;border:0;border-radius:.35rem;place-items:center;width:1.8rem;height:1.35rem;display:grid}.order-btns button:hover{background:var(--surface-3)}.order-btns button:disabled{opacity:.3;cursor:default}.order-btns svg{stroke-width:2.6px;width:.8rem;height:.8rem}.order-item.correct{border-color:var(--good);background:color-mix(in srgb, var(--good) 7%, var(--surface))}.order-item.wrong{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 6%, var(--surface))}.order-item.locked{cursor:default}.order-correct-hint{color:var(--ink-2);margin-top:.2rem;font-size:.8rem;display:block}.order-state{color:var(--good)}.order-state svg{width:1.1rem;height:1.1rem}.matrix-wrap{border-radius:var(--r-lg);border:1px solid var(--line);overflow-x:auto}.matrix{border-collapse:collapse;width:100%;min-width:27rem}.matrix th,.matrix td{border-top:1px solid var(--line);text-align:center;padding:.75rem .9rem}.matrix thead th{background:var(--surface-2);font:500 .7rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);border-top:0}.matrix td:first-child,.matrix th:first-child{text-align:left}.matrix td:first-child{font-size:.94rem;line-height:1.45}.matrix tbody tr{transition:background .15s}.matrix tbody tr:hover{background:var(--surface-2)}.matrix tr.correct td:first-child{box-shadow:inset 3px 0 0 var(--good)}.matrix tr.wrong td:first-child{box-shadow:inset 3px 0 0 var(--bad)}.radio{appearance:none;border:1.5px solid var(--line-2);cursor:pointer;background:var(--surface);vertical-align:middle;border-radius:50%;place-items:center;width:1.3rem;height:1.3rem;margin:0;transition:all .15s;display:inline-grid}.radio:after{content:"";background:var(--brand-ink);width:.5rem;height:.5rem;transition:transform .2s var(--spring);border-radius:50%;transform:scale(0)}.radio:hover:not(:disabled){border-color:var(--brand)}.radio:checked{background:var(--brand);border-color:var(--brand)}.radio:checked:after{transform:scale(1)}.radio:disabled{cursor:default}.radio.is-answer{box-shadow:0 0 0 .2rem color-mix(in srgb, var(--good) 45%, transparent)}.matrix .row-why{color:var(--ink-2);margin-top:.25rem;font-size:.8rem;display:block}.cloze{border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line);padding:1.1rem 1.25rem;font-size:1.02rem;line-height:2.4}.cloze select{appearance:none;font:550 .92rem var(--font);color:var(--ink);border:1px solid var(--line-2);background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23868d9c' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right .55rem center / .8rem;cursor:pointer;max-width:100%;box-shadow:var(--shadow-1);border-radius:.5rem;margin:0 .15rem;padding:.3rem 2rem .3rem .7rem;transition:border-color .15s,box-shadow .15s}.cloze select:focus{border-color:var(--brand);box-shadow:var(--ring);outline:none}.cloze select.correct{border-color:var(--good);background-color:var(--good-soft)}.cloze select.wrong{border-color:var(--bad);background-color:var(--bad-soft)}.cloze .fix{color:var(--good);font-size:.82rem;font-weight:600}.hl-passage{border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line);padding:1.1rem 1.25rem;font-size:1rem;line-height:2}.hl-seg{cursor:pointer;font:inherit;color:inherit;line-height:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:0 0;background-image:linear-gradient(transparent 88%, color-mix(in srgb, var(--ink-3) 45%, transparent) 88%);border:0;border-radius:.3rem;margin:0 -.05rem;padding:.1rem .2rem;transition:background-color .15s;display:inline}.hl-seg:hover:not(.locked){background-color:#facc1538}.hl-seg.on{color:var(--ink);background-color:#facc158c;background-image:none}:root[data-theme=dark] .hl-seg.on{background-color:#facc1552}.hl-seg.correct{background-color:color-mix(in srgb, var(--good) 22%, transparent);box-shadow:inset 0 -2px 0 var(--good);background-image:none}.hl-seg.missed{box-shadow:inset 0 0 0 1.5px var(--good);background-image:none}.hl-seg.wrong{background-color:color-mix(in srgb, var(--bad) 18%, transparent);text-decoration:line-through;-webkit-text-decoration-color:var(--bad);text-decoration-color:var(--bad);background-image:none}.hl-seg.locked{cursor:default}.hl-notes{color:var(--ink-2);gap:.4rem;margin:.9rem 0 0;padding:0;font-size:.86rem;list-style:none;display:grid}.hl-notes li{background:var(--surface-2);border-left:3px solid;border-radius:.55rem;padding:.55rem .75rem}.hl-notes li.good{border-color:var(--good)}.hl-notes li.bad{border-color:var(--bad)}.hl-notes b{color:var(--ink);font-weight:600}.bow-diagram{border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line);grid-template-columns:1fr 1.5rem 1fr 1.5rem 1fr;align-items:center;gap:.3rem;margin-bottom:1rem;padding:1rem;display:grid}.bow-col{gap:.5rem;display:grid}.bow-col.center .bow-slot{border-color:color-mix(in srgb, var(--accent) 40%, var(--line-2));min-height:5rem}.bow-label{font:500 .62rem var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:center}.bow-slot{text-align:center;border:1.5px dashed var(--line-2);background:var(--surface);border-radius:.6rem;place-items:center;min-height:3.2rem;padding:.5rem .6rem;font-size:.8rem;line-height:1.35;display:grid}.bow-slot.filled{border-style:solid;border-color:var(--brand);background:color-mix(in srgb, var(--brand) 5%, var(--surface));font-weight:500}.bow-slot.correct{border-color:var(--good);background:var(--good-soft)}.bow-slot.wrong{border-color:var(--bad);background:var(--bad-soft)}.bow-lines{width:100%;height:6rem}.bow-lines path{fill:none;stroke:var(--line-2);stroke-width:1.5px;vector-effect:non-scaling-stroke}@media (width<=40rem){.bow-diagram{grid-template-columns:1fr}.bow-lines{display:none}.bow-col.center{order:-1}}.bow-banks{gap:.9rem;display:grid}@media (width>=52rem){.bow-banks{grid-template-columns:repeat(3,1fr)}}.bow-bank{align-content:start;gap:.4rem;display:grid}.bow-bank .bow-label{text-align:left;margin-bottom:.1rem}.bow-opt{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:.6rem;padding:.6rem .75rem;font-size:.86rem;line-height:1.4;transition:all .15s}.bow-opt:hover:not(:disabled){border-color:var(--line-2);background:var(--surface-2)}.bow-opt.on{border-color:var(--brand);background:color-mix(in srgb, var(--brand) 6%, var(--surface));box-shadow:0 0 0 1px var(--brand)}.bow-opt.correct{border-color:var(--good);background:color-mix(in srgb, var(--good) 8%, var(--surface));box-shadow:0 0 0 1px var(--good)}.bow-opt.missed{border-color:var(--good);border-style:dashed}.bow-opt.wrong{border-color:var(--bad);background:color-mix(in srgb, var(--bad) 6%, var(--surface))}.bow-opt:disabled{cursor:default}.bow-opt .opt-why{font-size:.78rem}.hints{border-top:1px dashed var(--line);margin-top:1.25rem;padding-top:1.1rem}.hint-buttons{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.hint-label{color:var(--ink-3);align-items:center;gap:.35rem;margin-right:.2rem;font-size:.8rem;font-weight:550;display:inline-flex}.hint-label svg{width:1rem;height:1rem;color:var(--warn)}.hint-btn{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;transition:all .15s var(--ease);border-radius:.65rem;align-items:center;gap:.6rem;padding:.45rem .8rem .45rem .6rem;display:inline-flex}.hint-btn svg{width:1.05rem;height:1.05rem}.hint-btn.content svg{color:var(--info)}.hint-btn.strategy svg{color:var(--accent)}.hint-btn b{font-size:.8rem;font-weight:600;display:block}.hint-btn small{color:var(--ink-3);font-size:.7rem;display:block}.hint-btn:hover{border-color:var(--line-2);box-shadow:var(--shadow-1)}.hint-btn.used{opacity:.55;cursor:default;box-shadow:none}.hint-box{overflow:hidden}.hint-inner{border-radius:var(--r);border:1px solid;gap:.75rem;margin-top:.6rem;padding:.85rem 1rem;font-size:.92rem;display:flex}.hint-inner svg{width:1.1rem;height:1.1rem;margin-top:.15rem}.hint-inner b{font:500 .66rem var(--font-mono);text-transform:uppercase;letter-spacing:.1em}.hint-inner p{margin:.25rem 0 0;line-height:1.6}.hint-box.content .hint-inner{background:color-mix(in srgb, var(--info) 6%, var(--surface));border-color:color-mix(in srgb, var(--info) 22%, transparent)}.hint-box.content .hint-inner svg,.hint-box.content b{color:var(--info)}.hint-box.strategy .hint-inner{background:color-mix(in srgb, var(--accent) 6%, var(--surface));border-color:color-mix(in srgb, var(--accent) 22%, transparent)}.hint-box.strategy .hint-inner svg,.hint-box.strategy b{color:var(--accent)}.confidence{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.25rem;font-size:.84rem;display:flex}.confidence .seg button[aria-pressed=true]{background:var(--surface);box-shadow:var(--shadow-1), 0 0 0 1px var(--line)}.confidence .seg button{align-items:center;gap:.35rem;display:inline-flex}.confidence .seg svg{width:.9rem;height:.9rem}.feedback{border-radius:var(--r-lg);border:1px solid;margin-top:1.4rem;padding:1.15rem 1.25rem}.feedback.ok{background:color-mix(in srgb, var(--good) 5%, var(--surface));border-color:color-mix(in srgb, var(--good) 28%, transparent)}.feedback.no{background:color-mix(in srgb, var(--bad) 4%, var(--surface));border-color:color-mix(in srgb, var(--bad) 26%, transparent)}.feedback.part{background:color-mix(in srgb, var(--warn) 5%, var(--surface));border-color:color-mix(in srgb, var(--warn) 28%, transparent)}.fb-head{letter-spacing:-.02em;align-items:center;gap:.6rem;margin-bottom:.6rem;font-size:1.05rem;font-weight:650;display:flex}.fb-icon{border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;display:grid}.fb-icon svg{stroke:#fff;stroke-width:3px;width:.95rem;height:.95rem}.ok .fb-icon{background:var(--good)}.no .fb-icon{background:var(--bad)}.part .fb-icon{background:var(--warn)}.fb-score{font:500 .75rem var(--font-mono);color:var(--ink-2);margin-left:auto}.fb-sub{font:500 .66rem var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);margin:.9rem 0 .35rem}.feedback p{margin:0 0 .6rem;font-size:.95rem;line-height:1.7}.takeaway{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);align-items:flex-start;gap:.65rem;margin-top:.75rem;padding:.75rem .9rem;font-size:.9rem;display:flex}.takeaway svg{width:1.1rem;height:1.1rem;color:var(--brand);margin-top:.15rem}.fb-links{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.9rem;display:flex}.fb-cats{flex:1;min-width:12rem;font-size:.74rem}.pace-note{flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.25rem;display:flex}.modal{z-index:110;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080b1080;place-items:end center;padding:1rem 0 0;display:grid;position:fixed;inset:0;overflow-y:auto}@media (width>=45rem){.modal{place-items:center;padding:2rem 1rem}}.modal-panel{background:var(--bg);border:1px solid var(--line);width:100%;max-width:32rem;box-shadow:var(--shadow-3);border-radius:1.25rem 1.25rem 0 0;max-height:calc(100dvh - 1rem);padding:1.1rem 1rem 1.75rem;overflow-y:auto}.modal-panel.wide{max-width:72rem}@media (width>=45rem){.modal-panel{border-radius:1.25rem;max-height:calc(100dvh - 4rem);padding:1.25rem 1.4rem 1.5rem}}.modal-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.modal-title{min-width:0;font-size:1.05rem}.modal .q-card.review{background:0 0;border:0;padding:.25rem 0}.toast-wrap{left:50%;bottom:calc(6rem + env(safe-area-inset-bottom));z-index:130;pointer-events:none;gap:.5rem;display:grid;position:fixed;translate:-50%}@media (width>=64rem){.toast-wrap{bottom:1.75rem}}.toast{background:var(--ink);color:var(--bg);box-shadow:var(--shadow-3);white-space:nowrap;border-radius:.7rem;padding:.65rem 1rem;font-size:.86rem;font-weight:500}.results-hero{text-align:center;place-items:center;gap:1.5rem;padding:2rem 1.35rem;display:grid;overflow:hidden}@media (width>=48rem){.results-hero{text-align:left;grid-template-columns:auto 1fr;justify-items:start;padding:2.25rem 2.5rem}}.results-hero h1{margin:.6rem 0 .35rem;font-size:clamp(1.8rem,3.6vw,2.4rem)}.stat-row{border-radius:var(--r);background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:1px;width:100%;margin-top:1.1rem;display:grid;overflow:hidden}.stat{background:var(--surface);padding:.8rem 1rem}.stat b{font:600 1.35rem/1.15 var(--font);letter-spacing:-.04em;font-variant-numeric:tabular-nums;display:block}.stat span{color:var(--ink-3);font-size:.74rem}.mastery-strip{border-radius:99px;gap:3px;height:.6rem;display:flex;overflow:hidden}.mastery-strip span{border-radius:99px;flex-basis:0;min-width:.4rem}.mastery-legend{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem;margin-top:.9rem;font-size:.86rem;display:grid}.mastery-legend i{border-radius:2px;width:.55rem;height:.55rem;margin-right:.4rem;display:inline-block}.mastery-legend small{color:var(--ink-3);margin-left:.95rem;font-size:.72rem;display:block}.calibration{border-radius:var(--r);background:var(--info-soft);align-items:flex-start;gap:.6rem;margin-top:1rem;padding:.85rem 1rem;font-size:.88rem;display:flex}.calibration svg{color:var(--info);width:1rem;height:1rem;margin-top:.15rem}.rec-card h3{margin:.5rem 0 .15rem;font-size:1.05rem}.rec-card .btn{margin-top:.4rem}.insights{padding:.35rem 1.1rem}.insight-head,.insight-row{grid-template-columns:minmax(0,1.6fr) minmax(7rem,1fr) 5rem 7.5rem 8rem;align-items:center;gap:.9rem;display:grid}@media (width<=40rem){.insight-head,.insight-row{grid-template-columns:minmax(0,1fr) 7rem 7rem}}.insight-head{font:500 .64rem var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ink-3);padding:.7rem 0}.insight-row{border-top:1px solid var(--line);padding:.75rem 0}.insight-row b{font-size:.9rem;font-weight:550;display:block}.insight-row small{font-size:.74rem}.insight-acc{align-items:center;gap:.5rem;display:flex}.insight-acc .bar{flex:1}.insight-acc .pct{font:500 .76rem var(--font-mono);text-align:right;width:2.4rem}.insight-end{justify-content:flex-end;align-items:center;gap:.25rem;display:flex}.mini-dots{flex-wrap:wrap;gap:2px;display:flex}.mini-dots i{border-radius:2px;width:.5rem;height:.5rem}.mini-dots i.m{background:var(--good)}.mini-dots i.f{background:var(--warn)}.mini-dots i.x{background:var(--bad)}.pace-chart{padding:1.25rem 1rem .75rem;overflow-x:auto}.pace-bars{align-items:flex-end;gap:3px;min-width:min-content;height:11rem;display:flex}.pace-col{cursor:pointer;background:0 0;border:0;flex:1 0 1rem;align-items:flex-end;max-width:2.2rem;height:100%;padding:0 0 1.1rem;display:flex;position:relative}.pace-col:hover .pace-bar{filter:brightness(1.12)}.pace-bar{border-radius:.3rem .3rem .15rem .15rem;width:100%;display:block}.pace-line{border-top:1px dashed var(--ink-3);opacity:.5;pointer-events:none;margin-bottom:1.1rem;position:absolute;left:-2px;right:-2px}.pace-x{text-align:center;font:500 .6rem var(--font-mono);color:var(--ink-3);position:absolute;bottom:0;left:0;right:0}.review-item{border-radius:var(--r);border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;width:100%;color:inherit;align-items:flex-start;gap:.85rem;padding:.9rem 1rem;transition:border-color .15s,box-shadow .2s;display:flex}.review-item:hover{border-color:var(--line-2);box-shadow:var(--shadow-2)}.review-item>svg{width:1rem;height:1rem;margin-top:.3rem}.review-dot{border-radius:50%;flex:none;place-items:center;width:1.5rem;height:1.5rem;margin-top:.1rem;display:grid}.review-dot svg{stroke:#fff;stroke-width:3.2px;width:.75rem;height:.75rem}.review-dot.good{background:var(--good)}.review-dot.bad{background:var(--bad)}.review-dot.part{background:var(--warn)}.review-item p{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .45rem;font-size:.9rem;display:-webkit-box;overflow:hidden}.results-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;margin-top:2.5rem;display:flex}.bank-tools{gap:.6rem;margin-bottom:1rem;display:grid}@media (width>=56rem){.bank-tools{grid-template-columns:minmax(0,1fr) repeat(5,minmax(0,10rem))}}.bank-list{gap:.5rem;display:grid}.bank-item{text-align:left;border-radius:var(--r);background:var(--surface);border:1px solid var(--line);width:100%;color:inherit;cursor:pointer;padding:.9rem 1.05rem;transition:border-color .15s,box-shadow .2s;display:block}.bank-item:hover{border-color:var(--line-2);box-shadow:var(--shadow-2)}.bank-item .stem{color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.6rem 0 0;font-size:.92rem;line-height:1.55;display:-webkit-box;overflow:hidden}.bank-item .row{gap:.4rem}.status-dot{background:var(--line-2);border-radius:50%;flex:none;width:.5rem;height:.5rem}.status-dot.mastered{background:var(--good)}.status-dot.fragile{background:var(--warn)}.status-dot.missed,.status-dot.skipped{background:var(--bad)}.kpis{border-radius:var(--r-lg);background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:1px;display:grid;overflow:hidden}@media (width>=48rem){.kpis{grid-template-columns:repeat(4,1fr)}}.kpis .kpi{box-shadow:none;border:0;border-radius:0;padding:1.2rem 1.25rem}.kpi b{font:600 2rem/1.1 var(--font);letter-spacing:-.05em;font-variant-numeric:tabular-nums;display:block}.kpi span{color:var(--ink-3);font-size:.8rem}.heat-wrap{padding-bottom:.25rem;overflow-x:auto}.heat{grid-template-rows:repeat(7,.8rem);grid-auto-flow:column;gap:3px;width:max-content;display:grid}.heat i{background:var(--surface-3);border-radius:2px;width:.8rem;height:.8rem}.heat i[data-l="1"]{background:color-mix(in srgb, var(--brand) 30%, var(--surface-3))}.heat i[data-l="2"]{background:color-mix(in srgb, var(--brand) 55%, var(--surface-3))}.heat i[data-l="3"]{background:color-mix(in srgb, var(--brand) 80%, var(--surface-3))}.heat i[data-l="4"]{background:var(--brand)}.module-progress{align-items:center;gap:1.1rem;display:flex}.mini-stat{color:var(--ink-2);grid-template-columns:5.5rem 1fr 3rem;align-items:center;gap:.6rem;margin:.35rem 0;font-size:.78rem;display:grid}.mini-stat b{font:500 .75rem var(--font-mono);text-align:right;color:var(--ink)}.review-item .ring{flex:none}.article-meta{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.75rem;display:flex}.article-meta .exemplar-tag{margin:0}.read-time{font:500 .72rem var(--font-mono);color:var(--ink-3);align-items:center;gap:.35rem;display:inline-flex}.read-time svg{width:.85rem;height:.85rem}.article .prose p{margin:0 0 .9rem}.article .prose p:last-child{margin-bottom:0}.lesson-section{scroll-margin-top:calc(var(--top-h) + 1rem);margin:0 0 2.25rem}.lesson-section>ul,.lesson-section>.steps{margin-top:.75rem}.lesson-outline{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin:0 0 1.75rem;padding:1rem 1.15rem}.lesson-outline ol{counter-reset:o;gap:.2rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}@media (width>=45rem){.lesson-outline ol{grid-template-columns:1fr 1fr;column-gap:1.25rem}}.lesson-outline li{counter-increment:o}.lesson-outline a{color:var(--ink-2);border-radius:.4rem;gap:.55rem;padding:.3rem .4rem;font-size:.88rem;display:flex}.lesson-outline a:before{content:counter(o, decimal-leading-zero);font:500 .7rem var(--font-mono);color:var(--mc);padding-top:.15rem}.lesson-outline a:hover{background:var(--surface-2);color:var(--ink)}.lesson-box{border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface);margin:0 0 1.75rem;padding:1.1rem 1.25rem}.lesson-box h3{align-items:center;gap:.5rem;margin-bottom:.6rem;font-size:.95rem;display:flex}.lesson-box h3 svg{width:1.05rem;height:1.05rem;color:var(--mc)}.lesson-box.objectives{background:color-mix(in srgb, var(--mc) 5%, var(--surface));border-color:color-mix(in srgb, var(--mc) 22%, var(--line))}.lesson-box.recap{background:color-mix(in srgb, var(--good) 5%, var(--surface));border-color:color-mix(in srgb, var(--good) 25%, var(--line))}.lesson-box.recap h3 svg{color:var(--good)}.big-picture{border-left:3px solid var(--mc);margin:0 0 2rem;padding-left:1.1rem}.big-picture .eyebrow{color:var(--mc);margin-bottom:.5rem;display:block}.big-picture p{margin:0 0 .8rem;font-size:1.06rem;line-height:1.75}.key-terms{margin:0 0 2.25rem}.key-terms dl{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--line);gap:1px;margin:0;display:grid;overflow:hidden}@media (width>=45rem){.key-terms dl{grid-template-columns:1fr 1fr}}.key-terms dl>div{background:var(--surface);padding:.8rem 1rem}.key-terms dt{color:var(--ink);margin-bottom:.15rem;font-size:.92rem;font-weight:650}.key-terms .dd{color:var(--ink-2);font-size:.88rem;line-height:1.55;display:block}.steps{gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.steps li{border-radius:var(--r);background:var(--surface);border:1px solid var(--line);align-items:flex-start;gap:.75rem;padding:.7rem .85rem;font-size:.97rem;line-height:1.6;display:flex}.steps .step-n{background:color-mix(in srgb, var(--mc) 14%, transparent);width:1.55rem;height:1.55rem;color:var(--mc);font:600 .74rem var(--font-mono);border-radius:50%;flex:none;place-items:center;margin-top:.05rem;display:grid}.callout.analogy{background:color-mix(in srgb, var(--warn) 6%, var(--surface));border-color:color-mix(in srgb, var(--warn) 25%, transparent);margin-top:1rem}.callout.analogy h3{color:var(--warn)}.callout.analogy p{margin:0;font-size:.98rem;line-height:1.7}.callout.example{background:color-mix(in srgb, var(--info) 5%, var(--surface));border-color:color-mix(in srgb, var(--info) 22%, transparent);margin-top:1rem}.callout.example h3{color:var(--info)}.callout.example div{font-size:.97rem;line-height:1.7}.callout.example p{margin:0 0 .6rem}.callout.mnemonic{background:color-mix(in srgb, var(--accent) 5%, var(--surface));border-color:color-mix(in srgb, var(--accent) 22%, transparent)}.callout.mnemonic h3{color:var(--accent)}.mnemonic-row{border-top:1px dashed var(--line);padding:.5rem 0}.mnemonic-row:first-of-type{border-top:0;padding-top:0}.mnemonic-row b{font:600 .9rem var(--font-mono);color:var(--accent);letter-spacing:.04em}.mnemonic-row p{margin:.2rem 0 0;font-size:.94rem}.check-card{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);margin-top:1rem;padding:.95rem 1.1rem;overflow:hidden}.check-card.open{border-color:color-mix(in srgb, var(--good) 30%, var(--line))}.check-label{font:500 .66rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mc);align-items:center;gap:.35rem;display:inline-flex}.check-label svg{width:.85rem;height:.85rem}.check-q p{margin:.35rem 0 .75rem;font-size:.98rem;font-weight:550;line-height:1.55}.check-a{border-radius:var(--r);background:var(--good-soft);align-items:flex-start;gap:.6rem;padding:.75rem .85rem;display:flex}.check-a svg{width:1rem;height:1rem;color:var(--good);margin-top:.2rem}.check-a p{margin:0;font-size:.94rem;line-height:1.6}.check-reveal svg{width:.9rem;height:.9rem}.self-checks{margin-top:2.25rem}.self-checks .check-card{margin-top:0}.format-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:.5rem;display:grid}.format-grid .mode .chip-count{position:absolute;top:.6rem;right:.6rem}.q-type.is-priority{color:var(--bad);background:var(--bad-soft);border-radius:.35rem;padding:.15rem .45rem}.also-tests{color:var(--ink-3);flex-basis:100%;align-items:center;gap:.35rem;font-size:.74rem;display:inline-flex}.also-tests svg{width:.85rem;height:.85rem;color:var(--mc,var(--brand))}
