@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/syne-greek-500-normal-DUQv5E33.woff2)format("woff2"),url(/assets/syne-greek-500-normal-L1Ji5iNA.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/syne-latin-ext-500-normal-DHUXVE3f.woff2)format("woff2"),url(/assets/syne-latin-ext-500-normal-C5b4wHnS.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/syne-latin-500-normal-emxikWQ7.woff2)format("woff2"),url(/assets/syne-latin-500-normal-DR6mUQpY.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-greek-700-normal-RbvlO3f8.woff2)format("woff2"),url(/assets/syne-greek-700-normal-C01yjWE_.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-ext-700-normal-DuyXglMe.woff2)format("woff2"),url(/assets/syne-latin-ext-700-normal-C-qCH-vM.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-700-normal-AF3Rs61n.woff2)format("woff2"),url(/assets/syne-latin-700-normal-Cd-_iCn5.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-greek-800-normal-n2LZS_yH.woff2)format("woff2"),url(/assets/syne-greek-800-normal-DtzFnRR0.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-latin-ext-800-normal-CAQAsWuS.woff2)format("woff2"),url(/assets/syne-latin-ext-800-normal-B2iBRfEf.woff)format("woff");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:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-latin-800-normal-EehdNYzx.woff2)format("woff2"),url(/assets/syne-latin-800-normal-BuJcbPcX.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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{--bg:#050608;--bg-elevated:#0c0e14;--graphite:#1a1e2a;--graphite-mid:#2a3142;--muted:#8b93a7;--text:#e8ecf4;--text-dim:#a8b0c4;--teal:#2ee6c5;--teal-dim:#1a9e88;--teal-glow:#2ee6c559;--amber:#e8a84a;--amber-dim:#b87a28;--amber-glow:#e8a84a4d;--danger:#e86a6a;--font-display:"Syne", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--nav-h:3.5rem;--ease-out:cubic-bezier(.22, 1, .36, 1);--panel-w:min(28rem, calc(100vw - 2rem))}.app{background:radial-gradient(ellipse 80% 50% at 50% -10%, #2ee6c514, transparent 55%), radial-gradient(ellipse 60% 40% at 80% 60%, #e8a84a0d, transparent 50%), var(--bg);min-height:100vh;position:relative}.canvas-layer{z-index:0;pointer-events:none;position:fixed;inset:0}.canvas-layer canvas{pointer-events:auto}.hud{z-index:10;pointer-events:none;position:fixed;inset:0}.hud>*{pointer-events:auto}.skip-link{z-index:100;background:var(--teal);color:var(--bg);border-radius:4px;padding:.6rem 1rem;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}.nav{height:var(--nav-h);z-index:20;-webkit-backdrop-filter:blur();backdrop-filter:blur();background:linear-gradient(#050608d9,#0000);justify-content:space-between;align-items:center;padding:0 1.25rem;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{font-family:var(--font-display);letter-spacing:-.02em;font-size:1rem;font-weight:700;text-decoration:none}.nav-brand span{color:var(--teal)}.nav-links{align-items:center;gap:.25rem;display:flex}.nav-links button,.nav-links a{letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);transition:color .2s var(--ease-out), background .2s var(--ease-out);border-radius:4px;padding:.45rem .75rem;font-size:.8rem;text-decoration:none}.nav-links button:hover,.nav-links a:hover{color:var(--text);background:#ffffff0a}.brand-chrome{z-index:12;pointer-events:none;transition:top .35s var(--ease-out), opacity .35s var(--ease-out);position:fixed;left:1.5rem}.brand-chrome-hero{top:calc(var(--nav-h) + 1.25rem);max-width:min(28rem,100vw - 3rem)}.brand-chrome-compact{top:calc(var(--nav-h) + .65rem);opacity:.85}.hero-role{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin:0 0 .35rem;font-size:.7rem}.brand-chrome h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-weight:800;line-height:1.05}.brand-chrome-hero h1{font-size:clamp(1.85rem,4.2vw,2.85rem)}.brand-chrome-compact h1{font-size:1.15rem;font-weight:700}.brand-tagline{color:var(--text-dim);margin:.65rem 0 0;font-size:1.05rem;line-height:1.45}.story-card{z-index:13;border:1px solid var(--graphite-mid);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:auto;width:min(26rem,100vw - 3rem);animation:fade-in .35s var(--ease-out);background:#080a10e0;border-radius:8px;padding:1.15rem 1.25rem 1rem;position:fixed;bottom:5.5rem;left:1.5rem;box-shadow:0 16px 48px #00000073}.story-card-intro{border-color:#2ee6c547;width:min(28rem,100vw - 3rem);padding:1.35rem 1.4rem 1.15rem;bottom:5.5rem;box-shadow:0 16px 48px #00000073,0 0 40px #2ee6c514}.story-card-chapter{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.4rem;font-size:.65rem;display:flex}.story-count-inline{color:var(--muted);letter-spacing:.08em;font-variant-numeric:tabular-nums}.story-card h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.25rem;font-weight:700;line-height:1.2}.story-card-intro h2{font-size:clamp(1.35rem,2.5vw,1.6rem)}.story-card p{color:var(--text-dim);margin:0;font-size:.92rem;line-height:1.55}.story-cta{border:1px solid var(--teal-dim);color:var(--teal);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;margin-top:.85rem;padding:.55rem .85rem;font-size:.8rem;transition:background .2s,border-color .2s}.story-cta:hover{border-color:var(--teal);background:#2ee6c514}.story-progress{align-items:center;gap:.35rem;margin-top:.9rem;display:flex}.story-progress span{background:var(--graphite-mid);border-radius:50%;width:6px;height:6px}.story-progress span.on{background:var(--teal);box-shadow:0 0 8px var(--teal-glow)}.story-progress span.done{background:var(--teal-dim)}.story-swipe-hint{display:none}.scroll-hint{z-index:12;color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;pointer-events:none;flex-direction:column;align-items:center;gap:.4rem;font-size:.65rem;transition:opacity .4s;display:flex;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)}.scroll-hint.hidden{opacity:0}.scroll-hint .line{background:linear-gradient(to bottom, var(--teal), transparent);width:1px;height:2rem;animation:2s ease-in-out infinite pulse-line}@keyframes pulse-line{0%,to{opacity:.3;transform:scaleY(.7)}50%{opacity:1;transform:scaleY(1)}}.chapter-label{top:calc(var(--nav-h) + 1rem);z-index:12;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--teal);opacity:.85;pointer-events:none;font-size:.7rem;position:fixed;right:1.5rem}.explore-chip{z-index:15;align-items:center;gap:.5rem;display:flex;position:fixed;bottom:1.5rem;right:1.5rem}.explore-chip button{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--graphite-mid);color:var(--text-dim);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c0e14d9;border-radius:4px;padding:.55rem .9rem;font-size:.75rem;transition:border-color .2s,color .2s}.explore-chip button.active,.explore-chip button:hover{border-color:var(--teal-dim);color:var(--teal)}.explore-hint{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);max-width:12rem;font-size:.65rem;line-height:1.3}.scroll-track{z-index:1;pointer-events:none;scroll-snap-type:y mandatory;position:relative}.scroll-section{pointer-events:none;scroll-snap-align:start;scroll-snap-stop:always;height:100dvh}html.explore-lock,html.explore-lock body{overflow:hidden}.panel-backdrop{z-index:30;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;animation:fade-in .25s var(--ease-out);background:#0506088c;border:none;position:fixed;inset:0}.panel{width:var(--panel-w);z-index:31;border-left:1px solid var(--graphite-mid);animation:slide-in .35s var(--ease-out);background:linear-gradient(165deg,#0e1118 0%,#080a10 100%);padding:1.5rem 1.5rem 2rem;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-24px 0 60px #00000073}.panel-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.panel-kind{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:.35rem;font-size:.65rem}.panel-kind.amber{color:var(--amber)}.panel h2{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-size:1.65rem;font-weight:700;line-height:1.15}.panel-subtitle{font-family:var(--font-mono);letter-spacing:.06em;color:var(--muted);margin:.35rem 0 0;font-size:.75rem}.panel-metrics{flex-wrap:wrap;gap:.4rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.panel-metrics li{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--graphite-mid);color:var(--amber);border-radius:4px;padding:.35rem .55rem;font-size:.7rem}.panel-skills{flex-wrap:wrap;gap:.35rem;margin-bottom:1rem;display:flex}.skill-chip{color:var(--teal);background:#2ee6c514;border:1px solid #2ee6c533;border-radius:4px;padding:.3rem .55rem;font-size:.75rem}.panel-related{border-top:1px solid var(--graphite);margin-top:1.5rem;padding-top:1rem}.panel-related h3{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .65rem;font-size:.7rem;font-weight:500}.panel-related-list{flex-wrap:wrap;gap:.4rem;display:flex}.panel-related-list button{border:1px solid var(--graphite-mid);color:var(--text-dim);border-radius:4px;padding:.4rem .7rem;font-size:.8rem;transition:border-color .2s,color .2s}.panel-related-list button:hover{border-color:var(--teal-dim);color:var(--teal)}.panel-close{width:2.25rem;height:2.25rem;color:var(--muted);border-radius:4px;flex-shrink:0;place-items:center;transition:background .2s,color .2s;display:grid}.panel-close:hover{color:var(--text);background:#ffffff0f}.panel-summary{color:var(--text-dim);margin:0 0 1.5rem;line-height:1.5}.panel-section{border-top:1px solid var(--graphite);margin-bottom:1.25rem;padding-top:1rem}.panel-section h3{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .5rem;font-size:.7rem;font-weight:500}.panel-section p{color:var(--text);margin:0;font-size:.95rem;line-height:1.55}.panel-links{flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.panel-links a{border:1px solid var(--graphite-mid);color:var(--teal);border-radius:4px;align-items:center;gap:.5rem;padding:.7rem 1rem;font-size:.9rem;text-decoration:none;transition:border-color .2s,background .2s;display:inline-flex}.panel-links a:hover{border-color:var(--teal-dim);background:#2ee6c50f}.index-panel{z-index:31;border:1px solid var(--graphite-mid);width:min(40rem,100vw - 2rem);max-height:min(80vh,36rem);animation:fade-in .25s var(--ease-out);background:linear-gradient(165deg,#0e1118 0%,#080a10 100%);border-radius:8px;padding:1.5rem;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 80px #0000008c}.index-panel header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.index-panel h2{font-family:var(--font-display);margin:0;font-size:1.35rem}.index-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.index-list button{text-align:left;background:#ffffff05;border:1px solid #0000;border-radius:6px;width:100%;padding:.85rem 1rem;transition:border-color .2s,background .2s}.index-list button:hover{border-color:var(--graphite-mid);background:#2ee6c50d}.index-list .label{font-family:var(--font-display);margin-bottom:.25rem;font-weight:600;display:block}.index-list .summary{color:var(--muted);font-size:.85rem;line-height:1.4}.index-section-title{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:1.25rem 0 .5rem;font-size:.65rem}.node-tooltip{z-index:14;border:1px solid var(--graphite-mid);pointer-events:none;white-space:nowrap;color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0e14eb;border-radius:4px;padding:.45rem .7rem;font-size:.8rem;position:fixed;transform:translate(-50%,-120%)}.static-web{z-index:2;max-width:42rem;margin:0 auto;padding:5rem 1.5rem 4rem;position:relative}.static-web h1{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .75rem;font-size:clamp(2rem,5vw,3rem);font-weight:800}.static-web .tagline{color:var(--text-dim);margin:0 0 2.5rem;font-size:1.15rem;line-height:1.45}.static-web h2{font-family:var(--font-display);color:var(--teal);margin:2rem 0 .75rem;font-size:1.15rem}.static-card{border-top:1px solid var(--graphite);padding:1rem 0}.static-card h3{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.05rem}.static-card p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.static-card button{color:var(--teal);text-underline-offset:3px;margin-top:.5rem;font-size:.85rem;text-decoration:underline}.contact-bar{z-index:2;text-align:center;border-top:1px solid var(--graphite);background:linear-gradient(#0000,#050608f2);padding:3rem 1.5rem 4rem;position:relative}.contact-bar p{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 .75rem;font-size:.7rem}.contact-bar .links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.contact-bar a{color:var(--text-dim);font-size:.95rem;text-decoration:none;transition:color .2s}.contact-bar a:hover{color:var(--teal)}.visually-hidden,.sr-cv{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sr-cv:focus-within{clip:auto;white-space:normal;z-index:40;background:var(--bg-elevated);border:1px solid var(--graphite-mid);border-radius:8px;width:auto;height:auto;max-height:70vh;margin:0;padding:1rem;position:fixed;inset:auto 1rem 1rem;overflow:auto}.node-label{text-align:center;text-shadow:0 0 14px #000000f2,0 2px 8px #000c;opacity:.88;white-space:nowrap;transition:opacity .2s,transform .2s;transform:translateY(-36px)}.node-label.hot{opacity:1;transform:translateY(-42px)scale(1.05)}.node-label-title{letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:11px;font-weight:500}.node-label.origin .node-label-title{letter-spacing:-.01em;text-transform:none;font-family:Syne,system-ui,sans-serif;font-size:13px;font-weight:700}.node-label.hub .node-label-title{font-size:12px;font-weight:600}.node-label-sub{color:#a8b0c4;letter-spacing:.02em;text-transform:none;margin-top:2px;font-family:IBM Plex Sans,system-ui,sans-serif;font-size:10px}.static-sub{font-family:var(--font-mono);color:var(--teal)!important;margin-bottom:.35rem!important;font-size:.75rem!important}.static-skills{color:var(--amber)!important;margin-top:.35rem!important;font-size:.8rem!important}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:.6;transform:translate(100%)}to{opacity:1;transform:translate(0)}}html.is-mobile{--nav-h:3.25rem}html.is-mobile .nav{padding:0 max(.65rem, env(safe-area-inset-right,0px)) 0 max(.65rem, env(safe-area-inset-left,0px));padding-top:env(safe-area-inset-top,0px);height:calc(var(--nav-h) + env(safe-area-inset-top,0px));background:linear-gradient(#050608eb,#0506088c 70%,#0000)}html.is-mobile .nav-brand{font-size:.92rem}html.is-mobile .nav-links{gap:0}html.is-mobile .nav-links button,html.is-mobile .nav-links a{padding:.4rem .5rem;font-size:.68rem}html.is-mobile .nav-links a.nav-hide-sm,html.is-mobile .nav-links .nav-hide-xs{display:none}html.is-mobile .brand-chrome{left:max(.85rem, env(safe-area-inset-left,0px));max-width:none;right:4.5rem}html.is-mobile .brand-chrome-hero{top:calc(var(--nav-h) + env(safe-area-inset-top,0px) + .45rem)}html.is-mobile .brand-chrome-compact{top:calc(var(--nav-h) + env(safe-area-inset-top,0px) + .35rem)}html.is-mobile .brand-chrome-hero h1{font-size:clamp(1.35rem,7.2vw,1.7rem)}html.is-mobile .hero-role{letter-spacing:.1em;margin-bottom:.2rem;font-size:.62rem}html.is-mobile .brand-tagline{display:none}html.is-mobile .story-card,html.is-mobile .story-card-intro{left:max(.65rem, env(safe-area-inset-left,0px));right:max(.65rem, env(safe-area-inset-right,0px));bottom:calc(2.35rem + env(safe-area-inset-bottom,0px));pointer-events:none;width:auto;max-height:min(36dvh,16.5rem);padding:.85rem .95rem .75rem;overflow:hidden}html.is-mobile .story-card-intro{max-height:min(40dvh,18rem);padding:.95rem 1rem .8rem}html.is-mobile .story-card-intro h2,html.is-mobile .story-card h2{font-size:1.05rem}html.is-mobile .story-card p{-webkit-line-clamp:5;-webkit-box-orient:vertical;font-size:.82rem;line-height:1.45;display:-webkit-box;overflow:hidden}html.is-mobile .story-cta{pointer-events:auto;margin-top:.65rem;padding:.55rem .75rem;font-size:.72rem}html.is-mobile .story-progress{margin-top:.65rem}html.is-mobile .story-swipe-hint{left:50%;bottom:calc(.55rem + env(safe-area-inset-bottom,0px));z-index:14;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center;pointer-events:none;margin:0;padding:0;font-size:.62rem;display:block;position:fixed;transform:translate(-50%)}html.is-mobile .chapter-label,html.is-mobile .scroll-hint{display:none}html.is-mobile .panel{border-left:none;border-top:1px solid var(--graphite-mid);width:100%;top:max(10vh, env(safe-area-inset-top,0px) + 2.5rem);padding:1.15rem 1.1rem calc(1.5rem + env(safe-area-inset-bottom,0px));padding-left:max(1.1rem, env(safe-area-inset-left,0px));padding-right:max(1.1rem, env(safe-area-inset-right,0px));border-radius:14px 14px 0 0}html.is-mobile .panel h2{font-size:1.35rem}html.is-mobile .index-panel{width:100%;max-height:min(88dvh,40rem);padding:1.15rem 1.1rem calc(1.25rem + env(safe-area-inset-bottom,0px));padding-left:max(1.1rem, env(safe-area-inset-left,0px));padding-right:max(1.1rem, env(safe-area-inset-right,0px));animation:slide-up .3s var(--ease-out);border-radius:14px 14px 0 0;inset:auto 0 0;transform:none}html.is-mobile .explore-chip{top:calc(var(--nav-h) + env(safe-area-inset-top,0px) + .4rem);bottom:auto;right:max(.65rem, env(safe-area-inset-right,0px));flex-wrap:nowrap;justify-content:flex-end;gap:.35rem;left:auto}html.is-mobile .explore-chip button{background:#0c0e14e6;padding:.45rem .7rem;font-size:.68rem}html.is-mobile .explore-hint{display:none}html.is-mobile .contact-bar{padding:2.5rem 1.1rem calc(3rem + env(safe-area-inset-bottom,0px))}html.is-mobile .canvas-layer,html.is-mobile .canvas-layer canvas{touch-action:pan-y}@media (height<=560px){html.is-mobile .brand-chrome-hero .hero-role{display:none}html.is-mobile .story-card,html.is-mobile .story-card-intro{max-height:min(44dvh,12.5rem)}html.is-mobile .story-card p{-webkit-line-clamp:3}html.is-mobile .scroll-hint{display:none}}@keyframes slide-up{0%{opacity:.7;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:hidden}button,a{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}::selection{background:var(--teal-glow);color:var(--text)}:focus-visible{outline:2px solid var(--teal);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
