:root{color-scheme:dark;--color-text-main: 242 241 236;--color-bg-main: 22 23 23;--color-bg-muted: 32 33 34;--color-bg-elev: 28 29 30;--color-border-main: 242 241 236;--color-accent: 242 241 236;--color-accent-soft: 200 199 195;--color-accent-deep: 160 159 156;--font-sans: Inter, "Noto Sans SC", system-ui, ui-sans-serif, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono: "JetBrains Mono", "Fira Code", Consolas, ui-monospace, SFMono-Regular, Menlo, Monaco, "Liberation Mono", "Courier New", monospace}*{box-sizing:border-box}html,body{margin:0;padding:0;background:rgb(var(--color-bg-main));color:rgb(var(--color-text-main));font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body{background-image:radial-gradient(ellipse 80% 60% at 15% 0%,rgb(var(--color-accent) / .04),transparent 60%),radial-gradient(ellipse 60% 50% at 100% 30%,rgb(var(--color-accent) / .025),transparent 60%);background-attachment:fixed}a{color:inherit;text-decoration:none}code,pre,kbd,samp{font-family:var(--font-mono)}code{background:rgb(var(--color-bg-muted));padding:.18em .4em;border-radius:4px;font-size:.88em;border:1px solid rgb(var(--color-border-main) / .05)}pre{background:rgb(var(--color-bg-muted));padding:14px 16px;border-radius:8px;overflow-x:auto;font-size:.88em;line-height:1.6;border:1px solid rgb(var(--color-border-main) / .06)}pre code{background:transparent;padding:0;border-radius:0;border:0;font-size:1em}hr{border:0;border-top:1px solid rgb(var(--color-border-main) / .1);margin:2em 0}::selection{background:rgb(var(--color-accent) / .3);color:rgb(var(--color-text-main))}.page{max-width:1080px;margin:0 auto;padding:40px 32px 96px}@media(max-width:640px){.page{padding:28px 18px 64px}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:56px;font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.topbar a,.topbar .brand-static{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border:1px solid rgb(var(--color-border-main) / .1);border-radius:999px;opacity:.82;transition:border-color .18s ease,opacity .18s ease,color .18s ease,background .18s ease}.topbar a:hover{opacity:1;border-color:rgb(var(--color-accent) / .55);color:rgb(var(--color-accent));background:rgb(var(--color-accent) / .04)}.topbar .brand-logo{color:rgb(var(--color-text-main));opacity:.92;flex-shrink:0;display:block}.topbar .brand-name{font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:13px;letter-spacing:-.005em;color:rgb(var(--color-text-main))}.topbar .meta{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;opacity:.4;text-transform:uppercase}.hero{position:relative;margin-bottom:72px;padding-bottom:48px;border-bottom:1px dashed rgb(var(--color-border-main) / .08)}.hero .eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.55;margin-bottom:28px}.hero .eyebrow:before{content:"";display:inline-block;width:28px;height:1px;background:rgb(var(--color-accent))}.hero h1{font-size:clamp(34px,5.6vw,56px);font-weight:600;line-height:1.08;letter-spacing:-.022em;margin:0 0 28px;max-width:16ch}.hero .accent{opacity:.65;font-weight:400}.hero .lede{font-size:16.5px;line-height:1.78;opacity:.82;max-width:640px;margin:0 0 14px}.hero-stats{display:inline-flex;align-items:stretch;margin-top:36px;border:1px solid rgb(var(--color-border-main) / .1);border-radius:10px;overflow:hidden;background:rgb(var(--color-bg-muted) / .45);backdrop-filter:blur(4px)}.hero-stats>div{padding:14px 22px;border-right:1px solid rgb(var(--color-border-main) / .08)}.hero-stats>div:last-child{border-right:none}.hero-stats .num{font-family:var(--font-mono);font-size:22px;font-weight:500;line-height:1;color:rgb(var(--color-accent))}.hero-stats .label{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;opacity:.55;margin-top:6px}.track{margin-bottom:56px}.track-head{display:grid;grid-template-columns:minmax(0,220px) 1fr;gap:28px;align-items:baseline;margin-bottom:24px;padding-bottom:16px;border-bottom:1px dashed rgb(var(--color-border-main) / .1)}.track-head .label-col{display:flex;flex-direction:column;gap:4px}.track-head .id{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.45}.track-head .label{font-size:19px;font-weight:600;letter-spacing:-.005em}.track-head .label .accent{color:rgb(var(--color-accent));font-family:var(--font-mono);font-size:14px;margin-right:8px;opacity:.7;font-weight:400}.track-head .hint{font-size:13.5px;opacity:.62;line-height:1.55;margin:0}@media(max-width:720px){.track-head{grid-template-columns:1fr;gap:4px}}.module-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.module-card{position:relative;display:block;padding:22px 22px 24px;border:1px solid rgb(var(--color-border-main) / .1);border-radius:12px;background:rgb(var(--color-bg-elev) / .55);transition:border-color .22s ease,background .22s ease,transform .22s ease,box-shadow .22s ease;overflow:hidden}.module-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 110% -10%,rgb(var(--color-accent) / .12),transparent 50%);opacity:0;transition:opacity .28s ease;pointer-events:none}.module-card:hover{border-color:rgb(var(--color-accent) / .45);background:rgb(var(--color-bg-elev) / .95);transform:translateY(-2px);box-shadow:0 6px 24px #00000040}.module-card:hover:before{opacity:1}.module-card .top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.module-card .tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.16em;padding:3px 8px;border-radius:4px;background:rgb(var(--color-accent) / .12);color:rgb(var(--color-accent));text-transform:uppercase}.module-card .tag:before{content:"";display:inline-block;width:5px;height:5px;background:rgb(var(--color-accent));border-radius:50%;box-shadow:0 0 8px rgb(var(--color-accent) / .7)}.module-card .ord{font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;opacity:.35}.module-card .title{display:block;font-size:18px;font-weight:600;line-height:1.35;margin-bottom:8px;letter-spacing:-.005em}.module-card .desc{display:block;font-size:13.5px;line-height:1.65;opacity:.66}.module-card .arrow{position:absolute;bottom:18px;right:18px;font-family:var(--font-mono);font-size:14px;color:rgb(var(--color-accent));opacity:0;transform:translate(-4px);transition:opacity .22s ease,transform .22s ease}.module-card:hover .arrow{opacity:1;transform:translate(0)}.module-head{position:relative;padding-bottom:32px;margin-bottom:40px;border-bottom:1px solid rgb(var(--color-border-main) / .1)}.module-head .crumbs{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.55;margin-bottom:22px}.module-head .crumbs .sep{opacity:.35}.module-head .crumbs .track-name{color:rgb(var(--color-accent))}.module-head .crumbs .tag{font-size:10px;padding:2px 7px;border-radius:4px;background:rgb(var(--color-accent) / .12);color:rgb(var(--color-accent));letter-spacing:.16em}.module-head h1{font-size:clamp(28px,4.6vw,42px);font-weight:600;line-height:1.18;letter-spacing:-.015em;margin:0;max-width:22ch}.module-head .lede{margin:18px 0 0;font-size:16px;line-height:1.8;opacity:.85;max-width:720px}.section-chips{margin:0 0 64px;padding:18px 22px 22px;border:1px dashed rgb(var(--color-border-main) / .12);border-radius:12px;background:linear-gradient(135deg,rgb(var(--color-accent) / .04),transparent 45%),rgb(var(--color-bg-muted) / .4)}.section-chips .chips-label{display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;opacity:.5;margin-bottom:14px}.section-chips .chips-row{display:flex;flex-wrap:wrap;gap:8px}.section-chips a{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid rgb(var(--color-border-main) / .1);border-radius:999px;font-size:13px;background:rgb(var(--color-bg-elev) / .6);transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}.section-chips a:hover{border-color:rgb(var(--color-accent) / .5);background:rgb(var(--color-accent) / .08);color:rgb(var(--color-accent));transform:translateY(-1px)}.section-chips a .idx{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.04em;color:rgb(var(--color-accent));opacity:.75}.prose{max-width:920px;counter-reset:section}.prose>p{font-size:15px;line-height:1.8;opacity:.82;margin:0 0 14px}.prose>p:first-of-type{display:none}.prose h2{position:relative;counter-increment:section;font-size:22px;font-weight:600;letter-spacing:-.005em;margin:80px 0 28px;padding:28px 0 0 24px;border-top:1px solid rgb(var(--color-border-main) / .12);scroll-margin-top:24px}.prose h2:before{content:"§ " counter(section,decimal-leading-zero);display:block;position:absolute;left:24px;top:28px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:rgb(var(--color-accent));opacity:.85;margin-bottom:6px}.prose h2{padding-top:56px}.prose h2:after{content:"";position:absolute;left:0;top:28px;width:4px;height:calc(100% - 28px);background:linear-gradient(180deg,rgb(var(--color-accent)),rgb(var(--color-accent) / .05));border-radius:2px}.prose h2:first-child{margin-top:8px;border-top:none;padding-top:36px}.prose h2:first-child:before{top:8px}.prose h2:first-child:after{top:8px;height:calc(100% - 8px)}.prose h3{display:inline-flex;align-items:baseline;gap:8px;font-size:13px;font-weight:600;letter-spacing:.06em;opacity:.95;margin:32px 0 14px;padding:0 12px 6px;border-bottom:1px solid rgb(var(--color-accent) / .25);scroll-margin-top:24px;background:rgb(var(--color-accent) / .06);border-radius:4px 4px 0 0}.prose h3:before{content:"#";font-family:var(--font-mono);color:rgb(var(--color-accent));font-weight:400;opacity:.8}.prose ol{list-style:none;padding:0;margin:0 0 28px;counter-reset:q;display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:10px}.prose ol>li{position:relative;counter-increment:q;padding:14px 18px 14px 56px;border:1px solid rgb(var(--color-border-main) / .07);border-radius:8px;background:rgb(var(--color-bg-elev) / .4);font-size:14px;line-height:1.65;opacity:.92;margin:0;transition:border-color .15s ease,background .15s ease}.prose ol>li:hover{border-color:rgb(var(--color-accent) / .3);background:rgb(var(--color-bg-elev) / .75)}.prose ol>li::marker{content:none}.prose ol>li:before{content:counter(q,decimal-leading-zero);position:absolute;left:14px;top:14px;width:30px;font-family:var(--font-mono);font-size:12.5px;font-weight:500;letter-spacing:.04em;color:rgb(var(--color-accent));opacity:.85;padding-right:10px;border-right:1px solid rgb(var(--color-accent) / .18)}.prose ul{list-style:none;padding:0;margin:0 0 24px}.prose ul>li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.75;opacity:.86;margin:0 0 10px}.prose ul>li:before{content:"▸";position:absolute;left:4px;top:4px;color:rgb(var(--color-accent) / .6);font-size:.72em}.prose li>p{margin:4px 0 6px;font-size:inherit;opacity:1}.prose li>p:first-child{margin-top:0}.prose ul:has(>li>p:first-child){display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;list-style:none;padding:0;margin:0 0 24px}.prose ul:has(>li>p:first-child)>li{position:relative;padding:16px 18px;border:1px solid rgb(var(--color-border-main) / .08);border-radius:8px;background:rgb(var(--color-bg-elev) / .45);transition:border-color .18s ease,background .18s ease,transform .18s ease;opacity:1;margin:0}.prose ul:has(>li>p:first-child)>li:before{content:none}.prose ul:has(>li>p:first-child)>li:hover{border-color:rgb(var(--color-accent) / .4);background:rgb(var(--color-bg-elev) / .85);transform:translateY(-1px)}.prose ul:has(>li>p:first-child)>li>p:first-child{margin:0 0 6px;font-size:14.5px;font-weight:600;line-height:1.4;opacity:1}.prose ul:has(>li>p:first-child)>li>p:first-child a{color:rgb(var(--color-text-main));text-decoration:none;border:none;display:inline-flex;align-items:baseline;gap:6px}.prose ul:has(>li>p:first-child)>li>p:first-child a:after{content:"↗";font-family:var(--font-mono);font-size:.78em;color:rgb(var(--color-accent));opacity:.7;transition:transform .18s ease,opacity .18s ease}.prose ul:has(>li>p:first-child)>li:hover>p:first-child a:after{opacity:1;transform:translate(2px,-2px)}.prose ul:has(>li>p:first-child)>li>p:first-child a:hover{color:rgb(var(--color-accent))}.prose ul:has(>li>p:first-child)>li>p{font-size:13px;line-height:1.65;opacity:.7;margin:0 0 6px}.prose ul:has(>li>p:first-child)>li>p:last-child{margin-bottom:0}.prose p>a,.prose li>p>a:not(:first-child){text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:rgb(var(--color-accent) / .45);transition:text-decoration-color .15s ease,color .15s ease}.prose p>a:hover,.prose li>p>a:not(:first-child):hover{color:rgb(var(--color-accent));text-decoration-color:rgb(var(--color-accent))}.prose blockquote{border-left:2px solid rgb(var(--color-accent) / .5);margin:16px 0;padding:4px 18px;opacity:.82;background:rgb(var(--color-border-main) / .02);border-radius:0 4px 4px 0}.related{margin-top:80px;padding-top:36px;border-top:1px dashed rgb(var(--color-border-main) / .1)}.related-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}.related-head .label{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;opacity:.55}.related-head .label .accent{color:rgb(var(--color-accent))}.related-head .back{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;opacity:.6;border-bottom:1px dashed transparent;transition:color .15s ease,border-color .15s ease}.related-head .back:hover{color:rgb(var(--color-accent));border-bottom-color:rgb(var(--color-accent))}.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.site-foot{margin-top:96px;padding-top:24px;border-top:1px dashed rgb(var(--color-border-main) / .08);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;opacity:.42;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}.site-foot a{border-bottom:1px dashed transparent;transition:color .15s ease,border-color .15s ease}.site-foot a:hover{color:rgb(var(--color-accent));border-bottom-color:rgb(var(--color-accent))}
