@view-transition{navigation:auto}@font-face{font-family:Geist;src:url(../fonts/Geist-wght.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(../fonts/GeistMono-wght.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}@font-face{font-family:Geist Fallback;src:local("Arial"),local("ArialMT"),local("Helvetica");size-adjust:104.6%;ascent-override:96.1%;descent-override:28.2%;line-gap-override:0%}@font-face{font-family:Geist Mono Fallback;src:local("Courier New"),local("CourierNewPSMT"),local("Courier");size-adjust:100%;ascent-override:100.5%;descent-override:29.5%;line-gap-override:0%}:root{--cw: 1160px;--pad: clamp(26px, 8.4vw, 140px);--hdr: 72px;--t-xl: clamp(46px, 7.4vw, 116px);--t-l: clamp(38px, 5.6vw, 84px);--t-m: clamp(28px, 3.9vw, 56px);--t-lead: clamp(18px, 1.45vw, 22px);--sans: "Geist", "Geist Fallback", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "Geist Mono", "Geist Mono Fallback", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--ease: cubic-bezier(.2, .7, .2, 1);color-scheme:dark}:root[data-theme=dark]{--bg: #08090b;--bg-rgb: 8, 9, 11;--bg2: #0f1014;--bg2-rgb: 15, 16, 20;--bg3: #15161b;--ink: #ecebe6;--ink-rgb: 236, 235, 230;--ink2: #bebdb6;--dim: #8d8c86;--rule: rgba(236, 235, 230, .12);--rule2: rgba(236, 235, 230, .22);--lime: #b8fc2c;--lime-rgb: 184, 252, 44;--lav: #b880fc;--lav-rgb: 184, 128, 252;--on-accent: #0a0d03;--shadow: 0 30px 80px -30px rgba(0, 0, 0, .8)}:root[data-theme=light]{color-scheme:light;--bg: #f3efe6;--bg-rgb: 243, 239, 230;--bg2: #ebe6da;--bg2-rgb: 235, 230, 218;--bg3: #e3ddcf;--ink: #1a1915;--ink-rgb: 26, 25, 21;--ink2: #3d3b34;--dim: #66625a;--rule: rgba(26, 25, 21, .14);--rule2: rgba(26, 25, 21, .26);--lime: #4a7700;--lime-rgb: 74, 119, 0;--lav: #6a32c8;--lav-rgb: 106, 50, 200;--on-accent: #f7f4ec;--shadow: 0 30px 70px -36px rgba(60, 45, 20, .45)}@media(max-width:700px){:root{--pad: 30px;--hdr: 60px}}*,*:before,*:after{box-sizing:border-box}html{font-synthesis:none;background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}body{margin:0;font:400 17px/1.6 var(--sans);font-optical-sizing:auto;background:var(--bg);color:var(--ink);overflow-x:clip;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}:root[data-theme=light] body{background:var(--bg) radial-gradient(1200px 800px at 80% -10%,rgba(255,252,240,.9),transparent 70%) no-repeat}img,svg,canvas{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}::selection{background:rgba(var(--lime-rgb),.35);color:var(--ink)}:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:4px}:root[data-theme=light] :focus-visible{outline-color:var(--lav)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.only-light{display:none!important}:root[data-theme=light] .only-dark{display:none!important}:root[data-theme=light] .only-light{display:block!important}.wrap{width:min(var(--cw),100% - var(--pad) * 2);margin-inline:auto}.kick{margin:0;font:500 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.kick b{color:var(--ink);font-weight:500}.h2{margin:0;font:640 clamp(38px,4.3vw,64px)/1 var(--sans);letter-spacing:-.042em;color:var(--ink);text-wrap:balance}.h2 em{font-style:normal;color:var(--ink2)}.h3{margin:0;font:600 19px/1.3 var(--sans);letter-spacing:-.015em}.lede{margin:0;font:400 var(--t-lead)/1.5 var(--sans);letter-spacing:-.01em;color:var(--ink2);max-width:34em;text-wrap:pretty}.meta{font:400 12px/1.5 var(--mono);letter-spacing:.04em;color:var(--dim)}.more{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:10px 0;border-bottom:1px solid var(--rule2);transition:color .25s,border-color .25s,gap .25s var(--ease)}.more:after{content:"→";font-family:var(--sans);letter-spacing:0;transition:transform .25s var(--ease)}.more.out:after{content:"↗" / ""}.more:hover{color:var(--lime);border-color:currentColor}.more:hover:after{transform:translate(4px)}.pill{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 22px 0 18px;border:1px solid var(--rule2);border-radius:999px;font:500 12.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);background:transparent;transition:border-color .25s,color .25s,background-color .25s}.pill svg{width:16px;height:16px}.pill:hover{border-color:var(--lime);color:var(--lime)}:root[data-theme=light] .pill:hover{border-color:var(--ink);color:var(--ink);background:rgba(var(--ink-rgb),.05)}.pill.solid{background:var(--ink);color:var(--bg);border-color:var(--ink)}.pill.solid:hover{background:var(--lime);border-color:var(--lime);color:var(--on-accent)}:root[data-theme=light] .pill.solid:hover{background:var(--ink2);border-color:var(--ink2);color:var(--bg)}main{position:relative;overflow-x:clip}main:focus{outline:none}.ln-sec{position:relative}.ln-svg{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;z-index:3}.ln-core,.ln-glow{fill:none;stroke-linecap:round;stroke-linejoin:round}.ln-core{stroke-width:1.75}.ln-glow{stroke-width:10;opacity:.13}:root[data-theme=light] .ln-core{stroke-width:1.6}:root[data-theme=light] .ln-glow{stroke-width:3.4;opacity:.1}.ln-node{fill:var(--bg);stroke:var(--rule2);stroke-width:1.2;transition:fill .4s,stroke .4s}.ln-node.on{fill:var(--ink);stroke:var(--bg);stroke-width:2.5}.ln-node.ring{fill:none;stroke:var(--rule2)}.ln-node.ring.on{fill:none;stroke:var(--ink);stroke-width:1.3}.ln-tip{position:absolute;left:0;top:0;width:0;height:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .35s}.ln-tip.on{opacity:1}.ln-tip:before{content:"";position:absolute;left:-16px;top:-16px;width:32px;height:32px;border-radius:50%;background:radial-gradient(closest-side,currentColor,transparent);opacity:.55}.ln-tip:after{content:"";position:absolute;left:-3px;top:-3px;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px currentColor}:root[data-theme=light] .ln-tip:before{opacity:.18;left:-9px;top:-9px;width:18px;height:18px}:root[data-theme=light] .ln-tip:after{background:currentColor;box-shadow:none;left:-3.5px;top:-3.5px;width:7px;height:7px}@property --f{syntax: "<number>"; inherits: false; initial-value: 1;}@property --e{syntax: "<number>"; inherits: false; initial-value: 1;}.ln-sec .fx{--e: clamp(0, calc((var(--f) - var(--d, 0)) / (1 - var(--d, 0))), 1);opacity:calc(.14 + .86 * var(--e));transform:translate3d(0,calc((1 - var(--e)) * 26px),0);filter:blur(calc((1 - var(--e)) * 7px))}.ln-sec.in .fx,.still .ln-sec .fx,.shot .ln-sec .fx{opacity:1;transform:none;filter:none}@media(max-width:700px){.ln-glow{stroke-width:6}}:root[data-theme=light] .ln-core{stroke-width:1.9}.skip{position:absolute;left:12px;top:12px;z-index:100;padding:10px 14px;border-radius:8px;background:var(--ink);color:var(--bg);font:500 13px/1 var(--mono);clip-path:inset(50%);opacity:0;pointer-events:none}.skip:focus{clip-path:none;opacity:1;pointer-events:auto}.hdr{position:fixed;inset:0 0 auto;z-index:50;height:var(--hdr);display:flex;align-items:center;gap:24px;padding:0 clamp(18px,3vw,40px);view-transition-name:hdr;transition:background-color .35s,border-color .35s;border-bottom:1px solid transparent}.hdr.scrolled{background:rgba(var(--bg-rgb),.82);backdrop-filter:blur(14px) saturate(1.1);-webkit-backdrop-filter:blur(14px) saturate(1.1);border-bottom-color:var(--rule)}.brand{display:flex;align-items:center;flex:none;view-transition-name:brand}.brand .mono{width:54px;height:auto}.idx{margin-left:auto}.idx ol{display:flex;gap:clamp(14px,1.6vw,26px);margin:0;padding:0;list-style:none}.idx a{position:relative;display:inline-flex;align-items:baseline;gap:6px;padding:8px 0;font:500 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);transition:color .2s}.idx a .n{color:var(--dim);font-size:10px}.idx a:hover,.idx a[aria-current]{color:var(--ink)}.idx a[aria-current]:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,var(--lime),var(--lav))}.idx-grp{position:relative}.idx-g{position:relative;display:inline-flex;align-items:baseline;gap:6px;padding:8px 0;border:0;background:none;cursor:pointer;font:500 11.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);transition:color .2s}.idx-g .n{color:var(--dim);font-size:10px}.idx-g:hover,.idx-g[data-active],.idx-g[aria-expanded=true]{color:var(--ink)}.idx-g[data-active]:after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1.5px;border-radius:2px;background:linear-gradient(90deg,var(--lime),var(--lav))}.idx-car{align-self:center;width:5px;height:5px;margin-left:1px;border:solid currentColor;border-width:0 1.25px 1.25px 0;transform:translateY(-2px) rotate(45deg);opacity:.7;transition:transform .2s}.idx-g[aria-expanded=true] .idx-car{transform:translateY(1px) rotate(-135deg)}.idx-sub{position:absolute;top:calc(100% + 10px);left:-14px;min-width:168px;margin:0;padding:6px 14px;list-style:none;background:rgb(var(--bg-rgb));border:1px solid var(--rule);border-radius:10px;box-shadow:0 18px 36px -20px #00000080}.idx-sub[hidden]{display:none}.idx-sub a{display:flex;padding:10px 0}.idx-sub li+li a{border-top:1px solid var(--rule)}.idx-sub a[aria-current]:after{bottom:4px}.hdr-tools{display:flex;align-items:center;gap:10px}.tbtn{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 12px 0 8px;border:1px solid var(--rule2);border-radius:999px;background:none;cursor:pointer;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink2);transition:border-color .2s,color .2s}.tbtn:hover,.tbtn[aria-expanded=true]{color:var(--ink);border-color:var(--ink2)}.tbtn-k{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:rgba(var(--ink-rgb),.08);font-size:13px;color:var(--lime)}.theme{width:50px;height:34px;border:0;padding:0;background:none;cursor:pointer;display:grid;place-items:center}.th-track{position:relative;width:40px;height:22px;border-radius:999px;border:1px solid var(--rule2);overflow:hidden}.th-track:before{content:"";position:absolute;left:7px;right:7px;top:50%;height:1.5px;margin-top:-.75px;border-radius:2px;background:linear-gradient(90deg,var(--lime),var(--lav));opacity:.55}.th-track i{position:absolute;top:4px;left:4px;width:12px;height:12px;border-radius:50%;background:var(--ink);transition:transform .35s var(--ease),background-color .35s,box-shadow .35s}:root[data-theme=dark] .th-track i{transform:translate(18px);background:var(--lav);box-shadow:0 0 10px 1px rgba(var(--lav-rgb),.7)}.menu{display:none;height:34px;padding:0 14px;border:1px solid var(--rule2);border-radius:999px;background:none;cursor:pointer;font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}.np{flex:0 1000 auto;min-width:0;max-width:300px;display:inline-flex;align-items:center;gap:9px;height:36px;padding:0 12px 0 4px;border:1px solid var(--rule2);border-radius:999px;color:var(--ink2);text-decoration:none;transition:border-color .2s,color .2s}.np[hidden]{display:none}.np:hover{border-color:var(--ink2);color:var(--ink)}.np-art{flex:none;width:28px;height:28px;border-radius:50%;overflow:hidden;background:rgba(var(--ink-rgb),.08)}.np-art[hidden]{display:none}.np-art img{display:block;width:100%;height:100%;object-fit:cover}.np-t{min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.1}.np-t b,.np-t span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.np-t b{font:600 12px/1.15 var(--sans);color:var(--ink)}.np-t span{font:500 10px/1.15 var(--mono);letter-spacing:.04em;color:var(--dim)}.eq{flex:none;display:inline-flex;align-items:flex-end;gap:2px;width:14px;height:12px}.eq i{flex:1;height:100%;border-radius:1px;background:var(--lime);transform-origin:bottom;animation:eq 1.1s ease-in-out infinite}.eq i:nth-child(2){animation-delay:-.45s}.eq i:nth-child(3){animation-delay:-.2s}.eq i:nth-child(4){animation-delay:-.7s}@keyframes eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}:root.still .eq i{animation:none}:root.still .eq i:nth-child(1){transform:scaleY(.5)}:root.still .eq i:nth-child(2){transform:scaleY(.9)}:root.still .eq i:nth-child(3){transform:scaleY(.65)}:root.still .eq i:nth-child(4){transform:scaleY(.4)}.idx{flex:none}.idx a{white-space:nowrap}.np{overflow:hidden}@media(max-width:1360px){.np{max-width:210px}}@media(max-width:1260px)and (min-width:961px){.np-t{display:none}.np{padding-right:8px}.hdr:has(.np:not([hidden])){gap:14px}.hdr:has(.np:not([hidden])) .idx ol{gap:10px}}@media(max-width:540px){.np-t{display:none}.np{padding-right:8px}}@media(max-width:360px){.np .eq{display:none}.np{padding-right:4px;gap:0}}@media(max-width:1080px){.tbtn-l{display:none}.tbtn{padding:0 6px}}@media(max-width:960px){.menu{display:inline-block}.idx{position:fixed;inset:var(--hdr) 0 auto 0;margin:0;padding:18px var(--pad) 28px;background:rgb(var(--bg-rgb));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 24px 40px -24px #00000080;border-bottom:1px solid var(--rule);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s var(--ease),visibility 0s .25s}.menu-open .idx{opacity:1;transform:none;visibility:visible;transition:opacity .25s,transform .25s var(--ease)}.idx ol{flex-direction:column;gap:0}.idx a{width:100%;padding:14px 0;font-size:14px;border-bottom:1px solid var(--rule)}.idx a[aria-current]:after{bottom:-1px}.idx-g{width:100%;padding:14px 0;font-size:14px;border-bottom:1px solid var(--rule);text-align:left}.idx-g[data-active]:after{bottom:-1px}.idx-car{margin-left:auto}.idx-sub{position:static;min-width:0;padding:0 0 0 22px;background:none;border:0;border-radius:0;box-shadow:none}.idx-sub li+li a{border-top:0}.idx-sub a{padding:12px 0;font-size:13px}.hdr-tools{margin-left:auto}.hdr{gap:12px}}@media(max-width:700px){.brand .mono{width:44px}}.term{position:fixed;inset:var(--hdr) 0 auto 0;z-index:49;background:rgba(var(--bg-rgb),.95);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid var(--rule2);box-shadow:0 30px 60px -30px #0000008c;transform:translateY(-10px);opacity:0;transition:transform .24s var(--ease),opacity .2s;font:400 13.5px/1.62 var(--mono);color:var(--ink)}:root[data-theme=light] .term{box-shadow:0 30px 60px -36px #3c2d1459}.term.on{transform:none;opacity:1;view-transition-name:term}.term.term-keep,.term.term-keep *{transition:none!important;animation:none!important}.term-in{padding:12px 0 14px}.term-bar{display:flex;align-items:center;gap:12px;margin:0 0 8px}.term-lights{display:inline-flex;gap:6px}.term-lights i{width:9px;height:9px;border-radius:50%;background:var(--rule2)}.term-lights i:first-child{background:var(--lime);box-shadow:0 0 8px rgba(var(--lime-rgb),.55)}.term-lights i:nth-child(2){background:var(--lav)}:root[data-theme=light] .term-lights i:first-child{box-shadow:none}.term-title{flex:1;min-width:0;margin:0;font:600 13px/1.2 var(--sans);letter-spacing:-.01em;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.term-x{font:500 10.5px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.term-x kbd{font:inherit;padding:3px 6px;border:1px solid var(--rule2);border-radius:5px}.term-close{flex:none;display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--rule2);border-radius:50%;background:none;cursor:pointer;font:400 16px/1 var(--sans);color:var(--ink2);transition:border-color .2s,color .2s}.term-close:hover{border-color:var(--ink2);color:var(--ink)}.term-screen{max-height:min(46vh,420px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}.term-line{position:relative;display:flex;align-items:center;margin-top:6px;padding-top:8px;border-top:1px solid var(--rule)}.term-prompt{flex:none;white-space:pre}.term-field{position:relative;flex:1;min-width:0;height:30px;overflow:hidden}.term-input{position:absolute;inset:0;width:100%;height:100%;border:0;padding:0;margin:0;background:transparent;color:transparent;caret-color:transparent;font:inherit;outline:none;z-index:1}.term-input::selection{background:rgba(var(--lime-rgb),.3);color:transparent}.term-mirror{position:absolute;left:0;top:0;height:30px;line-height:30px;white-space:pre;pointer-events:none;color:var(--ink)}.term-caret{display:inline-block;min-width:1ch;background:var(--lime);color:var(--bg);animation:term-blink 1.1s steps(1) infinite}.term:not(:focus-within) .term-caret{background:transparent;box-shadow:inset 0 0 0 1px var(--lime);color:var(--ink);animation:none}@keyframes term-blink{50%{background:transparent;color:var(--ink)}}.term-line:focus-within{box-shadow:inset 0 -1px 0 var(--lime)}body:after{content:"";position:fixed;inset:0;z-index:200;background:var(--bg);opacity:0;pointer-events:none;transition:opacity .18s linear}body.handoff:after{opacity:1}.still body:after{transition:none}@media(prefers-reduced-motion:reduce){.term,.term-r.new,.term-caret{animation:none!important;transition:none}}.still .term,.still .term-r.new,.still .term-caret{animation:none!important;transition:none}.still .term.denied{animation:term-denied .6s ease-out!important}@media(pointer:coarse){.term-x{display:none}.term-mirror,.term-input{font-size:16px}.term-close{width:40px;height:40px}}@media(max-width:700px){.term{font-size:12.5px}}@media(max-width:860px),(pointer:coarse){#term-open{min-width:40px;height:40px;justify-content:center}}.ftr{position:relative;padding:56px 0 44px;border-top:1px solid var(--rule)}.ftr-in{display:grid;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:18px 36px}.ftr-brand .mono{width:64px;height:auto}.ftr-line{margin:0;font:400 12px/1.5 var(--mono);letter-spacing:.06em;color:var(--dim)}.ftr-nav ul{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none}.ftr-nav a,.ftr-top{font:500 11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);padding:6px 0;display:inline-block}.ftr-nav a:hover,.ftr-top:hover{color:var(--ink)}@media(max-width:1080px){.ftr-in{grid-template-columns:auto 1fr}.ftr-nav,.ftr-top{grid-column:1 / -1}}.nw{white-space:nowrap}.ftr-line span{display:block;white-space:nowrap}@media(min-width:1200px){.ftr-line span{display:inline}.ftr-line span+span:before{content:" · "}}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:var(--ease)}::view-transition-group(*){animation-duration:.5s;animation-timing-function:var(--ease)}.vt-fallback body{animation:vtIn .4s var(--ease) both}.vt-fallback.leaving body{opacity:0;transition:opacity .18s}@keyframes vtIn{0%{opacity:0}}.still.vt-fallback body,.still body{animation:none}:root.still::view-transition-group(*),:root.still::view-transition-old(*),:root.still::view-transition-new(*){animation:none!important}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}.sec-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:end;gap:20px 56px;margin-bottom:clamp(32px,3.4vw,46px)}.h2 .no{display:inline-block;vertical-align:top;margin:.2em .7em 0 0;font:500 11px/1 var(--mono);letter-spacing:.12em;color:var(--dim)}.sec-head .side{display:grid;gap:18px;justify-items:start;padding-bottom:6px}@media(max-width:860px){.sec-head{grid-template-columns:1fr}}.page-hero{padding:calc(var(--hdr) + clamp(56px,9vw,120px)) 0 clamp(8px,1vw,16px)}.page-hero .h1{margin:18px 0 0;font:650 var(--t-xl)/.98 var(--sans);letter-spacing:-.045em;text-wrap:balance}.page-hero .lede{margin-top:22px}.crumb{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.crumb a{color:var(--ink2);border-bottom:1px solid var(--rule2)}.crumb a:hover{color:var(--ink)}.vt-t-blog{view-transition-name:t-blog}.vt-t-projects{view-transition-name:t-projects}.vt-t-github{view-transition-name:t-github}.vt-t-watching{view-transition-name:t-watching}.vt-t-games{view-transition-name:t-games}.vt-t-music{view-transition-name:t-music}.vt-t-about{view-transition-name:t-about}.gi{display:inline-block;width:32px;height:32px;background:currentColor;color:var(--ink2);-webkit-mask:var(--src) center / contain no-repeat;mask:var(--src) center / contain no-repeat;transition:color .25s,transform .25s var(--ease)}li:hover>.gi{color:var(--lime);transform:translateY(-2px)}:root[data-theme=light] li:hover>.gi{color:var(--lav)}.kit-slot:empty{display:none}.kit-slot{position:relative;z-index:2;padding-top:var(--hdr)}.kit-slot:not(:empty)~main>.hero:first-child{padding-top:clamp(70px,11vh,130px)}.kit-slot:not(:empty)~main>.page-hero:first-child{padding-top:clamp(56px,9vw,120px)}@media(max-width:860px){.kit-slot:not(:empty)~main>.hero:first-child{padding-top:40px}}.drawers{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.dw{border-bottom:1px solid var(--rule)}.dw-h{margin:0;font:inherit}.dw-btn{display:grid;grid-template-columns:8.6em minmax(0,1fr) auto 20px;align-items:baseline;gap:26px;width:100%;padding:21px 0 19px;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink);border-radius:0}.dw-date{font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.dw-t{font:620 clamp(24px,2.4vw,34px)/1.08 var(--sans);letter-spacing:-.035em;transition:color .3s;text-wrap:balance}.dw-btn:hover .dw-t{color:var(--lime)}:root[data-theme=light] .dw-btn:hover .dw-t{color:var(--lav)}.dw-cat{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap}.dw-ic{position:relative;width:14px;height:14px;align-self:center}.dw-ic:before,.dw-ic:after{content:"";position:absolute;left:0;right:0;top:50%;height:1.4px;margin-top:-.7px;background:var(--ink2);transition:transform .4s var(--ease)}.dw-ic:after{transform:rotate(90deg)}.dw.open .dw-ic:after{transform:rotate(0)}.dw-body{display:grid;grid-template-rows:1fr}.dw.shut .dw-body{grid-template-rows:0fr}.dw.anim .dw-body{transition:grid-template-rows .7s var(--ease)}.dw-clip{overflow:hidden;min-height:0;clip-path:inset(0 0 100% 0);transition:clip-path .75s var(--ease)}.dw.open .dw-clip{clip-path:inset(0)}.dw-in{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 48px;padding:0 34px 26px calc(8.6em + 26px);transform:translateY(-18px);opacity:0;transition:transform .7s var(--ease),opacity .55s .05s}.dw.open .dw-in{transform:none;opacity:1}.dw-ex{margin:0;font:400 17.5px/1.62 var(--sans);color:var(--ink2);max-width:41em;text-wrap:pretty}.dw-meta{display:grid;justify-items:end;gap:10px;margin:0;font:500 11.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.still .dw-body,.still .dw-in,.still .dw-clip{transition:none}@media(max-width:860px){.dw-btn{grid-template-columns:minmax(0,1fr) 16px;gap:8px 14px;padding:22px 0 20px}.dw-date{grid-column:1;grid-row:1}.dw-t{grid-column:1;grid-row:2;font-size:27px}.dw-cat{display:none}.dw-ic{grid-column:2;grid-row:1 / 3}.dw-in{grid-template-columns:1fr;padding:0 0 24px 22px}.dw-meta{display:flex;justify-items:start;gap:24px;align-items:center}.dw-ex{font-size:16.5px}}.dw-status{margin-left:10px;padding:3px 7px;border:1px solid var(--rule2);border-radius:4px;font:500 9.5px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--lav);vertical-align:middle}.dw-sum{margin:0 0 12px;font:500 clamp(17.5px,1.35vw,20px)/1.45 var(--sans);letter-spacing:-.015em;color:var(--ink);max-width:36em;text-wrap:pretty}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:52px clamp(18px,2.2vw,30px);list-style:none;margin:18px 0 0;padding:0}.pj-art{position:relative;aspect-ratio:16 / 10;border-radius:6px;background:linear-gradient(180deg,rgba(var(--ink-rgb),.035),rgba(var(--ink-rgb),.012));border:1px solid var(--rule)}.pj-art canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;opacity:.22;transition:opacity 1.2s var(--ease)}.card.live .pj-art canvas{opacity:1}.pj-logo{position:absolute;left:21%;top:19%;width:58%;height:62%;object-fit:contain;transition:transform .6s var(--ease)}.pj-k{display:block;margin:18px 0 0;font:500 10px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}.bench .pj-k{display:none}.bench .pj-n{margin-top:18px}.pj-n{margin:8px 0 7px;font:500 17px/1.2 var(--sans);letter-spacing:-.005em}.pj-b{margin:0;font:400 14.5px/1.55 var(--sans);color:var(--ink2);text-wrap:pretty}.pj-l{display:flex;gap:20px;margin:14px 0 0}.pj-l a{font:500 10.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);padding:6px 0;border-bottom:1px solid var(--rule2);transition:color .25s,border-color .25s}.pj-l a:hover{color:var(--ac);border-color:var(--ac)}:root[data-theme=light] .pj-l a:hover{color:var(--ac-l);border-color:var(--ac-l)}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.cards{gap:48px 16px}.pj-n{margin-top:16px;font-size:15.5px}.pj-b{font-size:13.5px}.pj-l{gap:14px}}.sky{margin:0}.sky-cv{position:relative}.sky-cv canvas{display:block;width:100%}.gh-stats{display:flex;flex-wrap:wrap;gap:20px clamp(32px,5vw,72px);list-style:none;margin:34px 0 0;padding:0}.gh-stats b{display:block;font:640 clamp(32px,3.2vw,48px)/1 var(--sans);letter-spacing:-.045em}.gh-stats span{display:block;margin-top:10px;font:500 10.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.gh-stats li:first-child b{color:var(--lime)}.reel{display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(28px,3.4vw,52px)}.reel-k{margin-bottom:30px}.posters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,28px);list-style:none;margin:0;padding:0}.pst-a{position:relative;display:block;aspect-ratio:2 / 3;overflow:hidden;border-radius:3px;background:var(--bg2);box-shadow:var(--shadow)}.pst-a img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease),filter .8s}.pst-cap{position:absolute;inset:auto 0 0;padding:34px 11px 10px;font:500 10px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#fffffff2;background:linear-gradient(transparent,#000000db);opacity:0;transition:opacity .25s}.pst-a:hover .pst-cap,.pst-a:focus-visible .pst-cap{opacity:1}.pst-a:hover img,.pst-a:focus-visible img{transform:scale(1.04)}.pst-t .rk,.cov-meta .rk{font-style:normal;color:var(--dim);margin-right:.35em;font-variant-numeric:tabular-nums}.pst-t .ext,.cov-meta .ext{color:var(--dim);font-family:var(--sans);font-size:.8em}.pst[id],.cov[id]{scroll-margin-top:calc(var(--hdr) + 24px)}@media(max-width:860px){.reel{grid-template-columns:1fr;gap:50px}.reel-k{margin-bottom:26px}.posters{gap:16px}}.play,.covers-wrap{position:relative}.play-bg{position:absolute;left:50%;width:100vw;margin-left:-50vw;top:-70px;bottom:-70px;background-size:cover;background-position:center 30%;opacity:.24;-webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 70%,transparent);pointer-events:none}:root[data-theme=light] .play-bg{opacity:.2;filter:saturate(.85);mix-blend-mode:multiply}.covers{position:relative}.covers{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(16px,1.8vw,26px);list-style:none;margin:0;padding:0}.cov-a{position:relative;display:block;aspect-ratio:2 / 3;overflow:hidden;border-radius:4px;background:#111;box-shadow:var(--shadow)}.cov-a img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.cov-a:hover img,.cov-a:focus-visible img{transform:scale(1.04)}.cov.made .cov-a:hover img,.cov.made .cov-a:focus-visible img{transform:scale(var(--s, 1))}.cov.made .cov-a:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#08090b00 38%,#08090b8c 62%,#08090bf0);pointer-events:none}.cov.made .cov-a:before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;box-shadow:inset 0 0 0 1px #ffffff14;pointer-events:none}.cov-t{position:absolute;left:12px;right:12px;bottom:13px;z-index:2;display:grid;gap:6px}.cov.made .cov-a{container-type:inline-size}.cov-t b{font:650 clamp(12px,13cqi,22px)/1 var(--sans);overflow-wrap:normal;hyphens:none;color:#fff;letter-spacing:-.03em;text-wrap:balance;text-shadow:0 1px 12px rgba(0,0,0,.6)}.cov-t small{font:500 10px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ffffffc7}.icons-row{display:flex;align-items:center;gap:30px;margin-top:50px}.icons-row .kick{flex:none}.icons{display:flex;flex-wrap:wrap;gap:14px 20px;list-style:none;margin:0;padding:0}.icons .gi{width:30px;height:30px}@media(max-width:860px){.covers{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 14px}.icons-row{flex-direction:column;align-items:flex-start;gap:20px;margin-top:54px}.icons{gap:12px 14px}.icons .gi{width:26px;height:26px}.icons li:nth-child(n+13){display:none}}.music-in{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);align-items:center}.music-mark img{width:100%;max-width:420px;height:auto;opacity:.95}.music-text .kick{margin-bottom:18px}.music-text .lede{margin-top:22px}.music-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin:30px 0 0}.music-links .more{margin-left:10px}.wave{height:112px;margin-top:30px}@media(max-width:860px){.music-in{grid-template-columns:1fr;gap:26px}.music-mark img{max-width:220px}.music-links .more{margin-left:0}.wave{height:104px;margin-top:44px}}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px clamp(40px,6vw,96px);align-items:start}.about-in{display:grid;gap:18px;justify-items:start}.about-in .h2{margin-bottom:6px}.about-body{max-width:34em}.about-life{margin:0;font:400 15px/1.6 var(--sans);color:var(--dim);max-width:36em}.sign-off{padding-top:10px}.closing{margin:0;font:680 clamp(44px,5vw,80px)/.96 var(--sans);letter-spacing:-.055em}.closing{text-wrap:balance}.closing em{font-style:normal;font-weight:400;color:var(--ink2)}.sig-fig{margin:58px 0 0;width:min(440px,100%)}.sig-svg{display:block;width:100%;height:auto;overflow:visible}@media(max-width:860px){.about-grid{grid-template-columns:1fr}.sign-off{padding-top:40px}.closing{font-size:clamp(44px,12.4vw,64px)}.sig-fig{margin-top:52px;width:min(320px,100%)}}.hero{--aw: clamp(300px, 23vw, 340px);overflow-x:clip;min-height:max(700px,100svh);padding:calc(var(--hdr) + clamp(70px,11vh,130px)) 0 70px}.hero-in{display:grid;grid-template-columns:minmax(0,1fr) var(--aw);grid-template-areas:"kick art" "name art" "text cat" "emp emp";column-gap:clamp(40px,6vw,110px)}.hero-kick{grid-area:kick;align-self:end;margin-bottom:22px}.hero-name{grid-area:name;align-self:end;margin:0;font:660 clamp(46px,7.4vw,116px)/1 var(--sans);letter-spacing:-.05em;white-space:nowrap;color:var(--ink)}.hero-name .nm{display:inline-block;line-height:1;padding-bottom:.1em;vertical-align:bottom}.hero-art{position:relative;grid-area:art;align-self:end;width:var(--aw);margin-bottom:calc(var(--aw) * .1)}.aws3d{position:relative;width:100%;aspect-ratio:304 / 182;perspective:1000px}.aws3d .aws-rot{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(-20deg);animation:aws-turn 36s linear infinite}.aws3d .aws-l{position:absolute;inset:0;width:100%;height:100%;overflow:visible;backface-visibility:visible;transform:translateZ(calc((var(--i) - 6.5) * 1px))}.aws3d .aws-lf{fill:color-mix(in srgb,var(--aws-side-w) calc(70% + var(--i) * 2%),#000)}.aws3d .aws-sf{fill:color-mix(in srgb,var(--aws-side-s) calc(70% + var(--i) * 2%),#000)}.aws3d .aws-front .aws-lf{fill:var(--aws-w)}.aws3d .aws-front .aws-sf{fill:#f90}:root[data-theme=dark] .aws3d{--aws-w: #ffffff;--aws-side-w: #8a94a3;--aws-side-s: #b86e00}:root[data-theme=light] .aws3d{--aws-w: #252f3e;--aws-side-w: #141a23;--aws-side-s: #a35f00}.aws-defs{position:absolute;width:0;height:0;overflow:hidden}@keyframes aws-turn{0%{transform:rotateY(-20deg)}to{transform:rotateY(340deg)}}.aws-floor{position:absolute;left:50%;top:calc(100% + var(--floor, 44px) - 6px);width:82%;height:12px;border-radius:50%;background:radial-gradient(closest-side,rgba(var(--lime-rgb),.2),transparent);opacity:.35;transform:translate(-50%) scaleX(.94);transition:opacity .6s;animation:aws-floor 18s linear infinite;pointer-events:none}:root[data-theme=light] .aws-floor{background:radial-gradient(closest-side,rgba(26,25,21,.14),transparent)}.aws-floor.lit{opacity:1}@keyframes aws-floor{0%{transform:translate(-50%) scaleX(.94)}8.3%{transform:translate(-50%) scaleX(.996)}16.7%{transform:translate(-50%) scaleX(.985)}25%{transform:translate(-50%) scaleX(.906)}33.3%{transform:translate(-50%) scaleX(.766)}41.7%{transform:translate(-50%) scaleX(.574)}50%{transform:translate(-50%) scaleX(.342)}58.3%{transform:translate(-50%) scaleX(.16)}66.7%{transform:translate(-50%) scaleX(.174)}75%{transform:translate(-50%) scaleX(.423)}83.3%{transform:translate(-50%) scaleX(.643)}91.7%{transform:translate(-50%) scaleX(.819)}to{transform:translate(-50%) scaleX(.94)}}.hero-art.paused .aws-rot,.hero-art.paused .aws-floor{animation-play-state:paused}.still .aws3d .aws-rot,.shot .aws3d .aws-rot,.still .aws-floor,.shot .aws-floor{animation:none}.still .aws-floor,.shot .aws-floor{opacity:1}.hero-text{grid-area:text;max-width:34em;padding-top:46px}.hero-head{margin:0 0 20px;font:600 clamp(22px,2vw,30px)/1.15 var(--sans);letter-spacing:-.028em;color:var(--ink)}.hero-head em{font:500 .52em/1 var(--mono);font-style:normal;letter-spacing:.04em;color:var(--lime);vertical-align:.32em;margin-left:.3em;white-space:nowrap}.hero-bio{margin:0 0 32px;font:400 clamp(16.5px,1.2vw,18px)/1.65 var(--sans);color:var(--ink2);max-width:32em;text-wrap:pretty}.hero-cat{grid-area:cat;padding-top:46px}.cat{list-style:none;margin:0;padding:0}.ce a{display:grid;grid-template-columns:calc(clamp(32px,2.8vw,42px)*2.75) minmax(0,1fr);align-items:baseline;gap:16px;padding:12px 0 11px;border-top:1px solid var(--rule);color:inherit}.ce:last-child a{border-bottom:1px solid var(--rule)}.hero .ce a{margin-right:calc(-1 * var(--goff, 56px));padding-right:var(--goff, 56px)}.ce .num{font:640 clamp(32px,2.8vw,42px)/1 var(--sans);letter-spacing:-.05em;color:var(--ink);font-variant-numeric:lining-nums;transition:color .3s;white-space:nowrap}.ce .num small{font:500 .27em/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin-right:.35em;vertical-align:.55em}.ce .lab{font:500 10.5px/1.45 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.ce a:hover .num{color:var(--lime)}:root[data-theme=light] .ce a:hover .num{color:var(--lav)}.career{grid-area:emp;min-width:0;margin-top:44px}.career .kick{margin:0 0 24px;font-size:10.5px}.emps{--mh: 68px;display:grid;grid-template-columns:repeat(auto-fit,minmax(max(246px,(100% - 60px) / 4),1fr));gap:54px 20px;list-style:none;margin:0;padding:0}.emp{display:grid;justify-items:center;align-content:start;gap:14px}.emp-mark{display:grid;place-items:center;height:var(--mh)}.emp-logo{width:var(--w);height:auto;max-width:none}.emp-note{font:500 10.5px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);white-space:nowrap}@media(max-width:1100px){.hero-name{font-size:clamp(64px,8.6vw,110px)}}.emps-hint{display:none}@media(max-width:860px){.hero{min-height:0;padding:calc(var(--hdr) + 40px) 0 24px;--aw: min(58vw, 230px)}.hero-in{grid-template-columns:minmax(0,1fr);grid-template-areas:"kick" "name" "art" "text" "cat" "emp"}.hero-kick{margin-bottom:22px;font-size:10.5px}.hero-art{justify-self:center;margin:44px 0 30px}.hero-name{font-size:clamp(54px,15.6vw,84px)}.hero-text,.hero-cat{padding-top:34px}.ce a{grid-template-columns:calc(clamp(32px,2.8vw,42px)*2.75) minmax(0,1fr)}.career{margin-top:40px}.career .kick{margin-bottom:18px}.career .kick{display:flex;justify-content:space-between;gap:12px}.emps-hint{display:inline;color:var(--ink2);white-space:nowrap}.emps{--fade: 56px;display:flex;gap:36px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0;padding:0 var(--fade) 12px 0;scrollbar-width:thin;scrollbar-color:var(--rule2) transparent;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - var(--fade)),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - var(--fade)),transparent)}.emps.at-end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 var(--fade));mask-image:linear-gradient(90deg,transparent,#000 var(--fade))}.emps.at-end.at-start{-webkit-mask-image:none;mask-image:none}.emps .emp-note{transition:opacity .2s}.emps .emp-note.cut{opacity:0}.emps:focus-visible{outline:2px solid var(--lime);outline-offset:4px}.emp{flex:none;justify-items:start;gap:12px;scroll-snap-align:start}}.notes,.bench,.gh,.screen,.play,.music,.about{padding:92px 0 40px}.notes{padding-top:56px}.music .h2 .no b{font-weight:600;text-transform:uppercase;color:var(--ink2)}@media(max-width:860px){.notes,.bench,.gh,.screen,.play,.music,.about{padding:84px 0 38px}}.notes .dw-sum{font-size:18px;margin-bottom:8px}.music-now{margin:16px 0 0}.play-recent{margin:14px 0 0}.play-recent[hidden],.music-now[hidden]{display:none}.np-card{display:inline-flex;align-items:center;gap:14px;margin:18px 0 0;padding:8px 18px 8px 8px;border:1px solid var(--rule2);border-radius:14px;color:var(--ink);text-decoration:none;max-width:100%;transition:border-color .2s}.np-card[hidden]{display:none}.np-card:hover{border-color:var(--ink2)}.np-card img{flex:none;width:64px;height:64px;border-radius:8px;object-fit:cover}.np-c{display:grid;gap:3px;min-width:0}.np-c b{font:640 18px/1.2 var(--sans);letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-c>span:last-child{font:500 11px/1.3 var(--mono);color:var(--dim)}.np-k{display:inline-flex;align-items:center;gap:8px;font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--lime)}.notes-none{margin:8px 0 0;color:var(--ink2)}.dw.only .dw-btn{cursor:default}.play .reel-k{margin-bottom:30px}@media(max-width:860px){.notes .dw-sum{display:none}}
