@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/62492e45f348cf87-s.0nej_lxd5q~2o.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:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.0kr5766.tjsv_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/c73d4b34880585a8-s.0xzjw9gd~3oqw.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/f00b8cc54454926d-s.0r2x4jit4v-hc.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:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/741805f5bd1ef272-s.0bsrhmc7ksh9o.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.0ohrq615g_kqa.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:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/62492e45f348cf87-s.0nej_lxd5q~2o.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:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/8f9704ed0c18c9e0-s.0kr5766.tjsv_.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/c73d4b34880585a8-s.0xzjw9gd~3oqw.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/f00b8cc54454926d-s.0r2x4jit4v-hc.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:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/741805f5bd1ef272-s.0bsrhmc7ksh9o.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:500;font-display:swap;src:url(../media/ea3421846039b7f3-s.p.0ohrq615g_kqa.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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/20aee433927f7d4b-s.157oer57eo50s.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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/256e1f7f180674ba-s.0lzyohd.mq-zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/be3bf58b83159894-s.0k50~bcr4_n6n.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/753b6407f468151f-s.0ld551rg41h9m.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:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/292081311a6a8abc-s.0kzsaos0rt4.l.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0nhx~dwif.9~q.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:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/20aee433927f7d4b-s.157oer57eo50s.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:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/256e1f7f180674ba-s.0lzyohd.mq-zj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/be3bf58b83159894-s.0k50~bcr4_n6n.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/753b6407f468151f-s.0ld551rg41h9m.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:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/292081311a6a8abc-s.0kzsaos0rt4.l.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(../media/68d403cf9f2c68c5-s.p.0nhx~dwif.9~q.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:"Source Serif 4 Fallback";src:local(Times New Roman);ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.0%;size-adjust:117.91%}.source_serif_4_c23401ed-module__7A0muW__className{font-family:"Source Serif 4","Source Serif 4 Fallback"}.source_serif_4_c23401ed-module__7A0muW__variable{--font-source-serif:"Source Serif 4", "Source Serif 4 Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");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;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/04c5164763c40239-s.0h-nw9_c8d~-_.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/26f284dcc38c84c0-s.10hk62x1-0d9n.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7e7f32a39836f228-s.0bmyfaahigzds.woff2)format("woff2");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;font-style:normal;font-weight:500;font-display:swap;src:url(../media/fa39153a3fc630ba-s.0-0ft90hthv3~.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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6a5386fd6038edbe-s.16fk0g~ypa53a.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/051742360c26797e-s.p.0f97p8c3305p~.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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_18869831-module__tkkodG__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_18869831-module__tkkodG__variable{--font-jetbrains:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--serif:var(--font-source-serif), Georgia, serif;--mono:var(--font-jetbrains), ui-monospace, SFMono-Regular, Menlo, monospace;--bg:#0b0b0c;--bg-raised:#101012;--bg-card:#14130f;--ink:#e8e6df;--ink-dim:#8c8b83;--ink-faint:#5c594e;--rule:#e8e6df1f;--rule-soft:#e8e6df0f;--green:#6fe39a;--green-dim:#6fe39a66;--amber:#e89b3d;--amber-dim:#e89b3d66;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--bg);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.62}a{color:inherit;text-decoration:none}.page button{font:inherit;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}::selection{background:var(--ink);color:var(--bg)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.nav{z-index:50;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);background:#0b0b0ceb;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:baseline;gap:24px;max-width:1480px;margin:0 auto;padding:14px 40px;display:flex}.nav-brand{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-dim);flex-shrink:0;align-items:center;gap:8px;font-size:11px;display:inline-flex}.nav-brand .pulse-dot{background:var(--green);width:6px;height:6px;box-shadow:0 0 8px var(--green);border-radius:50%;animation:2.4s ease-in-out infinite pulse}.nav-brand .name{color:var(--ink)}.nav-brand .dot{color:var(--ink-faint)}.nav-links{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-dim);gap:24px;font-size:11px;display:flex}.nav-links a{cursor:pointer;border-bottom:1px solid #0000;padding-bottom:3px;transition:color .15s,border-color .15s}.nav-links a:hover{color:var(--ink)}.nav-links a.active{color:var(--ink);border-bottom-color:var(--green)}.nav-links a.active.amber{border-bottom-color:var(--amber)}.nav-clock{font-family:var(--mono);letter-spacing:.2em;color:var(--ink-faint);flex-shrink:0;font-size:10px}@media (max-width:900px){.nav-inner{flex-wrap:wrap;gap:8px;padding:10px 16px}.nav-links{border-top:1px solid var(--rule-soft);flex-wrap:wrap;gap:14px;width:100%;padding-top:4px;font-size:10px}.nav-clock{display:none}}@media (prefers-reduced-motion:reduce){.nav-brand .pulse-dot,.pulse,.now:before,.pill.live:before,.now-playing .k:before{animation:none!important}}.page{grid-template-columns:minmax(0,1fr) 340px;max-width:1480px;margin:0 auto;display:grid}.notebook{border-right:1px solid var(--rule);min-width:0}.rail{max-height:calc(100vh - 72px);font-family:var(--mono);align-self:start;padding:56px 32px 96px;position:sticky;top:72px;overflow-y:auto}.rail::-webkit-scrollbar{width:6px}.rail::-webkit-scrollbar-track{background:0 0}.rail::-webkit-scrollbar-thumb{background:var(--rule)}@media (max-width:1180px){.page{grid-template-columns:1fr}.notebook{border-right:none}.rail{border-top:1px solid var(--rule);max-height:none;padding:32px 24px 56px;position:static}}section.nb{border-bottom:1px solid var(--rule)}.row{grid-template-columns:160px minmax(0,1fr);gap:40px;padding:64px 48px;display:grid}.row.hero{padding-top:80px;padding-bottom:56px}.margin{font-family:var(--mono);letter-spacing:.16em;color:var(--ink);font-size:11px;line-height:1.7}.margin .label{color:var(--ink-faint);margin-bottom:4px;display:block}.margin .block{margin-bottom:22px}.margin .block:last-child{margin-bottom:0}.margin .block.dim{color:var(--ink-dim);letter-spacing:.1em;font-style:italic}@media (max-width:700px){.row{grid-template-columns:1fr;gap:18px;padding:40px 20px}.margin{flex-wrap:wrap;gap:16px;display:flex}.margin .block{flex:0 auto;margin-bottom:0}}h1,h2,h3{font-family:var(--serif);letter-spacing:-.01em;margin:0;font-weight:400}h1{letter-spacing:-.015em;text-wrap:pretty;font-size:52px;line-height:1.08}@media (max-width:700px){h1{font-size:32px}}h2{letter-spacing:-.01em;font-size:30px}.eyebrow{font-family:var(--mono);letter-spacing:.22em;color:var(--green);margin-bottom:16px;font-size:11px}.eyebrow.dim{color:var(--ink-dim)}.eyebrow.amber{color:var(--amber)}.accent-g{color:var(--green)}.accent-a{color:var(--amber)}.dim{color:var(--ink-dim)}.thesis-cols{grid-template-columns:1fr 1fr;gap:28px;margin-top:24px;display:grid}.thesis-cols p{max-width:520px;margin:0;font-size:16px;line-height:1.6}@media (max-width:800px){.thesis-cols{grid-template-columns:1fr;gap:16px}}.trace-card{border:1px solid var(--rule);background:var(--bg-raised);margin-top:28px;padding:22px 26px 12px}.trace-card svg{width:100%;height:auto;display:block}.trace-cap{font-family:var(--mono);color:var(--ink-dim);letter-spacing:.14em;margin-top:6px;font-size:10px}.lineage{grid-template-columns:repeat(4,1fr);gap:0;margin-top:4px;display:grid;position:relative}.lineage:before{content:"";background:var(--rule);height:1px;position:absolute;top:5px;left:0;right:0}.lineage-pin{cursor:pointer;text-align:left;background:0 0;border:none;width:100%;padding:0 18px 0 0;transition:opacity .2s;display:block}.lineage-pin .dot{background:var(--bg);border:1px solid var(--green);z-index:1;border-radius:50%;width:11px;height:11px;margin-bottom:16px;transition:transform .2s,background .2s;position:relative}.lineage-pin .dot:after{content:"";background:var(--green);border-radius:50%;width:5px;height:5px;margin:2px auto;display:block}.lineage-pin:hover .dot,.lineage-pin.active .dot{background:#6fe39a2e;transform:scale(1.4)}.lineage-pin .yr{font-family:var(--mono);color:var(--green);letter-spacing:.16em;margin-bottom:6px;font-size:11px}.lineage-pin .ttl{font-family:var(--serif);margin-bottom:8px;font-size:20px;font-style:italic}.lineage-pin .sum{color:var(--ink-dim);font-size:13.5px;line-height:1.55}.lineage-detail{opacity:0;border-top:1px solid var(--rule-soft);max-height:0;color:var(--ink);grid-column:1/-1;margin-top:20px;padding:0;font-size:14.5px;line-height:1.62;transition:max-height .3s,opacity .25s,padding .25s,margin .25s;overflow:hidden}.lineage-detail.open{opacity:1;max-height:360px;padding:18px 0 4px}.lineage-detail .label{font-family:var(--mono);letter-spacing:.18em;color:var(--green);margin-bottom:6px;font-size:10px;display:block}@media (max-width:800px){.lineage{grid-template-columns:1fr}.lineage:before{display:none}.lineage-pin{border-top:1px solid var(--rule-soft);padding:12px 0}}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:24px;display:flex}.sec-head .status{font-family:var(--mono);letter-spacing:.16em;align-items:center;gap:6px;font-size:11px;display:inline-flex}.sec-head .status.green{color:var(--green)}.sec-head .status.amber{color:var(--amber)}.sec-head .status .pulse{border-radius:50%;width:7px;height:7px;animation:2.2s ease-in-out infinite pulse}.sec-head .status.green .pulse{background:var(--green)}.sec-head .status.amber .pulse{background:var(--amber)}.exp-entry{border-top:1px solid var(--rule);grid-template-columns:130px 1fr;gap:28px;padding:28px 0;display:grid}.exp-entry .when{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-dim);font-size:11px;line-height:1.6}.exp-entry .when .now{color:var(--green);align-items:center;gap:6px;margin-top:8px;display:inline-flex}.exp-entry .when .now:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;animation:2.2s ease-in-out infinite pulse}.exp-entry h3{margin:0 0 4px;font-size:24px}.exp-entry h3 .org{font-style:italic}.exp-entry h3 .sep{color:var(--ink-dim)}.exp-entry .tenure{font-family:var(--mono);color:var(--ink-dim);letter-spacing:.14em;margin-bottom:14px;font-size:11px}.exp-entry p{max-width:640px;margin:0 0 12px;font-size:15.5px;line-height:1.62}.exp-meta{font-family:var(--mono);letter-spacing:.1em;flex-wrap:wrap;gap:24px;margin-top:4px;font-size:11px;display:flex}.exp-meta .k{color:var(--ink-faint);letter-spacing:.18em;margin-bottom:4px;font-size:10px}.exp-meta .v{color:var(--ink)}@media (max-width:700px){.exp-entry{grid-template-columns:1fr;gap:6px}.exp-entry h3{font-size:20px}}.bench-intro{color:var(--ink-dim);max-width:640px;margin:0 0 20px;font-size:14.5px}.project{border:1px solid var(--rule);background:var(--bg-card);margin-bottom:12px;transition:border-color .2s;overflow:hidden}.project:hover{border-color:var(--amber-dim)}.project.open{border-color:var(--amber);background:var(--bg-raised)}.project-head{grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;width:100%;padding:16px 20px;display:grid}.project .num{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-faint);font-size:11px}.project .ttl{flex-wrap:wrap;align-items:baseline;gap:14px;min-width:0;display:flex}.project .ttl .name{font-family:var(--serif);color:var(--ink);font-size:22px;font-style:italic;transition:color .2s}.project:hover .ttl .name{color:var(--amber)}.project .ttl .one-liner{font-family:var(--mono);color:var(--ink-dim);letter-spacing:.12em;font-size:11px}.project .right{align-items:center;gap:12px;display:flex}.pill{font-family:var(--mono);letter-spacing:.16em;border:1px solid var(--rule);color:var(--ink-dim);white-space:nowrap;padding:3px 9px;font-size:10px}.pill.live{color:var(--green);border-color:var(--green)}.pill.live:before{content:"●";margin-right:6px;animation:2.4s ease-in-out infinite pulse;display:inline-block}.pill.shipped{color:var(--amber);border-color:var(--amber)}.pill.wip{color:var(--ink-dim);border-style:dashed}.chev{font-family:var(--mono);color:var(--ink-faint);font-size:14px;transition:transform .2s,color .2s;display:inline-block}.project:hover .chev{color:var(--amber)}.project.open .chev{color:var(--amber);transform:rotate(90deg)}.project-body{max-height:0;transition:max-height .4s;overflow:hidden}.project.open .project-body{max-height:700px}.project-body-inner{border-top:1px solid var(--rule-soft);padding:16px 24px 22px 84px}.project-body p{max-width:640px;margin:0 0 12px;font-size:15px;line-height:1.62}.project-meta{border-top:1px solid var(--rule-soft);font-family:var(--mono);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:18px;margin-top:12px;padding-top:14px;display:grid}.project-meta .k{letter-spacing:.18em;color:var(--ink-faint);margin-bottom:4px;font-size:10px}.project-meta .v{color:var(--ink);letter-spacing:.06em;font-size:11px}.project-meta .build .v{color:var(--amber)}.project-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.btn{font-family:var(--mono);letter-spacing:.14em;border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:0 0;padding:8px 14px;font-size:11px;transition:border-color .2s,color .2s,background .2s}.btn:hover,.btn.primary{border-color:var(--amber);color:var(--amber)}.btn.primary:hover{background:var(--amber);color:var(--bg)}@media (max-width:700px){.project-head{grid-template-columns:28px 1fr;padding:14px 16px}.project-head .right{grid-column:1/-1;padding-top:6px}.project-body-inner{padding:14px 16px 18px}}.contact-mail{font-family:var(--mono);color:var(--green);text-decoration:underline;-webkit-text-decoration-color:var(--green-dim);text-decoration-color:var(--green-dim);text-underline-offset:6px;font-size:22px;transition:text-decoration-color .2s;display:inline-block}.contact-mail:hover{-webkit-text-decoration-color:var(--green);text-decoration-color:var(--green)}.social-row{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-dim);flex-wrap:wrap;gap:22px;margin-top:24px;font-size:11px;display:flex}.social-row a{cursor:pointer;transition:color .2s}.social-row a:hover{color:var(--green)}.rail-block{margin-bottom:28px}.rail-block h3{font-family:var(--mono);letter-spacing:.22em;color:var(--amber);text-transform:uppercase;justify-content:space-between;align-items:baseline;margin:0 0 12px;font-size:10px;font-weight:500;display:flex}.rail-block h3 .small{color:var(--ink-faint);letter-spacing:.18em;font-size:9px}.rail-row{border-bottom:1px solid var(--rule-soft);color:var(--ink-dim);letter-spacing:.06em;justify-content:space-between;padding:7px 0;font-size:11px;display:flex}.rail-row .v{color:var(--ink)}.rail-row .v.live{color:var(--green)}.rail-row .v.amber{color:var(--amber)}.now-playing{border:1px solid var(--amber);background:#e89b3d0f;padding:14px 16px;font-size:11px;line-height:1.6}.now-playing .k{color:var(--amber);letter-spacing:.18em;align-items:center;gap:6px;margin-bottom:6px;display:flex}.now-playing .k:before{content:"";background:var(--green);border-radius:50%;width:6px;height:6px;animation:2.2s ease-in-out infinite pulse}.now-playing .body{color:var(--ink)}.now-playing .meta{color:var(--ink-faint);letter-spacing:.1em;margin-top:8px;font-size:10px}.ledger-item{border-bottom:1px solid var(--rule-soft);grid-template-columns:56px 1fr;gap:12px;padding:7px 0;font-size:11px;display:grid}.ledger-item .ts{color:var(--ink-faint);letter-spacing:.06em}.ledger-item .msg{color:var(--ink-dim);line-height:1.5}.ledger-item .msg strong{color:var(--ink);font-weight:500}.kbd-hint{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-faint);background:var(--bg-raised);border:1px solid var(--rule);pointer-events:none;opacity:.7;z-index:40;padding:6px 10px;font-size:9.5px;position:fixed;bottom:16px;left:16px}.kbd-hint kbd{font:inherit;color:var(--ink-dim);border:1px solid var(--rule);margin:0 1px;padding:0 4px}@media (max-width:900px){.kbd-hint{display:none}}footer{border-top:1px solid var(--rule);max-width:1480px;font-family:var(--mono);color:var(--ink-faint);letter-spacing:.16em;flex-wrap:wrap;justify-content:space-between;gap:8px;margin:0 auto;padding:22px 40px;font-size:11px;display:flex}.footer-appendix{align-items:center;gap:10px;display:inline-flex}.footer-appendix .label{color:var(--ink-faint)}.footer-appendix a{color:var(--ink-dim);transition:color .2s}.footer-appendix a:hover{color:var(--ink)}.footer-appendix .sep{color:var(--ink-faint)}@media (max-width:700px){footer{flex-direction:column;gap:6px;padding:22px 20px}}section.nb{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(8px)}section.nb.visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){section.nb{opacity:1;transition:none;transform:none}html{scroll-behavior:auto}}a:focus-visible,button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.project-head:focus-visible{outline-color:var(--amber)}.cg-topbar{z-index:50;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);font-family:var(--mono);letter-spacing:.16em;background:#0b0b0ceb;align-items:center;gap:16px;padding:12px 40px;font-size:11px;display:flex;position:sticky;top:0}.cg-back{color:var(--ink-dim);transition:color .15s}.cg-back:hover{color:var(--green)}.cg-topbar-brand{color:var(--ink-faint);align-items:center;gap:10px;margin-left:auto;display:inline-flex}.cg-topbar-brand-name{color:var(--ink)}.cg-topbar-sep{color:var(--ink-faint)}@media (max-width:700px){.cg-topbar{padding:10px 16px;font-size:10px}.cg-topbar-brand{gap:6px}}.cg-page{max-width:920px;margin:0 auto;padding:56px 40px 40px}@media (max-width:700px){.cg-page{padding:32px 20px 24px}}.cg-eyebrow,.cg-section-eyebrow{font-family:var(--mono);letter-spacing:.22em;color:var(--green);margin:0 0 16px;font-size:11px}.cg-section-eyebrow{color:var(--amber)}.cg-title{font-family:var(--serif);letter-spacing:-.02em;margin:0 0 14px;font-size:64px;line-height:1.04}@media (max-width:700px){.cg-title{font-size:38px}}.cg-pitch{font-family:var(--serif);color:var(--ink-dim);max-width:640px;margin:0 0 32px;font-size:19px;font-style:italic;line-height:1.55}.cg-hero-video{border:1px solid var(--rule);background:var(--bg-raised);overflow:hidden}.cg-hero-video video{width:100%;height:auto;display:block}.cg-section{border-top:1px solid var(--rule);margin-top:72px;padding-top:32px}.cg-section-lead{color:var(--ink-dim);max-width:640px;margin:0 0 24px;font-size:15px;line-height:1.62}.cg-player{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.cg-player-video,.cg-player-canvas{flex-direction:column;gap:8px;display:flex}.cg-player-video video{border:1px solid var(--rule);background:var(--bg-raised);width:100%;height:auto;display:block}.cg-player-canvas{align-items:center}.cg-ca-canvas{border:1px solid var(--rule);background:var(--bg);max-width:100%;height:auto;display:block}.cg-player-cap{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-faint);font-size:10px}.cg-player-err{font-family:var(--mono);color:var(--amber);letter-spacing:.06em;border:1px dashed var(--amber-dim);background:#e89b3d0a;padding:12px;font-size:11px}.cg-player-err span{color:var(--ink-dim);letter-spacing:0;font-style:italic}@media (max-width:800px){.cg-player{grid-template-columns:1fr;gap:20px}.cg-player-canvas{align-items:stretch}}.cg-writeup .cg-h2{font-family:var(--serif);letter-spacing:-.005em;color:var(--ink);margin:28px 0 6px;font-size:22px;font-style:italic}.cg-writeup .cg-h2:first-of-type{margin-top:4px}.cg-writeup p{font-family:var(--serif);max-width:640px;margin:0 0 14px;font-size:17px;line-height:1.62}.cg-footer{border-top:1px solid var(--rule);font-family:var(--mono);color:var(--ink-faint);letter-spacing:.16em;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:64px;padding-top:22px;font-size:11px;display:flex}.cg-footer-links{align-items:center;gap:10px;display:inline-flex}.cg-footer-links a{color:var(--ink-dim);transition:color .15s}.cg-footer-links a:hover{color:var(--green)}@media (max-width:700px){.cg-footer{flex-direction:column;gap:6px}}
