@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:75% 100%;font-display:swap;src:url(../media/b27760412a09b071-s.3e24n1uct9yt5.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:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:75% 100%;font-display:swap;src:url(../media/d8f4b9fd45137089-s.2fxhmfgraoz7c.woff2)format("woff2");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-weight:100 700;font-stretch:75% 100%;font-display:swap;src:url(../media/4dcb29f510551444-s.1iq_jd65grj94.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:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:75% 100%;font-display:swap;src:url(../media/4d9c188ee835bb86-s.2k5fztq718oyu.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:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:75% 100%;font-display:swap;src:url(../media/ab0bcca62e12a01a-s.1y_ri8_sy8n5i.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:100 700;font-stretch:75% 100%;font-display:swap;src:url(../media/08f7af508983ed18-s.p.16zifq7ruyhhb.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:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ZzemNq_className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ZzemNq_variable{--font-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/49b1d53681a91a99.1yd4_i3e35931.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/123d516c9baeb953.1qc6dx89jd2qv.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/a74d2542cc4c775f.29yke99gs9qpn.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:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7ac0b1cd3e695dd0.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/916cd8a3bde3edf8.0oace-s_gkfks.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}.nwxF1W_className{font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-style:normal;font-weight:500}.nwxF1W_variable{--font-plex-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--void:#0b0b10;--zenith:#0e1322;--blue-hour:#172b4d;--twilight:#111d35;--surface:#14161f;--hairline:#1e293b;--hairline-on-blue:#f8fafc29;--star:#f8fafc;--moonlight:#94a3b8;--ion:#60a5fa;--ion-hover:#93c5fd;--ignition:#ffb454;--flare:#fca5a5;--aurora:#6ee7d6;--aurora-fill:linear-gradient(120deg, #7beedd 0%, #62cdf3 52%, #6fa7fa 100%);--aurora-fill-hover:linear-gradient(120deg, #a2f5e8 0%, #87dbf7 52%, #93bdfc 100%);--aurora-fill-pressed:linear-gradient(120deg, #4fd3c2 0%, #45b5e7 52%, #5a93f2 100%);--aurora-line:linear-gradient(90deg, #6ee7d6, #60a5fa);--aurora-glow:#62cdf36b;--action:var(--aurora);--action-fill:var(--aurora-fill);--action-fill-hover:var(--aurora-fill-hover);--action-fill-pressed:var(--aurora-fill-pressed);--action-line:var(--aurora-line);--action-glow:var(--aurora-glow);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--gutter:16px;--container:1120px;--measure:64ch;--hero-column:100%;--topbar-h:56px;--header-h:64px;--bar-h:56px;--seam:160px;--seam-geo:360px;--seam-plain:96px;--apex-read:calc(100svh - var(--bar-h) - env(safe-area-inset-bottom) - 8px);--apex-pass:calc(100svh - var(--bar-h) - env(safe-area-inset-bottom) - 96px);--vp-bottom:calc(100dvh - var(--bar-h) - env(safe-area-inset-bottom) - 8px);--moon:240px;--moon-lane:calc(100cqw - 8px);--passage-karman:64svh;--passage-pullback:calc(100lvh - var(--bar-h) - env(safe-area-inset-bottom));--landing-h:332px;--landing-top:92px;--disc:400px;--frame-top:16px;--frame-h:calc(100svh - 16px - var(--bar-h) - env(safe-area-inset-bottom) - 8px);--beat:1svh;--pad-bottom:64px;--gap-head:24px;--gap-panel:16px;--radius-sm:6px;--radius:12px;--radius-lg:16px;--control-primary:48px;--control:44px;--control-row:56px;--z-decor:1;--z-content:2;--z-header:30;--z-bar:40;--z-skip:60;--ease-out:cubic-bezier(.16, 1, .3, 1);--motion-scale:.8;--dur-fast:calc(.12s * var(--motion-scale));--dur:calc(.32s * var(--motion-scale));--dur-slow:calc(.6s * var(--motion-scale));--dur-first-light:.8s;--font-sans:var(--font-plex-sans), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-plex-mono), ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--font-arabic:"Geeza Pro", "Noto Naskh Arabic", "Segoe UI", Tahoma, sans-serif}@media (min-width:768px){:root{--gutter:24px;--hero-column:640px;--pad-bottom:80px;--motion-scale:1}}@media (min-width:1024px){:root{--gutter:32px;--hero-column:640px;--seam:200px;--seam-geo:440px;--pad-bottom:96px;--gap-head:32px;--gap-panel:24px;--apex-read:calc(100vh - 8px);--apex-pass:calc(100vh - 220px);--vp-bottom:100dvh;--moon:360px;--moon-lane:calc(100cqw - 24px);--passage-karman:60vh;--passage-pullback:calc(100vh - var(--header-h));--landing-h:360px;--landing-top:0px;--frame-top:80px;--frame-h:calc(100vh - 80px);--beat:1vh}}@media (min-width:1440px){:root{--moon-lane:calc(100cqw - 80px)}}*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;background:var(--void);scroll-padding-top:16px;scroll-padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom) + 8px)}@media (min-width:1024px){html{scroll-padding-top:80px;scroll-padding-bottom:0}}@supports (timeline-scope:--a) and (animation-timeline:view()){html{timeline-scope:--t-top,--t-about,--t-karman,--t-experience,--t-experience-body,--t-skills,--t-pullback,--t-projects,--t-projects-body,--t-faq,--t-landing,--t-contact,--r-about,--r-experience,--r-skills,--r-projects,--r-faq}}:root[data-motion=allow]{scroll-behavior:smooth}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]){scroll-behavior:smooth}}:root.lenis{scroll-behavior:auto}:root.lenis,:root.lenis body{height:auto}body{background:var(--void);min-height:100svh;color:var(--star);font-family:var(--font-sans);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.0625rem;line-height:1.6;overflow-x:clip}@media (min-width:768px){body{font-size:1.125rem;line-height:1.65}}h1,h2,h3{text-wrap:balance;font-weight:600}h3{font-size:1.125rem;line-height:1.3}@media (min-width:1024px){h3{font-size:1.25rem}}p,li,dd{text-wrap:pretty}ul,ol{padding:0}img,picture{max-width:100%;height:auto;display:block}a{color:var(--ion);text-underline-offset:3px;transition:color var(--dur-fast) linear;text-decoration-line:underline;text-decoration-thickness:1px}@media (hover:hover) and (pointer:fine){a:hover{color:var(--ion-hover);text-decoration-thickness:2px}}:focus-visible{outline:2px solid var(--star);outline-offset:2px}::selection{background:var(--ion);color:var(--void)}button{font:inherit;color:inherit}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.nowrap{white-space:nowrap}.container{width:100%;max-width:calc(var(--container) + 2*var(--gutter));padding-inline:max(var(--gutter),env(safe-area-inset-left)) max(var(--gutter),env(safe-area-inset-right));margin-inline:auto}.btn{min-height:var(--control-primary);border-radius:var(--radius);font:500 1rem/1.2 var(--font-sans);text-align:center;touch-action:manipulation;-webkit-tap-highlight-color:#0000;cursor:pointer;transition:background-color var(--dur-fast) linear,border-color var(--dur-fast) linear,color var(--dur-fast) linear;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:0 20px;text-decoration:none;display:inline-flex}.btn svg{flex:none;width:18px;height:18px}:root[data-motion=allow] .btn:active{transition-duration:80ms;transform:scale(.98)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .btn:active{transition-duration:80ms;transform:scale(.98)}}.btn-primary{isolation:isolate;background:var(--action-fill);color:var(--void);box-shadow:inset 0 1px 0 #ffffff73,0 12px 30px -14px var(--action-glow);font-weight:600;position:relative;overflow:hidden}.btn-primary:before,.btn-primary:after{content:"";z-index:-1;pointer-events:none;position:absolute}.btn-primary:before{background:var(--action-fill-hover);opacity:0;inset:0}.btn-primary:after{background:linear-gradient(100deg,#0000,#ffffff8c,#0000);width:40%;top:0;bottom:0;left:0;transform:translate(-130%)skew(-18deg)}@media (hover:hover) and (pointer:fine){.btn-primary:hover{color:var(--void)}.btn-primary:hover:before{opacity:1}}.btn-primary:active:before{background:var(--action-fill-pressed);opacity:1}:root[data-motion=allow] .btn-primary{transition:box-shadow var(--dur) var(--ease-out),transform var(--dur-fast) linear}:root[data-motion=allow] .btn-primary:before{transition:opacity var(--dur) var(--ease-out)}@media (hover:hover) and (pointer:fine){:root[data-motion=allow] .btn-primary:hover{box-shadow:inset 0 1px 0 #ffffff8c,0 16px 40px -12px var(--action-glow)}:root[data-motion=allow] .btn-primary:hover:after{transition:transform .9s var(--ease-out);transform:translate(330%)skew(-18deg)}:root[data-motion=allow] .btn-primary:hover .btn-go{transform:translate(4px)}}:root[data-motion=allow] .btn-primary .btn-go{transition:transform var(--dur) var(--ease-out)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .btn-primary{transition:box-shadow var(--dur) var(--ease-out),transform var(--dur-fast) linear}:root:not([data-motion]) .btn-primary:before{transition:opacity var(--dur) var(--ease-out)}}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){:root:not([data-motion]) .btn-primary:hover{box-shadow:inset 0 1px 0 #ffffff8c,0 16px 40px -12px var(--action-glow)}:root:not([data-motion]) .btn-primary:hover:after{transition:transform .9s var(--ease-out);transform:translate(330%)skew(-18deg)}:root:not([data-motion]) .btn-primary:hover .btn-go{transform:translate(4px)}}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .btn-primary .btn-go{transition:transform var(--dur) var(--ease-out)}}@media (max-width:359.98px){.btn-go{display:none}}.btn-secondary{border-color:var(--moonlight);color:var(--star);background:0 0}@media (hover:hover) and (pointer:fine){.btn-secondary:hover{border-color:var(--star);color:var(--star);background:#f8fafc0f}}section:focus,ol:focus,div:focus,article:focus{outline:none}.skip-link{z-index:var(--z-skip);border-radius:var(--radius);background:var(--action-fill);color:var(--void);padding:12px 16px;font-weight:600;text-decoration:none;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus,.skip-link:focus-visible{color:var(--void);transform:none}@supports (animation-timeline:view()){:root[data-motion=allow] [data-reveal]{animation:linear forwards reveal-up;animation-timeline:view();animation-range:entry entry 40%}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) [data-reveal]{animation:linear forwards reveal-up;animation-timeline:view();animation-range:entry entry 40%}}}:root.no-sda[data-motion=allow] [data-reveal].in:not(.still){animation:reveal-up .48s var(--ease-out) both}@keyframes reveal-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (forced-colors:active),print{[data-decor]{display:none!important}}[data-assumed]{text-decoration-line:underline;text-decoration-style:dashed;-webkit-text-decoration-color:var(--ignition);text-decoration-color:var(--ignition);text-underline-offset:4px;text-decoration-thickness:1px}
.stage{display:none}@supports (timeline-scope:--a) and (animation-timeline:view()){:root[data-motion=allow] .stage{z-index:0;background:var(--void);contain:strict;pointer-events:none;height:100lvh;margin-bottom:-100lvh;display:block;position:sticky;top:0;overflow:clip;container-type:size}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .stage{z-index:0;background:var(--void);contain:strict;pointer-events:none;height:100lvh;margin-bottom:-100lvh;display:block;position:sticky;top:0;overflow:clip;container-type:size}}}.stage>[class]{position:absolute}.stage .stage-sky{background:linear-gradient(var(--void) 0, var(--zenith) 60%, #101a30 100%);will-change:opacity;animation:linear forwards sky-about;animation-timeline:--t-about;animation-range:entry;inset:0}@keyframes sky-about{0%,40%{opacity:1}to{opacity:0}}.stage .stage-twilight{background:var(--twilight);opacity:0;animation:linear forwards twilight-about,linear forwards twilight-karman;animation-timeline:--t-about,--t-karman;animation-range:entry,entry;inset:0}@keyframes twilight-about{0%,40%{opacity:0}to{opacity:1}}@keyframes twilight-karman{0%{opacity:1}30%,to{opacity:0}}.stage .stage-stars-far,.stage .stage-stars-near{inset:0 calc(-1*var(--stream)) -12% 0;opacity:0;animation:linear both drift-far,linear forwards stars-in,linear forwards stream-exp,linear forwards stream-skills,linear forwards stream-projects;animation-timeline:scroll(root),--t-karman,--r-experience,--r-skills,--r-projects;animation-range:normal,entry,contain,contain,contain}.stage .stage-stars-far{--stream:320px}.stage .stage-stars-near{--stream:960px}@keyframes stream-exp{0%{translate:0}to{translate:calc(-.5*var(--stream)) 0}}@keyframes stream-skills{0%{translate:calc(-.5*var(--stream)) 0}to{translate:calc(-.75*var(--stream)) 0}}@keyframes stream-projects{0%{translate:calc(-.75*var(--stream)) 0}to{translate:calc(-1*var(--stream)) 0}}.stage .stage-stars-far{background:url(/stars/far-sm.svg) 0 0/512px}@media (min-width:1024px){.stage .stage-stars-far{background:url(/stars/far-lg.svg) 0 0/640px}}.stage .stage-stars-near{will-change:transform;background:url(/stars/near-sm.svg) 0 0/768px;animation-name:drift-near,stars-in,stream-exp,stream-skills,stream-projects}@media (min-width:1024px){.stage .stage-stars-near{background:url(/stars/near-lg.svg) 0 0/960px}}@property --stars{syntax:"<number>";inherits:false;initial-value:0}.stage .stage-gl{width:100%;height:100%;animation:linear forwards stars-level;animation-timeline:--t-karman;animation-range:entry;display:none;inset:0}@keyframes stars-level{0%,10%{--stars:0}50%,to{--stars:1}}:root.sky-gl .stage .stage-gl{display:block}:root.sky-gl .stage .stage-stars-far,:root.sky-gl .stage .stage-stars-near{display:none}@keyframes drift-far{to{transform:translateY(-6%)}}@keyframes drift-near{to{transform:translateY(-10.7%)}}@keyframes stars-in{0%,10%{opacity:0}50%,to{opacity:1}}.stage .stage-limb100,.stage .stage-limb400{opacity:0;width:100%;height:220px;left:0;overflow:clip;-webkit-mask-image:linear-gradient(#000 0% 55%,#0000 100%);mask-image:linear-gradient(#000 0% 55%,#0000 100%)}@media (min-width:1024px){.stage .stage-limb100,.stage .stage-limb400{height:240px}}.stage .stage-limb100{will-change:transform;animation:linear forwards limb100-karman,linear forwards limb100-skills;animation-timeline:--t-karman,--r-skills;animation-range:entry,entry;transform:translateY(calc(100svh + 12px))}@keyframes limb100-karman{0%,15%{opacity:0;transform:translateY(calc(100svh + 12px))}30%{opacity:1}55%,85%{transform:translateY(calc(var(--apex-pass) - 28px));opacity:1}to{transform:translateY(calc(var(--apex-read) - 28px));opacity:1}}@keyframes limb100-skills{0%,60%{opacity:1}95%,to{opacity:0}}.stage .stage-limb400{transform:translateY(calc(var(--apex-read) - 22px));animation:linear forwards limb400-skills,linear forwards limb400-pullback;animation-timeline:--r-skills,--t-pullback;animation-range:entry,entry}@media (min-width:1024px){.stage .stage-limb400{animation-name:limb400-skills,limb400-pullback-lg}}@keyframes limb400-skills{0%,60%{opacity:0}95%,to{opacity:1}}@keyframes limb400-pullback{0%{transform:translateY(calc(var(--apex-read) - 22px));opacity:1}45%{opacity:1}60%,to{opacity:0;transform:translateY(calc(56svh - 157px))}}@keyframes limb400-pullback-lg{0%{transform:translateY(calc(var(--apex-read) - 22px));opacity:1}45%{opacity:1}60%,to{opacity:0;transform:translateY(calc(50vh - 182px))}}.stage .stage-disc{width:var(--disc);margin:calc(-.5*var(--disc)) 0 0 calc(-.5*var(--disc));opacity:0;transform-origin:50%;will-change:transform;animation:linear forwards disc-pullback,linear forwards disc-projects,linear forwards disc-faq,linear forwards disc-landing;animation-timeline:--t-pullback,--t-projects-body,--t-faq,--t-landing;animation-range:entry,entry,entry,entry;top:0;left:0;transform:translate(50cqw,56svh)scale(.8)rotate(12deg)}@media (min-width:1024px){.stage .stage-disc{animation-name:disc-pullback-lg,disc-projects-lg,disc-faq-lg,disc-landing-lg;transform:translate(50cqw,50vh)scale(1)rotate(12deg)}}@keyframes disc-pullback{0%,45%{opacity:0;transform:translate(50cqw,56svh)scale(.8)rotate(12deg)}60%{opacity:1}to{opacity:1;transform:translate(50cqw,56svh)scale(.675)rotate(0)}}@keyframes disc-projects{0%{transform:translate(50cqw,56svh)scale(.675)rotate(0)}30%,to{transform:translate(calc(100cqw - 40px),80px)scale(.28)rotate(0)}}@keyframes disc-faq{0%{transform:translate(calc(100cqw - 40px),80px)scale(.28)rotate(0)}to{transform:translate(calc(100cqw - 40px),78px)scale(.28)rotate(0)}}@keyframes disc-landing{0%{opacity:1;transform:translate(calc(100cqw - 40px),78px)scale(.28)rotate(0)}97%{opacity:1}to{transform:translate(calc(max(var(--gutter), (100cqw - var(--container)) / 2) + 72px), calc(var(--vp-bottom) - var(--landing-h) + var(--landing-top) + 80px)) scale(.28) rotate(0deg);opacity:0}}@keyframes disc-pullback-lg{0%,45%{opacity:0;transform:translate(50cqw,50vh)scale(1)rotate(12deg)}60%{opacity:1}to{opacity:1;transform:translate(50cqw,50vh)scale(.8)rotate(0)}}@keyframes disc-projects-lg{0%{transform:translate(50cqw,50vh)scale(.8)rotate(0)}30%,to{transform:translate(calc(100cqw - 160px),200px)scale(.4)rotate(0)}}@keyframes disc-faq-lg{0%{transform:translate(calc(100cqw - 160px),200px)scale(.4)rotate(0)}to{transform:translate(calc(100cqw - 160px),198px)scale(.4)rotate(0)}}@keyframes disc-landing-lg{0%{opacity:1;transform:translate(calc(100cqw - 160px),198px)scale(.4)rotate(0)}97%{opacity:1}to{transform:translate(calc(max(var(--gutter), (100cqw - var(--container)) / 2) + 80px), calc(var(--vp-bottom) - var(--landing-h) + var(--landing-top) + 180px)) scale(.4) rotate(0deg);opacity:0}}.stage .stage-karman{background:var(--ignition);transform-origin:0;width:100%;height:1px;animation:linear forwards karman-karman,linear forwards karman-body;animation-timeline:--t-karman,--t-experience-body;animation-range:entry,entry;top:0;left:0;transform:translateY(calc(100svh + 39px))scaleX(0)}@keyframes karman-karman{0%,15%{transform:translateY(calc(100svh + 39px))scaleX(0)}55%{transform:translateY(calc(var(--apex-pass) - 1px)) scaleX(0)}78%,85%{transform:translateY(calc(var(--apex-pass) - 1px)) scaleX(1)}to{transform:translateY(calc(var(--apex-read) - 1px)) scaleX(1)}}@keyframes karman-body{0%{opacity:1}20%,to{opacity:0}}.stage .stage-spark{opacity:0;width:100%;height:3px;transform:translate(-100%, calc(var(--apex-pass) - 2px));animation:linear forwards spark-karman;animation-timeline:--t-karman;animation-range:entry;top:0;left:0}.stage .stage-spark:after{content:"";background:var(--ignition);width:4px;height:3px;box-shadow:0 0 6px var(--ignition);position:absolute;top:0;right:0}@keyframes spark-karman{0%,55%{transform:translate(-100%, calc(var(--apex-pass) - 2px));opacity:0}57%{transform:translate(-92%, calc(var(--apex-pass) - 2px));opacity:1}76%{transform:translate(-8%, calc(var(--apex-pass) - 2px));opacity:1}78%,to{transform:translate(0, calc(var(--apex-pass) - 2px));opacity:0}}.stage .stage-sat{background:var(--star);opacity:0;border-radius:50%;width:3px;height:3px;animation:linear forwards sat-skills;animation-timeline:--t-skills;animation-range:entry;top:0;left:0;transform:translate(-40px,14px)}.stage .stage-sat:before{content:"";background:#94a3b866;width:28px;height:1px;position:absolute;top:1px;right:6px}@media (min-width:1024px){.stage .stage-sat{animation-name:sat-skills-lg;transform:translate(-60px,72px)}}@keyframes sat-skills{0%,20%{opacity:0;transform:translate(-40px,14px)}24%{opacity:1}96%{opacity:1}to{opacity:0;transform:translate(calc(100cqw + 40px),6px)}}@keyframes sat-skills-lg{0%,20%{opacity:0;transform:translate(-60px,72px)}24%{opacity:1}96%{opacity:1}to{opacity:0;transform:translate(calc(100cqw + 60px),68px)}}.stage .stage-moon{opacity:0;will-change:transform;transform:translate(var(--moon-lane), calc(100svh + 40px)) scale(.1);animation:linear forwards moon-about,linear forwards moon-karman,linear forwards moon-body,linear forwards moon-reel,linear forwards moon-skills,linear forwards moon-pullback,linear forwards moon-projects,linear forwards moon-faq,linear forwards moon-landing;animation-timeline:--t-about,--t-karman,--r-experience,--r-experience,--t-skills,--t-pullback,--t-projects-body,--t-faq,--t-landing;animation-range:entry,entry,entry,contain,entry,entry,entry,entry,entry}@media (min-width:1024px){.stage .stage-moon{animation-name:moon-about,moon-karman,moon-body-lg,moon-reel-lg,moon-skills-lg,moon-pullback,moon-projects,moon-faq,moon-landing}}@keyframes moon-about{0%{transform:translate(var(--moon-lane), calc(100svh + 40px)) scale(.1);opacity:0}15%{opacity:1}to{transform:translate(var(--moon-lane), 48svh) scale(.1);opacity:1}}@keyframes moon-karman{0%{transform:translate(var(--moon-lane), 48svh) scale(.1)}45%{transform:translate(46cqw,64svh)scale(.16)}to{transform:translate(var(--moon-lane), 30svh) scale(.14)}}@keyframes moon-body{0%{transform:translate(var(--moon-lane), 30svh) scale(.14)}to{transform:translate(var(--moon-lane), 26svh) scale(.14)}}@keyframes moon-reel{0%{transform:translate(var(--moon-lane), 26svh) scale(.14)}to{transform:translate(var(--moon-lane), 26svh) scale(.14)}}@keyframes moon-body-lg{0%{transform:translate(var(--moon-lane), 30svh) scale(.14)}to{transform:translate(var(--moon-lane), 112px) scale(.14)}}@keyframes moon-reel-lg{0%{transform:translate(var(--moon-lane), 112px) scale(.14)}to{transform:translate(calc(var(--moon-lane) - 2cqw), 112px) scale(.14)}}@keyframes moon-skills-lg{0%{transform:translate(calc(var(--moon-lane) - 2cqw), 112px) scale(.14)}to{transform:translate(var(--moon-lane), 20svh) scale(.18)}}@keyframes moon-skills{0%{transform:translate(var(--moon-lane), 26svh) scale(.14)}to{transform:translate(var(--moon-lane), 20svh) scale(.18)}}@keyframes moon-pullback{0%{transform:translate(var(--moon-lane), 20svh) scale(.18)}to{transform:translate(var(--moon-lane), 14svh) scale(.18)}}@keyframes moon-projects{0%{transform:translate(var(--moon-lane), 14svh) scale(.18)}to{transform:translate(var(--moon-lane), 44svh) scale(.22)}}@keyframes moon-faq{0%{transform:translate(var(--moon-lane), 44svh) scale(.22)}to{transform:translate(var(--moon-lane), 40svh) scale(.3)}}@keyframes moon-landing{0%{transform:translate(var(--moon-lane), 40svh) scale(.3);opacity:1}97%{opacity:1}to{transform:translate(calc(100cqw - max(var(--gutter), (100cqw - var(--container)) / 2) - .4 * var(--moon)), calc(var(--vp-bottom) - var(--landing-h) + var(--landing-top) + .5 * var(--moon))) scale(1);opacity:0}}.stage .stage-readout{top:calc(100svh - var(--bar-h) - env(safe-area-inset-bottom) - 24px);writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--moonlight);font-size:.75rem;font-weight:500;line-height:1.4;display:grid;left:2px;transform:translateY(-100%)}.stage .stage-readout>span{opacity:0;grid-area:1/1}.stage .stage-readout>span:after{content:attr(data-label)}@media (min-width:1024px){.stage .stage-readout{top:calc(100svh - 24px);left:8px}}@media (min-width:1440px){.stage .stage-readout{display:none}}.stage .stage-label0{opacity:1;animation:linear forwards label-out-early;animation-timeline:--t-about;animation-range:entry}.stage .stage-label1{animation:linear forwards label-in-early,linear forwards label-out-late;animation-timeline:--t-about,--t-karman;animation-range:entry,entry}.stage .stage-label2{animation:linear forwards label-in-late,linear forwards label-out-early;animation-timeline:--t-karman,--t-skills;animation-range:entry,entry}.stage .stage-label3{animation:linear forwards label-in-early,linear forwards label-out-late;animation-timeline:--t-skills,--t-pullback;animation-range:entry,entry}.stage .stage-label4{animation:linear forwards label-in-late,linear forwards label-out-early;animation-timeline:--t-pullback,--t-landing;animation-range:entry,entry}.stage .stage-label5{animation:linear forwards label-in-early;animation-timeline:--t-landing;animation-range:entry}@keyframes label-in-early{0%{opacity:0}20%,to{opacity:1}}@keyframes label-out-early{0%{opacity:1}20%,to{opacity:0}}@keyframes label-in-late{0%,60%{opacity:0}80%,to{opacity:1}}@keyframes label-out-late{0%,60%{opacity:1}80%,to{opacity:0}}
@keyframes film-in{0%{translate:var(--in-x,0px) 0}to{translate:0}}@keyframes film-out{0%{translate:0}to{translate:var(--out-x,0px) 0}}@keyframes film-s1{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 1,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 1,1))}}@keyframes film-s2{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 2,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 2,1))}}@keyframes film-s3{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 3,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 3,1))}}@keyframes film-s4{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 4,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 4,1))}}@keyframes film-s5{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 5,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 5,1))}}@keyframes film-s6{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 6,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 6,1))}}@keyframes film-s7{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 7,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 7,1))}}@keyframes film-s8{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 8,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 8,1))}}@keyframes film-s9{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 9,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 9,1))}}@keyframes film-s10{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 10,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 10,1))}}@keyframes film-s11{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 11,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 11,1))}}@keyframes film-s12{0%{translate:0}to{translate:calc(var(--sx,0px)*clamp(0,var(--n) - 12,1)) calc(var(--sy,0px)*clamp(0,var(--n) - 12,1))}}@keyframes film-turn-in{0%{transform:perspective(1400px) rotateY(var(--turn-in,-12deg)) translateZ(var(--lift-in,0px));opacity:var(--o-in,1)}to{opacity:1;transform:none}}@keyframes film-turn-out{0%{opacity:1;transform:none}to{transform:perspective(1400px) rotateY(var(--turn-out,14deg));opacity:var(--o-out,0)}}@keyframes film-fade-in{0%{opacity:0}to{opacity:1}}@keyframes film-fade-out{0%{opacity:1}to{opacity:0}}@keyframes film-wipe{0%{opacity:0;transform:translate(100cqw)}15%,80%{opacity:.85}to{opacity:0;transform:translate(-12px)}}@keyframes film-caret{50%{opacity:0}}.reel{view-timeline-name:--reel,var(--r)}.reel-giant,.reel-words,.reel-pager{display:none}.reel-prompt{margin-top:16px}.reel-prompt a{min-height:var(--control);align-items:center;display:inline-flex}@supports (timeline-scope:--a) and (animation-timeline:view()){@media (min-height:37.5em){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]){--E:24;--R:28;--M:26;--L:32;--X:24;--T:calc(var(--E) + var(--n) * var(--R) + (var(--n) - 1) * var(--M) + var(--L) - var(--R) + var(--X));height:calc(var(--frame-h) + var(--T)*var(--beat));pointer-events:none;max-width:none;margin-inline:0;padding-inline:0}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-enter=no]{--E:0}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-exit=no]{--X:0}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-frame{top:var(--frame-top);gap:var(--frame-gap,20px);height:var(--frame-h);padding-top:var(--frame-pad,16px);flex-direction:column;display:flex;position:sticky;overflow-x:clip;container-type:inline-size}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-frame:before{content:"";background:linear-gradient(transparent, var(--ion) 20%, var(--ion) 80%, transparent);opacity:0;width:2px;animation:linear both film-wipe;animation-timeline:--reel;animation-range:contain 0% contain calc((var(--E)) / var(--T) * 100%);position:absolute;top:8%;bottom:8%;left:0;box-shadow:0 0 18px 2px #60a5fa73}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-enter=no] .reel-frame:before{content:none}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager,:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-window{--pad-l:max(var(--gutter), env(safe-area-inset-left));--pad-r:max(var(--gutter), env(safe-area-inset-right));--p:min(100cqw - 40px, 560px);--g:16px;--step:calc(-1 * (var(--p) + var(--g)));--in:calc(100cqw - var(--pad-l));--out:calc(-1 * (var(--pad-l) + var(--p) + 24px))}}@media (min-height:37.5em) and (min-width:1024px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager,:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-window{--pad-l:max(var(--gutter), (100cqw - var(--container)) / 2);--pad-r:var(--pad-l);--p:min(720px, 100cqw - 2 * var(--pad-l) - 120px);--g:48px}}@media (min-height:37.5em){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-corner]{--frame-pad:132px}}@media (min-height:37.5em) and (min-width:1024px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-corner]{--frame-pad:16px}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-corner] .reel-window{-webkit-mask-image:linear-gradient(to right, transparent calc(var(--pad-l) - 136px), #000 calc(var(--pad-l) - 16px), #000 calc(100% - 300px), transparent calc(100% - 232px));mask-image:linear-gradient(to right, transparent calc(var(--pad-l) - 136px), #000 calc(var(--pad-l) - 16px), #000 calc(100% - 300px), transparent calc(100% - 232px))}}@media (min-height:37.5em){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-enter=no] .reel-window{--in:0px}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-exit=no] .reel-window{--out:0px}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager{padding-inline:var(--pad-l);pointer-events:auto;animation-name:film-fade-in,film-fade-out;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both,forwards;animation-timeline:--reel;animation-range:contain 0% contain calc((var(--E))/var(--T)*100%),contain calc((var(--T) - var(--X))/var(--T)*100%) contain 100%;flex-direction:column;gap:8px;display:flex}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-exit=no] .reel-pager{animation-name:film-fade-in,none}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-window{flex-direction:column;flex:auto;justify-content:center;min-height:0;display:flex;position:relative}}@media (min-height:37.5em) and (min-width:1440px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-window{-webkit-mask-image:linear-gradient(to right, transparent calc(var(--pad-l) - 136px), #000 calc(var(--pad-l) - 16px));mask-image:linear-gradient(to right, transparent calc(var(--pad-l) - 136px), #000 calc(var(--pad-l) - 16px))}}@media (min-height:37.5em){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-track,:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-words,:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-roll,:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-fill{animation-name:film-in,film-s1,film-s2,film-s3,film-s4,film-s5,film-s6,film-s7,film-s8,film-s9,film-s10,film-s11,film-s12,film-out;animation-duration:auto;animation-composition:add;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--reel;animation-range:contain 0% contain calc((var(--E))/var(--T)*100%),contain calc((var(--E) + 1 * var(--R) + 0 * var(--M))/var(--T)*100%) contain calc((var(--E) + 1 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 2 * var(--R) + 1 * var(--M))/var(--T)*100%) contain calc((var(--E) + 2 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 3 * var(--R) + 2 * var(--M))/var(--T)*100%) contain calc((var(--E) + 3 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 4 * var(--R) + 3 * var(--M))/var(--T)*100%) contain calc((var(--E) + 4 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 5 * var(--R) + 4 * var(--M))/var(--T)*100%) contain calc((var(--E) + 5 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 6 * var(--R) + 5 * var(--M))/var(--T)*100%) contain calc((var(--E) + 6 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 7 * var(--R) + 6 * var(--M))/var(--T)*100%) contain calc((var(--E) + 7 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 8 * var(--R) + 7 * var(--M))/var(--T)*100%) contain calc((var(--E) + 8 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 9 * var(--R) + 8 * var(--M))/var(--T)*100%) contain calc((var(--E) + 9 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 10 * var(--R) + 9 * var(--M))/var(--T)*100%) contain calc((var(--E) + 10 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 11 * var(--R) + 10 * var(--M))/var(--T)*100%) contain calc((var(--E) + 11 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--E) + 12 * var(--R) + 11 * var(--M))/var(--T)*100%) contain calc((var(--E) + 12 * (var(--R) + var(--M)))/var(--T)*100%),contain calc((var(--T) - var(--X))/var(--T)*100%) contain 100%}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-title{padding-inline:0}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-track{--sx:var(--step);--in-x:var(--in);--out-x:var(--out);z-index:1;align-items:flex-start;gap:var(--g);width:max-content;max-width:none;padding:0 var(--pad-r) 0 var(--pad-l);margin:0;display:flex;position:relative}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-group]{align-items:flex-start;gap:var(--g);width:auto;max-width:none;margin:0;padding:0;display:flex}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item],:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-words>span,:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node{--last:clamp(0, var(--i) - var(--n) + 1, 1);--a:calc((var(--E) + (var(--i) - 1) * var(--R) + (var(--i) - 2) * var(--M)) / var(--T) * 100%);--b:calc((var(--E) + (var(--i) - 1) * (var(--R) + var(--M))) / var(--T) * 100%);--c:calc((var(--E) + var(--i) * var(--R) + (var(--i) - 1) * var(--M) + var(--last) * (var(--L) - var(--R))) / var(--T) * 100%);--d:calc(var(--c) + calc((var(--M) + var(--last) * (var(--X) - var(--M))) / var(--T) * 100%))}}@media (min-height:37.5em) and (max-height:720px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]){--frame-gap:12px;--frame-pad:8px}}@media (min-height:37.5em){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-reel-item]{pointer-events:auto;flex:0 0 var(--p);width:var(--p);transform-origin:0;max-width:none;animation-name:film-turn-in,film-turn-out;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both,forwards;animation-timeline:--reel;animation-range:contain var(--a) contain var(--b),contain var(--c) contain var(--d);margin:0}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file]{background:linear-gradient(180deg, #151a27 0, var(--surface) 120px);border:1px solid #263248;border-radius:14px;padding:46px 16px 18px;font-size:1rem;line-height:1.6;position:relative;box-shadow:0 30px 60px -30px #000000d9,inset 0 1px #f8fafc0a}}@media (min-height:37.5em) and (min-width:768px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file]{padding:56px 24px 24px;font-size:1.0625rem;line-height:1.65}}@media (min-height:37.5em) and (min-width:1024px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file]{padding:60px 32px 30px;font-size:1.125rem;line-height:1.7}}@media (min-height:37.5em) and (min-width:1024px) and (max-height:720px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file]{padding:50px 28px 20px;line-height:1.6}}@media (min-height:37.5em){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file]:after{content:attr(data-file);content:attr(data-file)/"";width:auto;box-shadow:none;opacity:1;height:var(--bar,32px);border-bottom:1px solid var(--hairline);background:radial-gradient(circle at 18px 50%, var(--flare) 0 4.5px, transparent 5px),radial-gradient(circle at 36px 50%, var(--ignition) 0 4.5px, transparent 5px),radial-gradient(circle at 54px 50%, var(--ion) 0 4.5px, transparent 5px),#10131c;font-family:var(--font-mono);letter-spacing:.02em;color:var(--moonlight);white-space:nowrap;text-overflow:ellipsis;border-radius:14px 14px 0 0;align-items:center;padding-left:70px;font-size:.75rem;font-weight:500;animation:none;display:flex;position:absolute;inset:0 0 auto;overflow:hidden;transform:none}}@media (min-height:37.5em) and (min-width:768px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file]{--bar:36px}}@media (min-height:37.5em){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file] h3,:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file] h4{font-size:1.1875rem;line-height:1.25}}@media (min-height:37.5em) and (min-width:768px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file] h3,:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file] h4{font-size:1.25rem}}@media (min-height:37.5em) and (min-width:1024px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file] h3,:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) [data-reel-item][data-file] h4{font-size:1.5rem}}@media (min-height:37.5em){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-enter=no] .reel-track>[data-reel-item]:first-child{animation-name:none,film-turn-out}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no])[data-exit=no] [data-reel-item]:last-child{animation-name:film-turn-in,none}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-words{--sx:calc(.6 * var(--step));--in-x:calc(.6 * var(--in));--out-x:calc(.6 * var(--out));z-index:0;pointer-events:none;display:block;position:absolute;inset:0}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-words>span{bottom:0;left:calc(var(--pad-l) + .6*(var(--i) - 1)*(var(--p) + var(--g)));letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;color:var(--blue-hour);animation-name:film-fade-in,film-fade-out;animation-duration:auto;animation-timing-function:linear;animation-fill-mode:both,forwards;animation-timeline:--reel;animation-range:contain calc((var(--a) + var(--b))/2) contain var(--b),contain var(--c) contain calc((var(--c) + var(--d))/2);font-size:clamp(64px,16cqw,200px);font-weight:600;font-stretch:85%;line-height:.8;position:absolute}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-words>span:before{content:attr(data-word)}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-labels{height:1.1375rem;overflow:clip}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-roll{--sy:calc(-100% / var(--n));display:block}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-rail{overflow:clip}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-fill{--sx:calc(100% / (var(--n) - 1));translate:-100%}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:after{animation:linear both film-fade-in;animation-timeline:--reel;animation-range:contain var(--a) contain var(--b)}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(2):after{animation:none}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(2){--i:1}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(3){--i:2}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(4){--i:3}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(5){--i:4}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(6){--i:5}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(7){--i:6}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(8){--i:7}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(9){--i:8}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(10){--i:9}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(11){--i:10}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(12){--i:11}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(13){--i:12}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-pager-node:nth-child(14){--i:13}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-giant{font-size:min(var(--giant-max,104px),var(--p)/(var(--len)*.54));letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap;color:var(--star);margin:4px 0 20px;font-weight:600;font-stretch:85%;line-height:.82;display:block}}@media (min-height:37.5em) and (min-width:1024px){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-giant{--giant-max:200px;margin-bottom:28px}}@media (min-height:37.5em){:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-giant:before{content:attr(data-word)}:root[data-motion=allow] .reel[data-reel]:not([data-fit=no]) .reel-giant:after{content:"";background:var(--ion);vertical-align:baseline;width:.09em;height:.74em;margin-left:.08em;animation:1.1s step-end infinite film-caret;display:inline-block}}}@supports (timeline-scope:--a) and (animation-timeline:view()) and selector(:has(*)){@media (min-height:37.5em){:root[data-motion=allow] [data-film]:has(.reel[data-reel]:not([data-fit=no])){padding-top:0;padding-bottom:0}:root[data-motion=allow] [data-film]:has(.reel[data-reel]:not([data-fit=no]))+[data-film][data-overlap]:has(.reel[data-reel]:not([data-fit=no])){margin-top:calc(-1*var(--frame-h))}}}.reel-pager-roll>span:after{content:attr(data-label);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;color:var(--star);font-size:.8125rem;font-weight:500;line-height:1.4;display:block}.reel-pager-rail{width:calc(20px*var(--n,3) + 20px);justify-content:space-between;align-items:center;height:8px;display:flex;position:relative}.reel-pager-rail:before{content:"";background:var(--hairline);height:1px;position:absolute;inset:3.5px 4px auto}.reel-pager-fill{background:var(--action);height:1px;position:absolute;inset:3.5px 4px auto}.reel-pager-node{border:1px solid var(--moonlight);background:var(--void);border-radius:50%;width:8px;height:8px;position:relative}.reel-pager-node:after{content:"";background:var(--action);opacity:0;border-radius:50%;position:absolute;inset:-1px}.reel-pager-node:nth-child(2):after{opacity:1}:root.fx .reel .reel-title [data-reveal],:root[data-motion=reduce] .reel-giant:after{animation:none}@media print{.reel-pager,.reel-words,.reel-giant{display:none!important}}
.swap{white-space:nowrap;display:inline-block;position:relative}.swap-a>span,.swap-b>span{display:inline-block}.swap-b{font-family:var(--font-mono);color:var(--ion-hover);text-shadow:0 0 8px #60a5fab3,0 0 22px #60a5fa66;pointer-events:none;font-weight:500;position:absolute;top:0;left:0}.swap-b>span{opacity:0;filter:blur(4px);translate:0 70%}.swap-b>span:before{content:attr(data-c);content:attr(data-c)/""}.swap-b>.swap-arrow{margin-left:.4em;position:absolute;top:0;left:100%;translate:-10px}@media (hover:hover) and (pointer:fine){a:hover .swap .swap-a>span{opacity:0;filter:blur(5px);translate:0 -70%}a:hover .swap .swap-b>span{opacity:1;filter:none;translate:none}}a:focus-visible .swap .swap-a>span,a[data-hit] .swap .swap-a>span{opacity:0;filter:blur(5px);translate:0 -70%}a:focus-visible .swap .swap-b>span,a[data-hit] .swap .swap-b>span{opacity:1;filter:none;translate:none}:root[data-motion=allow] .swap-a>span,:root[data-motion=allow] .swap-b>span{transition:translate .5s cubic-bezier(.2,.7,.2,1),opacity .35s,filter .4s;transition-delay:calc(var(--i,0)*38ms)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .swap-a>span,:root:not([data-motion]) .swap-b>span{transition:translate .5s cubic-bezier(.2,.7,.2,1),opacity .35s,filter .4s;transition-delay:calc(var(--i,0)*38ms)}}:root[data-motion=allow] .swap-b>.swap-arrow{transition:translate .55s cubic-bezier(.2,.7,.2,1) .22s,opacity .4s .22s,filter .4s .22s}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .swap-b>.swap-arrow{transition:translate .55s cubic-bezier(.2,.7,.2,1) .22s,opacity .4s .22s,filter .4s .22s}}.menu-pill{min-height:var(--control);border:1px solid var(--moonlight);color:var(--star);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:#0000;background:#0b0b1073;border-radius:999px;justify-content:center;align-items:center;padding:0 16px 0 18px;display:inline-flex;position:relative}@media (hover:hover) and (pointer:fine){.menu-pill:hover{border-color:var(--star);background:#f8fafc14}}.menu-pill:focus-visible{outline:2px solid var(--star);outline-offset:2px}:root[data-motion=allow] .menu-pill{transition:border-color var(--dur) ease,background-color var(--dur) ease}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu-pill{transition:border-color var(--dur) ease,background-color var(--dur) ease}}.menu-label{font-family:var(--font-mono);letter-spacing:.14em;align-items:center;gap:10px;font-size:.75rem;font-weight:500;line-height:1;display:inline-flex}.menu-roll{align-items:flex-start;height:1em;display:inline-flex;overflow:hidden}.menu-roll>span{white-space:pre;line-height:1em;display:block}.menu-roll>span:before{content:attr(data-r);content:attr(data-r)/""}:root[data-motion=allow] .menu-roll>span{transition:translate .45s cubic-bezier(.2, .8, .2, 1) calc(var(--i)*45ms)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu-roll>span{transition:translate .45s cubic-bezier(.2, .8, .2, 1) calc(var(--i)*45ms)}}@media (hover:hover) and (pointer:fine){.menu-pill:hover .menu-roll>span,[popovertarget=site-menu]:hover .menu-roll>span{translate:0 -1em}}.menu-lines{flex:none;width:14px;height:9px;display:block;position:relative}.menu-lines>span{background:currentColor;border-radius:1px;height:1.5px;position:absolute;left:0;right:0}.menu-lines>span:first-child{top:0}.menu-lines>span:last-child{top:7.5px}:root[data-motion=allow] .menu-lines>span{transition:top .55s cubic-bezier(.65,0,.2,1) .12s,rotate .55s cubic-bezier(.65,0,.2,1) .12s}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu-lines>span{transition:top .55s cubic-bezier(.65,0,.2,1) .12s,rotate .55s cubic-bezier(.65,0,.2,1) .12s}}.menu .menu-pill .menu-roll>span{translate:0 -2em}.menu .menu-pill .menu-lines>span{top:3.75px;rotate:45deg}.menu .menu-pill .menu-lines>span:last-child{rotate:-45deg}@starting-style{:root[data-motion=allow] .menu:popover-open .menu-pill .menu-roll>span{translate:0 -1em}}@starting-style{:root[data-motion=allow] .menu:popover-open .menu-pill .menu-lines>span:first-child{top:0;rotate:0deg}}@starting-style{:root[data-motion=allow] .menu:popover-open .menu-pill .menu-lines>span:last-child{top:7.5px;rotate:0deg}}@media (prefers-reduced-motion:no-preference){@starting-style{:root:not([data-motion]) .menu:popover-open .menu-pill .menu-roll>span{translate:0 -1em}}@starting-style{:root:not([data-motion]) .menu:popover-open .menu-pill .menu-lines>span:first-child{top:0;rotate:0deg}}@starting-style{:root:not([data-motion]) .menu:popover-open .menu-pill .menu-lines>span:last-child{top:7.5px;rotate:0deg}}}:root:has(.menu:popover-open){scrollbar-gutter:stable;overflow:hidden}.menu{--menu-x:calc(100% - 64px);--menu-y:32px;--band-w:clamp(320px, 28vw, 460px);--menu-edge:max(var(--gutter), env(safe-area-inset-left), (100cqw - var(--container)) / 2);width:100%;max-width:none;height:100%;max-height:none;color:var(--star);background:#07070b;border:0;margin:0;padding:0;position:fixed;inset:0;overflow:hidden;container-type:inline-size}.menu::backdrop{background:0 0}:root[data-motion=allow] .menu{clip-path:circle(0 at var(--menu-x) var(--menu-y));transition:clip-path .9s cubic-bezier(.65, 0, .2, 1),overlay .9s allow-discrete,display .9s allow-discrete}:root[data-motion=allow] .menu:popover-open{clip-path:circle(150vmax at var(--menu-x) var(--menu-y));transition-duration:1.1s}@starting-style{:root[data-motion=allow] .menu:popover-open{clip-path:circle(0 at var(--menu-x) var(--menu-y))}}:root[data-motion=allow] .menu[data-wave]{transition:overlay .9s allow-discrete,display .9s allow-discrete}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu{clip-path:circle(0 at var(--menu-x) var(--menu-y));transition:clip-path .9s cubic-bezier(.65, 0, .2, 1),overlay .9s allow-discrete,display .9s allow-discrete}:root:not([data-motion]) .menu:popover-open{clip-path:circle(150vmax at var(--menu-x) var(--menu-y));transition-duration:1.1s}@starting-style{:root:not([data-motion]) .menu:popover-open{clip-path:circle(0 at var(--menu-x) var(--menu-y))}}:root:not([data-motion]) .menu[data-wave]{transition:overlay .9s allow-discrete,display .9s allow-discrete}}.menu-scroll{z-index:1;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#94a3b84d #0000;position:absolute;inset:0;overflow:clip auto}@media (min-width:1024px){.menu-scroll{grid-template-columns:minmax(0, 1fr) var(--band-w);grid-template-rows:minmax(0,1fr);display:grid;overflow:hidden}}.menu-sky{z-index:0;pointer-events:none;background:radial-gradient(55% 45% at 78% 22%,#60a5fa1a,#0000 70%),radial-gradient(50% 45% at 12% 88%,#172b4d99,#0000 70%),url(/stars/far-sm.svg) 0 0/512px;position:absolute;inset:0}@media (min-width:1024px){.menu-sky{background:radial-gradient(55% 45% at 78% 22%,#60a5fa1a,#0000 70%),radial-gradient(50% 45% at 12% 88%,#172b4d99,#0000 70%),url(/stars/far-lg.svg) 0 0/640px}}.menu-gl{opacity:0;width:100%;height:100%;display:block}.menu-gl[data-on]{opacity:1}:root[data-motion=allow] .menu-gl{transition:opacity 1.2s}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu-gl{transition:opacity 1.2s}}.menu-top{z-index:3;padding-top:env(safe-area-inset-top);pointer-events:none;background:linear-gradient(#07070b calc(100% - 24px),#07070b00);margin-bottom:-16px;padding-bottom:16px;position:sticky;top:0}@media (min-width:1024px){.menu-top{background:0 0;margin-bottom:0;padding-bottom:0;position:absolute;inset:0 0 auto}}.menu-top-bar{height:var(--topbar-h);justify-content:space-between;align-items:center;gap:16px;display:flex}@media (min-width:1024px){.menu-top-bar{height:var(--header-h)}}.menu-top-bar>*{pointer-events:auto}.menu-mark{min-height:var(--control);color:var(--star);align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.menu-mark:hover{color:var(--star)}}.menu-main{z-index:1;position:relative}@media (min-width:1024px){.menu-main{overscroll-behavior:contain;scrollbar-width:none;grid-area:1/1;overflow-y:auto}}.menu-in{padding:40px var(--menu-edge) 56px}@media (min-width:768px){.menu-in{padding-top:72px}}@media (min-width:1024px){.menu-in{min-height:100%;padding:calc(var(--header-h) + 32px) 56px 48px var(--menu-edge);flex-direction:column;justify-content:center;display:flex}}@media (min-width:1024px) and (max-height:760px){.menu-in{--menu-gap:28px;padding-top:calc(var(--header-h) + 8px);padding-bottom:20px}}.menu-msg{margin-bottom:var(--menu-gap,clamp(32px, 6vh, 64px));letter-spacing:-.01em;text-wrap:balance;font-size:clamp(2rem,1.2rem + 2.6vw,3.25rem);font-weight:500;line-height:1.1}.menu-msg span{color:var(--moonlight);display:block}.menu-msg strong{color:var(--star);font-weight:600;display:block}.menu-msg strong:after{content:"";vertical-align:-.1em;background:var(--action);width:.42em;height:.86em;margin-left:.14em;display:inline-block}:root[data-motion=allow] .menu-msg strong:after{animation:1.1s step-end infinite menu-caret}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu-msg strong:after{animation:1.1s step-end infinite menu-caret}}@keyframes menu-caret{50%{opacity:0}}.menu-nav{grid-template-columns:repeat(2,max-content);gap:24px clamp(24px,8vw,40px);list-style:none;display:grid}@media (min-width:768px){.menu-nav{grid-template-columns:repeat(3,max-content);gap:32px clamp(40px,4.5vw,72px)}}.menu-nav a{color:var(--star);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:auto 1fr;grid-template-areas:"num path""label label";align-items:baseline;gap:6px 10px;padding-block:4px;font-size:clamp(1.1875rem,5.2vw,1.5rem);font-weight:500;line-height:1.1;text-decoration:none;display:inline-grid}@media (min-width:768px){.menu-nav a{font-size:clamp(1.5rem,2.2vw,2.25rem)}}@media (hover:hover) and (pointer:fine){.menu-nav a:hover{color:var(--star)}}.menu-nav a:focus-visible{outline:2px solid var(--star);outline-offset:2px;outline-offset:6px;border-radius:4px}.menu-nav .swap{grid-area:label}.menu-num,.menu-path{font-family:var(--font-mono);letter-spacing:.04em;text-transform:none;color:var(--moonlight);font-size:.75rem;font-weight:500}.menu-num:before,.menu-path:before{content:attr(data-c);content:attr(data-c)/""}.menu-num{color:var(--ion);grid-area:num}.menu-path{grid-area:path}:root[data-motion=allow] .menu-path{transition:color var(--dur) ease}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu-path{transition:color var(--dur) ease}}@media (hover:hover) and (pointer:fine){.menu-nav a:hover .menu-path{color:var(--ion-hover)}}.menu-nav a:focus-visible .menu-path,.menu-nav a[data-hit] .menu-path{color:var(--ion-hover)}.menu-nav a[aria-current=location] .menu-num{color:var(--action)}.menu-nav[data-sel] a:not([data-hit]){opacity:.3}:root[data-motion=allow] .menu-nav[data-sel] a:not([data-hit]){transition:opacity .3s}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu-nav[data-sel] a:not([data-hit]){transition:opacity .3s}}.menu-info{margin-top:var(--menu-gap,clamp(40px, 7vh, 72px))}.menu-lines-list{font-family:var(--font-mono);letter-spacing:.02em;color:var(--moonlight);font-size:.8125rem;font-weight:500;line-height:2;list-style:none}.menu-lines-list li:before{content:"+ ";content:"+ "/"";color:var(--ion)}.menu-lines-list li[data-needs=time]:has(>span:first-child:empty){display:none}.menu-actions{flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:24px;display:flex}.menu-link{min-height:var(--control);color:var(--ion);text-underline-offset:4px;align-items:center;font-weight:500;display:inline-flex}@media (hover:hover) and (pointer:fine){.menu-link:hover{color:var(--ion-hover)}}.menu-small{font-family:var(--font-mono);color:var(--moonlight);margin-top:16px;font-size:.75rem;font-weight:500;line-height:1.7}:root[data-motion=allow] .menu .menu-msg,:root[data-motion=allow] .menu .menu-nav li,:root[data-motion=allow] .menu .menu-info{transition:opacity .8s ease,translate .9s var(--ease-out),filter .8s ease}:root[data-motion=allow] .menu:popover-open .menu-msg{transition-delay:.45s}:root[data-motion=allow] .menu:popover-open .menu-nav li{transition-delay:calc(.6s + var(--i)*60ms)}:root[data-motion=allow] .menu:popover-open .menu-info{transition-delay:.95s}@starting-style{:root[data-motion=allow] .menu:popover-open .menu-msg{opacity:0;filter:blur(6px);translate:-18px}:root[data-motion=allow] .menu:popover-open .menu-nav li{opacity:0;filter:blur(6px);translate:-18px}:root[data-motion=allow] .menu:popover-open .menu-info{opacity:0;filter:blur(6px);translate:-18px}}:root[data-motion=allow] .menu:not(:popover-open) .menu-msg{opacity:0;transition-duration:.35s}:root[data-motion=allow] .menu:not(:popover-open) .menu-nav li{opacity:0;transition-duration:.35s}:root[data-motion=allow] .menu:not(:popover-open) .menu-info{opacity:0;transition-duration:.35s}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu .menu-msg,:root:not([data-motion]) .menu .menu-nav li,:root:not([data-motion]) .menu .menu-info{transition:opacity .8s ease,translate .9s var(--ease-out),filter .8s ease}:root:not([data-motion]) .menu:popover-open .menu-msg{transition-delay:.45s}:root:not([data-motion]) .menu:popover-open .menu-nav li{transition-delay:calc(.6s + var(--i)*60ms)}:root:not([data-motion]) .menu:popover-open .menu-info{transition-delay:.95s}@starting-style{:root:not([data-motion]) .menu:popover-open .menu-msg{opacity:0;filter:blur(6px);translate:-18px}:root:not([data-motion]) .menu:popover-open .menu-nav li{opacity:0;filter:blur(6px);translate:-18px}:root:not([data-motion]) .menu:popover-open .menu-info{opacity:0;filter:blur(6px);translate:-18px}}:root:not([data-motion]) .menu:not(:popover-open) .menu-msg{opacity:0;transition-duration:.35s}:root:not([data-motion]) .menu:not(:popover-open) .menu-nav li{opacity:0;transition-duration:.35s}:root:not([data-motion]) .menu:not(:popover-open) .menu-info{opacity:0;transition-duration:.35s}}.menu-band{z-index:1;border-top:1px solid var(--hairline);background:#f8fafc08;position:relative}@media (min-width:1024px){.menu-band{overscroll-behavior:contain;border-top:0;border-left:1px solid var(--hairline);scrollbar-width:thin;scrollbar-color:#94a3b84d #0000;grid-area:1/2;overflow-y:auto}}:root[data-motion=allow] .menu-band{transition:clip-path 1.1s cubic-bezier(.65,0,.2,1)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu-band{transition:clip-path 1.1s cubic-bezier(.65,0,.2,1)}}:root[data-motion=allow] .menu:popover-open .menu-band{transition-delay:.4s}@starting-style{:root[data-motion=allow] .menu:popover-open .menu-band{clip-path:inset(0 0 100%)}}:root[data-motion=allow] .menu:not(:popover-open) .menu-band{clip-path:inset(0 0 100%);transition-duration:.5s}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu:popover-open .menu-band{transition-delay:.4s}@starting-style{:root:not([data-motion]) .menu:popover-open .menu-band{clip-path:inset(0 0 100%)}}:root:not([data-motion]) .menu:not(:popover-open) .menu-band{clip-path:inset(0 0 100%);transition-duration:.5s}}.menu-panes{padding:40px var(--menu-edge) 64px;overflow-x:clip}@media (min-width:1024px){.menu-panes{padding:calc(var(--header-h) + 40px) 32px 48px}}.menu-panes[data-js]{display:grid}.menu-panes[data-js]>.menu-pane{grid-area:1/1}:root[data-motion=allow] .menu-panes[data-js]>.menu-pane{transition:opacity .5s ease .12s,translate .7s var(--ease-out) 80ms,visibility 0s}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu-panes[data-js]>.menu-pane{transition:opacity .5s ease .12s,translate .7s var(--ease-out) 80ms,visibility 0s}}.menu-panes[data-js][data-pane=log]>#menu-colophon,.menu-panes[data-js][data-pane=colophon]>#menu-log{visibility:hidden;opacity:0}:root[data-motion=allow] .menu-panes[data-js][data-pane=log]>#menu-colophon,:root[data-motion=allow] .menu-panes[data-js][data-pane=colophon]>#menu-log{transition:opacity .3s,translate .5s,visibility 0s .5s}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu-panes[data-js][data-pane=log]>#menu-colophon,:root:not([data-motion]) .menu-panes[data-js][data-pane=colophon]>#menu-log{transition:opacity .3s,translate .5s,visibility 0s .5s}}.menu-panes[data-js][data-pane=log]>#menu-colophon{translate:40px}.menu-panes[data-js][data-pane=colophon]>#menu-log{translate:-40px}.menu-pane+.menu-pane{margin-top:48px}.menu-panes[data-js]>.menu-pane+.menu-pane{margin-top:0}.menu-lab{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--moonlight);justify-content:space-between;gap:16px;margin-bottom:16px;font-size:.75rem;font-weight:500;line-height:1.4;display:flex}.menu-year{font-family:var(--font-mono);white-space:nowrap;align-items:baseline;gap:12px;margin:-4px 0 12px;font-weight:500;line-height:.9;display:flex}.menu-year:before{content:attr(data-c);content:attr(data-c)/"";letter-spacing:-.04em;color:#60a5fa14;-webkit-text-stroke:1px #60a5fab3;font-size:clamp(4rem,3rem + 4vw,6.5rem)}.menu-year:after{content:attr(data-to);content:attr(data-to)/"";color:var(--ion);font-size:.8125rem}.menu-entry{background:linear-gradient(180deg, #151a27 0, var(--surface) 120px);border:1px solid #263248;border-radius:14px;padding:50px 20px 20px;font-size:.9375rem;line-height:1.6;position:relative;box-shadow:0 30px 60px -30px #000000d9,inset 0 1px #f8fafc0a}.menu-entry:before{content:attr(data-file);content:attr(data-file)/"";border-bottom:1px solid var(--hairline);background:radial-gradient(circle at 18px 50%, var(--flare) 0 4.5px, transparent 5px),radial-gradient(circle at 36px 50%, var(--ignition) 0 4.5px, transparent 5px),radial-gradient(circle at 54px 50%, var(--ion) 0 4.5px, transparent 5px),#10131c;height:32px;line-height:32px;font-family:var(--font-mono);letter-spacing:.02em;color:var(--moonlight);white-space:nowrap;text-overflow:ellipsis;border-radius:14px 14px 0 0;padding:0 14px 0 70px;font-size:.75rem;font-weight:500;display:block;position:absolute;inset:0 0 auto;overflow:hidden}.menu-entry>*+*{margin-top:8px}.menu-dates{font-family:var(--font-mono);letter-spacing:.02em;color:var(--moonlight);flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:.75rem;font-weight:500;display:flex}.menu-head{border:1px solid var(--ion);color:var(--ion);border-radius:999px;padding:2px 8px;font-size:.6875rem}.menu-head:before{content:attr(data-c);content:attr(data-c)/""}.menu-title{color:var(--star);font-size:1.125rem;font-weight:600;line-height:1.3}.menu-co{color:var(--moonlight);font-size:.875rem}.menu-points{gap:6px;padding-left:0;list-style:none;display:grid}.menu-points li{padding-left:18px;position:relative}.menu-points li:before{content:"-";content:"-"/"";color:var(--ion);font-family:var(--font-mono);position:absolute;left:0}.menu-stack{font-family:var(--font-mono);color:var(--moonlight);font-size:.75rem;font-weight:500;line-height:1.7}.menu-stack span{color:var(--ion)}.menu-chips{flex-wrap:wrap;gap:8px;padding-top:4px;list-style:none;display:flex}.menu-chips li{font-family:var(--font-mono);color:var(--star);border:1px solid #263248;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:500}.menu-band-links{justify-items:start;margin-top:12px;display:grid}.menu-more,.menu-back{min-height:var(--control);color:var(--ion);font-family:var(--font-mono);letter-spacing:.02em;text-transform:none;align-items:center;gap:8px;font-size:.8125rem;font-weight:500;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.menu-more:hover,.menu-back:hover{color:var(--ion-hover);text-underline-offset:4px;text-decoration:underline}}.menu-back{min-height:0;margin-block:-12px;padding-block:12px}:root[data-motion=allow] .menu .menu-pane>*{transition:opacity .7s ease,translate .8s var(--ease-out)}:root[data-motion=allow] .menu:popover-open .menu-pane>*{transition-delay:.95s}@starting-style{:root[data-motion=allow] .menu:popover-open .menu-pane>*{opacity:0;translate:0 14px}}:root[data-motion=allow] .menu:popover-open .menu-pane>:nth-child(2){transition-delay:1.05s}:root[data-motion=allow] .menu:popover-open .menu-pane>:nth-child(n+3){transition-delay:1.15s}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .menu .menu-pane>*{transition:opacity .7s ease,translate .8s var(--ease-out)}:root:not([data-motion]) .menu:popover-open .menu-pane>*{transition-delay:.95s}@starting-style{:root:not([data-motion]) .menu:popover-open .menu-pane>*{opacity:0;translate:0 14px}}:root:not([data-motion]) .menu:popover-open .menu-pane>:nth-child(2){transition-delay:1.05s}:root:not([data-motion]) .menu:popover-open .menu-pane>:nth-child(n+3){transition-delay:1.15s}}@supports not selector(:popover-open){.menu,.menu-pill{display:none}}@media print{.menu,.menu-pill{display:none}}
.li{--li-tile:28px;isolation:isolate;min-height:var(--control-primary);border-radius:var(--radius);color:var(--star);touch-action:manipulation;-webkit-tap-highlight-color:#0000;background:linear-gradient(#172034d9,#10131cd9);border:1px solid #94a3b88c;align-items:center;gap:12px;padding:0 14px 0 10px;font-weight:500;line-height:1.2;text-decoration:none;display:inline-flex;position:relative}.li:before{content:"";z-index:-1;border-radius:inherit;background:var(--action-line);opacity:0;pointer-events:none;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@media (hover:hover) and (pointer:fine){.li:hover{color:var(--star);box-shadow:0 14px 34px -16px var(--action-glow);border-color:#0000}.li:hover:before,.li:hover .li-mark:before{opacity:1}.li:hover .li-mark{color:var(--void)}.li:hover .li-go{color:var(--star);translate:2px -2px}}.li:focus-visible .li-go{color:var(--star)}:root[data-motion=allow] .li{transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}:root[data-motion=allow] .li:before,:root[data-motion=allow] .li .li-mark:before{transition:opacity var(--dur) var(--ease-out)}:root[data-motion=allow] .li .li-mark{transition:color var(--dur) var(--ease-out)}:root[data-motion=allow] .li .li-go{transition:translate var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .li{transition:border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}:root:not([data-motion]) .li:before,:root:not([data-motion]) .li .li-mark:before{transition:opacity var(--dur) var(--ease-out)}:root:not([data-motion]) .li .li-mark{transition:color var(--dur) var(--ease-out)}:root:not([data-motion]) .li .li-go{transition:translate var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}}.li-mark{isolation:isolate;width:var(--li-tile);height:var(--li-tile);color:var(--star);font-weight:700;font-size:calc(var(--li-tile)*.52);letter-spacing:-.03em;background:linear-gradient(140deg,#2a4f8f,#172b4d);border-radius:7px;flex:none;place-items:center;line-height:1;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #f8fafc2e}.li-mark:before{content:"";z-index:-1;background:var(--action-fill);opacity:0;position:absolute;inset:0}.li-mark:after{content:attr(data-c);content:attr(data-c)/""}.li-text{gap:4px;min-width:0;display:grid}.li .swap-b{font-size:.8em;top:50%;translate:0 -50%}.li-path{font-family:var(--font-mono);letter-spacing:.02em;color:var(--moonlight);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;font-weight:500;display:block;overflow:hidden}.li-path:before{content:attr(data-c);content:attr(data-c)/""}.li-go{color:var(--moonlight);flex:none;place-items:center;margin-left:auto;display:grid}.li-go svg{width:18px;height:18px}.li-button{justify-content:center;padding-right:16px}.li-card{--li-tile:44px;border-radius:14px;gap:16px;min-height:76px;padding:14px 16px 14px 14px;display:flex}.li-card .swap{font-size:1.125rem;font-weight:600}.li-card .li-go{border:1px solid #94a3b866;border-radius:50%;width:40px;height:40px}@media (hover:hover) and (pointer:fine){.li-card:hover .li-go{background:var(--action-fill);color:var(--void);border-color:#0000;translate:none}}:root[data-motion=allow] .li-card .li-go{transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}@media (hover:hover) and (pointer:fine){:root[data-motion=allow] .li-card:hover .li-go svg{translate:2px -2px}}:root[data-motion=allow] .li-card .li-go svg{transition:translate var(--dur) var(--ease-out)}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .li-card .li-go{transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){:root:not([data-motion]) .li-card:hover .li-go svg{translate:2px -2px}}@media (prefers-reduced-motion:no-preference){:root:not([data-motion]) .li-card .li-go svg{transition:translate var(--dur) var(--ease-out)}}.li-menu{min-height:var(--control-primary)}@media (forced-colors:active){.li-mark{forced-color-adjust:none;color:canvastext;background:canvas;outline:1px solid canvastext}}
