@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/3d51db290a6a25f3-s.19qyygf-kmpcq.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/f7054824cbb51795-s.128w4kk8i02cq.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:75% 100%;font-display:swap;src:url(../media/74effe3e2193102a-s.p.1jake7ccbq8_p.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque Fallback;src:local(Arial);ascent-override:88.21%;descent-override:25.61%;line-gap-override:0.0%;size-adjust:105.43%}.bricolage_grotesque_a2341700-module__ElniRW__className{font-family:Bricolage Grotesque,Bricolage Grotesque Fallback;font-style:normal}.bricolage_grotesque_a2341700-module__ElniRW__variable{--f-display:"Bricolage Grotesque", "Bricolage Grotesque Fallback"}
@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/91bd2e40df15814e-s.19s5evoqhirey.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/a63431c4ac64ea8b-s.386o_ri1vb0yv.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8b4ed0a90d903ab5-s.44dak0sams9f0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/c47649aa31f9e140-s.p.3lxpqujs87tck.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk Fallback;src:local(Arial);ascent-override:99.07%;descent-override:30.02%;line-gap-override:0.0%;size-adjust:100.94%}.hanken_grotesk_b9042b77-module__S6WZwW__className{font-family:Hanken Grotesk,Hanken Grotesk Fallback;font-style:normal}.hanken_grotesk_b9042b77-module__S6WZwW__variable{--f-text:"Hanken Grotesk", "Hanken Grotesk Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_9e3e0cb4-module__uPctLW__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_9e3e0cb4-module__uPctLW__variable{--f-mono:"Geist Mono", "Geist Mono Fallback"}
:root{--font-display:var(--f-display), "Hanken Grotesk", system-ui, sans-serif;--font-text:var(--f-text), system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--f-mono), ui-monospace, Menlo, monospace;--indigo:#1e2250;--indigo-hover:#2a2f66;--violet:#3a3f86;--orange:#f4863f;--ember:#e26a22;--star:#ffde59;--sand:#f3f1ee;--canvas:#f3f1ee;--panel:#fbfaf8;--raised:#fff;--hover:#ece9e4;--selected:#e5e1da;--line:#1e225017;--line-2:#1e225024;--line-3:#1e225038;--text-1:#1a1c3d;--text-2:#55576e;--text-3:#85869a;--icon:#8e877c;--orange-text:#a8480c;--orange-50:#fef1e7;--orange-100:#fcddc5;--indigo-50:#ecedf5;--violet-50:#edeef8;--star-50:#fff8d6;--ok:#2f7d52;--ok-bg:#e3f1e8;--warn:#946200;--warn-bg:#fff4cc;--bad:#c2343f;--bad-bg:#fbe6e6;--info:#3a3f86;--info-bg:#edeef8;--btn-primary-bg:var(--indigo);--btn-primary-fg:#f3f1ee;--sh-xs:0 1px 0 #1e22500a;--sh-card:0 0 0 1px #1e22500f, 0 1px 2px #1e22500d;--sh-pop:0 0 0 1px #1e225014, 0 4px 8px -2px #1e225014, 0 12px 24px -6px #1e22501f;--sh-modal:0 0 0 1px #1e225014, 0 24px 48px -12px #1e225040;--focus:0 0 0 2px var(--panel), 0 0 0 4px #f4863f8c;--ease:cubic-bezier(.23,1,.32,1);--r-xs:4px;--r-sm:6px;--r:8px;--r-md:12px;--r-lg:16px;--r-pill:999px;--side:240px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--canvas:#12142b;--panel:#181a35;--raised:#1f2140;--hover:#262948;--selected:#2e3154;--line:#ffffff12;--line-2:#ffffff1c;--line-3:#ffffff2e;--text-1:#f1efea;--text-2:#b4b3c7;--text-3:#7e7f99;--icon:#8d8ca6;--orange-text:#f7a26b;--orange-50:#f4863f1f;--orange-100:#f4863f38;--indigo-50:#ffffff0d;--violet-50:#8b8cd624;--star-50:#ffde591f;--ok:#6fcf97;--ok-bg:#6fcf971f;--warn:#e8c25a;--warn-bg:#e8c25a1f;--bad:#f08a92;--bad-bg:#f08a921f;--info:#a9ace8;--info-bg:#a9ace81f;--btn-primary-bg:#f3f1ee;--btn-primary-fg:#1e2250;--sh-xs:none;--sh-card:inset 0 1px 0 #ffffff0a, 0 0 0 1px #ffffff0f;--sh-pop:0 0 0 1px #ffffff14, 0 16px 32px -8px #00000080;--sh-modal:0 0 0 1px #ffffff14, 0 24px 48px -12px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--canvas);color:var(--text-1);font-family:var(--font-text);letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:22px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}::selection{background:var(--star);color:var(--indigo)}:focus-visible{box-shadow:var(--focus);border-radius:var(--r);outline:none}img{max-width:100%;display:block}.display{font-family:var(--font-display);letter-spacing:-.025em;font-variation-settings:"opsz" 48;font-size:36px;font-weight:650;line-height:40px}h1,.h1{font-family:var(--font-display);letter-spacing:-.02em;font-variation-settings:"opsz" 32;margin:0;font-size:28px;font-weight:600;line-height:34px}h2,.h2{font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-size:20px;font-weight:600;line-height:26px}h3,.h3{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600;line-height:22px}p{margin:0}.lead{color:var(--text-2);font-size:16px;line-height:26px}.t2{color:var(--text-2)}.t3{color:var(--text-3)}.small{font-size:13px;line-height:18px}.cap{letter-spacing:.01em;font-size:12px;font-weight:500;line-height:16px}.over{letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);font-size:11px;font-weight:600;line-height:14px}.mono{font-family:var(--font-mono);letter-spacing:0;font-size:12px}.num{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-weight:600}.strong{font-weight:600}.otext{color:var(--orange-text)}.prose{color:var(--text-1);max-width:68ch;font-size:16px;line-height:27px}.prose p+p{margin-top:14px}.prose ol,.prose ul{margin:12px 0;padding-left:22px}.prose li{margin:6px 0}.mark{background:linear-gradient(transparent 58%, var(--star) 58%);padding:0 2px}.app{grid-template-columns:var(--side) minmax(0,1fr);min-height:100vh;display:grid}.side{flex-direction:column;grid-column:1;height:100vh;padding:12px 10px 12px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.frame{grid-column:2;min-width:0;padding:8px 8px 8px 0}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);min-height:calc(100vh - 16px);box-shadow:var(--sh-xs);flex-direction:column;display:flex}.brandrow{height:40px;font-family:var(--font-display);letter-spacing:.14em;align-items:center;gap:10px;margin-bottom:8px;padding:0 8px;font-size:14px;font-weight:700;display:flex}.searchpill{border-radius:var(--r);background:var(--raised);height:32px;box-shadow:var(--sh-card);color:var(--text-3);cursor:pointer;align-items:center;gap:8px;margin:0 0 10px;padding:0 10px;font-size:13px;display:flex}.searchpill kbd{font-family:var(--font-mono);color:var(--text-3);border:1px solid var(--line-2);border-radius:var(--r-xs);background:var(--panel);margin-left:auto;padding:0 4px;font-size:11px}.navgroup{color:var(--text-3);padding:18px 8px 6px;font-size:12px;font-weight:500}.nav{border-radius:var(--r);height:32px;color:var(--text-2);transition:background .12s var(--ease),color .12s;align-items:center;gap:9px;padding:0 8px;font-size:14px;font-weight:550;display:flex}.nav svg{width:16px;height:16px;color:var(--icon);flex:none;transition:color .12s}.nav:hover{background:var(--hover);color:var(--text-1)}.nav.on{background:var(--selected);color:var(--text-1)}.nav.on svg{color:var(--orange)}.nav .end{align-items:center;gap:6px;margin-left:auto;display:flex}.nav .count{font-family:var(--font-mono);color:var(--text-3);font-size:11px}.nav.locked{color:var(--text-3)}.nav.locked .end svg{width:13px;height:13px;color:var(--text-3)}.sidefoot{flex-direction:column;gap:8px;margin-top:auto;padding-top:10px;display:flex}.mecard{border-radius:var(--r);align-items:center;gap:10px;padding:8px;transition:background .12s;display:flex}.mecard:hover{background:var(--hover)}.mecard .who{flex:1;min-width:0}.mecard .who .n{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.mecard .who .r{color:var(--text-3);font-size:12px}.topbar{border-bottom:1px solid var(--line);align-items:center;gap:10px;height:52px;padding:0 20px;display:flex}.crumb{color:var(--text-3);align-items:center;gap:6px;font-size:13px;display:flex}.crumb b{color:var(--text-1);font-weight:550}.content{width:100%;margin:0 auto;padding:32px 32px 80px}.w-dash{max-width:1120px}.w-feed{max-width:760px}.w-read{max-width:720px}.w-form{max-width:640px}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.pagehead .sub{color:var(--text-2);margin-top:4px}.section{margin-top:40px}.sechead{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.sechead a{color:var(--text-2);font-size:13px;font-weight:550}.sechead a:hover{color:var(--text-1)}.btn{border-radius:var(--r);cursor:pointer;white-space:nowrap;height:32px;transition:background .12s var(--ease),box-shadow .12s,transform .1s var(--ease),color .12s;border:0;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:14px;font-weight:550;line-height:1;display:inline-flex}.btn:active{transform:scale(.97)}.btn svg{width:16px;height:16px}.btn-lg{height:40px;padding:0 16px;font-size:15px}.btn-sm{height:28px;padding:0 10px;font-size:13px}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);box-shadow:inset 0 1px #ffffff29}.btn-primary:hover{filter:brightness(1.12)}.btn-accent{background:var(--orange);color:var(--indigo);font-weight:650;box-shadow:inset 0 1px #ffffff38}.btn-accent:hover{background:#f69a5c}.btn-secondary{background:var(--raised);color:var(--text-1);box-shadow:var(--sh-card)}.btn-secondary:hover{box-shadow:0 0 0 1px var(--line-3),0 1px 2px #1e22500f}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover{background:var(--hover);color:var(--text-1)}.btn-danger{color:var(--bad);background:0 0}.btn-danger:hover{background:var(--bad-bg)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn-block{width:100%}.iconbtn{border-radius:var(--r);width:32px;height:32px;color:var(--text-2);cursor:pointer;background:0 0;border:0;place-items:center;transition:background .12s;display:inline-grid}.iconbtn:hover{background:var(--hover);color:var(--text-1)}.iconbtn svg{width:17px;height:17px}.field{flex-direction:column;gap:6px;display:flex}.label{color:var(--text-1);font-size:13px;font-weight:550}.help{color:var(--text-3);font-size:12px}.input,.select,.textarea{border-radius:var(--r);background:var(--raised);border:1px solid var(--line-2);width:100%;height:36px;color:var(--text-1);font:inherit;padding:0 12px;font-size:14px;transition:border-color .12s,box-shadow .12s}.textarea{resize:vertical;height:auto;min-height:96px;padding:10px 12px;line-height:22px}.input::placeholder,.textarea::placeholder{color:var(--text-3)}.input:hover,.select:hover,.textarea:hover{border-color:var(--line-3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--violet);outline:none;box-shadow:0 0 0 3px #3a3f862e}.row2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.formstack{flex-direction:column;gap:16px;display:flex}.card{background:var(--raised);border-radius:var(--r-md);box-shadow:var(--sh-card);padding:20px}.card.pad-0{padding:0}.card.tight{padding:16px}a.card,.card.click{transition:box-shadow .15s var(--ease),transform .15s var(--ease);cursor:pointer;display:block}a.card:hover,.card.click:hover{box-shadow:0 0 0 1px var(--line-3),0 2px 6px #1e22500f;transform:translateY(-1px)}.inset{background:var(--canvas);border-radius:var(--r);padding:14px}.hr{background:var(--line);border:0;height:1px;margin:0}.grid{gap:16px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:24px;display:grid}.stack{flex-direction:column;gap:16px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.flex{align-items:center;gap:10px;display:flex}.between{justify-content:space-between;align-items:center;gap:12px;display:flex}.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}.right{margin-left:auto}.list{flex-direction:column;display:flex}.lrow{border-radius:var(--r);align-items:center;gap:12px;min-height:44px;padding:8px 10px;transition:background .12s;display:flex}.lrow:hover{background:var(--hover)}.lrow+.lrow{border-top:1px solid var(--line)}.lrow:hover+.lrow,.lrow:hover{border-top-color:#0000}.lrow .meta{color:var(--text-3);white-space:nowrap;margin-left:auto;font-size:13px}.dot{white-space:nowrap;align-items:center;gap:7px;font-size:13px;font-weight:550;display:inline-flex}.dot:before{content:"";background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}.s-moving{color:var(--ok)}.s-new{color:var(--info)}.s-stuck{color:var(--bad)}.s-slipping{color:var(--warn)}.s-quiet{color:var(--text-3)}.chip{border-radius:var(--r-sm);background:var(--hover);height:24px;color:var(--text-2);white-space:nowrap;align-items:center;gap:6px;padding:0 9px;font-size:12px;font-weight:550;display:inline-flex}.chip svg{width:13px;height:13px}.chip.violet{background:var(--violet-50);color:var(--info)}.chip.orange{background:var(--orange-50);color:var(--orange-text)}.chip.star{background:var(--star);color:var(--indigo)}.chip.ok{background:var(--ok-bg);color:var(--ok)}.chip.warn{background:var(--warn-bg);color:var(--warn)}.chip.bad{background:var(--bad-bg);color:var(--bad)}.chip.lock{box-shadow:inset 0 0 0 1px var(--line-2);color:var(--text-3);background:0 0}button.chip{cursor:pointer;border:0}button.chip.on,.chip.on{background:var(--indigo);color:#f3f1ee}:root[data-theme=dark] .chip.on{color:var(--indigo);background:#f3f1ee}.av{letter-spacing:0;color:var(--indigo);border-radius:50%;flex:none;place-items:center;font-weight:600;display:inline-grid;position:relative}.av.t0{background:#fcddc5}.av.t1{background:#dde0f5}.av.t2{background:#fff0b3}.av.t3{background:#d6ebdd}.av.t4{background:#f3d9e6}.av.t5{background:#e3dccf}.avs{display:flex}.avs .av{box-shadow:0 0 0 2px var(--raised)}.avs .av+.av{margin-left:-6px}.av .online{background:var(--ok);width:9px;height:9px;box-shadow:0 0 0 2px var(--raised);border-radius:50%;position:absolute;bottom:-1px;right:-1px}.bar{border-radius:var(--r-pill);background:var(--selected);height:6px;overflow:hidden}.bar>i{border-radius:inherit;background:var(--orange);height:100%;transition:width .6s var(--ease);display:block}.segs{gap:2px;display:flex}.segs>i{background:var(--selected);border-radius:2px;flex:1;height:6px}.segs>i.on{background:var(--orange)}.next,.card.next{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:24px 28px;display:grid}.next .k{color:var(--orange-text);align-items:center;gap:8px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.stats{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat{padding:16px 20px}.stat+.stat{border-left:1px solid var(--line)}.stat .l{color:var(--text-3);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.stat .l svg{width:13px;height:13px}.stat .v{margin-top:4px;font-size:24px;line-height:30px}.stat .d{color:var(--text-3);margin-top:2px;font-size:12px;line-height:16px}.constellation{align-items:flex-start;padding-top:4px;display:flex;position:relative}.cnode{flex-direction:column;flex:1;align-items:flex-start;gap:8px;min-width:0;padding-right:8px;display:flex;position:relative}.cnode:after{content:"";border-top:1px dashed var(--line-3);position:absolute;top:11px;left:24px;right:0}.cnode:last-child:after{display:none}.cnode.done:after{border-top:1px solid var(--orange)}.cstar{z-index:1;background:var(--raised);place-items:center;width:24px;height:24px;display:grid;position:relative}.cstar svg{width:20px;height:20px}.cnode .ct{font-size:13px;font-weight:600;line-height:18px}.cnode .cs{color:var(--text-3);font-size:12px;line-height:16px}.cnode.locked .ct{color:var(--text-3)}.lockcard{position:relative;overflow:hidden}.lockcard .ghost{filter:blur(3px);opacity:.55;pointer-events:none;-webkit-user-select:none;user-select:none}.lockcard .veil{background:linear-gradient(180deg,transparent, color-mix(in srgb,var(--raised) 70%, transparent) 40%, var(--raised) 75%);place-items:center;display:grid;position:absolute;inset:0}.lockcard .veil .in{text-align:center;max-width:340px;padding:20px}.lockicon{background:var(--indigo);color:#f3f1ee;border-radius:50%;place-items:center;width:40px;height:40px;margin:0 auto 12px;display:grid}.lockicon svg{width:18px;height:18px}.seg{border-radius:var(--r);background:var(--hover);gap:2px;padding:3px;display:inline-flex}.seg a,.seg button{border-radius:var(--r-sm);height:28px;color:var(--text-2);cursor:pointer;background:0 0;border:0;align-items:center;padding:0 12px;font-size:13px;font-weight:550;display:inline-flex}.seg .on{background:var(--raised);color:var(--text-1);box-shadow:var(--sh-card)}.tabs{border-bottom:1px solid var(--line);gap:20px;margin-bottom:20px;display:flex}.tabs a,.tabs button{height:40px;color:var(--text-2);cursor:pointer;background:0 0;border:0;align-items:center;padding:0;font-size:14px;font-weight:550;display:inline-flex;position:relative}.tabs .on{color:var(--text-1)}.tabs .on:after{content:"";background:var(--indigo);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}:root[data-theme=dark] .tabs .on:after{background:var(--orange)}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--text-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:0 12px 10px;font-size:12px;font-weight:500}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:11px 12px}.table tr:last-child td{border-bottom:0}.table td.n{text-align:right;font-variant-numeric:tabular-nums}.table tbody tr{transition:background .12s}.table tbody tr:hover{background:var(--hover)}.tablewrap{overflow-x:auto}.post{padding:20px}.post+.post{border-top:1px solid var(--line)}.post .ttl{margin:10px 0 4px;font-size:16px;font-weight:600;line-height:24px}.post .body{color:var(--text-2);white-space:pre-wrap;font-size:15px;line-height:24px}.postacts{align-items:center;gap:4px;margin-top:12px;margin-left:-8px;display:flex}.postacts button{border-radius:var(--r);height:30px;color:var(--text-3);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 8px;font-size:13px;font-weight:550;display:inline-flex}.postacts button:hover{background:var(--hover);color:var(--text-1)}.postacts button.liked{color:var(--orange-text)}.postacts svg{width:16px;height:16px}.chat{grid-template-columns:300px minmax(0,1fr);height:calc(100vh - 270px);min-height:460px;display:grid}.chat .list-col{border-right:1px solid var(--line);overflow-y:auto}.chat .thread{flex-direction:column;min-width:0;display:flex}.bubble{border-radius:14px;max-width:72%;padding:9px 13px;font-size:14px;line-height:21px}.bubble.me{background:var(--indigo);color:#f3f1ee;border-bottom-right-radius:4px;align-self:flex-end}:root[data-theme=dark] .bubble.me{background:var(--violet)}.bubble.them{background:var(--canvas);border-bottom-left-radius:4px;align-self:flex-start}.empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;display:flex}.empty svg.art{width:80px;height:60px;color:var(--line-3);margin-bottom:6px}.empty .h3{font-size:16px}.note{border-radius:var(--r);align-items:flex-start;gap:10px;padding:12px 14px;font-size:13px;line-height:20px;display:flex}.note svg{flex:none;width:16px;height:16px;margin-top:2px}.note.ok{background:var(--ok-bg);color:var(--ok)}.note.warn{background:var(--warn-bg);color:var(--warn)}.note.info{background:var(--info-bg);color:var(--info)}.note.bad{background:var(--bad-bg);color:var(--bad)}.kbd{font-family:var(--font-mono);border:1px solid var(--line-2);border-radius:var(--r-xs);color:var(--text-3);padding:0 4px;font-size:11px}.check{align-items:center;gap:12px;padding:10px 0;display:flex}.check+.check{border-top:1px solid var(--line)}.tick{width:20px;height:20px;box-shadow:inset 0 0 0 1.5px var(--line-3);color:#0000;border-radius:50%;flex:none;place-items:center;display:grid}.tick.on{background:var(--orange);box-shadow:none;color:var(--indigo)}.tick svg{width:12px;height:12px}.pricebox{align-items:baseline;gap:8px;display:flex}.copyrow{border-radius:var(--r);background:var(--canvas);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.timeline{flex-direction:column;gap:0;display:flex}.tl{gap:12px;padding-bottom:14px;display:flex;position:relative}.tl:before{content:"";background:var(--line-2);width:1px;position:absolute;top:22px;bottom:0;left:9px}.tl:last-child:before{display:none}.drawer-scrim{z-index:60;animation:fade .15s var(--ease);background:#12142b66;position:fixed;inset:0}.drawer{background:var(--panel);border-radius:var(--r-lg);width:min(520px,100vw - 16px);box-shadow:var(--sh-modal);z-index:61;animation:slidein .22s var(--ease);position:fixed;top:8px;bottom:8px;right:8px;overflow-y:auto}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slidein{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(0)rotate(0)}60%{transform:scale(1.15)rotate(30deg)}to{transform:scale(1)rotate(45deg)}}.pop{animation:pop .38s var(--ease)}.authwrap{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.authart{background:var(--indigo);color:#f3f1ee;flex-direction:column;justify-content:space-between;padding:48px;display:flex;position:relative;overflow:hidden}.authform{background:var(--panel);place-items:center;padding:32px;display:grid}.authform .box{width:100%;max-width:380px}.mtop,.bottomnav{display:none}@media (max-width:1100px){.split{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}}@media (max-width:860px){.app{grid-template-columns:1fr}.side{z-index:70;background:var(--canvas);width:280px;transition:transform .22s var(--ease);box-shadow:var(--sh-modal);position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.side.open{transform:none}.frame{grid-column:1;padding:0}.panel{border:0;border-radius:0;min-height:100vh}.topbar{display:none}.mtop{border-bottom:1px solid var(--line);background:var(--panel);z-index:20;align-items:center;gap:10px;height:52px;padding:0 12px;display:flex;position:sticky;top:0}.content{padding:20px 16px 96px}.g2,.g3,.g4,.row2{grid-template-columns:1fr}.chat{grid-template-columns:1fr;height:auto}.chat .list-col{border-right:0;border-bottom:1px solid var(--line);max-height:240px}.authwrap{grid-template-columns:1fr}.authart{display:none}.bottomnav{height:64px;padding-bottom:env(safe-area-inset-bottom);background:var(--panel);border-top:1px solid var(--line);z-index:50;grid-template-columns:repeat(5,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottomnav a{color:var(--text-3);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:550;display:flex}.bottomnav a svg{width:20px;height:20px}.bottomnav a.on{color:var(--text-1)}.bottomnav a.on svg{color:var(--orange)}h1,.h1{font-size:24px;line-height:30px}body{font-size:15px;line-height:24px}.next,.card.next{grid-template-columns:1fr;padding:20px}.stat{padding:14px 16px}.constellation{padding-bottom:6px;overflow-x:auto}.cnode{min-width:110px}}@media (prefers-reduced-motion:reduce){*{transition:opacity .1s!important;animation:none!important}}.coursecard{grid-template-columns:240px minmax(0,1fr) auto;align-items:center;gap:22px;padding:14px 20px 14px 14px;display:grid}.coverimg{border-radius:var(--r);aspect-ratio:16/9;background:var(--selected);position:relative;overflow:hidden}.coverimg img{object-fit:cover;width:100%;height:100%;display:block}.coverimg .lockv{color:#f3f1ee;background:#12142b73;place-items:center;display:grid;position:absolute;inset:0}.coverhero{border-radius:var(--r-md);min-height:220px;box-shadow:var(--sh-card);align-items:flex-end;margin-bottom:24px;display:flex;position:relative;overflow:hidden}.coverhero img{object-fit:cover;object-position:right center;width:100%;height:100%;position:absolute;inset:0}.coverhero .scrim{background:linear-gradient(90deg,#12142bf0 0%,#12142bc7 40%,#12142b1a 75%);position:absolute;inset:0}.coverhero.light .scrim{background:linear-gradient(90deg,#f3f1eef7 0%,#f3f1eed9 42%,#f3f1ee1a 78%)}.coverhero .in{color:#f3f1ee;max-width:620px;padding:28px 32px;position:relative}.coverhero.light .in{color:var(--indigo)}.coverhero .in h1{color:inherit}@media (max-width:860px){.coursecard{grid-template-columns:1fr;gap:14px;padding:12px}.coursecard>svg{display:none}.coverhero{min-height:260px}.coverhero img{object-position:72% center}.coverhero .scrim{background:linear-gradient(#12142b26 0%,#12142beb 62%)}.coverhero.light .scrim{background:linear-gradient(#f3f1ee1a 0%,#f3f1eef5 60%)}.coverhero .in{padding:20px}}.heroimg{object-fit:cover;object-position:right center;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.heroscrim{pointer-events:none;background:linear-gradient(90deg,#1e2250f7 0%,#1e2250e0 45%,#1e225059 75%,#1e225026 100%);position:absolute;inset:0}.heroscrim.auth{background:linear-gradient(#1e2250e6 0%,#1e225059 35%,#1e22508c 60%,#1e2250f5 100%)}@media (max-width:860px){.herophoto .heroimg{object-position:75% top;height:62%;top:0;bottom:auto}.herophoto .heroscrim{background:linear-gradient(#1e225040 0%,#1e2250d9 40%,#1e2250 62%)}.herophoto{padding-top:180px!important}}.mediarow{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr) 80px auto;align-items:center;gap:10px;padding:12px 16px;display:grid}.mediarow .mediat{align-items:center;gap:10px;min-width:0;display:flex}.mediarow .note{grid-column:1/-1}@media (max-width:860px){.mediarow{grid-template-columns:1fr 80px}.mediarow .mediat,.mediarow .btn{grid-column:1/-1}}.tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a,.tabs button{white-space:nowrap;flex-shrink:0}.crumb{white-space:nowrap;min-width:0}.crumb>*{flex-shrink:0}.crumb>a,.crumb>b{text-overflow:ellipsis;flex-shrink:1;min-width:0;overflow:hidden}.crumb>svg{flex-shrink:0}@media (max-width:860px){.content .crumb>b,.content .crumb>svg:last-of-type{display:none}.bellpop{max-height:calc(100dvh - 140px);width:auto!important;position:fixed!important;top:60px!important;left:12px!important;right:12px!important;overflow-y:auto!important}}.coverimg.plain{background:radial-gradient(120% 120% at 100% 0%,#f4863f59,transparent 55%),var(--indigo);color:#f3f1ee;justify-content:space-between;align-items:flex-end;padding:14px 16px;display:flex}.coverimg.plain.light{color:var(--indigo);background:radial-gradient(120% 120% at 100% 0,#f4863f47,#0000 55%),#ede7df}.coverimg.plain .covername{font-family:var(--font-display);letter-spacing:-.02em;font-size:22px;font-weight:700;line-height:1}.coverimg.plain>svg{align-self:flex-start}.coverhero.plain{background:radial-gradient(90% 140% at 100% 0%,#f4863f47,transparent 60%),var(--indigo);color:#f3f1ee;min-height:200px}.coverhero.plain.light{color:var(--indigo);background:radial-gradient(90% 140% at 100% 0,#f4863f38,#0000 60%),#ede7df}.coverhero .coverart{color:#f3f1ee;pointer-events:none;width:420px;max-width:80%;position:absolute;top:-10px;right:-20px}.coverhero.light .coverart{color:var(--indigo)}@media (max-width:860px){.coverhero.plain{min-height:0}.coverhero.plain .in{padding-top:72px}.coverimg.plain{aspect-ratio:auto;height:96px}.coursecard{gap:16px!important}}.switch{background:var(--line-3);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;width:44px;height:26px;transition:background .15s;position:relative}.switch i{width:20px;height:20px;transition:transform .15s var(--ease);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch.on{background:var(--orange)}.switch.on i{transform:translate(18px)}.switch:focus-visible{outline:2px solid var(--violet);outline-offset:2px}.ce-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.ce-stats .card{padding:14px 16px}.ce-n{color:var(--text-1);font-size:26px;font-weight:700;line-height:32px}.ce-plan{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.ce-plan>div:last-child{grid-column:1/-1}.ce-pick{cursor:pointer;gap:6px}.ce-pick input{accent-color:var(--indigo)}.ce-pillar{grid-template-columns:minmax(0,1fr) 130px 36px;align-items:center;gap:8px;display:grid}.ce-two{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.ce-chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.ce-chips::-webkit-scrollbar{display:none}.ce-chips .chip{cursor:pointer;white-space:nowrap;border:0}.ce-editor{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:16px;display:grid}.ce-sticky{position:sticky;top:76px}.ce-row3{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.ce-preview{background:var(--raised);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-card);overflow:hidden}.ce-ph{align-items:center;gap:10px;padding:12px 14px;display:flex}.ce-av{background:var(--indigo);color:#f3f1ee;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:grid}.ce-media{aspect-ratio:4/5;background:linear-gradient(135deg,var(--indigo-50),var(--orange-50));color:var(--text-3);place-items:center;font-size:13px;display:grid}.ce-text{flex-direction:column;gap:8px;max-height:360px;padding:12px 14px;font-size:14px;line-height:21px;display:flex;overflow:auto}.ce-acts{border-top:1px solid var(--line);gap:14px;padding:10px 14px;display:flex}.ce-clip{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ce-cal-head,.ce-cal-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.ce-cal-head div{color:var(--text-3);border-bottom:1px solid var(--line);padding:8px 10px;font-size:12px;font-weight:600}.ce-cal-day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:4px;min-width:0;min-height:96px;padding:6px 6px 8px;display:flex}.ce-cal-week .ce-cal-day:last-child{border-right:0}.ce-cal-week:last-child .ce-cal-day{border-bottom:0}.ce-cal-day.blank{background:var(--hover)}.ce-cal-day.today{background:var(--indigo-50)}.ce-cal-item{border-radius:var(--r-xs);background:var(--orange-50);color:var(--text-1);align-items:center;gap:4px;min-width:0;padding:3px 6px;font-size:12px;line-height:16px;display:flex}.ce-cal-item.done{background:var(--ok-bg);color:var(--text-2);text-decoration:line-through}.ce-tick{color:var(--text-2);cursor:pointer;background:0 0;border:0;flex:none;padding:0;display:inline-flex}.ce-cal-list{flex-direction:column;gap:10px;display:none}.ce-cal-list .ce-cal-item{margin-top:4px}.ce-bar{border-radius:var(--r-pill);background:var(--hover);height:8px;margin-top:6px;position:relative;overflow:hidden}.ce-bar span,.ce-bar b{border-radius:var(--r-pill);position:absolute;top:0;bottom:0;left:0}.ce-bar span{background:var(--violet-50)}.ce-bar b{background:var(--indigo)}@media (max-width:900px){.ce-editor,.ce-two,.ce-plan{grid-template-columns:minmax(0,1fr)}.ce-sticky{position:static}}@media (max-width:640px){.ce-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.ce-row3{grid-template-columns:minmax(0,1fr)}.ce-pillar{grid-template-columns:minmax(0,1fr) 108px 36px}.ce-cal-grid{display:none}.ce-cal-list{display:flex}.ce-sched{flex-wrap:wrap}}.levelgrid{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:1280px){.levelgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.levelgrid{grid-template-columns:minmax(0,1fr)}}
