:root{--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--radius-sm:6px;--radius:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #1014280f;--shadow:0 6px 24px #10142814;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:72px;--fs-sm:.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.375rem;--fs-2xl:1.75rem;--fs-3xl:2.25rem;--fs-hero:clamp(2.2rem, 5vw, 3.6rem)}:root,[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7fb;--surface:#fff;--surface-2:#f0f2f8;--text:#14161f;--muted:#555c70;--border:#dfe3ec;--accent:#4338ca;--accent-hover:#3730a3;--accent-ink:#fff;--accent-soft:#eceefe;--ok:#0b6e46;--ok-soft:#e1f5ec;--warn:#8a5300;--warn-soft:#fdf0d8;--danger:#b42318;--danger-soft:#fde8e6;--code-bg:#f1f3f9;--focus:#4338ca}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1017;--surface:#151a24;--surface-2:#1b2130;--text:#e8ebf3;--muted:#a3abbf;--border:#283042;--accent:#9aa2ff;--accent-hover:#b4baff;--accent-ink:#0d1017;--accent-soft:#212849;--ok:#4fdc9d;--ok-soft:#12332a;--warn:#f4bb55;--warn-soft:#3a2c10;--danger:#ff8f84;--danger-soft:#3d1b19;--code-bg:#0a0d13;--focus:#9aa2ff;--shadow-sm:0 1px 2px #0006;--shadow:0 6px 24px #0006}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:var(--fs-base);background:var(--bg);color:var(--text);margin:0;line-height:1.6}h1,h2,h3,h4{margin:0 0 var(--space-3);letter-spacing:-.01em;line-height:1.2}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}p{margin:0 0 var(--space-4)}a{color:var(--accent);text-underline-offset:3px}a:hover{color:var(--accent-hover)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}img,svg{max-width:100%}.icon{vertical-align:-.2em;flex:none}.muted{color:var(--muted)}.small{font-size:var(--fs-sm)}.center{text-align:center}.container{width:100%;max-width:1120px;padding:0 var(--space-5);margin:0 auto}.container.narrow{max-width:760px}.container.wide{max-width:1280px}.stack>*+*{margin-top:var(--space-4)}.row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.row.between{justify-content:space-between}.grow{flex:1}.section{padding:var(--space-8) 0}.section.tight{padding:var(--space-6) 0}.section.alt{background:var(--surface);border-block:1px solid var(--border)}.page{padding-top:var(--space-6);padding-bottom:var(--space-8);min-height:60vh}.page-head{margin-bottom:var(--space-5)}.page-head p{color:var(--muted);max-width:62ch;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:var(--space-2);font-size:.75rem;font-weight:700}.sr,.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--accent);color:var(--accent-ink);padding:var(--space-2) var(--space-4);z-index:100;position:absolute;top:0;left:-999px}.skip-link:focus{top:8px;left:8px}.grid{gap:var(--space-4);display:grid}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:860px){.grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:minmax(0,1fr)}.container{padding:0 var(--space-4)}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.site-header{z-index:30;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);position:sticky;top:0}.site-header>.container{max-width:1680px}.header-inner{align-items:center;gap:var(--space-5);min-height:62px;display:flex}.brand{align-items:center;gap:var(--space-2);letter-spacing:-.02em;color:var(--text);white-space:nowrap;font-weight:800;text-decoration:none;display:inline-flex}.brand:hover{color:var(--text)}.brand-mark{background:var(--accent);width:28px;height:28px;color:var(--accent-ink);border-radius:8px;place-items:center;display:inline-grid}.main-nav{gap:var(--space-1);flex:1;display:flex}.main-nav a{white-space:nowrap;color:var(--muted);border-radius:8px;padding:6px 12px;font-size:.95rem;font-weight:500;text-decoration:none}.main-nav a:hover{background:var(--surface-2);color:var(--text)}.main-nav a[aria-current=page]{color:var(--accent);background:var(--accent-soft)}.header-actions{align-items:center;gap:var(--space-2);display:flex}.icon-btn.nav-toggle{margin-left:auto;display:none}@media (max-width:1180px){.icon-btn.nav-toggle{display:inline-grid}.main-nav{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-4);flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0}.main-nav[data-open=true]{display:flex}.header-inner{gap:var(--space-3)}}.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:var(--space-6) 0;margin-top:var(--space-7)}.footer-inner{gap:var(--space-5);grid-template-columns:1.2fr 1fr 1.2fr;align-items:start;display:grid}.footer-inner p{margin:4px 0 0}.footer-links{flex-direction:column;gap:6px;display:flex}@media (max-width:700px){.footer-inner{grid-template-columns:1fr}}.menu{position:relative}.menu summary{cursor:pointer;list-style:none}.menu summary::-webkit-details-marker{display:none}.menu-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:230px;box-shadow:var(--shadow);padding:var(--space-2);z-index:40;flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}.menu-panel a,.menu-panel button{text-align:left;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;text-decoration:none;display:flex}.menu-panel a:hover,.menu-panel button:hover{background:var(--surface-2)}.menu-head{border-bottom:1px solid var(--border);flex-direction:column;margin-bottom:4px;padding:8px 10px;display:flex}.avatar-btn{display:inline-flex;position:relative}.avatar{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border:1px solid var(--border);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:inline-grid}.dot{background:var(--danger);border:2px solid var(--surface);border-radius:50%;width:11px;height:11px;position:absolute;top:-2px;right:-2px}.count{background:var(--danger);color:#fff;border-radius:999px;margin-left:8px;padding:1px 7px;font-size:.72rem;font-weight:700}.btn{justify-content:center;align-items:center;gap:var(--space-2);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:10px 18px;font-weight:600;line-height:1.2;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-hover);color:var(--accent-ink)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover{background:var(--surface-2);color:var(--text)}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover{background:var(--surface-2);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-sm{font-size:var(--fs-sm);border-radius:8px;padding:6px 12px}.btn-lg{font-size:var(--fs-lg);border-radius:12px;padding:14px 26px}.btn[disabled],.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.icon-btn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:10px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-2)}.field{margin-bottom:var(--space-4);flex-direction:column;gap:6px;display:flex}.field label,.label{font-weight:600;font-size:var(--fs-sm)}.field .hint{color:var(--muted);font-size:.82rem}.input,select.input,textarea.input{font:inherit;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:10px 12px}textarea.input{resize:vertical;min-height:110px;font-family:inherit}textarea.input.mono{font-family:var(--font-mono);font-size:.88rem}.input:hover{border-color:color-mix(in srgb, var(--muted) 60%, var(--border))}.input[aria-invalid=true]{border-color:var(--danger)}.error-text{color:var(--danger);font-size:var(--fs-sm);margin:0}.check{gap:var(--space-2);align-items:flex-start;display:flex}.check input{accent-color:var(--accent);margin-top:5px}.seg{border:1px solid var(--border);background:var(--surface);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{font:inherit;cursor:pointer;color:var(--muted);font-weight:600;font-size:var(--fs-sm);background:0 0;border:0;padding:7px 14px}.seg button[aria-pressed=true],.seg button[aria-selected=true]{background:var(--accent-soft);color:var(--accent)}.toggle{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--fs-sm);font-weight:600;display:inline-flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}.card.flat{box-shadow:none}.card.accent{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.card h3,.card h4{margin-bottom:var(--space-2)}.card-link{color:inherit;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:block}.card-link:hover{box-shadow:var(--shadow);border-color:var(--accent);color:inherit;transform:translateY(-2px)}.pill{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 9px;font-size:.74rem;font-weight:700;line-height:1.5;display:inline-flex}.pill-note,.pill-info{background:var(--accent-soft);color:var(--accent);border-color:#0000}.pill-success,.pill-free{background:var(--ok-soft);color:var(--ok);border-color:#0000}.pill-caution,.pill-warn{background:var(--warn-soft);color:var(--warn);border-color:#0000}.pill-danger{background:var(--danger-soft);color:var(--danger);border-color:#0000}.pill-locked{background:var(--surface-2);color:var(--muted)}.pill-instructor{color:#6b21a8;background:#f3e8ff;border-color:#0000}[data-theme=dark] .pill-instructor{color:#e9c9ff;background:#3b1d5c}.table-wrap{margin:var(--space-4) 0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--fs-sm)}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:9px 12px}th{background:var(--surface-2);font-weight:700}tr:last-child td{border-bottom:0}.progress{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:10px;overflow:hidden}.progress>span{background:var(--accent);border-radius:999px;height:100%;display:block}.stat{flex-direction:column;gap:2px;display:flex}.stat-num{font-size:var(--fs-2xl);letter-spacing:-.02em;font-weight:800;line-height:1.1}.stat-label{color:var(--muted);font-size:var(--fs-sm)}.banner{gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);font-size:var(--fs-sm);align-items:flex-start;display:flex}.banner.warn{background:var(--warn-soft);color:var(--text);border-color:#0000}.banner.ok{background:var(--ok-soft);border-color:#0000}.banner.info{background:var(--accent-soft);border-color:#0000}.banner.danger{background:var(--danger-soft);border-color:#0000}.banner>:first-child{margin-top:2px}.empty{text-align:center;padding:var(--space-7) var(--space-5);border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);background:var(--surface)}.empty h3{color:var(--text)}.skeleton{background:linear-gradient(90deg, var(--surface-2), color-mix(in srgb, var(--surface-2) 60%, var(--surface)), var(--surface-2));background-size:200% 100%;border-radius:8px;min-height:1em;animation:1.4s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.toast{background:var(--text);color:var(--bg);box-shadow:var(--shadow);z-index:60;border-radius:999px;padding:10px 18px;font-weight:600;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.divider{background:var(--border);height:1px;margin:var(--space-5) 0;border:0}.kbd{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:.85em}.hero{padding:var(--space-8) 0 var(--space-7);background:radial-gradient(1200px 400px at 70% -10%, var(--accent-soft), transparent 70%)}.hero h1{font-size:var(--fs-hero);letter-spacing:-.03em;max-width:16ch}.hero p.lead{font-size:var(--fs-xl);color:var(--muted);max-width:52ch}.hero-grid{gap:var(--space-6);grid-template-columns:1.3fr 1fr;align-items:center;display:grid}@media (max-width:900px){.hero-grid{grid-template-columns:1fr}}.hero-terminal{color:#d6deeb;border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);font-family:var(--font-mono);box-shadow:var(--shadow);background:#0d1117;border:1px solid #263041;font-size:.82rem;line-height:1.7}.hero-terminal .dim{color:#7d8aa5}.hero-terminal .ok{color:#4fdc9d}.hero-terminal .pr{color:#9aa2ff}.hero-terminal .dots{gap:6px;margin-bottom:10px;display:flex}.hero-terminal .dots i{background:#3a4458;border-radius:50%;width:10px;height:10px;display:block}.trust{gap:var(--space-5);margin-top:var(--space-5);color:var(--muted);font-size:var(--fs-sm);flex-wrap:wrap;display:flex}.trust strong{color:var(--text)}.feature-ico{background:var(--accent-soft);width:38px;height:38px;color:var(--accent);margin-bottom:var(--space-3);border-radius:10px;place-items:center;display:inline-grid}.phase{margin-bottom:var(--space-4)}.phase-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.phase-head h3{font-size:var(--fs-lg);margin:0}.syl{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.syl li{border-bottom:1px solid var(--border)}.syl li:last-child{border-bottom:0}.syl-row{gap:var(--space-3);padding:11px var(--space-4);color:inherit;grid-template-columns:64px 1fr auto auto;align-items:center;text-decoration:none;display:grid}a.syl-row:hover{background:var(--surface-2);color:inherit}.syl-row[data-locked=true] .syl-title{color:var(--muted)}.syl-day{color:var(--accent);font-weight:800;font-size:var(--fs-sm);white-space:nowrap}.syl-title{font-weight:600}.syl-time{color:var(--muted);font-size:var(--fs-sm);white-space:nowrap}.syl-done{color:var(--ok)}@media (max-width:600px){.syl-row{grid-template-columns:54px 1fr auto}.syl-time{display:none}}.pricing{gap:var(--space-5);grid-template-columns:1fr 1fr;align-items:stretch;max-width:880px;margin:0 auto;display:grid}@media (max-width:760px){.pricing{grid-template-columns:1fr}}.price{letter-spacing:-.04em;font-size:3.2rem;font-weight:800;line-height:1}.price small{font-size:var(--fs-base);color:var(--muted);letter-spacing:0;font-weight:600}.ticks{margin:var(--space-4) 0;flex-direction:column;gap:10px;padding:0;list-style:none;display:flex}.ticks li{align-items:flex-start;gap:10px;display:flex}.ticks .icon{color:var(--ok);margin-top:3px}.faq details{border-bottom:1px solid var(--border);padding:var(--space-3) 0}.faq summary{cursor:pointer;justify-content:space-between;gap:var(--space-3);font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";color:var(--muted);font-size:1.4rem;line-height:1}.faq details[open] summary:after{content:"−"}.faq p{margin:var(--space-3) 0 0;color:var(--muted)}.quote{gap:var(--space-3);flex-direction:column;display:flex}.quote blockquote{font-size:var(--fs-lg);margin:0}.quote .who{align-items:center;gap:var(--space-3);display:flex}.auth-wrap{padding:var(--space-7) var(--space-4);place-items:start center;display:grid}.auth-card{width:100%;max-width:440px}.demo-accounts{margin-top:var(--space-3);flex-direction:column;gap:6px;display:flex}.demo-account{justify-content:space-between;gap:var(--space-3);font:inherit;text-align:left;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:10px;align-items:center;padding:8px 12px;display:flex}.demo-account:hover{border-color:var(--accent)}.mail-big{background:var(--accent-soft);width:64px;height:64px;color:var(--accent);margin:0 auto var(--space-4);border-radius:50%;place-items:center;display:grid}.dash-grid{gap:var(--space-4);grid-template-columns:2fr 1fr;display:grid}@media (max-width:900px){.dash-grid{grid-template-columns:1fr}}.ring{--p:0;background:conic-gradient(var(--accent) calc(var(--p) * 1%), var(--surface-2) 0);border-radius:50%;flex:none;place-items:center;width:120px;height:120px;display:grid}.ring>div{background:var(--surface);text-align:center;border-radius:50%;place-items:center;width:94px;height:94px;line-height:1.15;display:grid}.ring strong{font-size:1.5rem}.list{margin:0;padding:0;list-style:none}.list li{justify-content:space-between;gap:var(--space-3);border-bottom:1px solid var(--border);align-items:center;padding:10px 0;display:flex}.list li:last-child{border-bottom:0}.days-strip{grid-template-columns:repeat(auto-fill,minmax(34px,1fr));gap:6px;display:grid}.day-chip{aspect-ratio:1;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:8px;place-items:center;font-size:.78rem;font-weight:700;text-decoration:none;display:grid}.day-chip[data-state=done]{background:var(--ok-soft);color:var(--ok);border-color:#0000}.day-chip[data-state=next]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.day-chip[data-state=locked]{opacity:.6}.lesson-layout{gap:var(--space-6);grid-template-columns:270px minmax(0,1fr);align-items:start;display:grid}@media (max-width:960px){.lesson-layout{grid-template-columns:minmax(0,1fr)}}.sidenav{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);max-height:calc(100vh - 100px);padding:var(--space-2);position:sticky;top:78px;overflow:auto}@media (max-width:960px){.sidenav{max-height:none;position:static}.sidenav-list{display:none}.sidenav[open] .sidenav-list{display:block}}.sidenav summary{cursor:pointer;padding:8px 10px;font-weight:700}@media (min-width:961px){.sidenav summary{pointer-events:none}.sidenav-list{display:block!important}}.sidenav-list{margin:0;padding:0;list-style:none}.sidenav-list a{color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:6px 10px;font-size:.9rem;text-decoration:none;display:flex}.sidenav-list a:hover{background:var(--surface-2);color:var(--text)}.sidenav-list a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}.sidenav-list .n{font-variant-numeric:tabular-nums;min-width:22px;font-weight:700}.sidenav-list .st{margin-left:auto;display:inline-flex}.lesson-badges{flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;display:flex}.lesson-badges .pill{white-space:nowrap;flex:none;padding:2px 8px}.lesson-badges .pill:last-child{text-overflow:ellipsis;flex:0 auto;min-width:0;overflow:hidden}@media (max-width:640px){.lesson-badges{flex-wrap:wrap}.lesson-badges .pill:last-child{flex:none}}.lesson-title-row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.lesson-title-row h1{min-width:0;font-size:var(--fs-2xl);flex:18rem;margin:0}.lesson-title-row .lesson-badges{flex:none;justify-content:flex-end}@media (max-width:640px){.lesson-title-row h1{flex-basis:100%}.lesson-title-row .lesson-badges{justify-content:flex-start}}.table-scroll{overflow-x:auto}.credits-table{border-collapse:collapse;width:100%;margin:var(--space-4) 0;font-size:var(--fs-sm)}.credits-table th,.credits-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 10px}.credits-table th{color:var(--muted);font-weight:600}.lesson-hero{margin:var(--space-4) 0 var(--space-5)}.lesson-hero img{aspect-ratio:1424/752;background:var(--surface);border-radius:2px;width:100%;height:auto;display:block}.lesson-hero figcaption{margin-top:var(--space-2);color:var(--muted);font-size:var(--fs-sm);font-style:italic}@media (max-width:640px){.lesson-hero{margin-top:var(--space-3)}}.crumbs{font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--space-3)}.crumbs a{color:var(--muted)}.lesson-actions{gap:var(--space-3);padding:var(--space-4) 0;flex-wrap:wrap;align-items:center;display:flex}.pager{gap:var(--space-3);margin-top:var(--space-6);grid-template-columns:1fr 1fr;display:grid}.pager a{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);background:var(--surface);color:var(--text);text-decoration:none;display:block}.pager a:hover{border-color:var(--accent)}.pager a.next{text-align:right}.pager small{color:var(--muted);display:block}.blur-teaser{-webkit-user-select:none;user-select:none;max-height:220px;position:relative;overflow:hidden}.blur-teaser:after{content:"";background:linear-gradient(transparent, var(--bg));position:absolute;inset:0}.paywall{border:2px solid var(--accent);border-radius:var(--radius-lg);background:var(--surface);padding:var(--space-6);box-shadow:var(--shadow)}.paywall h2{font-size:var(--fs-2xl)}.prose{overflow-wrap:anywhere;font-size:1.02rem}.prose>:first-child{margin-top:0}.prose h2{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--fs-xl)}.prose h3{margin-top:var(--space-5);font-size:var(--fs-lg)}.prose h2 a,.prose h3 a{color:inherit;text-decoration:none}.prose ul,.prose ol{margin:0 0 var(--space-4);padding-left:1.4rem}.prose li{margin:4px 0}.prose img{border-radius:var(--radius-sm);border:1px solid var(--border)}.prose blockquote{margin:var(--space-4) 0;padding:var(--space-2) var(--space-4);border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.prose blockquote p:last-child{margin:0}.prose code{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:5px;padding:1px 5px;font-size:.88em}.prose table{min-width:30rem}.prose th,.prose td,.prose td code,.prose th code{overflow-wrap:normal;word-break:keep-all}.prose table.label-col th:first-child,.prose table.label-col td:first-child{min-width:7.5rem}.prose table.label-col-3 th:first-child,.prose table.label-col-3 td:first-child{min-width:9rem}.prose table.label-col-2 th:first-child,.prose table.label-col-2 td:first-child{min-width:11rem}@media (max-width:600px){.prose table.label-col-2 th:first-child,.prose table.label-col-2 td:first-child{min-width:9rem}}.prose pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4);overflow-wrap:normal;font-size:.85rem;line-height:1.55;overflow-x:auto}.prose pre code{font-size:inherit;overflow-wrap:normal;background:0 0;border:0;padding:0}.prose hr{border:0;border-top:1px solid var(--border);margin:var(--space-5) 0}.aside{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);border-left-width:4px}.aside:before{content:attr(data-title);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.82rem;font-weight:800;display:block}.aside>:last-child{margin-bottom:0}.aside.note{border-left-color:var(--accent)}.aside.note:before{color:var(--accent)}.aside.tip{border-left-color:var(--ok)}.aside.tip:before{color:var(--ok)}.aside.caution{border-left-color:var(--warn);background:var(--warn-soft)}.aside.caution:before{color:var(--warn)}.aside.danger{border-left-color:var(--danger);background:var(--danger-soft)}.aside.danger:before{color:var(--danger)}.steps>ol{counter-reset:step;padding-left:0;list-style:none}.steps>ol>li{counter-increment:step;margin:var(--space-4) 0;padding-left:44px;position:relative}.steps>ol>li:before{content:counter(step);background:var(--accent-soft);width:28px;height:28px;color:var(--accent);border-radius:50%;place-items:center;font-size:.85rem;font-weight:800;display:grid;position:absolute;top:0;left:0}.linkcard{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);margin:var(--space-3) 0;background:var(--surface);text-decoration:none;display:block}.linkcard:hover{border-color:var(--accent)}.linkcard-title{color:var(--accent);font-weight:700;display:block}.linkcard-desc{color:var(--muted);font-size:var(--fs-sm);display:block}.diagram-note{margin:var(--space-4) 0;border:1px dashed var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);background:var(--surface)}.diagram-note summary{cursor:pointer;color:var(--muted);font-size:var(--fs-sm)}.prose details{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-4);margin:var(--space-3) 0;background:var(--surface)}.prose summary{cursor:pointer;font-weight:600}.ex{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.ex+.ex{margin-top:var(--space-3)}.ex>summary{cursor:pointer;padding:var(--space-4);gap:var(--space-3);flex-wrap:wrap;align-items:center;list-style:none;display:flex}.ex>summary::-webkit-details-marker{display:none}.ex>summary:before{content:"▸";color:var(--muted)}.ex[open]>summary:before{content:"▾"}.ex-title{flex:1;min-width:200px;font-weight:700}.ex-body{padding:0 var(--space-4) var(--space-4)}.ex-body .checks{margin:var(--space-2) 0 var(--space-4);padding:0;list-style:none}.ex-body .checks li{align-items:flex-start;gap:8px;margin:6px 0;display:flex}.ex-body .checks .icon{color:var(--ok);margin-top:4px}.diff-Warm-up{background:var(--ok-soft);color:var(--ok);border-color:#0000}.diff-Core{background:var(--accent-soft);color:var(--accent);border-color:#0000}.diff-Stretch{background:var(--warn-soft);color:var(--warn);border-color:#0000}.submit-box{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);background:var(--surface-2)}.code-answer{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;margin:var(--space-2) 0;font-size:.84rem}.locked-overlay{position:relative}.locked-overlay>.blur{filter:blur(6px);-webkit-user-select:none;user-select:none;pointer-events:none}.locked-overlay>.cta{text-align:center;padding:var(--space-4);place-items:center;display:grid;position:absolute;inset:0}.locked-overlay>.cta>div{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow);max-width:360px}.filter-bar{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.filter-bar .input{width:auto;min-width:150px}.q-card{gap:var(--space-3);padding:var(--space-4);grid-template-columns:56px 1fr;display:grid}.vote{flex-direction:column;align-items:center;gap:2px;display:flex}.vote button{font:inherit;border:1px solid var(--border);background:var(--surface);width:40px;height:36px;color:var(--muted);cursor:pointer;border-radius:8px;place-items:center;display:inline-grid}.vote button:hover{color:var(--accent);border-color:var(--accent)}.vote button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.vote strong{font-size:var(--fs-sm)}.q-title{font-size:var(--fs-lg);color:var(--text);margin-bottom:4px;font-weight:700;text-decoration:none;display:block}a.q-title:hover{color:var(--accent)}.answer{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);background:var(--surface)}.answer.accepted{border-color:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.answer.instructor{border-left:4px solid #a855f7}.reply{margin:var(--space-3) 0 0 var(--space-5);padding-left:var(--space-3);border-left:2px solid var(--border);font-size:.95rem}.meta{gap:var(--space-2);font-size:var(--fs-sm);color:var(--muted);margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.shot{aspect-ratio:16/9;border-radius:var(--radius-sm);color:#ffffffeb;text-align:center;padding:var(--space-3);margin-bottom:var(--space-3);place-items:center;font-size:1.15rem;font-weight:800;display:grid;position:relative;overflow:hidden}.shot:after{content:"screenshot placeholder";opacity:.75;font-size:.65rem;font-weight:600;position:absolute;bottom:6px;right:10px}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:600}.proj-foot{margin-top:var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.like-btn{font:inherit;border:1px solid var(--border);cursor:pointer;color:var(--muted);background:0 0;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-weight:600;display:inline-flex}.like-btn[aria-pressed=true]{color:#e11d48;background:#e11d481a;border-color:#e11d48}.tabs-nav{gap:var(--space-1);border-bottom:1px solid var(--border);margin-bottom:var(--space-5);display:flex;overflow-x:auto}.tabs-nav a{color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;padding:10px 16px;font-weight:600;text-decoration:none}.tabs-nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.rubric{gap:var(--space-3);display:grid}.rubric-row{gap:var(--space-3);grid-template-columns:130px 1fr;align-items:center;display:grid}.rubric-row .seg{justify-self:start}.rubric-row .seg button{padding:6px 14px}.bars{height:150px;padding-top:var(--space-3);align-items:flex-end;gap:8px;display:flex}.bars>div{height:100%;color:var(--muted);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;font-size:.75rem;display:flex}.bars>div>span{background:var(--accent);border-radius:6px 6px 0 0;width:100%;min-height:4px;display:block}.mail-frame{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);overflow:hidden}.mail-chrome{padding:var(--space-3) var(--space-4);background:var(--surface-2);border-bottom:1px solid var(--border);font-size:var(--fs-sm);gap:2px;display:grid}.mail-chrome b{min-width:64px;color:var(--muted);font-weight:600;display:inline-block}.mail-canvas{padding:var(--space-5) var(--space-3);color:#1a1d29;background:#eef0f6}.mail-card{color:#1a1d29;background:#fff;border:1px solid #e1e5ee;border-radius:12px;max-width:560px;margin:0 auto;padding:28px 30px;font-size:15px;line-height:1.6}.mail-card h2{color:#1a1d29;margin:0 0 12px;font-size:20px}.mail-card .mail-btn{color:#fff;background:#4338ca;border-radius:8px;margin:8px 0 14px;padding:11px 20px;font-weight:700;text-decoration:none;display:inline-block}.mail-card .mail-foot{color:#6b7185;border-top:1px solid #e8ebf2;margin-top:22px;padding-top:12px;font-size:12px}.mail-card table{font-size:14px}.mail-card th{background:#f4f6fb}.mail-card .mail-logo{color:#4338ca;margin-bottom:14px;font-weight:800}.mail-preheader{color:#6b7185;max-width:560px;margin:0 auto 10px;font-size:12px}.mail-mobile .mail-card{max-width:340px}.flow{padding:var(--space-2) 0;overflow-x:auto}.flow svg{width:100%;min-width:760px;height:auto}.flow text{fill:var(--text);font-family:var(--font-sans);font-size:12px}.flow .box{fill:var(--surface);stroke:var(--border)}.flow .ev{fill:var(--accent-soft);stroke:var(--accent)}.flow .em{fill:var(--ok-soft);stroke:var(--ok)}.flow .ln{stroke:var(--muted);fill:none}.co-banner{color:#422006;text-align:center;padding:8px var(--space-3);letter-spacing:.03em;background:repeating-linear-gradient(45deg,#fde68a,#fde68a 14px,#fcd34d 14px 28px);font-size:.85rem;font-weight:800}.co{grid-template-columns:1fr 1fr;min-height:70vh;display:grid}@media (max-width:860px){.co{grid-template-columns:1fr}}.co-left{background:var(--surface-2);padding:var(--space-7) var(--space-6);justify-content:flex-end;display:flex}.co-right{background:var(--surface);padding:var(--space-7) var(--space-6)}.co-inner{width:100%;max-width:420px}.co-product{gap:var(--space-3);margin:var(--space-5) 0;align-items:center;display:flex}.co-thumb{background:var(--accent);width:56px;height:56px;color:var(--accent-ink);border-radius:12px;place-items:center;display:grid}.co-total{padding:var(--space-3) 0;border-top:1px solid var(--border);justify-content:space-between;font-weight:700;display:flex}.card-field{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.card-field input{width:100%;font:inherit;color:var(--text);background:0 0;border:0;border-radius:0;padding:11px 12px}.card-field .split{border-top:1px solid var(--border);grid-template-columns:1fr 1fr;display:grid}.card-field .split input+input{border-left:1px solid var(--border)}.spinner{border:3px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.receipt{max-width:520px;margin:0 auto}.big-check{background:var(--ok-soft);width:72px;height:72px;color:var(--ok);margin:0 auto var(--space-4);border-radius:50%;place-items:center;display:grid}.notes-fab{right:var(--space-4);bottom:var(--space-4);z-index:45;align-items:center;gap:var(--space-2);border:1px solid var(--border);background:var(--accent);color:var(--accent-ink);font:inherit;box-shadow:var(--shadow);cursor:pointer;border-radius:999px;padding:10px 14px;font-weight:700;display:inline-flex;position:fixed}.notes-fab:hover{background:var(--accent-hover)}.notes-fab .count{background:var(--accent-ink);color:var(--accent);margin-left:0}.notes-fab .kbd{background:color-mix(in srgb, var(--accent-ink) 22%, transparent);color:var(--accent-ink);border-color:#0000}html[data-notes-open] .notes-fab{display:none}.notes-panel{z-index:50;background:var(--surface);border-left:1px solid var(--border);width:min(400px,94vw);box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.notes-panel[hidden]{display:none}.notes-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--border);display:flex}.notes-title{font-size:var(--fs-lg);margin:0}.notes-sub{text-overflow:ellipsis;white-space:nowrap;max-width:28ch;margin:2px 0 0;overflow:hidden}.notes-body{padding:var(--space-4);flex:1;overflow-y:auto}.notes-foot{border-top:1px solid var(--border);padding:var(--space-3) var(--space-4)}.notes-list-title{font-size:var(--fs-base);margin:var(--space-5) 0 var(--space-3)}.notes-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.note-form{gap:var(--space-3);display:grid}.note-form textarea.input{min-height:96px}.note-form-row{gap:var(--space-3);grid-template-columns:1fr;display:grid}.note-form-row .label{margin-bottom:4px;display:block}@media (min-width:1100px){html[data-notes-open] main,html[data-notes-open] .site-footer{margin-right:400px}}@media (max-width:760px){.notes-panel{border-left:0;border-top:1px solid var(--border);border-radius:18px 18px 0 0;width:auto;max-height:82vh;top:auto;left:0;right:0}.note-form-row{grid-template-columns:1fr}.notes-fab kbd{display:none}html[data-notes-open] body{padding-bottom:60vh}}.note-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:var(--space-3) var(--space-4);position:relative}.note-card[data-pinned=true]{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:color-mix(in srgb, var(--accent-soft) 40%, var(--surface))}.note-meta{gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.note-meta time{margin-left:auto}.note-foot{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.note-actions{gap:var(--space-1);margin-top:var(--space-2);justify-content:flex-end;align-items:center;display:flex}.note-actions .icon-btn{border-radius:8px;width:30px;height:30px}.note-actions .icon-btn[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.note-md{font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.55}.note-md p{margin:0 0 var(--space-2)}.note-md ul,.note-md ol{margin:0 0 var(--space-2);padding-left:1.3em}.note-md code{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:.9em}.note-md>:last-child{margin-bottom:0}.note-audio{width:100%;height:34px}.note-skeleton{padding:var(--space-2) 0;gap:8px;display:grid}.note-edit{gap:var(--space-3);display:grid}.chip{background:var(--surface-2);border:1px solid var(--border);max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex;overflow:hidden}a.chip-link{color:var(--accent);background:var(--accent-soft);border-color:#0000}a.chip-link:hover{color:var(--accent-hover);text-decoration:underline}.chip-voice{background:var(--warn-soft);color:var(--warn);border-color:#0000}.chip-pin{background:var(--accent-soft);color:var(--accent);border-color:#0000}.voice-live{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.rec-dot{background:var(--danger);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.rec-dot{animation:none}}.voice-timer{font-size:var(--fs-sm)}.meter{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;width:90px;height:8px;overflow:hidden}.meter-bar{background:var(--ok);height:100%;transition:width 80ms linear}.notes-toolbar{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.notes-toolbar .search-field{grid-column:1/-1}@media (max-width:760px){.notes-toolbar{grid-template-columns:1fr 1fr}}.search-field{position:relative}.search-field>svg{color:var(--muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-field .input{padding-left:36px}.notes-phase{margin-bottom:var(--space-6)}.notes-day{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);margin-top:var(--space-4)}.notes-day-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);display:flex}.notes-day-head h3{font-size:var(--fs-base);margin:0}.collapse-btn{align-items:center;gap:var(--space-2);font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;padding:6px;display:inline-flex}.collapse-btn:hover{background:var(--surface-2)}.collapse-btn svg{transition:transform .15s;transform:rotate(90deg)}.collapse-btn[aria-expanded=false] svg{transform:rotate(0)}.notes-section{padding:var(--space-3) var(--space-4)}.notes-section+.notes-section{border-top:1px dashed var(--border)}.notes-section-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.notes-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.recent-notes{margin:var(--space-3) 0;gap:var(--space-2);padding:0;list-style:none;display:grid}.recent-note{background:var(--surface-2);color:var(--text);border-radius:10px;gap:2px;padding:8px 10px;text-decoration:none;display:grid}.recent-note:hover{background:var(--accent-soft)}.recent-note-text{font-size:var(--fs-sm);overflow-wrap:anywhere}@media print{.site-header,.site-footer,.notes-fab,.notes-panel,.no-print,.skip-link,.notes-toolbar,.note-actions{display:none!important}[data-collapsible-body][hidden]{display:block!important}.collapse-btn svg{display:none}body{color:#000;background:#fff}.notes-day,.note-card{break-inside:avoid;box-shadow:none;border-color:#bbb}html[data-notes-open] main{margin-right:0}}.code-block{margin:var(--space-4) 0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--code-bg);overflow:hidden}.code-title{font-family:var(--font-mono);color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 12px;font-size:.76rem;font-weight:600;display:flex}.code-dots{background:#ff5f57;border-radius:50%;flex:none;width:10px;height:10px;margin-right:34px;display:inline-block;box-shadow:16px 0 #febc2e,32px 0 #28c840}.code-body{position:relative}.prose .code-block pre{padding:var(--space-4);background:0 0;border:0;border-radius:0;margin:0;padding-right:64px}.code-block[data-frame=terminal] .code-body{background:var(--term-bg,var(--code-bg))}.shiki,.shiki span{color:var(--shiki-light)}[data-theme=dark] .shiki,[data-theme=dark] .shiki span{color:var(--shiki-dark)}.code-copy{border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;opacity:0;border-radius:6px;padding:3px 10px;font-size:.74rem;font-weight:700;transition:opacity .12s;position:absolute;top:8px;right:8px}.code-body:hover .code-copy,.code-copy:focus-visible,.code-copy[data-copied=true]{opacity:1}@media (hover:none){.code-copy{opacity:1}}.code-copy:hover{color:var(--text);border-color:var(--accent)}.heading-anchor{color:var(--muted);opacity:0;margin-left:.4em;font-weight:400;text-decoration:none}.prose :is(h2,h3):hover .heading-anchor,.heading-anchor:focus-visible{opacity:1}.mermaid{margin:var(--space-4) 0;padding:var(--space-3);background:0 0;justify-content:center;min-height:3rem;display:flex;overflow-x:auto}.mermaid svg{max-width:100%;height:auto}.mermaid-error{border:1px dashed var(--border);border-radius:var(--radius-sm);flex-direction:column;align-items:stretch}.tabs{margin:var(--space-4) 0}.tab-list{border-bottom:1px solid var(--border);gap:2px;display:flex;overflow-x:auto}.tab-list [role=tab]{font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:.88rem;font-weight:600}.tab-list [role=tab]:hover{color:var(--text)}.tab-list [role=tab][aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.tab-panel{padding-top:var(--space-3);min-width:0}.tab-panel>:last-child{margin-bottom:0}.tab-panel[hidden]{display:none}.card-grid{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.card-grid>.linkcard{height:100%;margin:0}.doc-card{border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);background:var(--surface)}.doc-card h3{margin:0 0 var(--space-2);align-items:center;gap:8px;font-size:1rem;display:flex}.doc-card-icon{background:var(--accent-soft);width:24px;height:24px;color:var(--accent);border-radius:6px;place-items:center;display:inline-grid}.doc-card p:last-child{margin-bottom:0}.filetree{margin:var(--space-4) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.9rem;overflow-x:auto}.filetree ul{border-left:1px solid var(--border);margin:0;padding-left:1.2rem;list-style:none}.filetree>ul{border-left:0;padding-left:0}.filetree li{margin:2px 0}.ft-name{font-family:var(--font-mono);font-weight:600}.ft-icon:before{content:"📄";margin-right:6px;font-size:.85em}.ft-dir>.ft-name .ft-icon:before{content:"📁"}.ft-note{color:var(--muted);margin-left:.6em}.prose .roadmap{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.75rem;margin:1rem 0;padding:0;list-style:none;display:grid}.prose .roadmap li{margin:0}.roadmap a{border:1px solid var(--border);background:var(--surface);height:100%;color:var(--text);border-radius:.5rem;flex-direction:column;gap:.15rem;padding:.7rem .9rem;line-height:1.3;text-decoration:none;display:flex}.roadmap a:hover,.roadmap a:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.roadmap-wk{color:var(--accent);font-size:.875rem;font-weight:600}.roadmap-title{overflow-wrap:break-word;font-size:1.05rem;font-weight:600}@media (max-width:30rem){.prose .roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}}.dz-zoomable{cursor:zoom-in;border-radius:.375rem}.dz-zoomable:hover{outline:2px solid var(--accent);outline-offset:2px}.dz-zoomable:focus-visible{outline:3px solid var(--accent);outline-offset:3px}html.dz-lock{overflow:hidden}.dz-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#000000db;flex-direction:column;display:flex;position:fixed;inset:0}.dz-bar{justify-content:flex-end;align-items:center;gap:.5rem;min-height:3.5rem;padding:.5rem .75rem;display:flex}.dz-level{text-align:center;color:#fff;font-variant-numeric:tabular-nums;min-width:3.5rem;font-size:.875rem}.dz-btn{border:1px solid var(--border);background:var(--surface);min-width:2.5rem;height:2.5rem;color:var(--text);cursor:pointer;border-radius:999px;padding:0 .75rem;font-size:1.25rem;line-height:1}.dz-btn:hover{border-color:var(--accent)}.dz-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.dz-close{margin-inline-start:.5rem}.dz-stage{cursor:grab;touch-action:none;flex:1;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.dz-stage.dz-grabbing{cursor:grabbing}.dz-content{transform-origin:50%;background:var(--surface);color:var(--text);will-change:transform;border-radius:.5rem;padding:1rem}.dz-content svg,.dz-content img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}.container.docs-page{max-width:1680px;padding:0 var(--space-4)}@media (min-width:1500px){.container.docs-page{padding:0 var(--space-6)}}.docs-layout{--sb-top:76px;gap:var(--space-5);grid-template-columns:17rem minmax(0,1fr) 14.5rem;align-items:start;display:grid}@media (min-width:1440px){.docs-layout{gap:var(--space-6);grid-template-columns:20rem minmax(0,1fr) 17.5rem}}@media (min-width:1800px){.docs-layout{gap:var(--space-7);grid-template-columns:22rem minmax(0,1fr) 19rem}}.docs-main{min-width:0}.docs-sidebar{top:var(--sb-top);align-self:start;position:sticky}.docs-nav{width:100%;font-size:.95rem}@media (min-width:1440px){.docs-nav{font-size:1rem}}.docs-nav details{margin-bottom:var(--space-1)}.docs-nav summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-2);border-radius:10px;min-height:44px;padding:10px 12px;font-size:1.05em;font-weight:700;list-style:none;display:flex}.docs-nav summary::-webkit-details-marker{display:none}.docs-nav summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;margin-right:4px;transition:transform .12s;transform:rotate(-45deg)}.docs-nav details[open]>summary:after{transform:rotate(45deg)}.docs-nav summary:hover{background:var(--surface-2)}.docs-phases{padding-left:var(--space-2)}.docs-nav .docs-phase>summary{min-height:42px;font-size:1em;font-weight:600}.docs-nav summary>span{flex:1}.docs-nav summary>small{color:var(--muted);text-align:right;font-size:.82em;font-weight:500}.docs-nav ul{margin:2px 0 var(--space-2);padding:0 0 0 var(--space-2);border-left:1px solid var(--border);margin-left:12px;list-style:none}.docs-nav a{min-height:40px;color:var(--muted);border-radius:8px;align-items:flex-start;gap:10px;padding:9px 12px;font-size:1em;line-height:1.4;text-decoration:none;display:flex}.docs-nav a:hover{background:var(--surface-2);color:var(--text)}.docs-nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent);font-weight:700}.docs-nav .n{font-variant-numeric:tabular-nums;flex:none;min-width:28px;font-weight:700}.docs-nav .t{flex:1;min-width:0}.docs-nav .st{flex:none;justify-content:center;align-items:center;width:22px;min-height:22px;margin-left:auto;display:inline-flex}.docs-aside{scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:calc(100vh - 92px);padding-right:4px;position:sticky;top:76px;overflow-y:auto}.docs-main .prose :is(p,blockquote),.docs-main .prose>:is(ul,ol){max-width:88ch}.toc h2{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 var(--space-3);padding-left:14px;font-size:.85rem}.toc ul,.toc-mobile ul{margin:0;padding:0;list-style:none}.toc li[data-depth="3"] a{padding-left:28px;font-size:.9em}.toc a,.toc-mobile a{color:var(--muted);border-left:2px solid var(--border);padding:7px 14px;font-size:.95rem;line-height:1.45;text-decoration:none;display:block}@media (min-width:1440px){.toc a{font-size:1rem}}.toc a:hover,.toc-mobile a:hover{color:var(--text)}.toc a[aria-current=location]{color:var(--accent);border-left-color:var(--accent);font-weight:600}.toc-mobile{margin-bottom:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:var(--space-2) var(--space-4);display:none}.toc-mobile summary{cursor:pointer;font-size:.9rem;font-weight:600}.docs-menu-btn{margin-bottom:var(--space-3);font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:.9rem;font-weight:600;display:none}.docs-backdrop{display:none}.doc-lead{color:var(--muted);max-width:62ch;margin:0 0 var(--space-3);font-size:1.05rem}.doc-meta{gap:var(--space-2) var(--space-5);margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--border);font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;display:flex}@media (max-width:1279px){.docs-layout{grid-template-columns:17rem minmax(0,1fr)}.docs-aside .toc{display:none}.toc-mobile{display:block}.docs-aside{order:-1;grid-column:1/-1;max-height:none;position:static}}@media (max-width:960px){.docs-layout{grid-template-columns:minmax(0,1fr)}.docs-menu-btn{display:inline-flex}.docs-sidebar{z-index:60;width:min(20rem,86vw);max-height:none;padding:72px var(--space-3) var(--space-4);background:var(--surface);border-right:1px solid var(--border);visibility:hidden;transition:transform .18s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-102%)}.docs-layout[data-drawer=true] .docs-sidebar{visibility:visible;transform:none}.docs-backdrop{z-index:55;background:#00000073;border:0;display:block;position:fixed;inset:0}html.docs-drawer-open{overflow:hidden}.docs-aside{order:-1}}@media (prefers-reduced-motion:reduce){.docs-sidebar{transition:none}}.theme-toggle{border:1px solid var(--border);background:var(--surface);border-radius:10px;display:inline-flex;overflow:hidden}.theme-toggle button{width:30px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.theme-toggle button:hover{color:var(--text);background:var(--surface-2)}.theme-toggle button[aria-checked=true]{color:var(--accent);background:var(--accent-soft)}.main-nav .nav-gh,.main-nav .nav-start{display:none}@media (max-width:1180px){.gh-link{display:none}.main-nav .nav-gh{display:block}}@media (min-width:1181px) and (max-width:1320px){.gh-link{display:none}}@media (max-width:700px){.theme-toggle button{width:28px}.header-actions{gap:6px}}@media (max-width:560px){.hide-sm{display:none}.header-actions .btn-sm{padding:6px 10px}.brand{font-size:.95rem}}.header-actions .btn{white-space:nowrap}.icon-btn.nav-toggle{flex:none}@media (max-width:480px){.brand-text{display:none}}.search-btn{align-items:center;gap:var(--space-2);border:1px solid var(--border);background:var(--surface);height:36px;color:var(--muted);font:inherit;font-size:var(--fs-sm);cursor:pointer;border-radius:10px;padding:0 10px;display:inline-flex}.search-btn:hover{background:var(--surface-2);color:var(--text)}.search-btn-kbd{margin-left:var(--space-2)}@media (max-width:1500px){.main-nav a{padding:6px 5px;font-size:.88rem}.header-inner{gap:var(--space-2)}.header-actions{gap:4px}.header-actions .signout-btn{padding-inline:6px}.theme-toggle button{width:28px}}@media (max-width:1440px){.search-btn-label,.search-btn-kbd{display:none}.search-btn{width:36px;color:var(--text);justify-content:center;padding:0}}.search-overlay{z-index:1100;padding:12vh var(--space-3) var(--space-3);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#080a128c;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.search-dialog{background:var(--surface);width:min(640px,100%);max-height:76vh;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.sd-field{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.sd-field input{min-width:0;color:inherit;font:inherit;font-size:var(--fs-lg);background:0 0;border:0;outline:0;flex:1}.sd-field input::-webkit-search-cancel-button{display:none}.search-esc{cursor:pointer;color:var(--muted)}.search-results{padding:var(--space-2);margin:0;list-style:none;overflow-y:auto}.search-results li{padding:10px var(--space-3);border-radius:var(--radius-sm);cursor:pointer;gap:2px;display:grid}.search-results li[aria-selected=true]{background:var(--accent-soft);outline:2px solid var(--focus);outline-offset:-2px}.search-group{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem}.search-title{font-weight:650}.search-title svg{vertical-align:-2px;margin-right:6px}.sd-field svg{color:var(--muted);flex:none}.search-heading{color:var(--muted);font-weight:500}.search-snippet{font-size:var(--fs-sm);color:var(--muted);overflow-wrap:anywhere}.search-results mark{background:color-mix(in srgb, var(--warn) 32%, transparent);color:inherit;border-radius:3px;padding:0 1px}.search-results li[data-locked] .search-title{color:var(--muted)}.search-status{padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);margin:0}.report-btn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;gap:6px;padding:0;font-weight:600;display:inline-flex}.report-btn:hover,.report-btn[aria-expanded=true]{background:var(--accent-soft);color:var(--accent);border-color:#0000}.report-btn-label{display:none}@media (min-width:1500px){.report-btn{width:auto;padding:0 12px}.report-btn-label{display:inline}}.report-panel{z-index:50;background:var(--surface);border-left:1px solid var(--border);width:min(380px,94vw);box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.report-panel[hidden]{display:none}.report-panel[data-dragging]{outline:3px dashed var(--accent);outline-offset:-6px}.rp-drop{background:color-mix(in srgb, var(--accent-soft) 85%, transparent);color:var(--accent);pointer-events:none;place-items:center;font-weight:800;display:grid;position:absolute;inset:0}html[data-report-open] .notes-fab{display:none}@media (min-width:1100px){html[data-report-open] main,html[data-report-open] .site-footer{margin-right:380px}}.rp-form{gap:var(--space-3);display:grid}.rp-form .label{align-items:center;gap:4px;margin-bottom:4px;display:flex}.rp-form textarea.input{resize:vertical;min-height:88px}.rp-seg{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.rp-seg-item{font-weight:700;font-size:var(--fs-sm);color:var(--muted);cursor:pointer;place-items:center;padding:8px 6px;display:grid;position:relative}.rp-seg-item+.rp-seg-item{border-left:1px solid var(--border)}.rp-seg-item input{opacity:0;cursor:pointer;position:absolute;inset:0}.rp-seg-item[data-on=true]{background:var(--accent);color:var(--accent-ink)}.rp-seg-item:focus-within{outline:2px solid var(--accent);outline-offset:-2px}.rp-sev{border:0;min-width:0;margin:0;padding:0}.rp-sev legend{padding:0}.rp-sev-item{cursor:pointer;font-size:var(--fs-sm);padding:4px 12px;position:relative}.rp-sev-item input{opacity:0;cursor:pointer;position:absolute;inset:0}.rp-sev-item[data-on=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.rp-sev-item:focus-within{outline:2px solid var(--accent);outline-offset:1px}.rp-add{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;display:grid}:is(.rp-add .voice:has(.voice-live),.rp-add .voice:has(.banner)){order:-1;grid-column:1/-1}.rp-add .btn,.rp-add .voice>.btn{justify-content:center;width:100%;padding-inline:6px}.rp-opts{gap:4px;display:grid}.rp-opts .check{align-items:center}.rp-atts{margin:0 0 var(--space-2);gap:var(--space-2);padding:0;list-style:none;display:grid}.rp-att{gap:var(--space-2);border:1px solid var(--border);background:var(--surface-2);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:6px;display:grid}.rp-att-media{min-width:0;display:grid}.rp-att-media img{object-fit:cover;border-radius:6px;width:64px;height:48px}.rp-att-media video{background:#000;border-radius:6px;width:96px;height:54px}.rp-att-media audio{width:150px;height:34px}.rp-att-info{min-width:0;display:grid}.rp-att-name{font-weight:600;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rp-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.rp-chip{padding-right:4px}.rp-chip button{width:18px;height:18px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.rp-chip button:hover{background:var(--border);color:var(--text)}.rp-foot{justify-content:space-between;align-items:center;gap:var(--space-3);bottom:calc(-1 * var(--space-4));padding:var(--space-3) 0;background:var(--surface);display:flex;position:sticky}.rp-sent{text-align:center;padding:var(--space-5) 0}.rp-sent .stack{max-width:240px;margin:var(--space-4) auto 0}.block{display:block}@media (max-width:760px){.report-panel{border-left:0;border-top:1px solid var(--border);border-radius:18px 18px 0 0;width:auto;max-height:86vh;top:auto;left:0;right:0}}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.spinner-sm{vertical-align:-1px;border-width:2px;width:12px;height:12px}.tip{display:inline-flex;position:relative}.tip-btn{width:20px;height:20px;color:var(--muted);cursor:help;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:inline-grid}.tip-btn:hover,.tip-btn:focus-visible{color:var(--accent)}.tip-body{z-index:5;background:var(--text);width:230px;color:var(--bg);font-size:var(--fs-sm);box-shadow:var(--shadow);visibility:hidden;opacity:0;pointer-events:none;text-align:left;border-radius:8px;padding:8px 10px;font-weight:400;line-height:1.4;transition:opacity .12s;position:absolute;top:calc(100% + 6px);right:-8px}.tip:hover .tip-body,.tip:focus-within .tip-body{visibility:visible;opacity:1}@media (prefers-reduced-motion:reduce){.tip-body{transition:none}}.md{gap:var(--space-5);grid-template-columns:minmax(280px,360px) minmax(0,1fr);align-items:start;display:grid}.md-detail{min-width:0}.md-back{margin-bottom:var(--space-3);display:none}.md-empty{padding:var(--space-6) 0;text-align:center}@media (max-width:900px){.md{grid-template-columns:minmax(0,1fr)}.md[data-selected] .md-list,.md:not([data-selected]) .md-detail{display:none}.md-back{display:inline-flex}}.chip-filter{flex-wrap:wrap;gap:4px;display:flex}.chip-btn{border:1px solid var(--border);background:var(--surface);color:var(--muted);font:inherit;font-size:var(--fs-sm);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-weight:600;display:inline-flex}.chip-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.item-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.item{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);gap:4px;text-decoration:none;display:grid}.item:hover{background:var(--surface-2)}.item[aria-current=true]{border-color:var(--accent);background:var(--accent-soft)}.item[data-unread] .item-title{font-weight:800}.item-title{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;font-weight:600;display:flex}.item-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.item-meta{flex-wrap:wrap;gap:6px}.unread-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.stat-link{color:inherit;text-decoration:none}.stat-link:hover{border-color:var(--accent)}.tabs-nav .count{margin-left:6px}.rt{gap:var(--space-4);display:grid}.rt-head{gap:var(--space-2);display:grid}.rt-title{font-size:var(--fs-lg);overflow-wrap:anywhere;margin:0}.rt-msgs{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.rt-msg{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.rt-msg[data-from=instructor]{background:color-mix(in srgb, var(--accent-soft) 55%, var(--surface));border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.rt-msg-head{margin-bottom:4px}.rt-text{margin:0 0 var(--space-2);white-space:pre-wrap;overflow-wrap:anywhere}.rt-reply{gap:var(--space-2);display:grid}.rt-reply textarea.input{min-height:72px}.rt-tools{gap:var(--space-2);padding:var(--space-3);border:1px dashed var(--border);border-radius:var(--radius);display:grid}.rt-status{width:auto}.rt-danger{border-top:1px solid var(--border);padding-top:var(--space-3)}.att{margin:var(--space-2) 0 0;gap:4px;display:grid}.att-img{border:1px solid var(--border);border-radius:8px;max-width:100%;max-height:220px}.att-video{background:#000;border-radius:8px;max-width:100%;max-height:260px}.att audio{max-width:100%}.att-demo{border:1px dashed var(--border);border-radius:8px;align-items:center;gap:6px;padding:8px 10px;display:flex}.att-transcript{border-left:3px solid var(--accent);background:var(--surface);border-radius:0 8px 8px 0;padding:8px 10px}.att-text{font-size:var(--fs-sm);margin:2px 0 0}@media print{.report-panel,.report-btn{display:none!important}}.queue-filters .input{width:auto;min-width:0}.header-actions{flex:none}@media (max-width:480px){.header-actions{gap:4px}.header-inner{gap:var(--space-2)}.header-actions .icon-btn,.header-actions .report-btn,.header-actions .search-btn{width:34px;height:34px}}@media (max-width:380px){.main-nav .nav-start{display:block}.brand-text,.header-actions>.btn-primary{display:none}}.ask-btn{color:var(--accent);background:var(--accent-soft);border-color:#0000}.ask-btn:hover,.ask-btn[aria-expanded=true]{background:var(--accent);color:var(--accent-ink)}.ask-panel{z-index:50;background:var(--surface);border-left:1px solid var(--border);width:min(420px,94vw);box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.ask-panel[hidden],html[data-ask-open] .notes-fab{display:none}@media (min-width:1100px){html[data-ask-open] main,html[data-ask-open] .site-footer{margin-right:420px}}.ask-body{gap:var(--space-3);flex-direction:column;display:flex;overflow-x:hidden}.ask-body>*,.ask-answer section{min-width:0}.ask-log{gap:var(--space-5);grid-template-columns:minmax(0,1fr);display:grid}.ask-empty{gap:var(--space-3);display:grid}.ask-chips{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.ask-chip{text-align:left;border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text);font:inherit;font-size:var(--fs-sm);cursor:pointer;border-radius:10px;padding:9px 12px}.ask-chip:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.ask-chip:disabled{opacity:.55;cursor:not-allowed}.ask-turn{gap:var(--space-3);grid-template-columns:minmax(0,1fr);display:grid}.ask-q{background:var(--accent);max-width:92%;color:var(--accent-ink);font-size:var(--fs-sm);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:14px 14px 4px;justify-self:end;margin:0;padding:8px 12px}.ask-a{gap:var(--space-3);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.ask-answer{gap:var(--space-3);font-size:var(--fs-sm);overflow-wrap:anywhere;grid-template-columns:minmax(0,1fr);line-height:1.55;display:grid}.ask-answer p,.ask-answer ol,.ask-answer ul{margin:0}.ask-answer ol,.ask-answer ul{gap:4px;padding-left:1.3em;display:grid}.ask-answer code{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--border);border-radius:4px;padding:0 4px;font-size:.9em}.ask-h{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-size:.72rem;font-weight:800}.ask-mock{background:var(--warn-soft);border-radius:8px;align-items:flex-start;gap:6px;margin:0;padding:6px 10px;font-size:.78rem;line-height:1.4;display:flex}.ask-code{margin:0 0 var(--space-2);border:1px solid var(--border);background:var(--code-bg);border-radius:10px;overflow:hidden}.ask-code figcaption{border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;padding:2px 4px 2px 10px;display:flex}.ask-lang{font-family:var(--font-mono);color:var(--muted);text-transform:lowercase;font-size:.75rem;font-weight:700}.ask-code pre{margin:0;padding:10px 12px;font-size:.82rem;line-height:1.5;overflow-x:auto}.ask-code pre code{font-size:inherit;background:0 0;border:0;padding:0}.ask-links{list-style:none;padding-left:0!important}.ask-tools{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.ask-tools .icon-btn{border-radius:8px;width:30px;height:30px}.ask-tools .icon-btn[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}.ask-down svg{transform:rotate(180deg)}.ask-toast{background:var(--ok-soft);border-radius:8px;margin:0;padding:6px 10px}.ask-form{gap:var(--space-2);border-top:1px solid var(--border);padding:var(--space-3) var(--space-4);display:grid}.ask-form .label{align-items:center;gap:4px;display:flex}.ask-input-row{gap:var(--space-2);grid-template-columns:1fr auto;align-items:end;display:grid}.ask-input-row textarea.input{resize:vertical;min-height:48px;max-height:160px}[data-streaming] .ask-answer:after{content:"";background:var(--accent);width:8px;height:1em;animation:1s steps(2,end) infinite ask-caret;display:inline-block}@keyframes ask-caret{50%{opacity:0}}@media (prefers-reduced-motion:reduce){[data-streaming] .ask-answer:after{animation:none}}@media (max-width:760px){.ask-panel{border-left:0;border-top:1px solid var(--border);border-radius:18px 18px 0 0;width:auto;max-height:86vh;top:auto;left:0;right:0}html[data-ask-open] body{padding-bottom:60vh}}.note-pre{margin:0 0 var(--space-2);background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:.82rem;overflow-x:auto}.note-pre code{background:0 0;border:0;padding:0}.linklike{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.linklike:disabled{color:var(--muted);cursor:default}.hw-title{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.hw-title h2{margin:0}.hw-submit{margin:0 0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.hw-submit>summary{cursor:pointer;padding:var(--space-3) var(--space-4);gap:var(--space-3);flex-wrap:wrap;align-items:center;font-weight:700;list-style:none;display:flex}.hw-submit>summary::-webkit-details-marker{display:none}.hw-submit>summary:before{content:"▸";color:var(--muted)}.hw-submit[open]>summary:before{content:"▾"}.hw-submit>summary .muted{margin-left:auto;font-weight:400}.hw-submit-body{padding:0 var(--space-4) var(--space-4)}.hw-steps{gap:var(--space-3);font-size:var(--fs-sm);grid-template-columns:minmax(0,1fr);margin:0;padding-left:1.3em;display:grid}.hw-steps>li{overflow-wrap:anywhere;min-width:0}.hw-pick{margin:var(--space-2) 0;flex-wrap:wrap;max-width:100%;display:flex}.hw-cmd{margin:var(--space-2) 0;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--code-bg);overflow:hidden}.hw-cmd pre{margin:0;padding:10px 64px 10px 12px;font-size:.82rem;line-height:1.55;overflow-x:auto}.hw-cmd pre code{font-size:inherit;background:0 0;border:0;padding:0}.hw-cmd .code-copy{opacity:1}.hw-check{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);gap:var(--space-3);display:grid}.hw-check-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.hw-check-row code,.hw-reason code,.hw-report code{font-family:var(--font-mono);background:var(--code-bg);border:1px solid var(--border);overflow-wrap:anywhere;border-radius:4px;padding:0 4px;font-size:.9em}.hw-reason{color:var(--muted);margin:0}.hw-changed{color:var(--warn);flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.hw-spin{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;margin-top:2px;animation:.8s linear infinite hw-spin}@keyframes hw-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.hw-spin{border-top-color:var(--accent);border-right-color:var(--accent);animation:none}}.hw-report{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-wrap:anywhere;min-width:0;display:grid}.hw-report h4{margin:var(--space-2) 0 0;font-size:var(--fs-md);align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.hw-report p,.hw-report ul,.hw-report ol{margin:0}.hw-report ul,.hw-report ol{gap:4px;padding-left:1.3em;display:grid}.hw-report-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.hw-report-head .btn{margin-left:auto}.hw-score{font-weight:800}.hw-checklist{list-style:none;gap:var(--space-2)!important;padding-left:0!important}.hw-checklist>li{gap:var(--space-3);grid-template-columns:112px minmax(0,1fr);align-items:start;display:grid}.hw-status{font-size:var(--fs-sm);align-items:center;gap:4px;font-weight:700;display:inline-flex}.hw-status.ok{color:var(--ok)}.hw-status.warn{color:var(--warn)}.hw-status.bad{color:var(--danger)}.hw-status.muted{color:var(--muted)}.hw-evidence{font-size:var(--fs-sm);color:var(--muted);list-style:none;margin-top:4px!important;padding-left:0!important}.hw-security{list-style:none;padding-left:0!important}.hw-foot{margin-top:var(--space-2)!important}.hw-history h4{margin:0 0 var(--space-2);font-size:var(--fs-md)}.hw-history ul{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.hw-history li{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);flex-wrap:wrap;display:flex}.hw-history li[aria-current=true]{border-color:var(--accent)}.hw-history li code{font-family:var(--font-mono);font-size:.85em}@media (max-width:560px){.hw-checklist>li{grid-template-columns:minmax(0,1fr);gap:2px}.hw-report-head .btn{margin-left:0}.hw-submit>summary .muted{flex-basis:100%;margin-left:0}}.main-nav .nav-signout{font:inherit;color:var(--muted);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 12px;font-size:.95rem;font-weight:500}.main-nav .nav-signout:hover{background:var(--surface-2);color:var(--text)}@media (max-width:1180px){.signout-btn{display:none}}.main-nav .site-role{align-self:flex-start;margin:4px 12px;display:none}.header-actions .site-role{white-space:nowrap}@media (max-width:1180px){.main-nav .site-role{display:inline-block}.header-actions .site-role{display:none}}.pw-field{display:flex;position:relative}.pw-field .input{padding-right:4.5rem}.pw-toggle{padding:4px 10px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}:root,[data-theme=light]{--wave-r:#d92d20;--wave-g:#15803d;--wave-b:#2563eb}[data-theme=dark]{--wave-r:#ff6b60;--wave-g:#4ade80;--wave-b:#60a5fa}.narr{align-items:flex-start;gap:var(--space-3);margin:var(--space-3) 0 var(--space-2);display:flex}.narr-text{flex:auto;min-width:0}.narr-orb{background:conic-gradient(var(--wave-r), var(--wave-g), var(--wave-b), var(--wave-r));opacity:.85;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;padding:3px;transition:opacity .15s;display:grid;position:relative}.narr[data-state=playing] .narr-orb,.narr[data-state=loading] .narr-orb,.narr-orb:hover,.narr-orb:focus-within{opacity:1}.narr-btn{z-index:1;border:3px solid var(--surface);background:var(--accent);width:100%;height:100%;color:var(--accent-ink);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:relative}.narr-btn:hover{background:var(--accent-hover)}.narr-btn:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:50%}.narr-orb:before,.narr-orb:after{content:"";border:3px solid var(--wave-r);opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:0}.narr[data-state=playing] .narr-orb:before,.narr[data-state=loading] .narr-orb:before{animation:1.8s ease-out infinite narr-pulse,6s linear infinite narr-hue}.narr[data-state=playing] .narr-orb:after,.narr[data-state=loading] .narr-orb:after{animation:1.8s ease-out .9s infinite narr-pulse,6s linear .9s infinite narr-hue}@keyframes narr-pulse{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(1.75)}}@keyframes narr-hue{0%,to{border-color:var(--wave-r)}33%{border-color:var(--wave-g)}66%{border-color:var(--wave-b)}}@media (prefers-reduced-motion:reduce){.narr-orb:before,.narr-orb:after{animation:none!important}.narr[data-state=playing] .narr-orb,.narr[data-state=loading] .narr-orb{box-shadow:0 0 0 4px var(--accent-soft)}}.narr-line{align-items:center;gap:var(--space-3);min-height:24px;color:var(--muted);font-size:var(--fs-sm);display:flex}.narr-time{font-variant-numeric:tabular-nums;white-space:nowrap}.narr-seek{min-width:80px;max-width:360px;accent-color:var(--accent);flex:120px;height:20px}.narr-error{color:var(--danger)}@media (max-width:480px){.narr-orb{width:52px;height:52px}.narr-line{gap:2px var(--space-3);flex-wrap:wrap}.narr-seek{flex-basis:100%;max-width:none}}.notes-who{align-items:center;gap:var(--space-3);padding-top:var(--space-5);flex-wrap:wrap;display:flex}.notes-who .input{min-width:12rem;max-width:100%}.notes-user{border-left:3px solid var(--accent-soft);padding-left:var(--space-3);margin:var(--space-3) 0}.notes-user-head{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}@media (max-width:600px){.notes-who .input{flex:100%}}.help-panel{z-index:50;background:var(--surface);border-left:1px solid var(--border);width:min(420px,94vw);box-shadow:var(--shadow);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0}.help-panel[hidden],html[data-help-open] .notes-fab{display:none}@media (min-width:1100px){html[data-help-open] main,html[data-help-open] .site-footer{margin-right:420px}}@media (max-width:700px){.help-panel{border-left:0;border-top:1px solid var(--border);border-radius:18px 18px 0 0;width:auto;max-height:88vh;top:auto;left:0;right:0}}.help-start{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);display:grid}.help-mini{gap:6px;margin:0;padding:0;list-style:none;display:grid}.help-mini-btn{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;padding:8px 10px;display:grid}.help-mini-btn:hover{background:var(--accent-soft)}.help-mini-btn .small{grid-column:1/-1}.help-thread{gap:var(--space-3);min-width:0;display:grid}.help-thread-head{gap:6px;display:grid}.help-thread-head h3{font-size:var(--fs-lg);overflow-wrap:anywhere;margin:0}.help-msgs{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.help-msg{border:1px solid var(--border);padding:var(--space-3);background:var(--surface);border-radius:12px;gap:8px;min-width:0;display:grid}.help-msg[data-role=instructor]{background:var(--accent-soft);border-color:#0000}.help-msg-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.help-msg-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.help-clip{gap:6px;min-width:0;display:grid}.help-clip audio,.help-attached audio{width:100%;max-width:100%}.help-video{background:#000;border-radius:8px;width:100%;max-width:100%;max-height:240px}.help-transcript{border-left:3px solid var(--border);gap:4px;padding:4px 0 4px 10px;display:grid}.help-transcript p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.help-transcript-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem;font-weight:700}.help-composer{border-top:1px solid var(--border);padding-top:var(--space-3);gap:8px;display:grid}.help-capture-row{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.help-capture-row .btn{justify-content:center;padding-inline:6px}.help-caps{margin:6px 0 0}.help-terminal-note summary{cursor:pointer}.help-live{align-items:center;gap:var(--space-2);border:1px solid var(--danger);background:var(--danger-soft);border-radius:10px;flex-wrap:wrap;padding:10px;display:flex}.help-rec-dot{background:var(--danger);border-radius:50%;width:12px;height:12px;animation:1.1s ease-in-out infinite help-pulse}@keyframes help-pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.help-rec-dot{animation:none}}.help-meter{background:var(--surface);border:1px solid var(--border);border-radius:999px;width:70px;height:8px;overflow:hidden}.help-meter>span{background:var(--ok);transform-origin:0;height:100%;transition:transform 80ms linear;display:block}.help-fresh{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:8px;padding:10px;display:grid}.help-attached{gap:8px;margin:0;padding:0;list-style:none;display:grid}.help-attached li{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:4px;padding:8px;display:grid}.help-history{gap:var(--space-5);grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;display:grid}.help-filters{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.help-filter{gap:4px;min-width:0;display:grid}.help-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.help-row{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;justify-items:start;gap:4px;padding:10px 12px;display:grid}.help-row:hover,.help-row[aria-current=true]{background:var(--accent-soft);border-color:#0000}.help-row[data-unread]{border-color:var(--accent)}.help-row-title{overflow-wrap:anywhere;font-weight:650}.help-back{justify-self:start;display:none}@media (max-width:800px){.help-history{grid-template-columns:1fr}.help-history[data-view=thread] .help-list-col,.help-history[data-view=list] .help-detail-col{display:none}.help-back{display:inline-flex}}.avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.avatar[data-has-photo]{padding:0;overflow:hidden}.photo-scrim{z-index:90;padding:var(--space-4);background:#0a0c149e;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.photo-dialog{gap:var(--space-3);text-align:center;width:min(440px,100%);padding:var(--space-5);background:var(--surface);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;justify-items:center;display:grid}.photo-dialog h2{font-size:var(--fs-lg);margin:0}.photo-circle{aspect-ratio:1;background:var(--surface-2);border:4px solid var(--border);border-radius:50%;place-items:center;width:min(260px,70vw);display:grid;position:relative;overflow:hidden}.photo-circle.is-live{border-color:var(--accent)}.photo-video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0;transform:scaleX(-1)}.photo-video[hidden]{display:none}.photo-placeholder{color:var(--muted);place-items:center;display:grid}.photo-count{color:#fff;background:#00000059;place-items:center;font-size:5rem;font-weight:800;display:grid;position:absolute;inset:0}.photo-sentence{font-size:var(--fs-base);margin:0}.photo-skip{color:var(--muted);cursor:pointer;font:inherit;font-size:var(--fs-sm);background:0 0;border:0;padding:4px;text-decoration:underline}.photo-skip:hover{color:var(--text)}.menu-item{width:100%}@media print{.help-panel,.photo-scrim{display:none!important}}@media (min-width:1181px) and (max-width:1400px){html[data-site-gate] .icon-btn.nav-toggle{display:inline-grid}html[data-site-gate] .main-nav{background:var(--surface);border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-4);flex-direction:column;display:none;position:absolute;top:100%;left:0;right:0}html[data-site-gate] .main-nav[data-open=true]{display:flex}html[data-site-gate] .main-nav .nav-gh{display:block}html[data-site-gate] .main-nav a{padding:6px 12px;font-size:.95rem}}.help-btn{width:36px!important;padding:0!important}.help-btn .report-btn-label{display:none!important}html[data-site-gate] .report-btn{width:36px;padding:0}html[data-site-gate] .report-btn-label{display:none}html[data-site-gate] .main-nav a{padding:6px 5px;font-size:.88rem}html[data-site-gate] .header-inner{gap:var(--space-2)}html[data-site-gate] .header-actions{gap:4px}html[data-site-gate] .header-actions .signout-btn{padding-inline:6px}html[data-site-gate] .theme-toggle button{width:28px}@media (min-width:1181px) and (max-width:1400px){html[data-site-gate] .main-nav a{padding:6px 12px;font-size:.95rem}}
