@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2")}@font-face{font-family:Geist Fallback;src:local(Segoe UI),local(Helvetica Neue),local(Arial);size-adjust:106.14%}:root{color-scheme:dark;--bg:#000;--fg:#f4f4f5;--soft:#8b8b8b;--line:#ffffff1a;--line-strong:#ffffff47;--wash:#ffffff0a;--gutter:clamp(20px, 4.6vw, 48px);--maxw:1140px;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.5rem;--sp-6:2rem;--sp-7:3rem;--sp-8:4rem;--section-y:clamp(4rem, 8vw, 7.5rem);--fs-hero:clamp(2.7rem, 8.4vw, 5.6rem);--fs-h1:clamp(1.9rem, 4.6vw, 3.1rem);--fs-h2:clamp(1.3rem, 2.5vw, 1.8rem);--fs-h3:clamp(1rem, 1.5vw, 1.15rem);--fs-body:clamp(.95rem, 1vw, 1.05rem);--fs-mono:.75rem;--font-sans:Geist, "Geist Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif;--font-mono:ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Mono", Consolas, "Liberation Mono", monospace;--ease:cubic-bezier(.22, 1, .36, 1);--t:.28s;font-family:var(--font-sans);color:var(--fg);background:var(--bg);font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}body{font-size:var(--fs-body);background:var(--bg);color:var(--fg);margin:0;line-height:1.7;overflow-x:clip}h1,h2,h3,h4,p,figure,ol,ul,dl,dd,dt,blockquote{margin:0}ol,ul{padding:0;list-style:none}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,svg,canvas{max-width:100%;display:block}:focus-visible{outline:2px solid var(--fg);outline-offset:3px}::selection{background:var(--fg);color:var(--bg)}.shell{width:100%;max-width:var(--maxw);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y);border-top:1px solid var(--line);position:relative}.section:first-of-type{border-top:0}.section-head{gap:var(--sp-3);margin-bottom:var(--sp-7);flex-direction:column;display:flex}.section-head h2{font-size:var(--fs-h2);letter-spacing:-.02em;font-weight:600;line-height:1.2}.section-head p{max-width:38em;color:var(--soft)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{left:var(--sp-4);z-index:20;padding:var(--sp-2) var(--sp-4);background:var(--fg);color:var(--bg);transition:top var(--t) var(--ease);position:absolute;top:-100px}.skip:focus{top:var(--sp-4)}.mono{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;color:var(--soft)}.link{min-width:24px;min-height:26px;color:var(--fg);border-bottom:1px solid var(--line-strong);transition:border-color var(--t) var(--ease);justify-content:center;align-items:center;gap:.35em;display:inline-flex;position:relative}main,.footer{z-index:1;position:relative}.link:hover{border-bottom-color:var(--fg)}.arrow{transition:transform var(--t) var(--ease);font-size:.85em}.link:hover .arrow{transform:translate(2px,-2px)}.btn{min-height:46px;padding:0 var(--sp-5);white-space:nowrap;transition:background-color var(--t) var(--ease), color var(--t) var(--ease), border-color var(--t) var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.5em;font-size:.9rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--fg);color:var(--bg)}.btn-primary:hover{color:var(--fg);border-color:var(--line-strong);background:0 0}.btn-ghost{border-color:var(--line-strong);color:var(--fg)}.btn-ghost:hover{background:var(--wash)}.btn:active{transform:translateY(1px)}.rows{border-top:1px solid var(--line)}.rows>*{gap:var(--sp-4);padding-block:var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);align-items:baseline;display:grid}.rows dt,.rows .row-label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;color:var(--soft)}.rows dd,.rows .row-value{font-size:var(--fs-h3);letter-spacing:-.01em;margin:0;font-weight:500}.card{gap:var(--sp-5);min-height:64px;padding:var(--sp-4) var(--sp-4) var(--sp-4) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;position:relative}.card-name{font-size:var(--fs-h3);letter-spacing:-.01em;font-weight:600;display:block}.card-note{margin-top:var(--sp-1);color:var(--soft);font-size:.88rem;display:block}.card-go{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--soft);transition:color var(--t) var(--ease)}.card:hover .card-go{color:var(--fg)}.quote{letter-spacing:-.02em;text-wrap:balance;max-width:30ch;font-size:clamp(1.4rem,3vw,2.1rem);font-weight:500;line-height:1.25}.quote-source{margin-top:var(--sp-5)}.header{z-index:10;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:var(--sp-5);min-height:64px;display:flex}.wordmark{letter-spacing:-.02em;align-items:center;min-width:24px;min-height:32px;font-size:.95rem;font-weight:600;display:inline-flex}.header nav{gap:var(--sp-5);display:flex}.header nav a{min-width:24px;min-height:32px;color:var(--soft);transition:color var(--t) var(--ease);justify-content:center;align-items:center;font-size:.9rem;display:inline-flex}.header nav a:hover,.header nav a[aria-current=page]{color:var(--fg)}.hero{isolation:isolate;padding-block:clamp(2.75rem,7vw,5.25rem) clamp(2.5rem,6vw,4.5rem);position:relative}.page-head.has-backdrop{align-items:center;min-height:clamp(11rem,22vw,16rem);display:flex}.hero-inner{z-index:1;align-items:flex-start;gap:var(--sp-5);flex-direction:column;display:flex;position:relative}.hero-body{align-items:flex-start;gap:var(--sp-5);flex-direction:column;width:100%;display:flex}.hero-word{font-size:var(--fs-hero);letter-spacing:-.035em;font-weight:600;line-height:.95}.word,.word-i{display:inline-block}.word-i{vertical-align:bottom;margin-block:-.08em;padding-block:.08em;overflow:hidden}.word-i+.word-i{margin-left:-.035em}.word-i>span{display:block}.hero-lead{max-width:48ch;color:var(--soft);font-size:clamp(1rem,1.25vw,1.12rem)}.hero-cta{gap:var(--sp-3);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.statement-list{flex-direction:column;gap:clamp(2rem,4.5vw,3.25rem);display:flex}.statement{gap:var(--sp-5);grid-template-columns:minmax(0,7rem) minmax(0,1fr);align-items:baseline;display:grid}.statement .mono{padding-top:.55em}.statement p{letter-spacing:-.025em;text-wrap:balance;max-width:22ch;font-size:clamp(1.3rem,3.2vw,2.3rem);font-weight:500;line-height:1.22}.index-list{border-top:1px solid var(--line)}.index-row{gap:var(--sp-5);min-height:76px;padding-block:var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:2.5rem minmax(0,1fr) auto;align-items:center;display:grid}.index-body{flex-direction:column;gap:2px;display:flex}.index-body strong{font-size:var(--fs-h3);letter-spacing:-.01em;font-weight:600}.index-note{color:var(--soft);font-size:.88rem}.index-go{color:var(--soft);transition:color var(--t) var(--ease), transform var(--t) var(--ease)}.index-row:hover .index-go{color:var(--fg);transform:translate(3px)}.pick-list{border-top:1px solid var(--line)}.pick-row{gap:var(--sp-5);min-height:68px;padding-block:var(--sp-4);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,13rem) minmax(0,1fr) auto 1.25rem;align-items:baseline;display:grid}.pick-head{align-items:center;gap:var(--sp-3);min-width:0;display:flex}.pick-name{font-size:var(--fs-h3);letter-spacing:-.01em;font-weight:600}.pick-summary{color:var(--soft);font-size:.92rem}.pick-body{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.pick-body .tech-list{margin-top:var(--sp-1)}.more{margin-top:var(--sp-6)}.page-head{padding-block:clamp(2.75rem,7vw,5.25rem) clamp(1rem,2.5vw,1.75rem)}.page-head h1{font-size:var(--fs-h1);letter-spacing:-.035em;font-weight:600;line-height:1.05}.page-lead{margin-top:var(--sp-4);max-width:36em;color:var(--soft)}.page-head+.section{border-top:0}.prose{gap:var(--sp-4);max-width:42em;color:var(--soft);flex-direction:column;display:flex}.section-latin,.row-latin,.prose-latin{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--soft);font-weight:400}.section-latin{margin-left:var(--sp-4);white-space:nowrap}.prose-latin{margin-bottom:var(--sp-2);display:block}.row-latin{margin-left:var(--sp-3);letter-spacing:.1em}.rows dt{align-items:baseline;gap:0 var(--sp-2);flex-wrap:wrap;display:flex}.work-list{flex-direction:column;gap:clamp(3rem,6vw,5rem);display:flex}.work-item{gap:var(--sp-5);grid-template-columns:minmax(0,3.5rem) minmax(0,1fr);display:grid}.work-n{padding-top:.6em}.work-body{gap:var(--sp-4);flex-direction:column;align-items:flex-start;display:flex}.work-kind{margin-bottom:calc(var(--sp-2) * -1);letter-spacing:.14em;text-transform:uppercase}.work-head{align-items:center;gap:var(--sp-4);flex-wrap:wrap;min-width:0;display:flex}.work-name{font-size:var(--fs-h2);letter-spacing:-.025em;font-weight:600;line-height:1.15}.work-stats{color:var(--soft);align-self:center;align-items:center;gap:.35em;display:inline-flex}.work-columns{gap:var(--sp-6) clamp(2rem, 5vw, 4.5rem);grid-template-columns:minmax(0,1fr) minmax(0,17rem);align-items:start;width:100%;display:grid}.work-col{gap:var(--sp-4);flex-direction:column;min-width:0;display:flex}.work-col--facts{gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--line-strong)}.work-fact-label{letter-spacing:.14em;text-transform:uppercase}.work-facts{margin-top:var(--sp-2);flex-direction:column;display:flex}.work-facts>div{align-items:baseline;gap:var(--sp-3);padding-block:var(--sp-3);border-bottom:1px solid var(--line);display:flex}.work-facts dt{letter-spacing:.1em;flex:none;width:3.6em}.work-facts dd{margin:0;font-size:.92rem}.work-col--facts .work-go{margin-top:var(--sp-2)}@media (width<=940px){.work-columns{gap:var(--sp-5);grid-template-columns:minmax(0,1fr)}}.work-detail{max-width:40em;color:var(--soft)}.rows{max-width:46rem}.work-meta{width:100%;max-width:40rem}.tech-list{gap:var(--sp-2);flex-wrap:wrap;display:flex}.tech{font-family:var(--font-mono);letter-spacing:.02em;color:var(--soft);border:1px solid var(--line);box-sizing:border-box;transition:color var(--t) var(--ease), border-color var(--t) var(--ease);padding:.24em .62em;font-size:.72rem}.work-item:hover .tech,.pick-row:hover .tech{color:var(--fg);border-color:var(--line-strong)}.point-list{gap:var(--sp-3);counter-reset:point;flex-direction:column;max-width:44em;display:flex}.point{color:var(--soft);padding-left:2.1em;position:relative}.point:before{counter-increment:point;content:counter(point);width:1.5em;height:1.5em;font-family:var(--font-mono);color:var(--fg);border:1px solid var(--line-strong);border-radius:50%;justify-content:center;align-items:center;font-size:.72rem;display:inline-flex;position:absolute;top:.15em;left:0}.stack-grid{gap:var(--sp-6) var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));display:grid}.stack-group{gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--line);flex-direction:column;display:flex}.stack-head{align-items:baseline;gap:var(--sp-3);display:flex}.stack-label{font-size:var(--fs-h3);letter-spacing:-.01em;font-weight:600}.stack-latin{letter-spacing:.14em;text-transform:uppercase}.stack-note{color:var(--soft);font-size:.9rem}.notfound{align-items:flex-start;gap:var(--sp-5);flex-direction:column;justify-content:center;min-height:70svh;padding-block:clamp(4rem,10vw,8rem);display:flex}.notfound h1{font-size:var(--fs-h1);letter-spacing:-.035em;font-weight:600;line-height:1.05}.notfound p{max-width:44ch;color:var(--soft)}.notfound-nav{gap:var(--sp-5);flex-wrap:wrap;display:flex}.game-list{gap:var(--sp-5);grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));display:grid}.game{gap:var(--sp-3);flex-direction:column;height:100%;display:flex}.game-art{background:var(--wash);display:block;overflow:hidden}.game-art img{aspect-ratio:460/215;object-fit:cover;filter:grayscale();width:100%;height:auto;transition:filter var(--t) var(--ease)}.game:hover .game-art img{filter:grayscale(0)}.game-meta{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.game-name{font-size:var(--fs-h3);letter-spacing:-.01em;font-weight:500}.footer{margin-top:var(--section-y);padding-block:var(--sp-6);border-top:1px solid var(--line)}.footer-inner{justify-content:space-between;align-items:center;gap:var(--sp-5);flex-wrap:wrap;display:flex}.footer nav{gap:var(--sp-5);flex-wrap:wrap;display:flex}.footer-foot{align-items:center;gap:var(--sp-6);flex-wrap:wrap;display:flex}.motion-switch{min-width:24px;min-height:26px;color:var(--soft);border-bottom:1px dashed var(--line-strong);transition:color var(--t) var(--ease), border-color var(--t) var(--ease)}.motion-switch:hover,.motion-switch:focus-visible{color:var(--fg);border-bottom-color:var(--fg)}.motion-switch[aria-pressed=true]{border-bottom-style:solid}@media (width<=700px){.header-inner{min-height:56px}.header nav{gap:var(--sp-4)}.header nav a,.wordmark{font-size:.84rem}.statement{gap:var(--sp-2);grid-template-columns:minmax(0,1fr)}.statement .mono{padding-top:0}.statement p{max-width:none}.index-row{gap:var(--sp-4);grid-template-columns:1.75rem minmax(0,1fr) auto}.pick-row{row-gap:var(--sp-2);grid-template-columns:minmax(0,1fr) auto}.pick-head{grid-area:1/1;min-width:min-content}.pick-body{grid-area:2/1/auto/-1}.pick-type{grid-area:3/1/auto/-1}.pick-row>.arrow{grid-area:1/2}.work-item{gap:var(--sp-3);grid-template-columns:minmax(0,1fr)}.rows>*{gap:var(--sp-2);grid-template-columns:minmax(0,1fr)}.footer-inner{align-items:flex-start;gap:var(--sp-4);flex-direction:column}}@media (pointer:coarse){.link:after,.motion-switch:after{content:"";position:absolute;inset:-10px 0}.motion-switch{position:relative}.header nav a,.wordmark,.skip{min-height:44px}}:root{--intro-total:1.7s;--intro-wait:1s;--intro-lift:1.18s;--intro-lift-time:.4s;--intro-spread:18ms}@media (prefers-reduced-motion:reduce){:root:not([data-motion=on]) :where(.enter,.word-i>span,.reveal,.cascade,.glow,.card,.logo,.progress,.split-text__char,.split-text__word,.count,.intro,.intro__slat,.intro__halo,.intro__name,.intro__char>span,.intro__rule,.intro__meta){animation:none!important}}:root[data-motion=off] :where(.enter,.word-i>span,.reveal,.cascade,.glow,.card,.logo,.progress,.split-text__char,.split-text__word,.count,.intro,.intro__slat,.intro__halo,.intro__name,.intro__char>span,.intro__rule,.intro__meta){animation:none!important}:root[data-motion=off] :where(.reveal,.cascade,.card,.logo,.split-text__char,.split-text__word){clip-path:none!important;transform:none!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=on]) :where(.reveal,.cascade,.card,.logo,.split-text__char,.split-text__word){clip-path:none!important;transform:none!important}}@keyframes head-wipe{0%{clip-path:inset(0 100% 0 0);transform:translate(-8px)}}@keyframes row-step{0%{clip-path:inset(0 100% 0 0);transform:translate(-18px)}}@keyframes card-settle{0%{transform:translateY(34px)scale(1.015)}}@keyframes mark-focus{0%{clip-path:inset(0 0 100%);transform:scale(1.08)}}@keyframes enter-rise{0%{transform:translateY(34px)}}@keyframes draw{0%{transform:scaleX(0)}}@keyframes glow{0%{color:var(--soft)}}@keyframes name-rise{0%{transform:translateY(112%)}64%{transform:translateY(-4%)}to{transform:translate(0,0)}}@keyframes type-in{0%{clip-path:inset(100% 0 0);transform:translateY(.42em)}to{clip-path:inset(-20% 0 0);transform:translate(0,0)}}@keyframes hero-out{to{opacity:.22;transform:translateY(-4%)scale(.9)}}@keyframes hero-away{to{opacity:0;transform:translateY(-20px)}}@keyframes progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes intro-out{0%,99%{visibility:visible;opacity:1}to{visibility:hidden;opacity:0}}@keyframes intro-slat{0%{transform:translate(0,0)}to{transform:translateY(-101%)}}@keyframes intro-halo{0%{opacity:0}22%{opacity:1}50%{opacity:1}to{opacity:0}}@keyframes intro-rule-out{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes intro-meta-out{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translateY(-6px)}}@keyframes intro-char-out{0%{transform:translate(0,0)}to{transform:translateY(-112%)}}@keyframes intro-char-in{0%{transform:translateY(112%)}to{transform:translate(0,0)}}@keyframes intro-focus{0%{filter:blur(14px)}to{filter:blur()}}@keyframes intro-rule-in{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes intro-meta-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0,0)}}.intro{z-index:200;visibility:hidden;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.intro__slats{display:flex;position:absolute;inset:0}.intro__slat{background:var(--bg);flex:1 1 0;margin-right:-1px;position:relative}.intro__slat:before{content:"";background:linear-gradient(90deg,#ffffff0f 0%,#ffffff57 50%,#ffffff0f 100%);height:1px;position:absolute;inset:0 0 auto}.intro__halo{opacity:0;background:radial-gradient(circle,#ffffff17 0%,#ffffff0b 32%,#fff0 66%);width:min(70rem,150vw);height:min(70rem,150vw);margin:calc(min(70rem,150vw)/-2) 0 0 calc(min(70rem,150vw)/-2);position:absolute;top:50%;left:50%}.intro__inner{align-items:center;gap:var(--sp-5);flex-direction:column;display:flex;position:relative}.intro__name{font-size:var(--fs-hero);letter-spacing:-.05em;color:var(--fg);filter:blur();font-weight:600;line-height:1;display:flex}.intro__char{vertical-align:bottom;margin-block:-.1em;padding-block:.1em;display:inline-block;overflow:hidden}.intro__char>span{display:block;transform:translateY(112%)}.intro__rule{background:var(--line-strong);transform-origin:50%;width:min(46vw,22rem);height:1px;display:block;transform:scaleX(0)}.intro__meta{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--soft);opacity:0}@supports (animation-name:intro-out) and (filter:blur(2px)){:root[data-intro=play] .intro{animation:intro-out var(--intro-total) linear forwards}:root[data-intro=play] .intro__slat{animation:intro-slat var(--intro-lift-time) var(--ease) forwards;animation-delay:calc(var(--intro-lift) + (var(--d,0) - .5) * var(--intro-spread))}:root[data-intro=play] .intro__halo{animation:intro-halo var(--intro-total) var(--ease) forwards}:root[data-intro=play] .intro__name{animation:intro-focus .62s var(--ease) both}:root[data-intro=play] .intro__char>span{animation:intro-char-in .54s var(--ease) forwards, intro-char-out .22s var(--ease) forwards;animation-delay:calc(var(--i,0) * 42ms + 70ms), calc(var(--i,0) * 12ms + .82s)}:root[data-intro=play] .intro__rule{animation:intro-rule-in .46s var(--ease) forwards, intro-rule-out .2s var(--ease) forwards;animation-delay:.36s,.84s}:root[data-intro=play] .intro__meta{animation:intro-meta-in .4s var(--ease) forwards, intro-meta-out .18s var(--ease) forwards;animation-delay:.48s,.87s}}.enter{animation:enter-rise .7s var(--ease) both;animation-delay:var(--d,0s)}:root[data-intro=play] .enter{animation-delay:calc(var(--d,0s) + var(--intro-wait))}.word-i>span{animation:name-rise .92s var(--ease) both;animation-delay:calc(var(--i) * 54ms + 80ms)}:root[data-intro=play] .word-i>span{animation-delay:calc(var(--i) * 54ms + 80ms + var(--intro-wait))}@supports (animation-timeline:view()){[data-in-view].reveal{animation-name:head-wipe;animation-timing-function:var(--ease);animation-duration:.72s;animation-fill-mode:both;animation-delay:calc(var(--i,0) * 70ms + 90ms);animation-timeline:auto;animation-range:normal}:root[data-intro=play] [data-in-view].reveal{animation-delay:calc(var(--i,0) * 70ms + 90ms + var(--intro-wait))}[data-in-view].cascade{animation-name:row-step;animation-timing-function:var(--ease);animation-duration:.7s;animation-fill-mode:both;animation-delay:calc(var(--i,0) * 70ms + .14s);animation-timeline:auto;animation-range:normal}:root[data-intro=play] [data-in-view].cascade{animation-delay:calc(var(--i,0) * 70ms + .14s + var(--intro-wait))}[data-in-view] .split-text__char,[data-in-view] .split-text__word,[data-in-view].split-text .split-text__char,[data-in-view].split-text .split-text__word{animation-name:type-in;animation-timing-function:var(--ease);animation-duration:.5s;animation-fill-mode:both;animation-delay:calc(var(--i,0) * 22ms + .16s);animation-timeline:auto;animation-range:normal}:root[data-intro=play] [data-in-view] .split-text__char,:root[data-intro=play] [data-in-view] .split-text__word{animation-delay:calc(var(--i,0) * 22ms + .16s + var(--intro-wait))}[data-in-view].count,[data-in-view] .count{animation-name:count-up;animation-timing-function:var(--ease);animation-duration:.9s;animation-delay:.22s;animation-fill-mode:both;animation-timeline:auto;animation-range:normal}:root[data-intro=play] [data-in-view].count,:root[data-intro=play] [data-in-view] .count{animation-delay:calc(.22s + var(--intro-wait))}.reveal:not([data-in-view]){animation-name:head-wipe;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry cover 42%}.cascade:not([data-in-view]){animation-name:row-step;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry calc(var(--i,0) * 5%) cover calc(40% + var(--i,0) * 7%)}.section:not(:first-of-type):before{animation-name:draw;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry entry 55%}.card{animation-name:card-settle;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry cover 34%}.logo{animation-name:mark-focus;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry cover 30%}.glow{animation-name:glow;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry calc(var(--i,0) * 4%) cover calc(30% + var(--i,0) * 5%)}.hero-word{animation-name:hero-out;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:0 70vh}.hero-fade{animation-name:hero-away;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root);animation-range:0 42vh}}.section:not(:first-of-type):before{content:"";background:var(--line-strong);transform-origin:0;pointer-events:none;height:1px;position:absolute;inset:-1px 0 auto}.progress{z-index:60;background:var(--fg);transform-origin:0;pointer-events:none;height:1px;position:fixed;inset:0 0 auto;transform:scaleX(0)}@supports (animation-timeline:scroll()){.progress{animation-name:progress;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root)}}.spotlight{z-index:0;opacity:0;pointer-events:none;contain:layout paint style;background:radial-gradient(circle,#ffffff0e 0%,#ffffff08 34%,#fff0 68%);width:52rem;height:52rem;margin:-26rem 0 0 -26rem;position:fixed;top:0;left:0}@media (hover:none){.spotlight{display:none}}:root[data-motion=on] main{transform:skewY(calc(var(--vel,0) * .075deg));transform-origin:50% 0}[data-fill]{isolation:isolate;position:relative}[data-fill]:after{content:"";background-image:linear-gradient(var(--fg), var(--fg)), linear-gradient(var(--fg), var(--fg));transform-origin:var(--fx-in,0%) 50%;transition:transform .46s var(--ease);pointer-events:none;background-position:0 0,0 100%;background-repeat:no-repeat;background-size:100% 1px,100% 1px;position:absolute;inset:-1px 0;transform:scaleX(0)}[data-fill]:hover:after,[data-fill]:focus-visible:after{transform:scaleX(1)}[data-fill]{transition:color .34s var(--ease)}[data-fill]:hover,[data-fill]:focus-visible,[data-fill]:hover .index-note,[data-fill]:focus-visible .index-note,[data-fill]:hover .pick-summary,[data-fill]:focus-visible .pick-summary,[data-fill]:hover .card-note,[data-fill]:focus-visible .card-note{color:var(--fg)}[data-fill] .index-note,[data-fill] .pick-summary,[data-fill] .card-note{transition:color .34s var(--ease)}[data-card-spot]:not([data-fill]):before{content:"";z-index:-1;background:radial-gradient(18rem circle at var(--mx,50%) var(--my,50%), #ffffff24, #fff0 70%);opacity:0;transition:opacity .36s var(--ease);pointer-events:none;position:absolute;inset:-1px}[data-card-spot]:not([data-fill]):hover:before,[data-card-spot]:not([data-fill]):focus-visible:before{opacity:1}.arrow{transition:transform .42s var(--ease)}a:hover .arrow,a:focus-visible .arrow{transform:translate(3px,-3px)}.split-text__body{display:inline}.split-text__char,.split-text__word{display:inline-block}@supports (animation-timeline:view()){.split-text__char,.split-text__word{animation-name:type-in;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry calc(var(--i,0) * var(--split-step,0.7%)) cover calc(30% + var(--i,0) * var(--split-step,0.7%))}}@property --n{syntax:"<integer>";inherits:false;initial-value:0}.count{--n:0;counter-reset:count var(--n);display:inline}.count:after{content:counter(count, decimal-leading-zero)}@supports (animation-timeline:view()){.count{animation-name:count-up;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry 10% cover 34%}}@keyframes count-up{0%{--n:0}to{--n:var(--to)}}.logo{width:var(--logo-size,44px);height:var(--logo-size,44px);isolation:isolate;flex:none;display:inline-block;position:relative;overflow:hidden}.logo img{object-fit:contain;width:100%;height:100%;display:block}.logo canvas{pointer-events:none;position:absolute;inset:0}@media (hover:none){.logo{overflow:visible}}@media (prefers-reduced-motion:reduce){:root:not([data-motion=on]) :where(.split-text__char,.split-text__word,.count){animation:none}}:root[data-motion=off] :where(.split-text__char,.split-text__word,.count){animation:none}[data-magnet]{transition:transform .18s var(--ease)}[data-magnet]:hover{transition:none}.spine{z-index:55;pointer-events:none;background-image:linear-gradient(var(--fg), var(--fg));opacity:.5;background-position:0 -12vh;background-repeat:no-repeat;background-size:100% 12vh;width:2px;position:fixed;top:0;bottom:0;left:0}.spine:before{content:"";background:var(--line);position:absolute;inset:0}@media (width<=900px){.spine{display:none}}@supports (animation-timeline:scroll()){.spine{animation-name:spine-travel;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:scroll(root)}}@keyframes spine-travel{0%{background-position:0 -12vh}to{background-position:0 100vh}}.read-mark{position:relative}.read-mark:after{content:"";background:var(--line-strong);transform-origin:0;height:1px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:view()){.read-mark:after{animation-name:read-underline;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:cover}}@keyframes read-underline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@supports (animation-timeline:view()){.fx-backdrop{animation-name:drift-slow;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:cover}.rb-marquee{animation-name:drift-fast;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:cover}}@keyframes drift-slow{0%{transform:translateY(-22px)}to{transform:translateY(22px)}}@keyframes drift-fast{0%{transform:translateY(14px)}to{transform:translateY(-14px)}}@supports (animation-timeline:view()){.footer-inner{animation-name:enter-rise;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:view();animation-range:entry 10% cover 45%}}:root[data-motion=off] :where(.spine,.fx-backdrop,.rb-marquee,.footer-inner),:root[data-motion=off] .read-mark:after{animation:none!important;transform:none!important}@media (prefers-reduced-motion:reduce){:root:not([data-motion=on]) :where(.spine,.fx-backdrop,.rb-marquee,.footer-inner),:root:not([data-motion=on]) .read-mark:after{animation:none!important;transform:none!important}}@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .26s var(--ease) both;mix-blend-mode:normal}::view-transition-new(root){animation:page-in .38s var(--ease) both;mix-blend-mode:normal}@keyframes page-out{to{opacity:0;transform:translateY(-14px)scale(.994)}}@keyframes page-in{0%{opacity:0;transform:translateY(22px)scale(.994)}}.site-header{view-transition-name:site-header}.spine{view-transition-name:spine}::view-transition-old(mark-leiz-api),::view-transition-new(mark-leiz-api),::view-transition-old(mark-xblocker),::view-transition-new(mark-xblocker),::view-transition-old(mark-leifetch),::view-transition-new(mark-leifetch),::view-transition-old(mark-retoolbox),::view-transition-new(mark-retoolbox),::view-transition-old(site-header),::view-transition-new(site-header),::view-transition-old(spine),::view-transition-new(spine){mix-blend-mode:normal;animation:none}::view-transition-group(mark-leiz-api),::view-transition-group(mark-xblocker),::view-transition-group(mark-leifetch),::view-transition-group(mark-retoolbox){animation-duration:.38s;animation-timing-function:var(--ease)}::view-transition-group(site-header),::view-transition-group(spine){animation-duration:.38s;animation-timing-function:linear}@media (prefers-reduced-motion:reduce){:root:not([data-motion=on])::view-transition-group(*),:root:not([data-motion=on])::view-transition-old(root),:root:not([data-motion=on])::view-transition-new(root){animation:none}}:root[data-motion=off]::view-transition-group(*),:root[data-motion=off]::view-transition-old(root),:root[data-motion=off]::view-transition-new(root){animation:none}:root[data-vt] .enter,:root[data-vt] .word-i>span,:root[data-vt] [data-in-view].reveal,:root[data-vt] [data-in-view].cascade,:root[data-vt] [data-in-view] .split-text__char,:root[data-vt] [data-in-view] .split-text__word{clip-path:none!important;animation:none!important;transform:none!important}.has-backdrop{isolation:isolate;position:relative}.has-backdrop>:not(.fx-backdrop){z-index:1;position:relative}.fx-backdrop{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.fx-backdrop canvas{display:block;position:absolute;inset:0}.fx-backdrop[data-backdrop-unsupported]{background:radial-gradient(60rem 30rem at 50% 40%,#ffffff12,#0000 70%),radial-gradient(40rem 24rem at 20% 80%,#ffffff0a,#0000 70%)}.fx-glitch{overflow:hidden}.fx-glitch canvas{width:100%;height:100%;display:block}.fx-glitch:after{content:"";pointer-events:none;background:radial-gradient(circle, transparent 52%, var(--bg) 100%);position:absolute;inset:0}.fx-click{z-index:80;pointer-events:none;position:fixed;inset:0}.fx-click canvas{width:100%;height:100%;display:block}.star-border{vertical-align:top;padding:2px 0;display:inline-block;position:relative;overflow:hidden}.star-border__glow{z-index:0;opacity:0;background:radial-gradient(circle, var(--star-color,#fff), transparent 10%);border-radius:50%;width:300%;height:50%;position:absolute}:root[data-motion=on] .star-border__glow{opacity:.95;animation:linear infinite alternate star-sweep;animation-duration:var(--star-speed,5s)}.star-border__glow--bottom{bottom:-12px;right:-250%}.star-border__glow--top{top:-12px;left:-250%}:root[data-motion=on] .star-border__glow--top{animation-name:star-sweep-reverse}@keyframes star-sweep{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(-100%)}}@keyframes star-sweep-reverse{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(100%)}}.fx-host{isolation:isolate;position:relative}.fx-glare{z-index:-1;pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden;mask-image:linear-gradient(90deg,#0000 0%,#000 5% 95%,#0000 100%)}.fx-host:not([data-fill])>.fx-glare{display:block}.fx-glare:before{content:"";width:var(--glare-width,55%);background:linear-gradient(90deg, transparent, var(--glare-color,#ffffff29), transparent);transition:transform var(--glare-duration,.75s) var(--ease);position:absolute;top:0;bottom:0;left:0;transform:translate(-180%)skew(-18deg)}.fx-host:not([data-fill]):hover>.fx-glare:before,.fx-host:not([data-fill]):focus-within>.fx-glare:before{transform:translate(260%)skew(-18deg)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.shiny{--shiny-base:var(--soft);--shiny-hi:var(--fg);background-image:linear-gradient(var(--shiny-spread,110deg), var(--shiny-base) 0%, var(--shiny-base) 38%, var(--shiny-hi) 50%, var(--shiny-base) 62%, var(--shiny-base) 100%);-webkit-text-fill-color:transparent;color:#0000;background-position:150%;background-size:220%;-webkit-background-clip:text;background-clip:text}:root[data-motion=on] .shiny{animation:shiny-sweep var(--shiny-speed,4s) linear infinite;animation-delay:var(--shiny-delay,0s)}@keyframes shiny-sweep{0%{background-position:150%}to{background-position:-60%}}@media (forced-colors:active){.shiny{-webkit-text-fill-color:currentColor;color:var(--fg)}}}.rb-marquee{padding:var(--sp-5) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;overflow:hidden;mask-image:linear-gradient(90deg,#0000,#000 7% 93%,#0000)}.rb-marquee__track{white-space:nowrap;will-change:transform;width:max-content;display:flex}.rb-marquee__track>span{letter-spacing:-.035em;text-transform:uppercase;color:var(--fg);flex-shrink:0;padding-right:2.5rem;font-size:clamp(1.75rem,6vw,4.5rem);font-weight:600;line-height:1.1}.rb-marquee__track>span:nth-child(2n){color:var(--soft)}.band-stack>.rb-marquee+.rb-marquee{border-top:0}[data-text-pressure] .word-i>span{font-variation-settings:"wght" 600}
