@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-normal.BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-normal.BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-normal.s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-vietnamese-opsz-italic.DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-ext-opsz-italic.CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/_astro/newsreader-latin-opsz-italic.kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-greek-400-normal._efipK4i.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-greek-500-normal.JMMifIXV.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(/_astro/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(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(/_astro/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{color-scheme:dark;--paper:#060714;--paper-raised:#0f1124;--panel:#12152cb8;--ink:#efecfa;--muted:#aaa8c4;--rule:#262a4a;--rule-strong:#474c7a;--accent:#ff9d5c;--accent-text:#ffb382;--nova:#8fb8ff;--violet:#b9a2ff;--focus:#fff;--serif:"Newsreader Variable", "Iowan Old Style", Georgia, serif;--sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--step--1:.8125rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:1.625rem;--step-3:clamp(1.9rem, 1.5rem + 1.6vw, 2.6rem);--step-4:clamp(2.9rem, 1.4rem + 6vw, 5.5rem);--wide:70rem;--measure:46rem;--gap:clamp(1.25rem, 4vw, 3rem);--radius:14px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--paper);scroll-padding-top:5rem}body{background:radial-gradient(60rem 40rem at 85% -10%, #785aff29, transparent 60%), radial-gradient(50rem 36rem at -10% 30%, #3c82ff1c, transparent 60%), radial-gradient(46rem 30rem at 70% 110%, #ff824614, transparent 60%), var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--sans);font-size:var(--step-0);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,p,ul,ol,dl,dd,figure,table{margin:0;padding:0}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration-line:underline;text-decoration-color:var(--accent);text-underline-offset:.22em;text-decoration-thickness:1px;transition:color .14s,text-decoration-thickness .14s}a:hover{color:var(--accent-text);text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:4px}::selection{background:var(--accent);color:#1a0d05}button{font:inherit;color:inherit;cursor:pointer}[hidden]{display:none!important}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--ink);color:var(--paper);border-radius:6px;padding:.6rem 1rem;text-decoration:none;position:absolute;top:-4rem;left:1rem}.skip-link:focus{top:1rem}.mono{font-family:var(--mono);font-size:var(--step--1);letter-spacing:.01em}.muted{color:var(--muted)}.sky,.warp{pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.sky{z-index:0}.warp{z-index:90;opacity:0}.warp[data-on=true]{opacity:1}.frame{z-index:1;position:relative}.main{min-width:0;padding:0 var(--gap) 4rem}.column{max-width:var(--wide);margin-inline:auto}.narrow{max-width:var(--measure)}.rail{z-index:20;padding:.6rem var(--gap);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);background:#060714c7;justify-content:space-between;align-items:center;gap:1rem;transition:transform .4s,opacity .4s;display:flex;position:sticky;top:0}html.js:not(.entered) .rail[data-gated]{opacity:0;pointer-events:none;visibility:hidden;position:fixed;left:0;right:0;transform:translateY(-110%)}.rail-name{font-family:var(--serif);white-space:nowrap;font-size:1.2rem;font-weight:600;text-decoration:none}.rail-name span{color:var(--accent)}.rail-tools{align-items:center;gap:.5rem;display:flex}.rail-button{border:1px solid var(--rule-strong);min-height:2.5rem;font-family:var(--mono);font-size:var(--step--1);white-space:nowrap;color:var(--ink);background:#ffffff08;border-radius:999px;align-items:center;gap:.4rem;padding:0 .85rem;text-decoration:none;display:inline-flex}@media (width<=26rem){.rail-button{padding:0 .65rem}.rail-name{font-size:1.05rem}}.rail-button:hover{border-color:var(--ink);color:var(--ink)}.toc-wrap{padding:.5rem var(--gap) 1.25rem;border-bottom:1px solid var(--rule-strong);background:#060714f7;max-height:calc(100dvh - 4rem);display:none;position:absolute;inset:100% 0 auto;overflow:auto}.rail[data-open=true] .toc-wrap{display:block}.toc a{color:var(--muted);grid-template-columns:2.25rem 1fr;align-items:baseline;padding:.6rem 0;text-decoration:none;display:grid}.toc-no{font-family:var(--mono);font-size:var(--step--1)}.toc-bar{background:var(--rule);border-radius:2px;grid-column:2;height:2px;margin-top:.3rem;display:block;overflow:hidden}.toc-bar i{background:var(--nova);transform-origin:0;height:100%;transform:scaleX(var(--p,0));display:block}.toc a:hover,.toc a[aria-current=true]{color:var(--ink)}.toc a[aria-current=true] .toc-no{color:var(--accent-text)}.toc a[aria-current=true] .toc-bar i{background:var(--accent)}@media (width>=72rem){.rail-menu{display:none}.toc-wrap{background:0 0;border:0;max-height:none;padding:0;display:block;position:static;overflow:visible}.toc{gap:1.1rem;display:flex}.toc a{padding:.35rem 0;font-size:.92rem;display:block}.toc-no{display:none}.toc-bar{margin-top:.2rem}}.landing{text-align:center;place-items:center;min-height:100dvh;padding:1.5rem 0 2.5rem;display:grid;position:relative}html.js.entered .landing{display:none}.landing-sound{top:1rem;right:var(--gap);z-index:3;position:fixed}.horizon{z-index:0;aspect-ratio:1;pointer-events:none;background:radial-gradient(circle at 50% 0,#201a4d 0%,#0d0d26 9%,#060714 26%);border-radius:50%;width:190vmax;position:fixed;top:88vh;left:50%;transform:translate(-50%);box-shadow:0 -1px #ffd7b4cc,0 -6px 26px #ffa06499,0 -30px 120px #966eff73,inset 0 24px 70px #9678ff47}html.js:not(.entered) .main:has(.landing){padding-bottom:0}.landing-inner{z-index:2;position:relative}.goal{color:var(--ink)}.interests{font-family:var(--serif);color:var(--muted);font-style:italic}.landing .enter{margin-top:1.1rem}@media (width<=43.99rem){.landing .goal,.landing .interests{display:none}.landing .orbit-portrait{width:6.5rem}.landing .role{font-size:var(--step-1)}.landing .summary{font-size:1rem}.horizon{top:91vh}}@media (height<=760px){.orbit-portrait{width:6.5rem}.landing .summary{font-size:1rem}}.landing-inner{justify-items:center;gap:.85rem;max-width:46rem;display:grid}@media (width>=44rem){.landing h1{white-space:nowrap}}.orbit-portrait{aspect-ratio:1;width:clamp(7.5rem,17vh,10.5rem);margin-bottom:.9rem;position:relative}.orbit-portrait img{z-index:1;object-fit:cover;border-radius:50%;width:100%;height:100%;position:relative;box-shadow:0 0 0 1px #ffffff24,0 0 60px #ff965059,0 0 140px #7864ff59}.ring{border:1.5px solid #aabeff80;border-radius:50%;animation:16s linear infinite orbit-a;position:absolute;inset:-18%}.ring:after{content:"";background:var(--nova);border-radius:50%;width:11px;height:11px;margin-top:-5px;position:absolute;top:50%;left:-6px;box-shadow:0 0 16px 4px #8fb8ffd9}.ring-2{border-color:#ffaf7866;animation:27s linear infinite orbit-b;inset:-38%}.ring-2:after{background:var(--accent);box-shadow:0 0 16px 4px #ff9d5cd9}@keyframes orbit-a{0%{transform:rotate(-14deg)rotateX(72deg)rotate(0)}to{transform:rotate(-14deg)rotateX(72deg)rotate(360deg)}}@keyframes orbit-b{0%{transform:rotate(20deg)rotateX(74deg)rotate(360deg)}to{transform:rotate(20deg)rotateX(74deg)rotate(0)}}.status{border:1px solid var(--rule-strong);color:var(--ink);background:#ffffff08;border-radius:999px;align-items:center;gap:.55rem;padding:.35rem .9rem;display:inline-flex}.status:before{content:"";background:#6fe3a5;border-radius:50%;width:.5rem;height:.5rem;box-shadow:0 0 10px #6fe3a5}.landing h1,.intro h1{font-family:var(--serif);font-size:var(--step-4);letter-spacing:-.02em;font-variation-settings:"opsz" 72;text-wrap:balance;font-weight:500;line-height:.98}.landing h1{background:linear-gradient(#fff 30%,#c9c4ff 100%);color:#fff;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.role{font-family:var(--serif);font-style:italic;font-size:var(--step-2);text-wrap:balance;line-height:1.25}.summary{max-width:38rem;color:var(--muted);font-size:1.125rem}.facts{border-top:1px solid var(--rule);text-align:left;max-width:38rem;color:var(--muted);gap:.5rem;margin-top:1.5rem;padding-top:1.25rem;font-size:.98rem;display:grid}.facts div{grid-template-columns:5.5rem 1fr;align-items:baseline;gap:.75rem;display:grid}.facts dt{font-family:var(--mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text)}.actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.5rem;margin-top:1.25rem;display:flex}.intro .actions{justify-content:flex-start}.button{background:var(--ink);min-height:2.875rem;color:var(--paper);border:1px solid var(--ink);border-radius:999px;align-items:center;gap:.5rem;padding:0 1.3rem;font-weight:600;text-decoration:none;transition:background .14s,transform .14s;display:inline-flex}.button:hover{background:var(--accent-text);border-color:var(--accent-text);color:#1a0d05}.enter{color:#190a12;letter-spacing:.01em;background:linear-gradient(100deg,#ffb070,#ff7d6b 55%,#c47bff);border:0;min-height:3.5rem;padding:0 2.1rem;font-size:1.1rem;animation:3.2s ease-in-out infinite pulse;position:relative;box-shadow:inset 0 0 0 1px #ffffff40,0 10px 40px #ff785a66,0 0 90px #aa6eff59}.enter:hover{color:#190a12;background:linear-gradient(100deg,#ffc592,#ff9483 55%,#d49bff);transform:translateY(-2px)scale(1.03)}.enter svg{width:1.2rem;height:1.2rem}@keyframes pulse{50%{box-shadow:inset 0 0 0 1px #ffffff4d,0 10px 54px #ff785a99,0 0 130px #aa6eff8c}}.arrow:after{content:"↗";font-family:var(--mono);color:var(--accent-text);margin-left:.2em;font-size:.85em}html.warping .landing-inner{animation:2.3s cubic-bezier(.5,0,.9,.3) forwards rush}html.warping .horizon{animation:2.3s ease-in forwards sink}html.warping .enter{animation:none}@keyframes rush{0%{transform:scale(1)}30%{filter:blur();opacity:1;transform:scale(.94)}to{filter:blur(10px);opacity:0;transform:scale(3.4)}}@keyframes sink{to{opacity:0;transform:translate(-50%)translateY(30vh)}}html.js:not(.entered) .galaxy{display:none}html.js.arriving .map-stage{animation:1.6s cubic-bezier(.16,.8,.2,1) both arrive}html.js.arriving .map h2,html.js.arriving .map-hint,html.js.arriving .map .actions,html.js.arriving .rail{animation:.9s .7s both settle}@keyframes arrive{0%{opacity:0;filter:blur(14px)brightness(2.2);transform:scale(.12)rotate(-70deg)}}@keyframes settle{0%{opacity:0;transform:translateY(14px)}}.section.touchdown{animation:.8s cubic-bezier(.16,.8,.2,1) both touchdown}@keyframes touchdown{0%{opacity:0;filter:blur(10px);transform:scale(1.35)}}.map{text-align:center;padding:clamp(2rem,6vw,4rem) 0 1rem;position:relative}.map h2{font-family:var(--serif);font-size:var(--step-3);font-weight:500}.map-stage{aspect-ratio:16/10;width:min(100%,62rem);transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));margin:1rem auto 0;transition:opacity .65s;position:relative}.core{z-index:3;aspect-ratio:1;border-radius:50%;width:clamp(3.25rem,7vw,4.75rem);animation:4.5s ease-in-out infinite glow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #ffebd2d9,0 0 40px 10px #ffbe82bf,0 0 120px 40px #ffa06459}.core img{object-fit:cover;border-radius:50%;width:100%;height:100%}@keyframes glow{50%{box-shadow:0 0 0 2px #fff5e1,0 0 60px 16px #ffc88cf2,0 0 160px 60px #ffa06480}}.map-stage.diving{opacity:0;filter:blur(6px);transition:transform .64s cubic-bezier(.7,0,.9,.4),opacity .64s,filter .64s;transform:scale(7)}.map-stage canvas{width:100%;height:100%;position:absolute;inset:0}.orbit-line{pointer-events:none;border:1px dashed #96a5ff33;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.planet{z-index:2;width:8.5rem;color:var(--ink);justify-items:center;gap:.35rem;margin:-1.6rem 0 0 -4.25rem;text-decoration:none;display:grid;position:absolute}.planet-orb{width:var(--size,3rem);aspect-ratio:1;background:radial-gradient(circle at 30% 28%, #fffffff2, transparent 22%), radial-gradient(circle at 34% 30%, hsl(var(--hue) 95% 72%), hsl(var(--hue) 70% 42%) 55%, hsl(var(--hue) 70% 14%) 100%);box-shadow:0 0 26px hsl(var(--hue) 90% 60% / .55), inset -7px -9px 16px #00000a8c;border-radius:50%;transition:transform .22s,box-shadow .22s}.planet[data-ring] .planet-orb{position:relative}.planet[data-ring] .planet-orb:after{content:"";border:2px solid hsl(var(--hue) 90% 80% / .7);border-radius:50%;position:absolute;inset:34% -38%;transform:rotate(-18deg)}.planet-label{border:1px solid var(--rule);font-family:var(--mono);font-size:var(--step--1);white-space:nowrap;background:#060714b8;border-radius:999px;padding:.15rem .6rem;line-height:1.5}.planet:hover .planet-orb,.planet:focus-visible .planet-orb{box-shadow:0 0 46px hsl(var(--hue) 95% 65% / .95), inset -7px -9px 16px #00000a8c;transform:scale(1.22)}.planet:hover .planet-label,.planet:focus-visible .planet-label{border-color:hsl(var(--hue) 90% 70%);color:#fff}.map-hint{color:var(--muted);margin-top:.5rem}.map .actions{margin-top:1.5rem}@media (width<=43.99rem){.rail-resume,.rail-sound{display:none}}.rail-button[aria-pressed=false]{color:var(--muted);border-color:var(--rule)}@media (width<=43.99rem){.map-stage{aspect-ratio:3/4}.planet{width:7rem;margin-left:-3.5rem}.planet-orb{width:calc(var(--size,3rem) * .78)}}.section{padding:clamp(3rem,8vw,5.5rem) 0 0;position:relative}.section-head{grid-template-columns:auto 1fr;align-items:center;column-gap:1rem;margin-bottom:2rem;display:grid}.section-orb{aspect-ratio:1;background:radial-gradient(circle at 30% 28%, #ffffffe6, transparent 22%), radial-gradient(circle at 34% 30%, hsl(var(--hue,260) 95% 72%), hsl(var(--hue,260) 70% 42%) 55%, hsl(var(--hue,260) 70% 14%) 100%);width:3rem;box-shadow:0 0 30px hsl(var(--hue,260) 90% 60% / .5), inset -6px -8px 14px #00000a8c;border-radius:50%;grid-row:span 2}.section-no{color:var(--accent-text)}.section h2{font-family:var(--serif);font-size:var(--step-3);letter-spacing:-.01em;font-weight:500;line-height:1.1}.section-head:not(:has(.section-orb)){grid-template-columns:1fr}.section-note{max-width:38rem;color:var(--muted);grid-column:1/-1;margin-top:.75rem}.panel{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);padding:clamp(1.1rem,3vw,2rem)}.sub{font-family:var(--mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:2.75rem 0 1rem;font-weight:500}html.js .reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(28px)}html.js .reveal.in{opacity:1;transform:none}.filters{flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem;display:flex}.chip{border:1px solid var(--rule-strong);min-height:2.25rem;font-family:var(--mono);font-size:var(--step--1);color:var(--muted);background:#ffffff08;border-radius:999px;padding:0 .85rem}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.filter-status{color:var(--muted);margin-bottom:1rem}.filter-status:empty{display:none}.frames{gap:1.75rem;display:grid}.project-frame{background:var(--panel);border:1px solid var(--rule);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);transition:border-color .22s,box-shadow .22s,transform .22s;display:grid;position:relative;overflow:hidden}.project-frame:hover{border-color:hsl(var(--hue,260) 80% 70% / .7);box-shadow:0 18px 60px hsl(var(--hue,260) 90% 50% / .18);transform:translateY(-3px)}.frame-media{aspect-ratio:16/10;border-bottom:1px solid var(--rule);background:#0a0c1c;display:block;position:relative;overflow:hidden}.frame-media img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.frame-media img[data-fit=contain]{object-fit:contain;object-position:center;background:#fff}.project-frame:hover .frame-media img{transform:scale(1.04)}.frame-art{background:radial-gradient(circle at 50% 50%, hsl(var(--hue,260) 80% 40% / .35), transparent 60%), #0a0c1c;place-items:center;display:grid;position:absolute;inset:0}.frame-art:before,.frame-art:after{content:"";border:1px solid hsl(var(--hue,260) 80% 75% / .3);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-18deg)}.frame-art:before{width:62%;height:34%}.frame-art:after{border-style:dashed;width:88%;height:52%}.frame-art span{z-index:1;aspect-ratio:1;background:radial-gradient(circle at 30% 28%, #ffffffe6, transparent 22%), radial-gradient(circle at 34% 30%, hsl(var(--hue,260) 95% 72%), hsl(var(--hue,260) 70% 40%) 55%, hsl(var(--hue,260) 70% 12%) 100%);width:5.5rem;box-shadow:0 0 50px hsl(var(--hue,260) 90% 60% / .6), inset -9px -12px 22px #00000a99;font-family:var(--serif);color:#fff;text-shadow:0 1px 6px #0009;border-radius:50%;place-items:center;font-size:1.9rem;font-weight:600;display:grid;position:relative}.frame-body{align-content:start;gap:.65rem;padding:clamp(1.1rem,3vw,1.75rem);display:grid}.frame-body h3{font-family:var(--serif);font-size:var(--step-2);font-weight:500;line-height:1.15}.frame-body h3 a{text-decoration:none}.frame-body h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent)}.frame-meta{color:var(--accent-text)}.tagline{font-family:var(--serif);font-style:italic;font-size:var(--step-1);line-height:1.35}.frame-text{color:var(--muted)}.aside-note{border-left:2px solid var(--accent);color:var(--muted);padding-left:.9rem;font-size:.98rem}.tech{flex-wrap:wrap;gap:.35rem;display:flex}.tech li{border:1px solid var(--rule);color:var(--muted);background:#ffffff08;border-radius:999px;padding:.12rem .6rem}.links{flex-wrap:wrap;gap:.5rem;margin-top:.35rem;display:flex}.links a{border:1px solid var(--rule-strong);background:#ffffff0a;border-radius:999px;align-items:center;min-height:2.5rem;padding:0 1rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.links a:hover{border-color:var(--accent);color:#fff;background:#ff9d5c1f}.links a.primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.links a.primary:hover{background:var(--accent-text);border-color:var(--accent-text);color:#1a0d05}.links a.primary.arrow:after{color:inherit}.links-small a{min-height:2.25rem;padding:0 .8rem;font-size:.88rem}@media (width>=56rem){.project-frame.wide{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center}.project-frame.wide .frame-media{border:1px solid var(--rule);border-radius:10px;margin:1.25rem 0 1.25rem 1.25rem}.project-frame.wide.flip .frame-media{order:2;margin:1.25rem 1.25rem 1.25rem 0}.frames.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}.timeline{gap:1.25rem;padding-left:1.75rem;display:grid;position:relative}.timeline:before{content:"";background:linear-gradient(var(--nova), var(--violet), transparent);width:1px;position:absolute;top:.5rem;bottom:.5rem;left:.3rem}.timeline li.role-row{gap:.35rem 1.5rem;display:grid;position:relative}.timeline li.role-row:before{content:"";background:var(--nova);width:.7rem;height:.7rem;box-shadow:0 0 14px var(--nova);border-radius:50%;position:absolute;top:1.6rem;left:-1.75rem}.timeline .when{color:var(--accent-text)}.timeline h3,.timeline h4{font-size:var(--step-1);margin:0;font-weight:600;line-height:1.3}.timeline .org{color:var(--muted)}.points{margin-top:.7rem}.points li{padding-left:1.25rem;position:relative}.points li+li{margin-top:.45rem}.points li:before{content:"";background:var(--accent);border-radius:50%;width:.4rem;height:.4rem;position:absolute;top:.62em;left:0}.ledger{border-collapse:collapse;width:100%}.ledger th{text-align:left;font-family:var(--mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--rule-strong);padding:.6rem .75rem .6rem 0;font-weight:500}.ledger td{vertical-align:top;border-bottom:1px solid var(--rule);padding:.85rem .75rem .85rem 0}.ledger tr:last-child td{border-bottom:0}.ledger td.cert-title{font-weight:500}.ledger .cert-id{color:var(--muted);overflow-wrap:anywhere;margin-top:.3rem;display:block}.ledger .links{margin-top:.5rem}.ledger td.mono{white-space:nowrap;padding-top:1.05rem}@media (width<=43.99rem){.ledger thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.ledger tr{border-bottom:1px solid var(--rule);grid-template-columns:1fr 1fr;gap:.15rem 1rem;padding:.9rem 0;display:grid}.ledger td{border:0;padding:0}.ledger td.cert-title,.ledger td.cert-issuer{grid-column:1/-1}.ledger td.mono{white-space:normal;padding-top:.2rem}.ledger td[data-label]:not(:empty):before{content:attr(data-label) " ";color:var(--muted)}}.skills{gap:1rem;display:grid}@media (width>=44rem){.skills{grid-template-columns:repeat(2,minmax(0,1fr))}}.skills dt{font-family:var(--mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);margin-bottom:.75rem}.skills dd{flex-wrap:wrap;gap:.4rem;display:flex}.skills dd>*{border:1px solid var(--rule);background:#ffffff08;border-radius:999px;align-items:center;min-height:2.1rem;padding:0 .75rem;font-size:.95rem;display:inline-flex}.skill-link{color:var(--ink);border-color:var(--rule-strong)!important}.skill-link:hover{background:#ff9d5c1f;border-color:var(--accent)!important}.skill-link sup{font-family:var(--mono);color:var(--accent-text);margin-left:.4em;font-size:.72em}.index li{border-bottom:1px solid var(--rule);grid-template-columns:1fr;gap:.15rem 1.5rem;padding:1.05rem 0;display:grid}.index li:first-child{padding-top:0}.index li:last-child{border-bottom:0;padding-bottom:0}.index .when{color:var(--accent-text)}.index .title{font-family:var(--serif);font-size:var(--step-1);font-weight:500;line-height:1.3}.index .detail{color:var(--muted)}@media (width>=44rem){.index li{grid-template-columns:10.5rem minmax(0,1fr)}.index .when{padding-top:.3rem}}.prose p+p{margin-top:1rem}.prose p:first-child{font-family:var(--serif);font-size:var(--step-1);line-height:1.5}.contact{text-align:center}.contact-email{font-family:var(--serif);overflow-wrap:anywhere;font-size:clamp(1.4rem,.6rem + 3.4vw,2.6rem);line-height:1.2;display:inline-block}.contact-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem 1.25rem;margin-top:1.5rem;display:flex}.footer{border-top:1px solid var(--rule);color:var(--muted);margin-top:clamp(3rem,8vw,5rem);padding:2rem 0 0}.footer-links{color:var(--ink);flex-wrap:wrap;gap:.35rem 1.25rem;margin-bottom:1.5rem;display:flex}.footer-meta{flex-wrap:wrap;justify-content:space-between;gap:.35rem 1.5rem;display:flex}.footer-links a,.contact-row a,.actions>a:not(.button),.index .title a,.pager a,.crumb{min-width:1.5rem;padding-block:.2rem;display:inline-block}.intro{padding:clamp(2.5rem,8vw,4.5rem) 0 clamp(1.5rem,4vw,2.5rem)}.intro .summary{margin-top:1rem}.crumb{margin:clamp(1.5rem,5vw,3rem) 0 1.5rem}.project-head h1{font-family:var(--serif);font-size:var(--step-4);letter-spacing:-.02em;text-wrap:balance;font-weight:500;line-height:1}.project-head .tagline{font-size:var(--step-2);margin-top:1rem}.project-hero{border:1px solid var(--rule);border-radius:var(--radius);background:#0a0c1c;margin-top:2rem;overflow:hidden}.project-hero img{width:100%}.project-hero img[data-fit=contain]{background:#fff}.project-body{padding:1rem 0 2.5rem}.project-body h2{font-family:var(--mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-text);margin:2.25rem 0 .75rem;font-weight:500}.project-body .lede{font-size:1.125rem}.pager{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.5rem 0 1rem;display:flex}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}html.js .reveal{opacity:1;transform:none}}@media print{.rail,.filters,.skip-link,.sky,.warp,.landing .enter,.map{display:none!important}html.js:not(.entered) .galaxy{display:block}body{color:#000;background:#fff}}
