@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-italic-DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-italic-CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-italic-kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-ui:"Hanken Grotesk", -apple-system, BlinkMacSystemFont, sans-serif;--font-read:"Newsreader", Georgia, "Times New Roman", serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, monospace;--t-display:2rem;--t-h1:1.5rem;--t-h2:1.1875rem;--t-h3:1rem;--t-body:.9375rem;--t-sm:.8125rem;--t-xs:.6875rem;--t-read:1.0625rem;--t-read-lh:1.6;--w-normal:400;--w-medium:500;--w-semi:600;--w-bold:700;--paper:oklch(98% .005 67);--surface:oklch(100% 0 0);--surface-2:oklch(98% .005 67);--surface-3:oklch(96.7% .0054 67);--ink:oklch(20.5% .0144 67);--ink-2:oklch(41.9% .018 67);--ink-3:oklch(41.9% .018 67);--ink-4:oklch(60.4% .024 67);--hairline:oklch(94.5% .0058 67);--hairline-2:oklch(90.8% .0078 67);--brand:oklch(41.9% .0656 250.958);--brand-hover:oklch(32.6% .0515 250.986);--brand-soft:oklch(96.7% .0142 248.551);--brand-ring:oklch(69.7% .1216 249.334);--on-brand:oklch(99% 0 0);--native:oklch(52% .1 165);--native-ink:oklch(40% .09 165);--native-soft:oklch(95.5% .03 165);--native-line:oklch(86% .06 165);--imported:oklch(62% .11 70);--imported-ink:oklch(48% .1 65);--imported-soft:oklch(95.5% .04 75);--imported-line:oklch(85% .08 75);--ai:oklch(52% .15 305);--ai-ink:oklch(44% .15 305);--ai-soft:oklch(96% .03 305);--ai-line:oklch(86% .06 305);--warn:oklch(70% .13 70);--warn-ink:oklch(50% .11 60);--warn-soft:oklch(96% .045 80);--warn-line:oklch(85% .09 80);--danger:oklch(55% .18 22);--danger-ink:oklch(48% .17 22);--danger-soft:oklch(96% .03 22);--danger-line:oklch(86% .07 22);--success:oklch(55% .12 152);--success-ink:oklch(43% .11 152);--success-soft:oklch(95.5% .035 152);--info:oklch(51.2% .0869 251.604);--info-soft:oklch(98% .0108 247.62);--band-fail-soft:oklch(93% .055 340);--band-fail-ink:oklch(50% .16 340);--band-fail-line:oklch(84% .1 340);--band-adequate-soft:oklch(93% .06 60);--band-adequate-ink:oklch(52% .12 55);--band-adequate-line:oklch(84% .1 60);--band-good-soft:oklch(96% .065 100);--band-good-ink:oklch(52% .1 95);--band-good-line:oklch(87% .1 100);--band-verygood-soft:oklch(94% .06 148);--band-verygood-ink:oklch(45% .11 150);--band-verygood-line:oklch(84% .09 148);--band-excellent-soft:oklch(94.5% .0164 249.496);--band-excellent-ink:oklch(32.6% .0515 250.986);--band-excellent-line:oklch(90.8% .0289 246.855);--r-xs:4px;--r-sm:6px;--r-md:9px;--r-lg:13px;--r-xl:18px;--r-pill:999px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:24px;--s-7:32px;--s-8:40px;--s-9:56px;--s-10:72px;--sh-xs:0 1px 2px oklch(30% .02 67/.06);--sh-sm:0 1px 3px oklch(30% .02 67/.08), 0 1px 2px oklch(30% .02 67/.04);--sh-md:0 4px 12px oklch(30% .02 67/.08), 0 2px 4px oklch(30% .02 67/.05);--sh-lg:0 12px 32px oklch(25% .02 67/.12), 0 4px 10px oklch(25% .02 67/.06);--sh-pop:0 16px 48px oklch(20% .02 67/.18);--sidebar-w:264px;--topbar-h:56px;--content-max:1180px;--reading-max:720px;--ease:cubic-bezier(.22, .61, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-fast:.12s;--dur:.2s;--dur-slow:.36s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--paper:oklch(15% .0144 257.352);--surface:oklch(20.5% .0144 257.352);--surface-2:oklch(28% .0144 257.352);--surface-3:oklch(32.6% .0149 257.352);--ink:oklch(94.5% .0058 257.352);--ink-2:oklch(78.3% .0139 257.352);--ink-3:oklch(69.7% .0185 257.352);--ink-4:oklch(51.2% .0219 257.352);--hairline:oklch(32.6% .0149 257.352);--hairline-2:oklch(41.9% .018 257.352);--brand:oklch(69.7% .1216 249.334);--brand-hover:oklch(85.5% .0511 245.971);--brand-soft:oklch(28% .0493 251.793);--brand-ring:oklch(85.5% .0511 245.971);--on-brand:oklch(16% .01 252);--native:oklch(74% .12 165);--native-ink:oklch(80% .11 165);--native-soft:oklch(28% .05 165);--native-line:oklch(40% .06 165);--imported:oklch(78% .12 75);--imported-ink:oklch(82% .11 75);--imported-soft:oklch(30% .05 70);--imported-line:oklch(42% .07 70);--ai:oklch(74% .15 305);--ai-ink:oklch(80% .14 305);--ai-soft:oklch(30% .06 305);--ai-line:oklch(42% .08 305);--warn:oklch(80% .12 75);--warn-ink:oklch(84% .11 75);--warn-soft:oklch(30% .06 70);--warn-line:oklch(44% .08 70);--danger:oklch(68% .17 22);--danger-ink:oklch(78% .15 22);--danger-soft:oklch(30% .07 22);--danger-line:oklch(44% .1 22);--success:oklch(72% .12 152);--success-ink:oklch(80% .11 152);--success-soft:oklch(28% .05 152);--info:oklch(85.5% .0511 245.971);--info-soft:oklch(28% .0493 251.793);--band-fail-soft:oklch(30% .07 340);--band-fail-ink:oklch(80% .13 340);--band-fail-line:oklch(46% .11 340);--band-adequate-soft:oklch(30% .06 60);--band-adequate-ink:oklch(80% .11 65);--band-adequate-line:oklch(46% .1 60);--band-good-soft:oklch(31% .06 100);--band-good-ink:oklch(83% .11 100);--band-good-line:oklch(46% .09 100);--band-verygood-soft:oklch(29% .05 148);--band-verygood-ink:oklch(80% .11 150);--band-verygood-line:oklch(44% .09 148);--band-excellent-soft:oklch(28% .0493 251.793);--band-excellent-ink:oklch(85.5% .0511 245.971);--band-excellent-line:oklch(32.6% .0515 250.986);--sh-xs:0 1px 2px oklch(0% 0 0/.3);--sh-sm:0 1px 3px oklch(0% 0 0/.4), 0 1px 2px oklch(0% 0 0/.3);--sh-md:0 4px 12px oklch(0% 0 0/.45), 0 2px 4px oklch(0% 0 0/.3);--sh-lg:0 12px 32px oklch(0% 0 0/.55), 0 4px 10px oklch(0% 0 0/.35);--sh-pop:0 16px 48px oklch(0% 0 0/.65);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}*{margin:0}html{-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-ui);font-size:var(--t-body);font-weight:var(--w-normal);color:var(--ink);background:var(--paper);min-height:100vh;transition:background var(--dur) var(--ease), color var(--dur) var(--ease);line-height:1.5}h1,h2,h3,h4{font-weight:var(--w-semi);letter-spacing:-.01em;color:var(--ink);line-height:1.2}h1{font-size:var(--t-h1)}h2{font-size:var(--t-h2)}h3{font-size:var(--t-h3)}p{line-height:1.55}a{color:var(--brand);transition:color var(--dur-fast) var(--ease);text-decoration:none}a:hover{color:var(--brand-hover)}button{font-family:inherit;font-size:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}textarea{resize:vertical}ul,ol{padding:0;list-style:none}img{max-width:100%;display:block}hr{border:none;border-top:1px solid var(--hairline);margin:var(--s-5) 0}::selection{background:var(--brand-soft);color:var(--brand-hover)}:focus-visible{outline:2px solid var(--brand-ring);outline-offset:2px;border-radius:var(--r-xs)}*{scrollbar-width:thin;scrollbar-color:var(--hairline-2) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--hairline-2);border-radius:var(--r-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--ink-4);background-clip:content-box}.mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}.read{font-family:var(--font-read)}.muted{color:var(--ink-3)}.muted-2{color:var(--ink-4)}.nowrap{white-space:nowrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.uppercase{text-transform:uppercase;letter-spacing:.07em;font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ink-3)}body[data-role=member] .instr-only,body[data-role=instructor] .member-only,[data-source=imported] .native-only,[data-source=native] .imported-only{display:none!important}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reveal{animation:rise var(--dur-slow) var(--ease-out) both}.reveal-1{animation-delay:40ms}.reveal-2{animation-delay:90ms}.reveal-3{animation-delay:.14s}.reveal-4{animation-delay:.19s}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.btn{justify-content:center;align-items:center;gap:var(--s-2);padding:0 var(--s-4);border-radius:var(--r-md);height:36px;font-family:var(--font-ui);font-size:var(--t-sm);font-weight:var(--w-medium);white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);-webkit-user-select:none;user-select:none;border:1px solid #0000;line-height:1;display:inline-flex}.btn:active{transform:translateY(.5px)scale(.99)}.btn svg{flex:none;width:15px;height:15px}.btn--primary{background:var(--brand);color:var(--on-brand);box-shadow:var(--sh-xs)}.btn--primary:hover{background:var(--brand-hover);color:var(--on-brand)}.btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--hairline-2);box-shadow:var(--sh-xs)}.btn--secondary:hover{background:var(--surface-2);border-color:var(--ink-4)}.btn--ghost{color:var(--ink-2);background:0 0}.btn--ghost:hover{background:var(--surface-2);color:var(--ink)}.btn--danger{color:var(--danger-ink);border-color:var(--danger-line);background:0 0}.btn--danger:hover{background:var(--danger-soft)}.btn--ai{background:var(--ai-soft);color:var(--ai-ink);border-color:var(--ai-line)}.btn--ai:hover{background:var(--ai-soft);border-color:var(--ai);filter:saturate(1.2)}.btn--sm{height:30px;padding:0 var(--s-3);font-size:var(--t-xs)}.btn--lg{height:42px;padding:0 var(--s-5);font-size:var(--t-body)}.btn--icon{width:36px;padding:0}.btn--icon.btn--sm{width:30px}.btn--block{width:100%}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;pointer-events:none}.badge{border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:var(--w-semi);letter-spacing:.02em;white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:2px 9px;line-height:1.5;display:inline-flex}.badge svg{width:11px;height:11px}.badge .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.badge--native{background:var(--native-soft);color:var(--native-ink);border-color:var(--native-line)}.badge--imported{background:var(--imported-soft);color:var(--imported-ink);border-color:var(--imported-line)}.badge--ai{background:var(--ai-soft);color:var(--ai-ink);border-color:var(--ai-line)}.badge--warn{background:var(--warn-soft);color:var(--warn-ink);border-color:var(--warn-line)}.badge--danger{background:var(--danger-soft);color:var(--danger-ink);border-color:var(--danger-line)}.badge--success{background:var(--success-soft);color:var(--success-ink)}.badge--neutral{background:var(--surface-3);color:var(--ink-2);border-color:var(--hairline)}.badge--brand{background:var(--brand-soft);color:var(--brand-hover)}.badge--solid.badge--native{background:var(--native);color:#fff;border-color:#0000}.badge--solid.badge--imported{background:var(--imported);color:#2a1c00;border-color:#0000}.chip{font-family:var(--font-mono);font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-3);align-items:center;gap:5px;display:inline-flex}.chip svg{opacity:.7;width:13px;height:13px}.chip strong{color:var(--ink-2);font-weight:var(--w-semi)}.chip--accent strong{color:var(--brand)}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-sm)}.panel__head{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--hairline);display:flex}.panel__head h2,.panel__head h3{font-size:var(--t-h3)}.panel__body{padding:var(--s-5)}.panel__body--flush{padding:0}.meta-grid{gap:var(--s-4) var(--s-5);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.meta-grid>div{min-width:0}.meta-grid dt{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;font-weight:var(--w-semi);color:var(--ink-3);margin-bottom:3px}.meta-grid dd{font-size:var(--t-body);color:var(--ink)}.field{flex-direction:column;gap:6px;display:flex}.field>label{font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink-2)}.field .hint{font-size:var(--t-xs);color:var(--ink-3)}.input,.textarea,.select{background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-md);width:100%;color:var(--ink);font-size:var(--t-body);transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:9px 12px}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input:focus,.textarea:focus,.select:focus{border-color:var(--brand-ring);box-shadow:0 0 0 3px var(--brand-soft);outline:none}.textarea{min-height:90px;line-height:1.5}.select{appearance:none;background-position:right 10px center;padding-right:32px}.search{align-items:center;display:flex;position:relative}.search svg{width:15px;height:15px;color:var(--ink-4);pointer-events:none;position:absolute;left:11px}.search .input{padding-left:34px}.segmented{background:var(--surface-3);border-radius:var(--r-md);gap:2px;padding:3px;display:inline-flex}.segmented button{border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink-3);transition:all var(--dur-fast) var(--ease);background:0 0;border:none;padding:5px 13px}.segmented button:hover{color:var(--ink)}.segmented button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-xs)}.tabs{gap:var(--s-1);border-bottom:1px solid var(--hairline);scrollbar-width:none;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{padding:var(--s-3) var(--s-3);font-size:var(--t-body);font-weight:var(--w-medium);color:var(--ink-3);white-space:nowrap;align-items:center;gap:var(--s-2);transition:color var(--dur-fast) var(--ease);background:0 0;border:none;display:inline-flex;position:relative}.tab:hover,.tab[aria-selected=true]{color:var(--ink)}.tab[aria-selected=true]:after{content:"";left:var(--s-3);right:var(--s-3);background:var(--brand);border-radius:var(--r-pill) var(--r-pill) 0 0;height:2px;position:absolute;bottom:-1px}.tab .tab-count{font-family:var(--font-mono);font-size:var(--t-xs);background:var(--surface-3);color:var(--ink-3);border-radius:var(--r-pill);padding:1px 6px}.tab[aria-selected=true] .tab-count{background:var(--brand-soft);color:var(--brand-hover)}.tabs--pill{background:var(--surface-2);border-radius:var(--r-lg);border-bottom:none;gap:2px;width:fit-content;padding:3px}.tabs--pill .tab{padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-size:var(--t-sm)}.tabs--pill .tab[aria-selected=true]{background:var(--surface);box-shadow:var(--sh-sm)}.tabs--pill .tab[aria-selected=true]:after{display:none}.avatar{width:36px;height:36px;font-size:var(--t-sm);font-weight:var(--w-semi);color:#fff;letter-spacing:.01em;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar--sm{width:28px;height:28px;font-size:var(--t-xs)}.avatar--lg{width:44px;height:44px;font-size:var(--t-h3)}.avatar{background:var(--brand)}.avatar[data-tone="1"]{background:oklch(55% .13 264)}.avatar[data-tone="2"]{background:oklch(55% .12 165)}.avatar[data-tone="3"]{background:oklch(58% .13 30)}.avatar[data-tone="4"]{background:oklch(55% .14 305)}.avatar[data-tone="5"]{background:oklch(55% .12 200)}.avatar[data-tone="6"]{background:oklch(56% .13 130)}.avatar--instructor{box-shadow:0 0 0 2px var(--paper), 0 0 0 4px var(--brand)}.notice{gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface-2);font-size:var(--t-sm);color:var(--ink-2);line-height:1.5;display:flex}.notice svg{flex:none;width:16px;height:16px;margin-top:1px}.notice strong{color:var(--ink);font-weight:var(--w-semi)}.notice--info{background:var(--info-soft);border-color:color-mix(in oklch, var(--info), transparent 70%);color:var(--ink-2)}.notice--info svg{color:var(--info)}.notice--warn{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn-ink)}.notice--warn svg{color:var(--warn)}.notice--imported{background:var(--imported-soft);border-color:var(--imported-line);color:var(--imported-ink)}.notice--imported svg{color:var(--imported)}.notice--danger{background:var(--danger-soft);border-color:var(--danger-line);color:var(--danger-ink)}.notice--danger svg{color:var(--danger)}[data-sonner-toaster]{font-family:var(--font-ui)}[data-sonner-toast].app-toast{font-size:var(--t-sm);box-shadow:var(--sh-lg)}.empty{text-align:center;align-items:center;gap:var(--s-3);padding:var(--s-9) var(--s-5);color:var(--ink-3);flex-direction:column;display:flex}.empty__icon{border-radius:var(--r-lg);background:var(--surface-3);width:52px;height:52px;color:var(--ink-4);place-items:center;display:grid}.empty__icon svg{width:24px;height:24px}.empty h3{color:var(--ink-2)}.empty p{font-size:var(--t-sm);max-width:380px}.skeleton{background:linear-gradient(100deg, var(--surface-2) 30%, var(--surface-3) 50%, var(--surface-2) 70%);border-radius:var(--r-sm);background-size:200% 100%;animation:1.3s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.spinner{border:2px solid var(--hairline-2);border-top-color:var(--brand);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:var(--s-5);z-index:100;animation:fade var(--dur) var(--ease) both;background:oklch(20% .02 75/.45);place-items:center;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.dialog{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-xl);width:100%;max-width:520px;box-shadow:var(--sh-pop);animation:pop var(--dur-slow) var(--ease-out) both;flex-direction:column;max-height:90vh;display:flex}@keyframes pop{0%{opacity:0;transform:translateY(12px)scale(.97)}}.dialog__head{justify-content:space-between;align-items:flex-start;gap:var(--s-4);padding:var(--s-5) var(--s-5) var(--s-4);border-bottom:1px solid var(--hairline);display:flex}.dialog__head p{font-size:var(--t-sm);color:var(--ink-3);margin-top:4px}.dialog__body{padding:var(--s-5);gap:var(--s-4);flex-direction:column;display:flex;overflow-y:auto}.dialog__foot{justify-content:flex-end;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-top:1px solid var(--hairline);background:var(--surface-2);border-radius:0 0 var(--r-xl) var(--r-xl);display:flex}.div-label{align-items:center;gap:var(--s-3);margin:var(--s-2) 0;display:flex}.div-label:after{content:"";background:var(--hairline);flex:1;height:1px}kbd{font-family:var(--font-mono);border-radius:var(--r-xs);border:1px solid var(--hairline-2);background:var(--surface-2);color:var(--ink-3);padding:1px 5px;font-size:.7rem}.artifact{border:1px solid var(--ai-line);border-radius:var(--r-md);background:var(--surface);overflow:hidden}.artifact__bar{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);background:var(--ai-soft);border-bottom:1px solid var(--ai-line);flex-wrap:wrap;display:flex}.artifact__bar .meta{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3);align-items:center;gap:var(--s-3);display:flex}.artifact__bar .meta b{color:var(--ai-ink);font-weight:var(--w-medium)}.artifact__bar .spacer{flex:1}.artifact__body{padding:var(--s-4) var(--s-5) var(--s-5)}.status{font-size:var(--t-xs);font-weight:var(--w-semi);border-radius:var(--r-pill);align-items:center;gap:6px;padding:2px 9px;display:inline-flex}.status svg,.status .spinner{width:11px;height:11px}.status--queued{background:var(--surface-3);color:var(--ink-3)}.status--running{background:var(--ai-soft);color:var(--ai-ink)}.status--completed{background:var(--success-soft);color:var(--success-ink)}.status--failed{background:var(--danger-soft);color:var(--danger-ink)}.status--stale{background:var(--warn-soft);color:var(--warn-ink);border:1px dashed var(--warn-line)}.ai-headline{font-family:var(--font-ui);font-size:var(--t-body);font-weight:var(--w-semi);letter-spacing:-.01em;margin-bottom:var(--s-3);line-height:1.3}.ai-summary{font-family:var(--font-ui);font-size:var(--t-sm);color:var(--ink-2);line-height:1.55}.ai-section{margin-top:var(--s-5)}.ai-section>.lbl{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;font-weight:var(--w-semi);color:var(--ink-3);margin-bottom:var(--s-3);align-items:center;gap:7px;display:flex}.ai-section>.lbl svg{width:13px;height:13px}.ai-list{gap:var(--s-2);flex-direction:column;display:flex}.ai-list li{gap:var(--s-3);font-size:var(--t-body);color:var(--ink);align-items:flex-start;line-height:1.5;display:flex}.ai-list li:before{content:"";background:var(--ai);border-radius:50%;flex:none;width:5px;height:5px;margin-top:8px}.ai-list--q li:before{background:var(--info)}.theme-chips{gap:var(--s-2);flex-wrap:wrap;display:flex}.theme-chip{font-size:var(--t-sm);font-weight:var(--w-medium);border-radius:var(--r-pill);background:var(--ai-soft);color:var(--ai-ink);border:1px solid var(--ai-line);padding:4px 11px}.seg-chip{border:1px solid var(--hairline-2);border-radius:var(--r-pill);font-size:var(--t-xs);white-space:nowrap;align-items:stretch;display:inline-flex;overflow:hidden}.seg-chip .k{background:var(--surface-2);color:var(--ink-3);font-weight:var(--w-medium);padding:2px 8px 2px 10px}.seg-chip .v{font-family:var(--font-mono);border-left:1px solid var(--hairline-2);padding:2px 10px 2px 8px;font-weight:600}.seg-chip--pending{opacity:.85;border-style:dashed}.band-fill--fail{background:var(--band-fail-soft)!important;color:var(--band-fail-ink)!important;border-color:var(--band-fail-line)!important}.band-fill--adequate{background:var(--band-adequate-soft)!important;color:var(--band-adequate-ink)!important;border-color:var(--band-adequate-line)!important}.band-fill--good{background:var(--band-good-soft)!important;color:var(--band-good-ink)!important;border-color:var(--band-good-line)!important}.band-fill--verygood{background:var(--band-verygood-soft)!important;color:var(--band-verygood-ink)!important;border-color:var(--band-verygood-line)!important}.band-fill--excellent{background:var(--band-excellent-soft)!important;color:var(--band-excellent-ink)!important;border-color:var(--band-excellent-line)!important}.caution{gap:var(--s-3);margin-top:var(--s-5);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:var(--warn-soft);border:1px solid var(--warn-line);color:var(--warn-ink);font-size:var(--t-sm);line-height:1.5;display:flex}.caution svg{flex:none;width:15px;height:15px;margin-top:1px}.artifact-history{margin-top:var(--s-4)}.artifact-history summary{cursor:pointer;font-size:var(--t-sm);color:var(--ink-3);align-items:center;gap:var(--s-2);padding:var(--s-2) 0;font-weight:var(--w-medium);list-style:none;display:flex}.artifact-history summary::-webkit-details-marker{display:none}.artifact-history summary svg{width:14px;height:14px;transition:transform var(--dur-fast) var(--ease)}.artifact-history[open] summary svg{transform:rotate(90deg)}.history-item{align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--hairline);border-radius:var(--r-sm);margin-top:var(--s-2);font-size:var(--t-sm);display:flex}.history-item .mono{color:var(--ink-3);font-size:var(--t-xs)}.cat-chip{border-radius:var(--r-pill);border:1px solid var(--hairline-2);background:var(--surface-2);font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink);align-items:center;gap:7px;padding:5px 7px 5px 12px;display:inline-flex}.cat-chip .cnt{font-family:var(--font-mono);font-size:var(--t-xs);font-weight:var(--w-semi);background:var(--surface-3);color:var(--ink-2);border-radius:var(--r-pill);padding:1px 7px}.readonly-tag{font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--imported-ink);align-items:center;gap:5px;display:inline-flex}.readonly-tag svg{width:12px;height:12px}.ph{line-height:1}.btn .ph{font-size:15px}.btn--sm .ph{font-size:13px}.icon-btn .ph{font-size:18px}.icon-btn.btn--sm .ph{font-size:15px}.badge .ph{font-size:11px}.notice .ph{flex:none;margin-top:1px;font-size:16px}.tab .ph{font-size:14px}.chip .ph{opacity:.7;font-size:13px}.post__act .ph{font-size:13px}.caution .ph{flex:none;margin-top:1px;font-size:15px}.status .ph{font-size:11px}.search .ph{color:var(--ink-4);pointer-events:none;font-size:15px;position:absolute;left:11px}.readonly-tag .ph{font-size:12px}.sel-context .ph{font-size:14px}.wf-block__head h4 .ph{color:var(--ai);font-size:15px}.attach-note .ph{font-size:12px}.review-status .ph,.ai-section>.lbl .ph{font-size:13px}.side-link .ph,.side-module .ph{color:var(--ink-3);font-size:16px}.empty__icon .ph{font-size:24px}.artifact-history summary .ph,.topic-summary summary .ph{font-size:14px}.composer--locked .ph{font-size:16px}.mt-forum{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin-bottom:var(--s-4);overflow:hidden}.mt-suffix{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap;flex:none}.mt-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.mt-cell{font-size:var(--t-xs);white-space:nowrap}.mt-cell--who{font-family:var(--font-ui);font-weight:var(--w-medium);color:var(--ink-2);text-overflow:ellipsis;min-width:0;overflow:hidden}.mt-cell--replies{font-family:var(--font-mono);color:var(--ink-3)}.mt-cell--when{font-family:var(--font-mono);color:var(--ink-4)}.mt-cell .goto{color:var(--brand-hover);font-weight:600;display:none}.mt-forum__head{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-5);border-bottom:1px solid var(--hairline);background:oklch(94.5% .0164 249.496);display:flex}[data-theme=dark] .mt-forum__head{background:oklch(32.6% .0515 250.986)}.mt-forum__head .row-spine{height:22px;margin-right:var(--s-1);flex:none}.mt-forum__head .row-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--brand-hover);overflow:hidden}.mt-forum__head .readonly-tag,.mt-forum__head .badge,.mt-forum__head .btn{flex:none}.mt-forum__side{align-items:center;gap:var(--s-2);margin-left:auto;display:flex}.mt-forum__side .icon-btn{border-radius:var(--r-sm);width:26px;height:26px}.mt-topic+.mt-topic{border-top:1px solid var(--hairline)}.mt-topic__head{align-items:center;gap:var(--s-3);padding:10px var(--s-5);color:inherit;transition:background var(--dur-fast) var(--ease);text-decoration:none;display:flex}.mt-topic__head .row-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--brand);overflow:hidden}.mt-topic__head .badge{flex:none}.mt-topic__head:hover{background:var(--surface-2)}.mt-topic__head:hover .row-title{color:var(--brand-hover)}.mt-threads{column-gap:var(--s-4);padding:0 var(--s-5) var(--s-3);grid-template-columns:min(40%,400px) 130px 80px max-content 1fr;display:grid}.mt-thread{grid-column:1/-1;grid-template-columns:subgrid;color:inherit;border-radius:var(--r-sm);align-items:center;padding-top:3px;padding-bottom:3px;text-decoration:none;display:grid}.mt-thread .mt-name{font-size:var(--t-sm);color:var(--ink-2);padding-left:var(--s-6)}.mt-thread:hover{background:var(--surface-2)}.mt-thread:hover .mt-name{color:var(--ink)}.mt-thread .mt-name .ph{color:var(--ink-4);vertical-align:-1px;margin-right:6px;font-size:12px}.mt-thread:hover .goto{display:inline}.mt-thread:hover .when{display:none}.mt-more{padding:3px 0 0 var(--s-6);font-size:var(--t-xs);color:var(--ink-4);grid-column:1/-1;justify-self:start;text-decoration:none}.mt-more:hover{color:var(--brand-hover)}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:100vh;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--hairline);flex-direction:column;grid-row:1;display:flex;overflow:hidden}.sidebar__brand{align-items:center;gap:var(--s-3);height:var(--topbar-h);padding:0 var(--s-5);border-bottom:1px solid var(--hairline);flex:none;display:flex}.sidebar__logo{border-radius:var(--r-sm);background:var(--brand);width:30px;height:30px;color:var(--on-brand);font-weight:var(--w-bold);flex:none;place-items:center;font-size:15px;display:grid}.sidebar__brand .name{font-weight:var(--w-bold);font-size:var(--t-h3);letter-spacing:-.02em}.sidebar__brand .name b{color:var(--brand);font-weight:var(--w-bold)}.sidebar__scroll{padding:var(--s-4) var(--s-3);flex:1;overflow-y:auto}.side-module{align-items:center;gap:var(--s-3);padding:var(--s-3);border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface-2);margin-bottom:var(--s-4);cursor:pointer;transition:border-color var(--dur-fast) var(--ease);display:flex}.side-module:hover{border-color:var(--hairline-2)}.side-module__code{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--brand);font-weight:var(--w-medium)}.side-module__name{font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink);line-height:1.3}.side-module svg{width:16px;height:16px;color:var(--ink-4);flex:none;margin-left:auto}.side-group{margin-bottom:var(--s-5)}.side-group__label{padding:var(--s-2) var(--s-3);justify-content:space-between;align-items:center;display:flex}.side-group__label span{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;font-weight:var(--w-semi);color:var(--ink-3)}.side-group__label .add{border-radius:var(--r-xs);width:20px;height:20px;color:var(--ink-3);background:0 0;border:none;place-items:center;display:grid}.side-group__label .add:hover{background:var(--surface-3);color:var(--ink)}.side-link{align-items:center;gap:var(--s-3);padding:7px var(--s-3);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--t-sm);font-weight:var(--w-medium);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);display:flex;position:relative}.side-link:hover{background:var(--surface-2);color:var(--ink)}.side-link[aria-current=page]{background:var(--brand-soft);color:var(--brand-hover)}.side-link__dot{border-radius:50%;flex:none;width:7px;height:7px}.side-link__dot--native{background:var(--native)}.side-link__dot--imported{background:var(--imported)}.side-link .label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.side-link .unread{font-family:var(--font-mono);font-size:10px;font-weight:var(--w-semi);background:var(--brand);color:var(--on-brand);border-radius:var(--r-pill);justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;display:inline-flex}.side-link[aria-current=page] .unread{background:var(--brand-hover)}.side-link--muted .label{color:var(--ink-3)}.sidebar__foot{border-top:1px solid var(--hairline);padding:var(--s-3);flex:none}.side-user{align-items:center;gap:var(--s-3);padding:var(--s-2);border-radius:var(--r-md);cursor:pointer;display:flex}.side-user:hover{background:var(--surface-2)}.side-user__name{font-size:var(--t-sm);font-weight:var(--w-semi);line-height:1.2}.side-user__role{font-size:var(--t-xs);color:var(--ink-3)}.main{flex-direction:column;grid-row:1;min-width:0;display:flex;overflow:hidden}.topbar{height:var(--topbar-h);align-items:center;gap:var(--s-4);padding:0 var(--s-6);border-bottom:1px solid var(--hairline);background:color-mix(in oklch, var(--paper), transparent 18%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;flex:none;display:flex;position:sticky;top:0}.crumbs{align-items:center;gap:var(--s-2);min-width:0;font-size:var(--t-sm);display:flex}.crumbs a{color:var(--ink-3);font-weight:var(--w-medium);text-overflow:ellipsis;white-space:nowrap;max-width:200px;display:inline-block;overflow:hidden}.crumbs a:hover{color:var(--ink)}.crumbs .sep{color:var(--ink-4)}.crumbs .current{color:var(--ink);font-weight:var(--w-semi);text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.topbar__spacer{flex:1}.icon-btn{border-radius:var(--r-md);width:34px;height:34px;color:var(--ink-2);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;border:1px solid #0000;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn svg{width:18px;height:18px}.icon-btn .ping{background:var(--danger);border:1.5px solid var(--paper);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:7px}.demo-toggle{border:1px dashed var(--hairline-2);border-radius:var(--r-pill);background:var(--surface-2);align-items:center;gap:0;padding:3px;display:inline-flex}.demo-toggle:before{content:"DEMO";font-family:var(--font-mono);font-size:9px;font-weight:var(--w-semi);color:var(--ink-4);letter-spacing:.05em;padding:0 8px 0 6px}.demo-toggle button{border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:var(--w-semi);color:var(--ink-3);background:0 0;border:none;padding:4px 11px}.demo-toggle button[aria-selected=true]{background:var(--brand);color:var(--on-brand)}.content{scroll-behavior:smooth;flex:1;overflow:clip auto}.content__inner{max-width:var(--content-max);padding:var(--s-7) var(--s-6) var(--s-10);margin:0 auto}.content__inner--wide{max-width:1320px}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--s-5);margin-bottom:var(--s-6);display:flex}.page-head__titles{min-width:0}.page-head__eyebrow{align-items:center;gap:var(--s-2);margin-bottom:var(--s-2);display:flex}.page-head h1{font-size:var(--t-display);letter-spacing:-.025em}.page-head__sub{color:var(--ink-3);font-size:var(--t-body);margin-top:6px}.page-head__actions{gap:var(--s-2);flex:none;align-items:center;display:flex}.section{margin-bottom:var(--s-7)}.section__head{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);display:flex}.section__head h2{font-size:var(--t-h2);align-items:center;gap:var(--s-3);display:flex}.section__head .count{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--ink-3);font-weight:var(--w-medium)}.list{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}.list__row{align-items:center;gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--hairline);color:inherit;transition:background var(--dur-fast) var(--ease);text-decoration:none;display:grid;position:relative}.list__row:last-child{border-bottom:none}.list__row:hover{background:var(--surface-2)}.list__row--head{padding-top:var(--s-2);padding-bottom:var(--s-2);background:var(--surface-2)}.list__row--head:hover{background:var(--surface-2)}.list__row--head .col{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:var(--w-semi)}.list--forums .list__row{grid-template-columns:10px 1fr auto 16px}.list--topics .list__row{grid-template-columns:1fr auto}.row-title{font-weight:var(--w-semi);color:var(--ink);font-size:var(--t-body);line-height:1.35}.row-sub{font-size:var(--t-sm);color:var(--ink-3);gap:var(--s-3);flex-wrap:wrap;align-items:center;margin-top:3px;display:flex}.row-code{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--brand);font-weight:var(--w-medium)}.row-counts{gap:var(--s-4);align-items:center;display:flex}.row-chevron{color:var(--ink-4);place-items:center;display:grid}.row-chevron svg{width:16px;height:16px}.list__row:hover .row-chevron{color:var(--ink-2)}.row-spine{border-radius:var(--r-pill);width:4px;height:38px}.row-spine--native{background:var(--native)}.row-spine--imported{background:var(--imported)}.list__row--archived{opacity:.62}.list__row--archived:hover{opacity:.85}.row-fresh{font-weight:var(--w-bold)}.dot-new{background:var(--brand);border-radius:50%;flex:none;width:8px;height:8px}.topic-row__main{align-items:center;gap:var(--s-3);min-width:0;display:flex}.topic-row__title{align-items:center;gap:var(--s-2);min-width:0;display:flex}.topic-row__meta{align-items:center;gap:var(--s-4);flex:none;display:flex}.pin-ico{color:var(--imported)}.workspace{gap:var(--s-5);grid-template-columns:minmax(0,1fr) 320px;align-items:start;display:grid}.workspace__main{min-width:0}.workspace__aside{top:calc(var(--topbar-h) + var(--s-5));min-width:0;position:sticky}.menu-toggle,.sidebar__close{display:none}@media (width<=1080px){.workspace{grid-template-columns:minmax(0,1fr)}.workspace__aside{position:static}}@media (width<=860px){:root{--sidebar-w:0px}.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:200;width:280px;transition:transform var(--dur) var(--ease);box-shadow:var(--sh-pop);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app[data-drawer=open] .sidebar{transform:translate(0)}.app[data-drawer=open]:after{content:"";z-index:150;background:oklch(20% .02 75/.4);position:fixed;inset:0}.menu-toggle{display:grid}.sidebar__close{margin-left:auto;display:grid}.content__inner{padding:var(--s-5) var(--s-4) var(--s-9)}.page-head{gap:var(--s-4);flex-direction:column}.page-head__actions{flex-wrap:wrap;width:100%}.list--modules .list__row{row-gap:var(--s-2);grid-template-columns:1fr auto}.list--modules .list__row .col-trimester,.list--modules .list__row .row-chevron{display:none}.list--modules .list__row .col-activity{grid-column:1/-1}}@media (width<=520px){.topbar{padding:0 var(--s-4);gap:var(--s-3)}.crumbs .crumb-mid,.demo-toggle{display:none}.page-head h1{font-size:var(--t-h1)}.row-counts{gap:var(--s-3)}}.topic-tab-row{margin-bottom:var(--s-3);justify-content:space-between;align-items:center;display:flex}.topic-card__hint{align-items:center;gap:var(--s-2);font-size:var(--t-xs);color:var(--ink-4);display:inline-flex}.topic-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:var(--s-4) var(--s-5)}.post-stream{flex-direction:column;min-width:0;display:flex}.thread-stack{gap:var(--s-4);flex-direction:column;min-width:0;display:flex}.topic-thread{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:var(--s-2) var(--s-5)}.topic-thread .post{border-bottom:none}.post{min-width:0;padding:var(--s-4) var(--s-3);margin-left:calc(-1 * var(--s-3));margin-right:calc(-1 * var(--s-3));border-bottom:1px solid var(--hairline);border-radius:var(--r-sm);transition:background var(--dur-fast) var(--ease)}.post:last-child{border-bottom:none}.post:hover{background:var(--surface-2)}.post__head{align-items:center;gap:var(--s-2);margin-bottom:-3px;display:flex}.post__spacer{flex:1}.post__author{font-weight:var(--w-medium);color:var(--brand);font-size:var(--t-xs)}.post__head:has(.role-tag--instr) .post__author{font-weight:var(--w-semi)}.post__time{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3);display:none}[data-show-time] .post__time{display:inline}.role-tag{display:none}.role-tag--instr{font-size:10px;font-weight:var(--w-semi);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-pill);background:var(--brand-soft);color:var(--brand-hover);padding:1px 6px;display:inline-flex}.post__body{font-family:var(--font-ui);font-size:var(--t-sm);color:var(--ink-2);overflow-wrap:anywhere;margin-top:0;line-height:1.5}.post__body p+p{margin-top:.5em}.post__body code{font-family:var(--font-mono);background:var(--surface-3);border-radius:var(--r-xs);padding:1px 5px;font-size:.85em}.post__body strong{color:var(--ink)}.post__act{color:var(--ink-4);font-size:var(--t-xs);font-weight:var(--w-medium);border-radius:var(--r-sm);transition:color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease);background:0 0;border:none;align-items:center;gap:4px;padding:2px 6px;display:inline-flex}.post__act:hover{background:var(--surface-3);color:var(--ink-2)}.post__act--danger:hover{background:var(--danger-soft);color:var(--danger-ink)}.post__act .count{font-family:var(--font-mono);min-width:1ch}.edited-tag{font-size:var(--t-xs);color:var(--ink-4);font-style:italic}.attach-note{font-size:var(--t-xs);color:var(--imported-ink);background:var(--imported-soft);border:1px solid var(--imported-line);border-radius:var(--r-pill);align-items:center;gap:6px;padding:2px 9px;display:inline-flex}.post--deleted .post__body{color:var(--ink-4);font-style:italic}.thread-replies{margin-left:var(--s-4);flex-direction:column;display:flex;position:relative}.thread-replies:before{content:"";left:0;top:var(--s-3);bottom:var(--s-3);background:var(--hairline-2);border-radius:var(--r-pill);width:2px;position:absolute}.post:has(+.thread-replies){border-bottom:none;padding-bottom:0}.post[data-depth="1"]{padding:var(--s-2) var(--s-3) var(--s-2) var(--s-7);border-bottom:none;border-radius:0;margin-left:0}.thread-replies .composer{margin:var(--s-2) 0 var(--s-3) var(--s-7);box-shadow:var(--sh-sm);position:static}.post__ref{min-width:0;max-width:100%;font-size:var(--t-xs);color:var(--ink-4);cursor:pointer;text-align:left;transition:color var(--dur-fast) var(--ease);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:3px;padding:0;font-style:italic;display:flex}.post__ref b{font-weight:var(--w-medium);color:var(--ink-3);flex:none}.post__ref span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.post__ref:hover,.post__ref:hover b{color:var(--brand)}.post--flash{animation:post-flash 1.2s var(--ease)}@keyframes post-flash{0%{background:var(--brand-soft)}to{background:0 0}}.post__overflow{position:relative}.summary-content{max-width:680px}.summary-content .ai-summary{font-size:var(--t-sm);color:var(--ink-2);line-height:1.6}.summary-content .ai-section{margin-top:var(--s-5)}.summary-meta{align-items:center;gap:var(--s-3);margin-bottom:var(--s-5);padding-bottom:var(--s-4);border-bottom:1px solid var(--hairline);flex-wrap:wrap;display:flex}.composer{gap:var(--s-3);margin-top:var(--s-5);padding:var(--s-2) var(--s-3);background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-lg);box-shadow:var(--sh-md);bottom:var(--s-4);z-index:5;align-items:flex-start;display:flex;position:sticky}.composer__field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.composer .tools .icon-btn{width:28px;height:28px}.composer__replyto{align-items:center;gap:var(--s-2);min-width:0;max-width:100%;padding:5px var(--s-3);background:var(--brand-soft);border-left:2px solid var(--brand);border-radius:var(--r-sm);font-size:var(--t-xs);color:var(--ink-2);display:none}.composer__replyto.is-on{display:flex}.composer__replyto b{color:var(--brand);font-weight:var(--w-semi);flex:none}.composer__replyto .quote{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-3);overflow:hidden}.composer__replyto .cancel{color:var(--ink-3);cursor:pointer;background:0 0;border:none;flex:none;margin-left:auto;padding:2px;display:inline-flex}.composer__replyto .cancel:hover{color:var(--ink)}.composer textarea{resize:none;height:30px;min-height:30px;max-height:220px;box-shadow:none;background:0 0;border:none;padding:4px;overflow-y:auto}.composer textarea:focus{box-shadow:none}.composer__bar{align-items:center;gap:var(--s-2);display:flex}.composer__bar .tools{gap:2px;display:flex}.composer__bar .spacer{flex:1}.composer__bar .hint{font-size:var(--t-xs);color:var(--ink-4)}.composer--collapsed .composer__field{gap:0}.composer--collapsed .input,.composer--collapsed .composer__bar{display:none}.composer--locked{align-items:center;gap:var(--s-3);color:var(--ink-3);font-size:var(--t-sm);box-shadow:none;border-style:dashed;justify-content:center;display:flex;position:static}.sel-context{align-items:center;gap:var(--s-3);padding:var(--s-3);margin-bottom:var(--s-4);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);display:flex}.sel-context .who{font-size:var(--t-sm);font-weight:var(--w-semi)}.sel-context .kind{font-size:var(--t-xs);color:var(--ink-3);font-family:var(--font-mono)}.sel-context .pulse{background:var(--brand);width:8px;height:8px;box-shadow:0 0 0 0 var(--brand-ring);border-radius:50%;margin-left:auto;animation:2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 oklch(62% .16 264/.5)}70%{box-shadow:0 0 0 7px oklch(62% .16 264/0)}to{box-shadow:0 0 oklch(62% .16 264/0)}}.wf-block{padding:var(--s-4) 0;border-top:1px solid var(--hairline)}.wf-block:first-of-type{border-top:none;padding-top:0}.wf-block__head{align-items:center;gap:var(--s-2);margin-bottom:var(--s-3);display:flex}.wf-block__head h4{font-size:var(--t-sm);font-weight:var(--w-semi);align-items:center;gap:7px;display:flex}.wf-block__head .scope{font-size:10px;font-family:var(--font-mono);color:var(--ink-4);margin-left:auto}.draft-box{font-size:var(--t-sm);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-sm);padding:var(--s-3);color:var(--ink);margin-top:var(--s-2);line-height:1.55}.kv{gap:var(--s-2);font-size:var(--t-xs);margin-bottom:6px;display:flex}.kv .k{color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--w-semi);min-width:64px}.rubric{gap:var(--s-3);margin-top:var(--s-3);flex-direction:column;display:flex}.criterion .cname{font-size:var(--t-sm);font-weight:var(--w-semi);justify-content:space-between;margin-bottom:6px;display:flex}.criterion .cname .wt{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3)}.bands{gap:4px;display:flex}.band{text-align:center;border-radius:var(--r-xs);border:1px solid var(--hairline);background:var(--surface-2);color:var(--ink-3);font-size:10px;font-weight:var(--w-medium);transition:all var(--dur-fast) var(--ease);flex:1;padding:6px 4px;line-height:1.3}.band.suggested{background:var(--ai-soft);border-color:var(--ai);color:var(--ai-ink);font-weight:var(--w-semi);box-shadow:0 0 0 1px var(--ai)}.band.suggested.band-fill--fail{background:var(--band-fail-soft);border-color:var(--band-fail-line);color:var(--band-fail-ink);box-shadow:0 0 0 1px var(--band-fail-ink)}.band.suggested.band-fill--adequate{background:var(--band-adequate-soft);border-color:var(--band-adequate-line);color:var(--band-adequate-ink);box-shadow:0 0 0 1px var(--band-adequate-ink)}.band.suggested.band-fill--good{background:var(--band-good-soft);border-color:var(--band-good-line);color:var(--band-good-ink);box-shadow:0 0 0 1px var(--band-good-ink)}.band.suggested.band-fill--verygood{background:var(--band-verygood-soft);border-color:var(--band-verygood-line);color:var(--band-verygood-ink);box-shadow:0 0 0 1px var(--band-verygood-ink)}.band.suggested.band-fill--excellent{background:var(--band-excellent-soft);border-color:var(--band-excellent-line);color:var(--band-excellent-ink);box-shadow:0 0 0 1px var(--band-excellent-ink)}.band .pts{font-family:var(--font-mono);opacity:.8;font-size:9px;display:block}.review-status{align-items:center;gap:var(--s-2);font-size:var(--t-xs);padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);background:var(--surface-2);margin-top:var(--s-3);color:var(--ink-2);display:flex}.state-banner{margin-bottom:var(--s-5)}.aside-panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}.aside-section{padding:var(--s-4);border-bottom:1px solid var(--hairline)}.aside-section:last-child{border-bottom:none}.aside-section__head{align-items:center;gap:var(--s-2);font-size:var(--t-xs);font-weight:var(--w-semi);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:var(--s-3);display:flex}.aside-section__head .ph{font-size:13px}.seg-row{align-items:center;gap:var(--s-3);margin-bottom:var(--s-2);display:flex}.seg-row:last-child{margin-bottom:0}.seg-label{font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-3);min-width:40px}.seg-group{background:var(--surface-2);border-radius:var(--r-md);flex:1;gap:2px;padding:2px;display:flex}.seg-group button{border-radius:calc(var(--r-md) - 2px);font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-3);transition:all var(--dur-fast) var(--ease);background:0 0;border:none;flex:1;padding:5px 8px}.seg-group button:hover{color:var(--ink-2)}.seg-group button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--sh-sm)}.cat-list{gap:var(--s-2);flex-wrap:wrap;display:flex}.cat-pill{border:1px solid var(--hairline-2);background:var(--surface-2);border-radius:var(--r-pill);font-size:var(--t-xs);font-weight:var(--w-medium);color:var(--ink-2);cursor:pointer;transition:all var(--dur-fast) var(--ease);align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.cat-pill:hover{border-color:var(--brand-ring);color:var(--ink)}.cat-pill--active{background:var(--brand-soft);border-color:var(--brand-ring);color:var(--brand-hover)}.cat-pill .cnt{font-family:var(--font-mono);opacity:.7;font-size:10px}.ai-actions{gap:var(--s-2);flex-direction:column;display:flex}.ai-action-btn{align-items:center;gap:var(--s-2);border:1px solid var(--hairline-2);background:var(--surface-2);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-md);font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink-2);cursor:pointer;transition:all var(--dur-fast) var(--ease);display:flex}.ai-action-btn:hover{background:var(--ai-soft);border-color:var(--ai);color:var(--ai-ink)}.ai-action-btn .ph{color:var(--ai);font-size:15px}@media (width<=1080px){.composer{position:static}}@media (width<=520px){.post[data-depth="1"]{padding-left:var(--s-5)}}.dialog{z-index:70;max-height:85vh;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.dialog-backdrop{z-index:60;position:fixed;inset:0}.menu-popup{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);min-width:160px;box-shadow:var(--sh-lg);padding:var(--s-1);z-index:70}.menu-item{align-items:center;gap:var(--s-2);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);font-size:var(--t-sm);color:var(--ink-2);cursor:pointer;background:0 0;border:none;display:flex}.menu-item:hover,.menu-item[data-highlighted]{background:var(--surface-2);color:var(--ink)}.menu-item--danger{color:var(--danger-ink)}.menu-item--danger:hover{background:var(--danger-soft)}#root{min-height:100vh}.notice--success{background:var(--success-soft);border-color:var(--success);color:var(--success-ink)}.notice--success i,.notice--success svg{color:var(--success)}.empty-state{padding:var(--s-6);text-align:center;color:var(--ink-3);gap:var(--s-2);flex-direction:column;align-items:center;display:flex}.empty-state h4{color:var(--ink-2);font-size:var(--t-body)}.loading-block{align-items:center;gap:var(--s-2);padding:var(--s-5);color:var(--ink-3);font-size:var(--t-sm);display:flex}.spin{animation:.8s linear infinite fa-spin}@keyframes fa-spin{to{transform:rotate(360deg)}}.home-top{height:var(--topbar-h);align-items:center;gap:var(--s-4);padding:0 var(--s-6);border-bottom:1px solid var(--hairline);z-index:20;background:color-mix(in oklch, var(--paper), transparent 18%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;position:sticky;top:0}.home-top .brand{align-items:center;gap:var(--s-3);display:flex}.home-top .brand .logo{border-radius:var(--r-sm);background:var(--brand);width:30px;height:30px;color:var(--on-brand);place-items:center;font-weight:700;display:grid}.home-top .brand .name{font-weight:700;font-size:var(--t-h3);letter-spacing:-.02em}.home-top .brand .name b{color:var(--brand)}.home-wrap{max-width:1020px;padding:var(--s-8) var(--s-6) var(--s-10);margin:0 auto}.greeting{font-family:var(--font-read);color:var(--ink-3);margin-bottom:6px;font-size:1.05rem}.stat-strip{gap:var(--s-6);margin:var(--s-5) 0 var(--s-7);flex-wrap:wrap;display:flex}.stat{flex-direction:column;gap:2px;display:flex}.stat .v{letter-spacing:-.02em;font-size:1.6rem;font-weight:700;font-family:var(--font-ui)}.stat .v.accent{color:var(--brand)}.stat .l{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:600}.filters{justify-content:space-between;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.role-pill{font-family:var(--font-mono);font-size:var(--t-xs);border-radius:var(--r-pill);padding:2px 8px;font-weight:600}.role-pill--admin{background:var(--brand-soft);color:var(--brand-hover)}.role-pill--mod{background:var(--native-soft);color:var(--native-ink)}.role-pill--member{background:var(--surface-3);color:var(--ink-3)}.activity-cell{align-items:center;gap:var(--s-3);justify-content:flex-end;display:flex}.activity-cell .upto{font-size:var(--t-sm);color:var(--ink-4)}.list--modules .list__row{grid-template-columns:120px 1fr 200px 16px}.list--modules .row-title{color:var(--brand)}.list--modules .list__row:hover .row-title{color:var(--brand-hover)}.tri-band{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--hairline);font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--brand-hover);background:oklch(94.5% .0164 249.496);display:flex}[data-theme=dark] .tri-band{background:oklch(32.6% .0515 250.986)}.list__row+.tri-band{border-top:1px solid var(--hairline)}@media (width<=860px){.home-top{padding:0 var(--s-4)}.home-wrap{padding:var(--s-6) var(--s-4) var(--s-9)}}.auth-wrap{max-width:760px;padding:var(--s-8) var(--s-6) var(--s-10);gap:var(--s-5);flex-direction:column;margin:0 auto;display:flex}.json{font-family:var(--font-mono);font-size:var(--t-sm);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);padding:var(--s-4);color:var(--ink-2);line-height:1.7;overflow-x:auto}.topic-choice-list{gap:var(--s-2);margin:var(--s-3) 0;flex-direction:column;max-height:320px;display:flex;overflow:auto}.topic-choice{align-items:center;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--surface-2);cursor:pointer;font-size:var(--t-sm);display:flex}.topic-choice:hover{border-color:var(--brand-ring)}.topic-choice span{flex-direction:column;min-width:0;display:flex}.topic-choice small{color:var(--ink-3)}.topic-choice input{flex:none}.artifact-list{gap:var(--s-3);flex-direction:column;display:flex}.artifact-card{background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);padding:var(--s-4);gap:var(--s-3);flex-direction:column;display:flex}.artifact-card__head{justify-content:space-between;align-items:flex-start;gap:var(--s-3);display:flex}.artifact-card__kind{font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--ink);text-transform:capitalize}.artifact-card__meta{font-size:var(--t-xs);color:var(--ink-3)}.artifact-card__badges{gap:var(--s-2);flex:none;display:flex}.artifact-card__state{font-size:var(--t-xs);color:var(--ink-3)}.artifact-card__output{border-top:1px solid var(--hairline);padding-top:var(--s-3)}.artifact-card .meta-grid dd{font-size:var(--t-sm)}.ai-summary{font-size:var(--t-sm);color:var(--ink-2);line-height:1.55}.ai-summary h3{font-size:var(--t-body);color:var(--ink);margin-bottom:var(--s-2);font-family:var(--font-read)}.ai-summary h4{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin-bottom:var(--s-1)}.ai-summary ul{flex-direction:column;gap:4px;padding-left:1.2em;display:flex}.ai-summary .ai-section{margin-top:var(--s-3)}.post__subject{margin-bottom:var(--s-3);font-family:var(--font-ui);font-size:var(--t-body);font-weight:var(--w-semi);color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:none;padding:0;display:block}.post__subject:hover{color:var(--brand)}.post[data-selected=true]{background:var(--brand-soft)}.stream-thread-label{font-size:var(--t-xs);font-weight:var(--w-semi);text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3);margin:var(--s-4) 0 var(--s-2)}.topic-thread{scroll-margin-top:96px}.topic-thread--focused{border-color:var(--brand-ring);box-shadow:inset 0 0 0 1px var(--brand-ring)}.thread-stack.has-focus .topic-thread:not(.topic-thread--focused){opacity:.75}.topic-thread--focused .post__subject{color:var(--brand-hover)}.focus-banner{top:var(--s-3);z-index:40;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-2) var(--s-1) var(--s-4);margin-bottom:var(--s-3);background:var(--brand-soft);border:1px solid var(--brand-ring);border-radius:var(--r-pill);font-size:var(--t-sm);color:var(--brand-hover);width:fit-content;box-shadow:var(--sh-md);display:flex;position:sticky}.focus-banner b{font-weight:600}.forum-actions{align-items:center;gap:var(--s-2);display:flex}.forum-meta{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.new-forum-cta{align-items:center;gap:var(--s-3);padding:var(--s-4);border:1.5px dashed var(--hairline-2);border-radius:var(--r-md);color:var(--ink-3);font-size:var(--t-sm);width:100%;transition:all var(--dur-fast) var(--ease);margin-top:var(--s-3);cursor:pointer;background:0 0;justify-content:center;font-weight:500;display:flex}.new-forum-cta:hover{border-color:var(--brand-ring);color:var(--brand);background:var(--brand-soft)}.composer-prompt{align-items:center;gap:var(--s-3);width:100%;padding:var(--s-3) var(--s-4);margin-bottom:var(--s-4);background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-md);color:var(--ink-4);font-size:var(--t-body);text-align:left;cursor:pointer;transition:border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);display:flex}.composer-prompt:hover{border-color:var(--brand-ring);box-shadow:0 0 0 3px var(--brand-soft)}.composer-prompt .go{margin-left:auto}.ai-toolbar{align-items:center;gap:var(--s-3);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.ai-toolbar .grow{flex:1}.topic-stats,.thread-stats{align-items:center;gap:var(--s-3);color:var(--ink-3);font-size:var(--t-xs);font-family:var(--font-mono);margin-top:var(--s-3);padding:var(--s-2) var(--s-3);background:var(--surface-2);border-radius:var(--r-md);width:fit-content;display:flex}.topic-stats svg,.thread-stats svg{width:13px;height:13px}.topic-stats__sep,.thread-stats__sep{background:var(--hairline-2);width:1px;height:12px}.topic-desc{color:var(--ink-2);font-size:var(--t-sm);margin-top:var(--s-3);max-width:680px;line-height:1.5}.topic-desc strong{color:var(--ink)}.thread-desc{color:var(--ink-2);font-size:var(--t-sm);margin-top:var(--s-3);max-width:720px;line-height:1.5}.tool-tag{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3);border:1px dashed var(--hairline-2);border-radius:var(--r-pill);align-items:center;gap:6px;padding:3px 9px;display:inline-flex}.status-line{align-items:center;gap:var(--s-3);display:flex}.blip{background:var(--success);width:9px;height:9px;box-shadow:0 0 0 3px var(--success-soft);border-radius:50%}.run-progress{align-items:center;gap:var(--s-3);min-width:180px;display:flex}.run-progress .bar,.run-strip .bar{border-radius:var(--r-pill);background:var(--surface-3);flex:1;height:5px;overflow:hidden}.run-progress .bar>span,.run-strip .bar>span{border-radius:var(--r-pill);background:var(--brand);height:100%;display:block}.run-progress .n{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3);white-space:nowrap}.run-cost{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--ink-2)}.list--runs .list__row{grid-template-columns:10px 1fr 200px 110px 120px 16px}.list--roster .list__row{grid-template-columns:minmax(180px,1.2fr) 90px 90px 90px 110px 130px 16px}.list--roster .col-num{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--ink-2);text-align:right}.rub-crit{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--hairline)}.rub-crit:last-child{border-bottom:none}.rub-crit__name{margin-bottom:var(--s-2);align-items:center;gap:var(--s-2);font-weight:600;display:flex}.rub-band{gap:var(--s-3);padding:var(--s-2) 0;border-top:1px dashed var(--hairline);grid-template-columns:130px minmax(0,1fr);align-items:start;display:grid}.rub-band:first-of-type{border-top:none}.rub-band .b{font-family:var(--font-mono);font-size:var(--t-xs);border-radius:var(--r-pill);border:1px solid var(--hairline-2);justify-self:start;padding:2px 9px;font-weight:600}.rub-band .d{font-size:var(--t-sm);color:var(--ink-3);line-height:1.5}.scale-chip{font-family:var(--font-mono);font-size:var(--t-xs);border-radius:var(--r-pill);border:1px solid var(--hairline-2);white-space:nowrap;padding:1px 8px;font-weight:600}.run-strip{align-items:center;gap:var(--s-5);padding:var(--s-3) var(--s-4);margin-bottom:var(--s-5);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-sm);flex-wrap:wrap;display:flex}.run-strip .bar{min-width:160px;height:6px}.run-strip .n,.run-strip .cost{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--ink-2);white-space:nowrap}.run-strip .cost b{color:var(--ink);font-weight:500}.mark-table{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}.mrow{gap:var(--s-4);padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--hairline);grid-template-columns:28px 140px minmax(0,1.3fr) minmax(0,1.8fr) 96px;align-items:start;display:grid}.mrow:last-child{border-bottom:none}.mrow--head{padding-top:var(--s-2);padding-bottom:var(--s-2);background:var(--surface-2);align-items:center}.mrow--head .col{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600}.mrow--done{background:color-mix(in oklch, var(--success-soft), transparent 55%)}.mrow--skipped{opacity:.55}.m-student{align-items:center;gap:var(--s-2);min-width:0;display:flex}.m-student .row-title{font-size:var(--t-sm)}.m-post .excerpt{font-family:var(--font-read);font-size:var(--t-sm);color:var(--ink-2);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.5;display:-webkit-box;overflow:hidden}.m-post .excerpt--open{-webkit-line-clamp:none;display:block}.m-post .where{font-size:var(--t-xs);color:var(--ink-4);gap:var(--s-2);align-items:center;margin-top:3px;display:flex}.crit{align-items:center;gap:var(--s-3);grid-template-columns:112px minmax(0,1fr) 20px;margin-bottom:6px;display:grid}.crit__name{font-size:var(--t-xs);color:var(--ink-3);font-weight:600}.crit__state{text-align:center;font-size:13px}.crit__state--ai{color:var(--ai-ink)}.crit__state--adjusted{color:var(--brand-hover)}.crit__state--done{color:var(--success-ink)}.crit--focused .band-select{box-shadow:0 0 0 2px var(--brand-ring)}.band-select{min-width:160px;font-family:var(--font-mono);font-size:var(--t-xs);border:1px solid var(--hairline-2);border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);cursor:pointer;justify-content:space-between;justify-self:start;align-items:center;gap:8px;padding:4px 10px;font-weight:600;display:inline-flex}.band-select .caret{opacity:.6;flex:none}.band-select--static{cursor:default}.band-menu{z-index:70;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-md);min-width:320px;box-shadow:var(--sh-lg);padding:var(--s-1)}.band-option{gap:var(--s-3);width:100%;padding:var(--s-2) var(--s-3);border-radius:var(--r-sm);cursor:pointer;text-align:left;background:0 0;border:none;grid-template-columns:112px minmax(0,1fr);align-items:start;display:grid}.band-option:hover,.band-option[data-highlighted]{background:var(--surface-2)}.band-option[aria-selected=true]{background:var(--brand-soft)}.band-option .bo-pill{font-family:var(--font-mono);font-size:var(--t-xs);border-radius:var(--r-pill);border:1px solid var(--hairline-2);white-space:nowrap;justify-self:start;padding:2px 9px;font-weight:600}.band-option .bo-desc{font-size:var(--t-xs);color:var(--ink-3);line-height:1.45}.crit-chips{flex-wrap:wrap;gap:6px;display:flex}.m-feedback{font-size:var(--t-sm);color:var(--ink-2);margin-top:var(--s-2);line-height:1.5}textarea.m-feedback{border-radius:var(--r-sm);width:100%;font-family:var(--font-ui);resize:vertical;background:0 0;border:1px solid #0000;min-height:54px;padding:2px 4px}textarea.m-feedback:hover{border-color:var(--hairline-2)}textarea.m-feedback:focus{outline:2px solid var(--brand-ring);background:var(--surface)}.m-acts{gap:var(--s-1);justify-content:flex-end;display:flex}.kbd-hints{gap:var(--s-4);font-size:var(--t-xs);color:var(--ink-4);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.kbd-hints kbd{font-family:var(--font-mono);border:1px solid var(--hairline-2);border-radius:var(--r-xs);border-bottom-width:2px;padding:0 5px}.release-bar{align-items:center;gap:var(--s-4);margin-top:var(--s-5);padding:var(--s-3) var(--s-4);background:color-mix(in oklch, var(--paper), transparent 8%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-lg);display:flex;position:sticky;bottom:0}.release-bar .n{font-family:var(--font-mono);font-size:var(--t-sm);color:var(--ink-2)}.stu-head{align-items:center;gap:var(--s-4);display:flex}.mark-chip{font-family:var(--font-mono);font-size:var(--t-xs);border-radius:var(--r-pill);background:var(--surface-2);color:var(--ink-2);border:1px solid var(--hairline-2);align-items:center;gap:5px;padding:2px 9px;font-weight:500;display:inline-flex}.mark-chip--pending{opacity:.8;border-style:dashed}.mark-chip--released{background:var(--success-soft);color:var(--success-ink);border-color:var(--success)}.stu-post{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--hairline)}.stu-post:last-child{border-bottom:none}.stu-post .excerpt{font-family:var(--font-read);font-size:var(--t-sm);color:var(--ink-2);line-height:1.55}.stu-post .meta{gap:var(--s-3);font-size:var(--t-xs);color:var(--ink-4);margin-top:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.stu-post .fb{font-size:var(--t-sm);color:var(--ink-2);margin-top:var(--s-2);padding-left:var(--s-3);border-left:2px solid var(--success)}.hist{font-size:var(--t-xs);color:var(--ink-4);margin-top:var(--s-1)}.fb-item{padding:var(--s-4) var(--s-5);border-bottom:1px solid var(--hairline)}.fb-item:last-child{border-bottom:none}.fb-item .your-post{font-family:var(--font-read);font-size:var(--t-sm);color:var(--ink-3);font-style:italic;line-height:1.55}.fb-item .fb{font-family:var(--font-read);font-size:var(--t-body);color:var(--ink);margin-top:var(--s-2);line-height:1.6}.fb-item .meta{gap:var(--s-3);font-size:var(--t-xs);color:var(--ink-4);margin-top:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}button.mark-chip{cursor:pointer}.post__feedback{margin-top:var(--s-2);padding:var(--s-3);border:1px solid var(--success);border-radius:var(--r-sm);background:color-mix(in oklch, var(--success-soft), transparent 40%);gap:var(--s-2);border-left-width:3px;flex-direction:column;display:flex}.post__feedback .fb-text{font-family:var(--font-read);font-size:var(--t-sm);color:var(--ink);line-height:1.55}.post__feedback .fb-meta{font-size:var(--t-xs);color:var(--ink-4)}.admin-wrap{max-width:1080px;padding:var(--s-8) var(--s-6) var(--s-10);margin:0 auto}.prov-models{border-top:1px solid var(--hairline);margin-top:var(--s-3)}.prov-model{gap:var(--s-3);padding:var(--s-2) 0;border-bottom:1px solid var(--hairline);font-size:var(--t-sm);grid-template-columns:minmax(180px,1fr) 90px 90px 90px 70px;align-items:center;display:grid}.prov-model:last-child{border-bottom:none}.prov-model .mono-in{font-family:var(--font-mono);font-size:var(--t-xs);text-align:right;border:1px solid var(--hairline-2);border-radius:var(--r-sm);background:var(--surface-2);width:100%;color:var(--ink-2);padding:3px 7px}.prov-model .mono-in:focus{outline:2px solid var(--brand-ring)}.price-head{gap:var(--s-3);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);padding-bottom:var(--s-1);grid-template-columns:minmax(180px,1fr) 90px 90px 90px 70px;font-weight:600;display:grid}.price-head span:not(:first-child){text-align:right}.switch{border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--hairline-2);cursor:pointer;flex:none;justify-self:end;width:32px;height:18px;position:relative}.switch:after{content:"";background:var(--surface);width:14px;height:14px;box-shadow:var(--sh-sm);transition:left var(--dur-fast) var(--ease);border-radius:50%;position:absolute;top:1px;left:1px}.switch[aria-checked=true]{background:var(--success);border-color:var(--success)}.switch[aria-checked=true]:after{left:15px}.tmpl-list{flex-direction:column;gap:2px;display:flex}.tmpl-list button{align-items:center;gap:var(--s-2);padding:7px var(--s-3);border-radius:var(--r-md);color:var(--ink-2);font-size:var(--t-sm);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.tmpl-list button[aria-current=true]{background:var(--brand-soft);color:var(--brand-hover);font-weight:600}.tmpl-dot{border:1.5px solid var(--ink-4);border-radius:50%;flex:none;width:7px;height:7px}.tmpl-dot--custom{background:var(--success);border-color:var(--success)}.tmpl-dot--override{background:var(--native);border-color:var(--native)}.ph-chip{font-family:var(--font-mono);font-size:var(--t-xs);background:var(--brand-soft);color:var(--brand-hover);border-radius:var(--r-pill);padding:1px 8px}.effective{font-family:var(--font-mono);font-size:var(--t-xs);background:var(--surface-2);border:1px solid var(--hairline);border-radius:var(--r-md);padding:var(--s-3);color:var(--ink-3);white-space:pre-wrap;line-height:1.7}.usage-tiles{gap:var(--s-6);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.usage-tiles .stat .v{font-family:var(--font-mono)}.usage-row{gap:var(--s-3);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--hairline);font-size:var(--t-sm);grid-template-columns:130px 1fr 110px 130px 90px;align-items:center;display:grid}.usage-row:last-child{border-bottom:none}.usage-row .mono{font-size:var(--t-xs)}.usage-row--head{background:var(--surface-2);font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:600}.module-tree{gap:var(--s-4);display:grid}.module-tree__forum,.module-tree__topic{border:1px solid var(--hairline);border-radius:var(--r-xl);background:var(--surface)}.module-tree__forum{padding:var(--s-4)}.module-tree__topics{gap:var(--s-3);margin-top:var(--s-3);display:grid}.module-tree__topic{padding:var(--s-3);background:var(--surface-2)}.module-tree__forumHead,.module-tree__topicHead,.module-tree__thread{justify-content:space-between;align-items:center;gap:var(--s-3);display:flex}.module-tree__threads{margin-top:var(--s-3);border:1px solid var(--hairline);border-radius:var(--r-lg);gap:1px;display:grid;overflow:hidden}.module-tree__thread{padding:var(--s-3);background:var(--surface);color:inherit;text-decoration:none}.module-tree__thread:hover{background:var(--surface-3)}.module-tree__threadMain,.module-tree__threadMeta{align-items:center;gap:var(--s-2);display:inline-flex}.module-tree__threadMain{flex-direction:column;align-items:flex-start;min-width:0}.module-tree__threadMeta{color:var(--ink-4);font-size:var(--t-sm);flex:none}.module-tree__note{margin:var(--s-2) 0 0;font-size:var(--t-xs)}@media (width<=860px){.module-tree__forumHead,.module-tree__topicHead,.module-tree__thread{flex-direction:column;align-items:flex-start}.module-tree__threadMeta{justify-content:space-between;width:100%}}.crumbs-inline{font-size:var(--t-sm);color:var(--ink-3)}.crumbs-inline a{color:var(--ink-3)}.crumbs-inline a:hover{color:var(--brand)}.crumbs-inline .sep{color:var(--ink-4);margin:0 6px}.crumbs-inline .current{color:var(--ink);font-weight:var(--w-medium)}.imp-wrap{max-width:1100px;padding:var(--s-7) var(--s-6) var(--s-10);margin:0 auto}.imp-head h1{font-size:var(--t-display);letter-spacing:-.03em}.imp-head .sub{color:var(--ink-3);font-size:var(--t-sm);max-width:720px;margin-top:6px;line-height:1.55}.stepper{align-items:center;gap:var(--s-2);margin:var(--s-6) 0 var(--s-5);padding:0;list-style:none;display:flex}.stepper li{align-items:center;gap:var(--s-2);display:flex}.stepper li+li:before{content:"";background:var(--hairline-2);width:34px;height:1px;margin-right:var(--s-2)}.stepper button{border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:var(--w-medium);color:var(--ink-4);background:0 0;border:none;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.stepper .num{width:22px;height:22px;font-size:var(--t-xs);font-family:var(--font-mono);background:var(--surface-3);color:var(--ink-3);border-radius:50%;place-items:center;font-weight:600;display:grid}.stepper li.is-current button{color:var(--ink);background:var(--surface-2)}.stepper li.is-current .num{background:var(--brand);color:var(--on-brand)}.stepper li.is-done button{color:var(--ink-2);cursor:pointer}.stepper li.is-done button:hover{background:var(--surface-2)}.stepper li.is-done .num{background:var(--success-soft);color:var(--success-ink)}.stepper li:not(.is-done):not(.is-current) button{cursor:default}.term-band{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--hairline);font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--brand-hover);background:oklch(94.5% .0164 249.496);display:flex}[data-theme=dark] .term-band{background:oklch(32.6% .0515 250.986)}.term-band .suffix{font-weight:400;font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3)}.course-row{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--hairline);cursor:pointer;grid-template-columns:28px minmax(0,1fr) 168px 92px 220px;display:grid}.course-row:last-child{border-bottom:none}.course-row:hover{background:var(--surface-2)}.course-row.is-disabled{cursor:default}.course-row.is-disabled:hover{background:0 0}.course-row.is-disabled .row-title,.course-row.is-disabled .row-sub{color:var(--ink-4)}.course-row .dates{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3)}.course-row .role{font-size:var(--t-xs);color:var(--ink-3)}.course-row .dest{justify-content:flex-end;display:flex}.imp-actionbar{align-items:center;gap:var(--s-3);margin-top:var(--s-4);display:flex}.imp-actionbar .spacer{flex:1}.review-card{border:1px solid var(--hairline);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-sm);margin-bottom:var(--s-4);overflow:hidden}.review-card__head{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--hairline);background:oklch(94.5% .0164 249.496);flex-wrap:wrap;display:flex}[data-theme=dark] .review-card__head{background:oklch(32.6% .0515 250.986)}.review-card__head .cname{font-weight:var(--w-semi);font-size:var(--t-sm);color:var(--brand-hover)}.review-card__head .cterm{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3)}.review-card__head .tally{font-size:var(--t-xs);color:var(--ink-3);margin-left:auto}.forum-row{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--hairline);font-size:var(--t-sm);grid-template-columns:20px minmax(0,1fr) auto;display:grid}.forum-row:last-child{border-bottom:none}.forum-row>svg{color:var(--ink-4)}.forum-row .fname{color:var(--ink);font-weight:var(--w-medium)}.forum-row .fsub{font-size:var(--t-xs);color:var(--ink-4);margin-top:1px;display:block}.forum-row .plan{justify-content:flex-end;align-items:center;gap:6px;display:flex}.forum-row.is-empty .fname{color:var(--ink-4);font-weight:400}.flag-tag{font-size:10px;font-weight:var(--w-semi);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--r-pill);background:var(--surface-3);color:var(--ink-3);padding:1px 7px}.flag-tag--warn{background:var(--warn-soft);color:var(--warn-ink)}.scan-error{gap:var(--s-2);padding:var(--s-4);font-size:var(--t-sm);color:var(--danger-ink);display:flex}.review-summary{gap:var(--s-6);margin-bottom:var(--s-5);flex-wrap:wrap;display:flex}.review-summary .stat{flex-direction:column;gap:2px;display:flex}.review-summary .v{letter-spacing:-.02em;font-size:1.5rem;font-weight:700}.review-summary .l{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:600}.imp-foot{bottom:var(--s-4);z-index:5;align-items:center;gap:var(--s-4);margin-top:var(--s-5);padding:var(--s-3) var(--s-4);background:var(--surface);border:1px solid var(--hairline-2);border-radius:var(--r-lg);box-shadow:var(--sh-md);display:flex;position:sticky}.imp-foot .count{font-size:var(--t-sm);color:var(--ink-2)}.imp-foot .count b{color:var(--ink)}.job-head{align-items:center;gap:var(--s-4);padding:var(--s-4);background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin-bottom:var(--s-4);flex-wrap:wrap;display:flex}.job-head .meta{font-size:var(--t-xs);color:var(--ink-3);font-family:var(--font-mono)}.jobbar{border-radius:var(--r-pill);background:var(--surface-3);flex:1;min-width:180px;height:8px;overflow:hidden}.jobbar i{background:var(--brand);border-radius:var(--r-pill);height:100%;transition:width var(--dur-fast) var(--ease);display:block}.jobbar.is-errors i{background:var(--warn)}.job-counts{font-family:var(--font-mono);font-size:var(--t-xs);color:var(--ink-3)}.job-group__head{align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--hairline);font-size:var(--t-sm);font-weight:var(--w-semi);color:var(--brand-hover);background:oklch(94.5% .0164 249.496);display:flex}[data-theme=dark] .job-group__head{background:oklch(32.6% .0515 250.986)}.job-group__head .dest{margin-left:auto}.job-row{align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--hairline);font-size:var(--t-sm);grid-template-columns:minmax(0,1.4fr) 130px minmax(0,1fr);display:grid}.job-row:last-child{border-bottom:none}.job-row .ctx{font-size:var(--t-xs);color:var(--ink-4);display:block}.job-row .destlink{color:var(--brand);font-weight:var(--w-medium);align-items:center;gap:5px;display:inline-flex}.job-row .errmsg{color:var(--danger-ink);font-size:var(--t-xs)}.imp-panel-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--sh-sm);overflow:hidden}@media (width<=900px){.course-row{grid-template-columns:28px minmax(0,1fr) 220px}.course-row .dates,.course-row .role{display:none}}
