.disco{--ball:clamp(112px, 17vmin, 188px);--drop:clamp(72px, 13vh, 140px);--oy:calc(var(--drop) + var(--ball) / 2);z-index:8;pointer-events:none;position:fixed;inset:0;overflow:hidden}.disco__room,.disco__wash,.disco__beams,.disco__flecks{animation:disco-fade-in .5s var(--ease) both}.disco--lift :is(.disco__room,.disco__wash,.disco__beams,.disco__flecks){animation:disco-fade-out .7s var(--ease) both}.disco__room{background:var(--disco-room);position:absolute;inset:0}.disco__wash{background:linear-gradient(120deg, var(--disco-1), var(--disco-4), var(--disco-2), var(--disco-5), var(--disco-3), var(--disco-1));mix-blend-mode:color;opacity:.42;background-size:400% 400%;position:absolute;inset:0}.disco--party .disco__wash{animation:disco-fade-in .5s var(--ease) both, disco-wash 3s linear infinite}.disco__beams{left:50%;top:var(--oy);background:conic-gradient(from 0deg, transparent 0deg 14deg, color-mix(in srgb, var(--disco-1) 70%, transparent) 16deg 20deg, transparent 22deg 58deg, color-mix(in srgb, var(--disco-2) 70%, transparent) 60deg 64deg, transparent 66deg 104deg, color-mix(in srgb, var(--disco-3) 70%, transparent) 106deg 110deg, transparent 112deg 160deg, color-mix(in srgb, var(--disco-4) 70%, transparent) 162deg 166deg, transparent 168deg 208deg, color-mix(in srgb, var(--disco-5) 70%, transparent) 210deg 214deg, transparent 216deg 262deg, color-mix(in srgb, var(--disco-1) 70%, transparent) 264deg 268deg, transparent 270deg 312deg, color-mix(in srgb, var(--disco-2) 70%, transparent) 314deg 318deg, transparent 320deg 360deg);width:300vmax;height:300vmax;-webkit-mask-image:radial-gradient(circle, transparent 2%, var(--mask-opaque) 6%, transparent 34%);mask-image:radial-gradient(circle, transparent 2%, var(--mask-opaque) 6%, transparent 34%);filter:blur(5px);mix-blend-mode:screen;opacity:.6;margin:-150vmax 0 0 -150vmax;position:absolute}.disco--party .disco__beams{animation:disco-fade-in .5s var(--ease) both, disco-spin 6s linear infinite}.disco__flecks{left:50%;top:var(--oy);mix-blend-mode:screen;width:0;height:0;position:absolute}.disco--party .disco__flecks{animation:disco-fade-in .5s var(--ease) both, disco-spin 9s linear infinite reverse}.disco__fleck{--tint:var(--disco-glint);width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);background:radial-gradient(circle, var(--tint) 0 35%, color-mix(in srgb, var(--tint) 30%, transparent) 55%, transparent 72%);transform:rotate(var(--a)) translateX(var(--r)) rotate(45deg);animation:disco-twinkle 1.1s ease-in-out var(--d) infinite alternate;border-radius:30%;position:absolute;top:0;left:0}.disco__fleck--1{--tint:var(--disco-1)}.disco__fleck--2{--tint:var(--disco-2)}.disco__fleck--3{--tint:var(--disco-3)}.disco__fleck--4{--tint:var(--disco-4)}.disco__fleck--5{--tint:var(--disco-5)}.disco__rig{width:var(--ball);margin-left:calc(var(--ball) / -2);transform-origin:50% 0;animation:.9s cubic-bezier(.3,1.4,.5,1) both disco-drop,2.4s ease-in-out .9s infinite disco-swing;position:absolute;top:0;left:50%}.disco--lift .disco__rig{animation:.8s cubic-bezier(.6,-.3,.8,.4) both disco-lift}.disco__chain{width:2px;height:var(--drop);background:repeating-linear-gradient(to bottom, var(--disco-chain) 0 4px, transparent 4px 6px);margin:0 auto;display:block}.disco__ball{width:var(--ball);height:var(--ball);filter:drop-shadow(0 0 24px color-mix(in srgb, var(--disco-glint) 35%, transparent));border-radius:50%;margin-top:-2px;display:block}:root[data-disco=on] #main :is(h1,h2,h3){animation:2s linear infinite disco-glow}@keyframes disco-fade-in{0%{opacity:0}}@keyframes disco-fade-out{to{opacity:0}}@keyframes disco-spin{to{transform:rotate(360deg)}}@keyframes disco-wash{to{background-position:400% 0}}@keyframes disco-twinkle{0%{opacity:.25}to{opacity:1}}@keyframes disco-drop{0%{transform:translateY(calc(-100% - 20px))}to{transform:translateY(0)}}@keyframes disco-lift{0%{transform:translateY(0)}to{transform:translateY(calc(-100% - 20px))}}@keyframes disco-swing{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes disco-glow{0%,to{text-shadow:0 0 18px var(--disco-1)}25%{text-shadow:0 0 18px var(--disco-2)}50%{text-shadow:0 0 18px var(--disco-3)}75%{text-shadow:0 0 18px var(--disco-4)}}.disco-note{top:calc(var(--shead-h) + 10px);z-index:8;width:min(340px, calc(100vw - 2 * var(--gutter)));background-color:var(--bg-raised);color:var(--text-primary);padding:18px 44px 18px 18px;animation:.6s cubic-bezier(.3,1.4,.5,1) both disco-note-in;position:fixed;left:50%;translate:-50%}.disco-note__eyebrow{color:var(--text-subtle);font:11px var(--font-mono);letter-spacing:.16em;margin:0}.disco-note__title{font-family:var(--font-display);font-size:var(--step-1);font-weight:var(--weight-display);letter-spacing:var(--tracking-tight);margin:6px 0 0;line-height:1.15}.disco-note__body{color:var(--text-muted);margin:8px 0 0;font-size:.92rem;line-height:1.5}.disco-note__link{color:var(--text-primary);font:12px var(--font-mono);letter-spacing:.04em;text-underline-offset:3px;transition:color var(--t-fast);margin-top:12px;text-decoration:underline;display:inline-block}.disco-note__link:hover{color:var(--text-muted)}.disco-note__link:focus-visible,.disco-note__close:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.disco-note__close{width:30px;height:30px;color:var(--text-muted);transition:color var(--t-fast);background:0 0;border:0;place-items:center;padding:0;font-size:1.3rem;line-height:1;display:grid;position:absolute;top:8px;right:8px}.disco-note__close:hover{color:var(--text-primary)}@keyframes disco-note-in{0%{transform:translateY(calc(-100% - 120px))}to{transform:translateY(0)}}.icon-toggle{border:1px solid var(--border-hair);width:30px;height:30px;color:var(--text-muted);background:0 0;place-items:center;padding:0;transition:color .2s,border-color .2s;display:grid}.icon-toggle:hover{color:var(--text-primary);border-color:var(--text-primary)}.icon-toggle svg{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}:root:not([data-theme=light]) .icon-toggle .icon-sun,:root[data-theme=light] .icon-toggle .icon-moon{display:none}.top{inset:16px var(--gutter) auto;z-index:3;align-items:center;gap:16px;display:flex;position:absolute}.top__mark{font-family:var(--font-display);font-weight:var(--weight-display);font-stretch:var(--stretch-display);letter-spacing:-.03em;align-items:center;gap:7px;font-size:18px;display:flex}.top__mark i{background:var(--accent);width:7px;height:7px}.top__soc{font:12px var(--font-mono);align-items:center;gap:18px;margin-left:14px;display:flex}.top__soc a{color:var(--text-muted);transition:color .18s}.top__soc a:is(:hover,:focus-visible){color:var(--text-primary)}.top__clock{font:12px var(--font-mono);color:var(--text-muted);margin-left:auto}.top__clock b{color:var(--text-primary);font-weight:400}.dock.frame{--k:9px}.dock{z-index:6;background-color:var(--bg-page);padding:6px;font-size:14px;font-weight:500;display:flex;position:fixed;bottom:28px;left:50%;translate:-50%}.dock a{white-space:nowrap;align-items:center;gap:6px;padding:9px 14px;transition:color .18s;display:flex}.dock a:focus-visible{outline-offset:-2px}.dock a[aria-current]:before{content:"";background:var(--accent);width:5px;height:5px}@media (width<=700px){.top{inset:14px var(--gutter) auto;grid-template-columns:auto 1fr auto;gap:10px 12px;display:grid}.top__soc{grid-area:2/1/auto/-1;gap:12px;margin-left:0}.top__soc a{place-items:center;min-width:24px;min-height:44px;margin-block:-14px;display:inline-grid}.top__clock{grid-area:1/2}.top__city{display:none}.dock{justify-content:space-between;font-size:13px;bottom:12px;left:12px;right:12px;translate:none}.dock a{padding:10px 9px}}.dock{transition:translate .45s var(--ease), opacity .3s, visibility .45s}:root[data-dock-away] .dock{opacity:0;visibility:hidden;translate:-50% calc(100% + 40px)}@media (width<=700px){:root[data-dock-away] .dock{translate:0 calc(100% + 24px)}}.range{margin:0 calc(var(--gutter) * -1);background:var(--range-night);height:clamp(260px,33.4vw,640px);position:relative;overflow:hidden}.range img,.range canvas{width:100%;height:100%;position:absolute;top:0;left:0}.range img{height:var(--range-zoom,100%);object-fit:cover;object-position:55% 0;-webkit-user-select:none;user-select:none;pointer-events:none}.range canvas{pointer-events:none}.range__plate{visibility:hidden}.range.is-live .range__plate{visibility:visible}.range__who{touch-action:none;background:0 0;border:0;border-radius:4px;width:44px;height:44px;padding:0;position:absolute;top:0;left:0}.range__who:focus-visible{outline:1.5px solid var(--range-focus);outline-offset:0}@media (width<=700px){.range{--range-zoom:120%}}.receipt{right:var(--gutter);top:calc(var(--shead-h) + 10px);z-index:120;width:250px;padding-top:10px;position:fixed}.receipt:before{content:"";background:var(--text-primary);border-radius:5px;height:10px;position:absolute;inset:0 0 auto}.receipt__paper{background:var(--bg-raised);color:var(--text-primary);font:500 11px/1.5 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;clip-path:inset(0 0 100%);box-shadow:0 10px 24px -14px color-mix(in srgb, var(--text-primary) 60%, transparent);margin:0 8px;padding:16px 14px 14px;animation:1.1s steps(14,end) forwards receipt-print}@keyframes receipt-print{to{clip-path:inset(0)}}.receipt__shop{text-align:center;letter-spacing:.2em;margin:0;font-size:14px}.receipt__sub{text-align:center;color:var(--text-muted);margin:0;font-size:10px}.receipt hr{border:0;border-top:1px dashed var(--border-strong);margin:10px 0}.receipt dl{margin:0}.receipt dl div{justify-content:space-between;gap:8px;display:flex}.receipt dd{margin:0}.receipt__total{justify-content:space-between;font-size:13px;display:flex}.receipt__thanks{text-align:center;color:var(--text-muted);margin:10px 0 8px}.receipt__barcode{background:repeating-linear-gradient(90deg, var(--text-primary) 0 2px, transparent 2px 3px, var(--text-primary) 3px 4px, transparent 4px 7px);height:28px}.receipt__close{border:1px dashed var(--border-strong);color:var(--text-muted);font:inherit;background:0 0;border-radius:3px;margin:10px auto 0;padding:4px 8px;font-size:10px;display:block}@media (width<=760px){.receipt{right:50%;translate:50%}}.foot{padding:0 var(--gutter);border-top:1px solid var(--border-hair);font:11px/1.5 var(--font-mono);color:var(--text-subtle);margin-top:90px;overflow:hidden}.foot__soc a,.foot__mark{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display)}.foot__soc{flex-wrap:wrap;gap:6px 56px;padding:34px 0 54px;display:flex}.foot__soc a{font-stretch:var(--stretch-display);color:#0000;-webkit-text-stroke:1px var(--text-muted);font-size:clamp(44px,6.4vw,104px);line-height:.9;transition:color .25s,-webkit-text-stroke-color .25s;position:relative}.foot__soc i{font:400 .28em var(--font-mono);color:var(--text-primary);-webkit-text-stroke:0;opacity:0;transition:opacity .2s, translate .3s var(--ease);margin:.25em 0 0 8px;position:absolute;top:0;left:100%;translate:-6px 6px}.foot__soc small{font:400 .2em var(--font-mono);letter-spacing:0;color:var(--text-subtle);-webkit-text-stroke:0;vertical-align:.9em;margin-left:.4em}.foot__soc a:is(:hover,:focus-visible){color:var(--text-primary);-webkit-text-stroke-color:var(--text-primary)}.foot__soc a:is(:hover,:focus-visible) i{opacity:1;translate:0}.foot__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.foot__read{flex-wrap:wrap;gap:6px 22px;margin:0;display:flex}.foot__read div{gap:8px;display:flex}.foot__read dd{color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0}.foot__ctl{align-items:center;gap:14px;display:flex}.foot__psst,.foot__top{color:var(--text-subtle);transition:color .18s}.foot__psst:hover,.foot__top:hover{color:var(--text-primary)}.foot__mark{margin:64px calc(var(--gutter) * -1) max(14px, 1.4vw);text-align:center;white-space:nowrap;color:var(--text-primary);cursor:default;-webkit-user-select:none;user-select:none;clip-path:inset(-50% -10% 0);font-size:12.4vw;font-stretch:70%;line-height:.74}.foot__mark span{transition:font-stretch .35s var(--ease);display:inline-block}.foot__mark.armed span{translate:0 110%}.foot__mark.armed.up span{transition:translate .9s var(--ease) calc(var(--i) * 45ms), font-stretch .35s var(--ease);translate:0}.foot__legal{margin:0 calc(var(--gutter) * -1);padding:18px var(--gutter) calc(20px + env(safe-area-inset-bottom));border-top:1px solid var(--border-hair);flex-wrap:wrap;gap:6px 28px;display:flex}.foot__legal span:first-child{margin-right:auto}.foot__legal a{color:var(--text-muted);transition:color .18s}.foot__legal a:is(:hover,:focus-visible){color:var(--text-primary)}@media (width<=700px){.foot__legal{gap:6px 18px}.foot__legal span:first-child{width:100%}.foot__soc{gap:6px 28px;padding:28px 0 40px}.foot__mark{margin-top:48px}}.rz{width:min(760px,100% - 40px);max-width:none;max-height:calc(100svh - 40px);color:var(--text-primary);background:0 0;border:0;margin:auto;padding:0;overflow:auto}.rz::backdrop{background:color-mix(in srgb, var(--bg-page) 78%, transparent)}.rz__box{background-color:var(--bg-page);border:1px solid var(--border-hair);padding:34px 34px 38px;position:relative}.rz__x{font:20px var(--font-mono);color:var(--text-primary);padding:4px 10px;position:absolute;top:12px;right:12px}.rz__x:hover{color:var(--text-muted)}.rz h2{font-family:var(--font-display);font-weight:var(--weight-display);font-stretch:var(--stretch-display);letter-spacing:var(--tracking-display);margin-top:10px;font-size:clamp(38px,6vw,72px);line-height:.9}.rz__lead{color:var(--text-muted);max-width:44ch;margin-top:14px;font-size:16px;line-height:1.5}.rz__done h2:focus{outline:none}.rz__done .acts{margin-top:26px}.rz__two{border-top:1px solid var(--border-hair);grid-template-columns:1fr 1.25fr;margin-top:30px;display:grid}.rz__two>*{padding:22px 24px 0 0}.rz__two>*+*{border-left:1px solid var(--border-hair);padding:22px 0 0 24px}.rz__note{color:var(--text-muted);margin:8px 0 18px;font-size:15px;line-height:1.45}.rz__field{width:100%;font:16px var(--font-body);color:var(--text-primary);border:0;border-bottom:1px solid var(--border-strong);background:0 0;border-radius:0;outline:0;padding:11px 0;display:block}.rz__field::placeholder{color:var(--text-subtle)}.rz__field:focus{border-color:var(--accent)}.rz__field:focus-visible{outline:none}.rz form .acts{margin-top:22px}.rz__error{border-left:2px solid var(--text-primary);margin-top:14px;padding-left:10px;font-size:14px;line-height:1.45}.rz__honeypot{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}@media (width<=700px){.rz__box{padding:28px 20px 30px}.rz__two{grid-template-columns:1fr}.rz__two>*+*{border-left:0;border-top:1px solid var(--border-hair);margin-top:22px;padding-left:0}}html.has-cursor,html.has-cursor *{cursor:none!important}.cur{--k:5px;--w:var(--cursor);--l:var(--cursor-line);z-index:2147483647;pointer-events:none;color:inherit;opacity:0;background-color:#0000;background-image:linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w));background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-size:var(--k) var(--l), var(--l) var(--k), var(--k) var(--l), var(--l) var(--k), var(--k) var(--l), var(--l) var(--k), var(--k) var(--l), var(--l) var(--k);background-repeat:no-repeat;border:0;width:18px;height:18px;margin:-9px 0 0 -9px;padding:0;transition:width .22s,height .22s,margin .22s,opacity .15s;position:fixed;inset:0 auto auto 0;overflow:visible}:root[data-theme=light] .cur{filter:drop-shadow(0 0 1px var(--bg-page))}.cur:after{content:"";background:var(--cursor);border-radius:50%;width:4px;height:4px;margin:-2px;transition:opacity .12s;position:absolute;top:50%;left:50%}.cur.on{opacity:1}.cur.on.hide{opacity:0}.cur.lock{--k:7px;--w:var(--accent);transition:all .22s var(--ease);margin:0}.cur.lock.stick{transition:none}.cur.lock:after{opacity:0}.glow{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}html:not(.has-cursor) .cur,html:not(.has-cursor) .glow{display:none}.mono,.label{font:12px/1.5 var(--font-mono);letter-spacing:0;color:var(--text-subtle)}.frame{--w:var(--text-primary);--k:12px;background-image:linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w));background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-size:var(--k) 1px, 1px var(--k), var(--k) 1px, 1px var(--k), var(--k) 1px, 1px var(--k), var(--k) 1px, 1px var(--k);background-repeat:no-repeat}.cb{--w:var(--text-primary);--k:7px;isolation:isolate;font:500 14px/1.2 var(--font-body);color:var(--text-primary);white-space:nowrap;background:linear-gradient(var(--w), var(--w)) 0 0 / var(--k) 1px no-repeat, linear-gradient(var(--w), var(--w)) 0 0 / 1px var(--k) no-repeat, linear-gradient(var(--w), var(--w)) 100% 0 / var(--k) 1px no-repeat, linear-gradient(var(--w), var(--w)) 100% 0 / 1px var(--k) no-repeat, linear-gradient(var(--w), var(--w)) 0 100% / var(--k) 1px no-repeat, linear-gradient(var(--w), var(--w)) 0 100% / 1px var(--k) no-repeat, linear-gradient(var(--w), var(--w)) 100% 100% / var(--k) 1px no-repeat, linear-gradient(var(--w), var(--w)) 100% 100% / 1px var(--k) no-repeat;translate:var(--px,0) var(--py,0);transition:background-size .3s var(--ease), color .2s, translate .35s var(--ease);align-items:stretch;gap:10px;padding:11px 16px;display:inline-flex;position:relative}.cb:is(:hover,:focus-visible){--k:51%}.cb:focus-visible{outline:none}.cb:disabled{opacity:.55;cursor:progress}.cb__f{z-index:-1;pointer-events:none;opacity:0;width:calc(100% - 6px);height:calc(100% - 6px);transition:opacity .3s var(--ease);position:absolute;inset:3px}.cb.is-fx .cb__f{opacity:1}.cb.is-fx .cb__t,.cb.is-fx .cb__a{text-shadow:0 0 3px var(--bg-page), 0 0 6px var(--bg-page)}.cb__t{align-items:center;display:flex;position:relative;overflow:hidden}.cb__t b{font-weight:inherit;transition:transform .35s var(--ease);display:block;position:relative}.cb__twin{position:absolute;top:100%;left:0}.cb:is(:hover,:focus-visible) .cb__t b{transform:translateY(-100%)}.cb__a{align-items:center;display:flex}.cb__a i{transition:transform .25s var(--ease);font-style:normal;display:block}.cb:is(:hover,:focus-visible) .cb__a i{transform:translate(3px)}.acts{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.sec{padding:130px var(--gutter) 0}.sec-h{font-family:var(--font-display);font-weight:var(--weight-display);font-stretch:var(--stretch-display);letter-spacing:var(--tracking-display);--sec-size:clamp(56px, 11vw, 170px);font-size:var(--sec-size);gap:14px;line-height:.85;display:flex}.sec-h sup{font:12px var(--font-mono);letter-spacing:0;color:var(--text-subtle);margin-top:1.2em}@media (width<=700px){.sec{padding-top:96px}}.hero{height:100svh;min-height:520px;position:relative;overflow:hidden}.hero__big{text-align:center;font-family:var(--font-display);font-weight:var(--weight-display);font-stretch:var(--stretch-display);letter-spacing:var(--tracking-display);font-size:calc(24.5vw / var(--display-w));white-space:nowrap;line-height:.8;position:absolute;top:50px;left:0;right:0}.hero__big span{animation:hero-rise .9s var(--ease) both;animation-delay:calc(var(--i) * 60ms);display:inline-block}.hero__pic{aspect-ratio:1208/1300;z-index:1;touch-action:pan-y pinch-zoom;height:calc(100% - 90px);animation:hero-rise-pic 1.1s .35s var(--ease) both;position:absolute;bottom:-9%;left:50%;translate:-50%}.hero__pic>img,.hero__pic>canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.hero__poster{object-fit:contain;object-position:bottom;-webkit-mask-image:linear-gradient(#000 80%,#0000);mask-image:linear-gradient(#000 80%,#0000)}.hero__pic>canvas{pointer-events:none;width:100vw;height:140%;top:-40%;left:calc(50% - 50vw)}.hero__scan{opacity:0}.hero__pic[data-ready] .hero__scan{opacity:1}html.js .hero__pic:not([data-failed]) .hero__poster{display:none}.hero__l{left:var(--gutter);z-index:3;animation:hero-rise .8s .8s var(--ease) both;position:absolute;bottom:36px}.hero__lede{letter-spacing:-.012em;max-width:15em;font-size:clamp(18px,1.75vw,25px);font-weight:500;line-height:1.2}.hero__l .acts{margin-top:22px}.hero__r{right:var(--gutter);z-index:3;text-align:right;font:12px/1.7 var(--font-mono);color:var(--text-muted);animation:hero-rise .8s .8s var(--ease) both;position:absolute;bottom:36px}@keyframes hero-rise{0%{opacity:0;translate:0 34px}}@keyframes hero-rise-pic{0%{opacity:0;translate:-50% 34px}}@media (width>=701px) and (width<=1100px){.hero__l,.hero__r{bottom:100px}}@media (width<=700px){.hero__big{top:82px}.hero__l{right:var(--gutter);bottom:84px}.hero__pic{height:calc(100% - 330px);bottom:240px}.hero__r{display:none}}.now__ring{--h:280px;margin:0 calc(-1 * var(--gutter));height:calc(var(--h) * 1.85 + 120px);touch-action:pan-y;-webkit-user-select:none;user-select:none;pointer-events:none;position:relative;overflow-x:clip}.now__row{top:0;bottom:0;left:calc(-1 * var(--pad,0px));right:calc(-1 * var(--pad,0px));position:absolute}.now__ring.has-lens .now__row{filter:url(#now-lens)}.now__fx{width:0;height:0;position:absolute}.now__tile{width:calc(var(--h) * var(--shape));margin:calc(var(--h) / -2) 0 0 calc(var(--h) * var(--shape) / -2);pointer-events:auto;cursor:pointer;will-change:transform;position:absolute;top:50%;left:50%}.now__media{height:var(--h);background:var(--bg-raised);color:var(--text-on-media);transition:translate .5s var(--ease), filter .5s var(--ease), box-shadow .4s var(--ease);border-radius:14px;position:relative;overflow:hidden}.now__tile:is(:hover,.is-open) .now__media{translate:0 -8px}:is(.now__row:has(.now__tile:hover) .now__tile:not(:hover) .now__media,.now__row:has(.is-open) .now__tile:not(.is-open) .now__media){filter:grayscale()brightness(.5)}.now__th{transition:opacity .5s var(--ease)}:is(.now__row:has(.now__tile:hover) .now__tile:not(:hover) .now__th,.now__row:has(.is-open) .now__tile:not(.is-open) .now__th){opacity:.4}.now__media>div{filter:saturate(.8)brightness(.86);transition:filter .35s, scale 1.4s var(--ease);position:absolute;inset:0}.now__tile:is(:hover,.is-open) .now__media>div{filter:none}.now__tile:hover .now__media>div{scale:1.035}.now__burst{z-index:0;left:calc(var(--h) * -1);right:calc(var(--h) * -1);top:calc(var(--h) * -1);height:calc(var(--h) * 2.8);pointer-events:none;position:absolute}.now__media{z-index:1}.now__tile{--burst-glow:var(--vg-ai)}.now__tile[data-thread=glyph]{--burst-glow:var(--vg-glyph)}.now__tile[data-thread=computer-science]{--burst-glow:var(--vg-cs)}.now__tile[data-thread=mandarin]{--burst-glow:var(--c-vg-gold)}.now__tile[data-thread=belmont]{--burst-glow:var(--burst-tassel)}.now__tile[data-thread=shanghai]{--burst-glow:var(--c-paper-50)}.now__tile:is(.is-live,.is-open) .now__media{box-shadow:0 0 0 1px color-mix(in srgb, var(--burst-glow) 70%, transparent), 0 0 24px color-mix(in srgb, var(--burst-glow) 45%, transparent), 0 0 70px color-mix(in srgb, var(--burst-glow) 22%, transparent)}@media (prefers-reduced-motion:reduce){.now__burst{display:none}}.now__tile:is(:hover,.is-open){z-index:3}.now__ring.is-paused .now__tile:not(.is-open) .now__media *{animation-play-state:paused}.now__bar{z-index:2;align-items:center;gap:16px;max-width:560px;margin:-36px auto 0;display:flex;position:relative}.now__play{width:44px;height:44px;color:var(--text-muted);flex:none;place-items:center;margin-left:-14px;display:grid}.now__play svg{fill:currentColor;width:12px;height:12px}.now__play:hover{color:var(--text-primary)}.now__line{flex:1;gap:6px;display:flex}.now__seg{flex:1;align-items:center;height:44px;display:grid}.now__seg i{background:var(--border-hair);border-radius:1px;height:2px;display:block;overflow:hidden}.now__seg i:after{content:"";background:var(--text-primary);height:100%;transform:scaleX(var(--fill,0));transform-origin:0;display:block}.now__seg:hover i{background:var(--text-subtle)}.now__seg[aria-current] i{height:3px}.now__th{color:var(--text-page);z-index:1;padding-top:12px;position:relative}.now__th h3{font:inherit;margin:0}.now__open{text-align:left;font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:-.02em;font-size:19px;line-height:1.15;display:block}.now__th p{color:var(--text-muted);margin-top:3px;font-size:13px;line-height:1.4}.now__story{border-top:1px solid var(--border-hair);max-width:680px;margin:8px auto 0;padding:26px 0 0;position:relative}.now__story>*{animation:now-rise .5s .15s var(--ease) both}.now__story p{color:color-mix(in srgb, var(--text-primary) 86%, transparent);padding-right:70px;font-size:clamp(16px,1.4vw,19px);line-height:1.55}.now__story .acts{margin-top:22px}.now__close{z-index:1;font:12px var(--font-mono);color:var(--text-muted);padding:8px 0 8px 10px;position:absolute;top:22px;right:0;animation:none!important}.now__close:hover{color:var(--text-primary)}@keyframes now-rise{0%{opacity:0;translate:0 20px}}@media (width<=700px){.now__story p{padding-top:18px;padding-right:0}}.now__tile[data-thread=glyph] .now__media,.now__tile[data-thread=shanghai] .now__media{background:var(--vg-paper-ink)}.now__tile[data-thread=ai-consulting] .now__media{--text-primary:var(--c-paper-50);--text-muted:color-mix(in srgb, var(--c-paper-50) 62%, transparent);--bg-raised:var(--c-vg-node);background:linear-gradient(160deg, var(--c-vg-workbench-hi), var(--c-vg-workbench) 60%)}.now__tile[data-thread=computer-science] .now__media{--text-primary:var(--c-vg-chalk);--text-muted:color-mix(in srgb, var(--c-vg-chalk) 62%, transparent);background:linear-gradient(170deg, var(--c-vg-slate-hi), var(--c-vg-slate) 70%)}.now__tile[data-thread=mandarin] .now__media{--text-primary:var(--c-vg-gold);--text-muted:color-mix(in srgb, var(--c-vg-gold) 70%, transparent);--text-subtle:color-mix(in srgb, var(--c-vg-gold) 50%, transparent);color:var(--c-vg-gold);background:radial-gradient(120% 90% at 35% 45%, var(--c-vg-lacquer), var(--c-vg-lacquer-deep))}.now__tile[data-thread=mandarin] .vg-brush{stroke:var(--c-vg-sumi)}.now__tile[data-thread=mandarin] .vg .vg-zh-ghost{fill:var(--c-vg-sumi);opacity:.12}.now__tile[data-thread=mandarin] .vg-zh-sheet{opacity:.8;fill:color-mix(in srgb, var(--c-vg-lacquer-deep) 25%, transparent)}.now__tile[data-thread=mandarin] .vg .vg-zh-seal rect{fill:var(--c-vg-gold)}.now__tile[data-thread=mandarin] .vg .vg-zh-seal text{fill:var(--c-vg-lacquer)}.now__tile[data-thread=belmont] .now__media{--text-primary:var(--c-paper-50);--text-muted:color-mix(in srgb, var(--c-paper-50) 72%, transparent);background:var(--c-vg-tower-dusk)}.vg{width:100%;height:100%;color:var(--text-primary);fill:none;stroke:currentColor;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;display:block;overflow:visible}.vg *{vector-effect:non-scaling-stroke}.vg text,.vg .vg-fill{fill:currentColor;stroke:none}.vg-label{font-family:var(--font-mono);letter-spacing:.08em;opacity:.6;font-size:10px}.vg-label--ink{opacity:.9}.vg-faint,.vg-guide{opacity:.22}.vg-guide{stroke-dasharray:3 4}.vg-zh-sheet{opacity:.5}.vg .vg-zh-ghost{fill:currentColor;stroke:none;opacity:.08}.vg .vg-brush{vector-effect:none;stroke-width:200px;stroke-dasharray:1 1;animation:linear backwards vg-brush}@keyframes vg-brush{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.vg-word{font-family:var(--font-display);font-size:26px;font-weight:var(--weight-display)}.vg .vg-zh-seal rect{fill:var(--vg-mandarin);stroke:none}.vg .vg-zh-seal text{fill:var(--vg-paper);font-size:11px}.vg-zh-seal{transform-box:fill-box;transform-origin:50%;animation:.35s cubic-bezier(.2,1.6,.4,1) backwards vg-stamp-in}@keyframes vg-stamp-in{0%{opacity:0;transform:scale(1.8)}}.vg-zh-phrase{font-family:var(--font-sans);letter-spacing:.06em;font-size:17px}.vg-zh-phrase tspan{opacity:.28;transition:opacity .3s}.vg-zh-phrase tspan.is-on{opacity:1}.vg-zh-pinyin{animation:.5s ease-out backwards vg-in}@keyframes vg-in{0%{opacity:0;transform:translateY(6px)}}.vgc{width:100%;height:100%;position:relative}.vgc canvas{width:100%;height:100%;color:var(--text-primary);display:block}.vgc--sh{--vg-accent:var(--vg-shanghai)}.flap{top:var(--s-3);left:var(--s-3);font-family:var(--font-mono);perspective:200px;gap:1px;font-size:10px;line-height:1;display:flex;position:absolute}.flap__ch,.flap__gap{text-align:center;width:1.05em;padding:3px 0;display:inline-block}.flap__ch{background:var(--vg-device);color:var(--vg-paper);transform-origin:50%;border-radius:2px;animation:.32s ease-out backwards flap-in;position:relative}.flap__ch:after{content:"";background:color-mix(in srgb, var(--vg-paper-ink) 70%, transparent);height:1px;position:absolute;inset:50% 0 auto}.vgc--sh .flap{top:auto;left:auto;right:9%;bottom:var(--s-3)}@media (width<=640px){.flap{font-size:8.5px}}@keyframes flap-in{0%{filter:brightness(.6);transform:rotateX(90deg)}60%{transform:rotateX(-12deg)}to{transform:none}}.bt{--px:0;--py:0;width:100%;height:100%;color:var(--text-primary);position:relative;overflow:hidden;container-type:size}.bt img{pointer-events:none;-webkit-user-select:none;user-select:none;display:block;position:absolute}.bt__sky{object-fit:cover;filter:saturate(.82);width:108%;height:108%;translate:calc(var(--px) * -1.6cqw) calc(var(--py) * -1cqw);transition:translate .8s var(--ease);animation:26s ease-in-out infinite alternate bt-drift;inset:-4%}@keyframes bt-drift{0%{transform:scale(1)translate(1.5%)}to{transform:scale(1.06)translate(-1.5%)}}.bt__tower{width:auto;height:94%;translate:calc(var(--px) * 2.4cqw) calc(var(--py) * 1.2cqw);transition:translate .8s var(--ease);filter:drop-shadow(-1.2cqw 1.6cqw 2.4cqw color-mix(in srgb, var(--c-vg-tower-dusk) 55%, transparent));bottom:3%;left:47%}.bt:after{content:"";pointer-events:none;background:linear-gradient(90deg, color-mix(in srgb, var(--c-vg-tower-dusk) 62%, transparent), transparent 58%), linear-gradient(0deg, color-mix(in srgb, var(--c-vg-tower-dusk) 78%, transparent), transparent 46%);position:absolute;inset:0}.bt__class,.bt__honours{z-index:1;margin:0;position:absolute;left:7%}.bt__class{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:-.02em;font-size:clamp(14px,7.4cqw,28px);line-height:1;top:7%}.bt__class span,.bt__honours dt{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-weight:400;display:block}.bt__class span{margin-bottom:.7em;font-size:clamp(8px,3cqw,11px)}.bt__honours{white-space:nowrap;gap:2.4cqw;width:40%;display:grid;bottom:6%}.bt__honours div{border-top:1px solid color-mix(in srgb, var(--text-primary) 22%, transparent);padding-top:2cqw}.bt__honours dd{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:clamp(11px,5cqw,19px);font-weight:700;line-height:1.1}.bt__honours dt{margin-bottom:.35em;font-size:clamp(8px,2.4cqw,9.5px);line-height:1.3}.gm{width:100%;height:100%;position:relative;overflow:hidden}.gm img{pointer-events:none;-webkit-user-select:none;user-select:none;display:block;position:absolute}.gm__scene{transform-origin:51%;animation:30s ease-in-out infinite alternate gm-push;position:absolute;inset:0}.gm__scene img{object-fit:cover;width:100%;height:100%;inset:0}.gm__night{opacity:0;animation:30s ease-in-out infinite gm-night}@keyframes gm-push{to{transform:scale(1.08)}}@keyframes gm-night{0%,30%{opacity:0}46%,80%{opacity:1}96%,to{opacity:0}}.gm:after{content:"";pointer-events:none;background:radial-gradient(14% 22% at 51% 54%, color-mix(in srgb, var(--vg-glyph) 34%, transparent), transparent 70%);mix-blend-mode:screen;animation:5s ease-in-out infinite alternate gm-lamp;position:absolute;inset:0}@keyframes gm-lamp{0%{opacity:.45}to{opacity:1}}.gm__logo{z-index:1;opacity:.9;width:15%;height:auto;top:7%;left:4.5%}.wf{width:100%;height:100%;color:var(--text-primary);display:block}.wf text{fill:currentColor;font-family:var(--font-mono)}.wf__file,.wf__log{opacity:.5;font-size:13px}.wf__branch{opacity:.5;font-size:12px}.wf__pill{fill:var(--bg-raised);stroke:color-mix(in srgb, currentColor 18%, transparent);stroke-width:1px}.wf__edge{fill:none;stroke:color-mix(in srgb, currentColor 18%, transparent);stroke-width:1.3px;transition:stroke .3s,opacity .3s}.wf__edge--loop{stroke-dasharray:3 4}.wf__edge.is-done,.wf__edge.is-hot{stroke:var(--vg-ai)}.wf__edge.is-skipped{opacity:.35}.wf__node{transition:opacity .3s}.wf__node.is-skipped{opacity:.35}.wf__box{fill:var(--bg-raised);stroke:color-mix(in srgb, currentColor 16%, transparent);stroke-width:1px;transition:stroke .25s}.wf__node.is-active .wf__box{stroke:var(--vg-ai);stroke-width:1.5px}.wf__node.is-done .wf__box{stroke:color-mix(in srgb, var(--vg-ai) 55%, transparent)}.wf__halo{fill:none;stroke:var(--vg-ai);stroke-width:6px;opacity:0;transition:opacity .3s}.wf__node.is-active .wf__halo{opacity:.22;animation:1s ease-in-out infinite wf-pulse}@keyframes wf-pulse{50%{opacity:.08}}.wf__tag{fill:color-mix(in srgb, currentColor 8%, transparent)}.wf__node--if .wf__tag,.wf__node--human .wf__tag{fill:color-mix(in srgb, var(--vg-ai) 22%, transparent)}.wf__tag-text{letter-spacing:.08em;opacity:.7;font-size:10px}.wf__label{font-size:15px;font-weight:500}.wf__sub{opacity:.55;font-size:11.5px}.wf__node.is-active .wf__sub,.wf__node.is-done .wf__sub{opacity:.8}.wf__port{fill:var(--bg-raised);stroke:color-mix(in srgb, currentColor 30%, transparent);stroke-width:1px}.wf__node.is-done .wf__port,.wf__node.is-active .wf__port{stroke:var(--vg-ai)}.wf__packet-halo{fill:var(--vg-ai);opacity:.25}.wf__packet-core{fill:color-mix(in srgb, var(--vg-ai) 40%, white)}.ex__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.ex__head .cb{margin-bottom:10px}.xd{justify-content:space-between;align-items:flex-end;gap:22px;margin-top:36px;padding:34px 8px 50px;display:flex}.xd__o{background:var(--vg-paper);color:var(--vg-paper-ink);text-align:left;font:500 13px/1.25 var(--font-sans);rotate:var(--r,0deg);transition:rotate .35s var(--ease), translate .35s var(--ease), opacity .3s;flex-direction:column;flex:none;gap:6px;padding:18px;display:flex;position:relative}.js .xd:not(.seen) .xd__o{opacity:0;translate:0 -46px}.xd.seen .xd__o{opacity:1;transition:rotate .35s var(--ease), translate .7s var(--ease) calc(var(--i) * 90ms), opacity .4s calc(var(--i) * 90ms);translate:0}.xd.seen .xd__o:is(:hover,:focus-visible,.hot){transition:rotate .35s var(--ease), translate .35s var(--ease);translate:0 -10px;rotate:0deg}.xd__o:first-child{--r:-3deg}.xd__o:nth-child(2){--r:2deg}.xd__o:nth-child(3){--r:-1.5deg}.xd__o:nth-child(4){--r:2.5deg}.xd__o:nth-child(5){--r:-2deg}.xd__o:focus-visible{outline-offset:6px}:root[data-theme=light] .xd__o{box-shadow:0 0 0 1px var(--border-hair), 0 14px 30px -18px var(--border-strong)}.xd__k{font:10px/1.3 var(--font-mono);text-transform:uppercase;opacity:.72}.xd__o b{letter-spacing:-.01em;font-size:17px;font-weight:700}.xd :is(.xd__mono,.xd__tag b,.xd__grid b){font-family:var(--font-display);font-weight:var(--weight-display);font-stretch:var(--stretch-display);letter-spacing:var(--tracking-display)}.xd__badge{border-radius:10px;width:186px;min-height:266px;padding-top:38px}.xd__slot{background:var(--bg-page);border-radius:5px;width:46px;height:9px;position:absolute;top:13px;left:50%;translate:-50%}.xd__mono{background:var(--vg-paper-ink);height:84px;color:var(--vg-paper);place-items:center;margin-bottom:8px;font-size:56px;line-height:1;display:grid}.xd__bars{gap:2px;height:26px;margin-top:auto;display:flex}.xd__bars i{background:var(--vg-paper-ink)}.xd__tag{border-radius:57px 8px 8px 57px;flex-direction:row;align-items:center;gap:16px;width:236px;height:114px;padding:14px 18px 14px 16px}.xd__hole{background:var(--bg-page);border-radius:50%;flex:none;width:22px;height:22px}.xd__tag-in{flex-direction:column;gap:4px;display:flex}.xd__tag b{font-size:54px;line-height:.85}.xd__tag small{vertical-align:top;margin-left:3px;font-size:.4em}.xd__receipt{width:198px;font:11px/1.4 var(--font-mono);text-transform:uppercase;-webkit-mask:conic-gradient(from -45deg at bottom, transparent, var(--mask-opaque) 1deg 89deg, transparent 90deg) 50% / 14px 100%;-webkit-mask:conic-gradient(from -45deg at bottom, transparent, var(--mask-opaque) 1deg 89deg, transparent 90deg) 50% / 14px 100%;mask:conic-gradient(from -45deg at bottom, transparent, var(--mask-opaque) 1deg 89deg, transparent 90deg) 50% / 14px 100%;gap:3px;padding:18px 16px 30px}.xd__rh{margin-bottom:2px;font-size:13px;font-weight:500}.xd__rl{justify-content:space-between;display:flex}.xd__rl i{font-style:normal}.xd__rt{font-size:12px;font-weight:500}.xd__rule{border-top:1px dashed color-mix(in srgb, var(--vg-paper-ink) 45%, transparent);margin:6px 0}.xd__card{border-radius:10px;gap:8px;width:258px;height:166px;padding:0 0 14px;overflow:hidden}.xd__band{background:var(--vg-paper-ink);color:var(--vg-paper);font:10px var(--font-mono);text-transform:uppercase;padding:10px 14px}.xd__grid{grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;padding:4px 14px 0;display:grid}.xd__grid b{font-size:40px;line-height:.9}.xd__card>.xd__k{margin-top:auto;padding:0 14px}.xd__cert{text-align:center;outline:1px solid color-mix(in srgb, var(--vg-paper-ink) 30%, transparent);outline-offset:-8px;justify-content:center;align-items:center;gap:5px;width:238px;height:174px}.xd__seal{background:repeating-conic-gradient(var(--vg-paper-ink) 0 6deg, transparent 6deg 12deg);border-radius:50%;place-items:center;width:56px;height:56px;margin-bottom:4px;display:grid}.xd__seal span{background:var(--vg-paper-ink);width:44px;height:44px;color:var(--vg-paper);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.xd__cert b{max-width:16ch;font-size:15px}.ex__rows{border-top:1px solid var(--border-hair)}.ex__rows details{border-bottom:1px solid var(--border-hair)}.ex__rows summary{cursor:pointer;grid-template-columns:170px 1fr auto 24px;align-items:baseline;column-gap:16px;padding:20px 0;list-style:none;display:grid}.ex__rows summary::-webkit-details-marker{display:none}.ex__rows summary:focus-visible{outline-offset:2px}.ex__d{font:12px var(--font-mono);color:var(--text-muted)}.ex__now{background:var(--accent);width:6px;height:6px;margin-right:8px;display:inline-block}.ex__ti{letter-spacing:-.02em;transition:translate .3s var(--ease);font-size:clamp(22px,2.4vw,32px);font-weight:700;line-height:1.2;display:inline-block}.ex__rows :is(summary:hover,.hot summary) .ex__ti{translate:6px}.ex__co{color:var(--text-muted);text-align:right;font-size:16px}.ex__pl{font:18px var(--font-mono);text-align:right;transition:rotate .25s}.ex__rows details[open] .ex__pl{rotate:45deg}:root{interpolate-size:allow-keywords}.ex__rows details::details-content{block-size:0;transition:block-size .45s var(--ease), content-visibility .45s allow-discrete;overflow:clip}.ex__rows details[open]::details-content{block-size:auto}.ex__body{max-width:900px;padding:0 40px 28px 186px}.ex__body ul{color:color-mix(in srgb, var(--text-primary) 80%, transparent);margin:0;padding-left:1.1em;font-size:16px;line-height:1.55}.ex__body li+li{margin-top:6px}.ex__fn{border-left:2px solid var(--border-strong);margin-top:16px;padding-left:14px;font-size:17px;line-height:1.5}.ex__fn span{font:11px var(--font-mono);color:var(--text-subtle);margin-bottom:4px;display:block}@media (width<=1300px){.xd{margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-snap-type:x mandatory;scrollbar-width:none;justify-content:flex-start;overflow-x:auto}.xd__o{scroll-snap-align:center}}@media (width<=700px){.ex__rows summary{grid-template-columns:1fr 24px;row-gap:4px}.ex__d{grid-area:1/1/auto/-1}.ex__ti{grid-area:2/1}.ex__pl{grid-area:2/2}.ex__co{text-align:left;grid-area:3/1/auto/-1}.ex__body{padding:0 0 22px}}.fx{min-height:330px;color:var(--text-primary)}.fx__head{border-bottom:1px solid var(--border-hair);font:11px var(--font-mono);color:var(--text-muted);justify-content:space-between;padding-bottom:10px;display:flex}.fx__head a{transition:color .18s}.fx__head a:is(:hover,:focus-visible){color:var(--text-primary)}.fx__live{align-items:center;gap:7px;display:inline-flex}.fx__live i{background:var(--accent);width:6px;height:6px}.fx__alive{min-height:1.5em;font:12px/1.5 var(--font-mono);color:var(--text-primary);margin-top:12px}.fx__alive span{color:var(--text-muted)}.fx__big{font-family:var(--font-display);font-weight:var(--weight-display);font-stretch:var(--stretch-display);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;margin-top:22px;font-size:clamp(58px,6.4vw,96px);line-height:.82}.fx__cap{color:var(--text-muted);margin-top:10px;font-size:15px;line-height:1.3}.fx__quiet{max-width:30ch;margin-top:22px}.fx__quiet a{color:var(--text-primary);text-underline-offset:3px;text-decoration:underline}.fx__quiet a:is(:hover,:focus-visible){color:var(--text-muted)}.fx__read{min-height:1.5em;font:11px/1.5 var(--font-mono);color:var(--text-muted);margin-top:14px}.fx__read b{color:var(--text-primary);font-weight:400}.fx__wall{grid-template-rows:repeat(7,auto);grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;margin-top:24px;display:grid}.fx__wall i{aspect-ratio:1;background:color-mix(in srgb, var(--text-primary) 9%, transparent);opacity:0;transition:opacity .3s var(--d), scale .5s var(--ease) var(--d), background .15s;position:relative;scale:.3}.fx.seen .fx__wall i{opacity:1;scale:1}@media (prefers-reduced-motion:reduce){.fx__wall i{transition-delay:0s}}.fx__wall .l1{background:color-mix(in srgb, var(--text-primary) 32%, transparent)}.fx__wall .l2{background:color-mix(in srgb, var(--text-primary) 55%, transparent)}.fx__wall .l3{background:color-mix(in srgb, var(--text-primary) 78%, transparent)}.fx__wall .l4{background:var(--text-primary)}.fx__wall .x{background:0 0}.fx__wall i:not(.x):hover{background:var(--accent);transition:none}.fx__wall .today b{--w:var(--accent);--k:4px;position:absolute;inset:-4px}.fx__months{grid-template-columns:repeat(var(--cols), 1fr);font:10px var(--font-mono);color:var(--text-subtle);gap:3px;margin-top:7px;display:grid}.fx__months span,.cx__h{white-space:nowrap}.cx__h>span{font-size:calc(1em * var(--cx-scale,1));transition:font-size .3s var(--ease)}.cx__h i{font-style:normal}.cx__talk{grid-template-columns:1fr minmax(240px,360px);align-items:center;gap:48px;margin-top:48px;display:grid}.cx__say{letter-spacing:-.015em;max-width:23em;font-size:clamp(22px,3vw,44px);font-weight:500;line-height:1.6}.cx__done i{font-style:normal}.cx__done:focus{outline:none}.cx__again{letter-spacing:0;margin-top:24px;font-size:12px;line-height:1;display:block}.cx__again:hover{color:var(--text-primary)}.cx .field{font:inherit;letter-spacing:inherit;color:var(--text-primary);border:0;border-bottom:1px solid var(--border-strong);field-sizing:content;background:0 0;border-radius:0;outline:0;min-width:4.5em;max-width:100%;padding:0 .1em 0 .22em}.cx .field::placeholder{color:var(--text-subtle)}.cx .field:focus{border-color:var(--accent)}.cx .field:focus-visible{outline:none}.bl{max-width:100%;display:inline-block;position:relative}.bl.next:has(.field:placeholder-shown:not(:focus)):before{content:"";background:var(--text-primary);width:2px;height:1em;animation:1.05s step-end infinite cx-blink;position:absolute;top:.3em;left:.06em}@keyframes cx-blink{50%{opacity:0}}.bl ul{z-index:5;background:var(--bg-page);border-left:2px solid var(--border-strong);min-width:max-content;margin:6px 0 0;padding:6px 0;font-size:.68em;line-height:1.25;list-style:none;display:none;position:absolute;top:100%;left:0}.bl:focus-within ul{display:block}.bl li button{text-align:left;width:100%;color:var(--text-muted);padding:5px 18px 5px 14px;display:block}.bl li button:hover{color:var(--text-primary)}.bl li.or{font:11px var(--font-mono);letter-spacing:0;color:var(--text-subtle);padding:8px 18px 4px 14px}.cx__opt{opacity:.7;transition:opacity .3s;display:block}.cx__opt:focus-within,.cx__opt.used{opacity:1}.cx__acts{letter-spacing:0;gap:18px;margin-top:34px;font-size:14px;line-height:1.2}.cx__error{border-left:2px solid var(--text-primary);letter-spacing:0;margin-top:16px;padding-left:10px;font-size:15px;line-height:1.45;display:block}.cx__error a{text-decoration:underline}.cx__honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}@media (width<=700px){.cx__talk{grid-template-columns:1fr}}.chess-experience{outline-offset:8px;gap:14px;display:grid}.chess-experience__stage{gap:12px;display:grid}.chess-board{aspect-ratio:1;border:1px solid var(--border-strong);width:100%;position:relative;container-type:inline-size}.chess-board__squares{grid-template-columns:repeat(8,1fr);display:grid;position:absolute;inset:0}.chess-square{position:relative}.chess-square--dark{background-color:color-mix(in srgb, var(--text-primary) 12%, transparent)}.chess-square__rank,.chess-square__file{font:9px var(--font-mono);color:var(--text-subtle);position:absolute}.chess-square__rank{top:2px;left:3px}.chess-square__file{bottom:1px;right:3px}.chess-square--last-from,.chess-square--last-to{--w:var(--accent);--k:22%;background-image:linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w)), linear-gradient(var(--w), var(--w));background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-size:var(--k) 1px, 1px var(--k), var(--k) 1px, 1px var(--k), var(--k) 1px, 1px var(--k), var(--k) 1px, 1px var(--k);background-repeat:no-repeat}.chess-square--last-from{--w:var(--border-strong)}.chess-board__pieces{pointer-events:none;position:absolute;inset:0}.chess-piece{font-variant-emoji:text;width:12.5%;height:12.5%;translate:calc(var(--file) * 100%) calc(var(--rank) * 100%);transition:translate .45s var(--ease), opacity .3s, scale .3s;place-items:center;padding-bottom:1%;font:8.6cqw/1 Apple Symbols,Segoe UI Symbol,"Noto Sans Symbols 2",serif;display:grid;position:absolute;top:0;left:0}.chess-piece--white{color:var(--text-primary)}.chess-piece--black{color:var(--bg-page);-webkit-text-stroke:1.2px var(--text-primary);paint-order:stroke fill}.chess-piece--captured{opacity:0;scale:.5}.chess-experience__readout{font:11px/1.5 var(--font-mono);color:var(--text-muted);flex-wrap:wrap;gap:4px 16px;display:flex}.chess-experience__move{color:var(--text-primary)}.chess-experience__controls{gap:10px;display:grid}.chess-experience__button-row{align-items:center;gap:22px;display:flex}.chess-control{font:12px var(--font-mono);color:var(--text-muted);gap:6px;transition:color .18s;display:inline-flex}.chess-control:hover:not(:disabled){color:var(--accent)}.chess-control:disabled{opacity:.35;cursor:default}.chess-control--primary{border:1px solid var(--border-strong);color:var(--text-primary);padding:8px 12px}.chess-control--primary:hover{border-color:var(--accent)}.chess-experience__hint{font:11px/1.5 var(--font-mono);color:var(--text-subtle)}.chess-experience__select-label{gap:6px;display:grid}.otc{gap:var(--s-6);padding:var(--s-6) var(--gutter) var(--s-7);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;display:grid}.otc .chess-experience{width:min(100%,400px)}.otc :is(.chess-experience__readout,.chess-experience__controls){display:none}.otc__stack{--fan:54px}.otc__passes{isolation:isolate;width:100%;height:290px;display:block;position:relative}.otc__pass{text-align:left;background:var(--vg-paper);width:270px;height:164px;color:var(--vg-paper-ink);translate:calc(var(--p) * 12px) calc(var(--p) * 9px);rotate:calc(var(--p) * 2deg - 3deg);transition:translate .5s var(--ease), rotate .5s var(--ease);flex-direction:column;gap:4px;padding:14px 16px 12px 24px;display:flex;position:absolute;top:24px;left:0}:root[data-theme=light] .otc__pass{box-shadow:0 0 0 1px var(--border-hair), 0 14px 30px -18px var(--border-strong)}.otc__passes:is(:hover,:focus-visible) .otc__pass{translate:calc(var(--p) * var(--fan)) calc(var(--p) * 4px);rotate:calc(var(--p) * 4deg - 6deg)}.otc__pass-h,.otc__pass-f{font:10px var(--font-mono);text-transform:uppercase;justify-content:space-between;display:flex}.otc__pass b{font-family:var(--font-display);font-weight:var(--weight-display);font-stretch:var(--stretch-display);letter-spacing:var(--tracking-display);margin-top:8px;font-size:34px;line-height:.9}.otc__pass-w{font:11px var(--font-mono);opacity:.75}.otc__pass-f{align-items:flex-end;margin-top:auto}.otc__bars{gap:2px;height:22px;display:flex}.otc__bars i{background:var(--vg-paper-ink)}.otc__punch{background:var(--bg-page);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:8px;translate:0 -50%}@media (width<=760px){.otc{grid-template-columns:1fr}.otc__stack{--fan:14px}.otc__passes{height:260px}}.not-found{gap:var(--s-6);min-height:calc(100svh - 220px);padding:120px var(--gutter) var(--s-7);grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;display:grid}.not-found h1{max-width:10ch;margin-top:var(--s-4);font-size:clamp(3.5rem,8.5vw,7.5rem);line-height:.86;font-family:var(--font-display);font-weight:var(--weight-display);font-stretch:var(--stretch-display);letter-spacing:var(--tracking-display)}.not-found__lede{max-width:34ch;margin-top:var(--s-4);color:var(--text-muted);font-size:var(--step-1);line-height:1.45}.not-found__actions{margin-top:var(--s-5)}.ski{position:relative}.ski__canvas{touch-action:pan-y;background:var(--bg-raised);border:1px solid var(--border-strong);width:100%;height:440px;box-shadow:inset 0 -4px 0 var(--border-hair);display:block}.ski__canvas:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.ski__hud{font:500 11px/1 var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);pointer-events:none;font-variant-numeric:tabular-nums;justify-content:space-between;display:flex;position:absolute;top:12px;left:14px;right:14px}.ski__msg{background:var(--bg-page);border:1px solid var(--border-strong);width:max-content;max-width:90%;font:500 12px/1.3 var(--font-mono);text-align:center;pointer-events:none;margin:0;padding:8px 12px;position:absolute;bottom:18px;left:50%;translate:-50%}@media (width<=760px){.not-found{grid-template-columns:1fr;padding-top:96px}.ski__canvas{height:380px}}:root{--c-black:#000;--c-ink:#0a0a0a;--c-white:#fff;--c-volt:#d4ff3a;--c-paper:#f2f2f0;--c-volt-deep:#4a6500;--mask-opaque:#000;--c-paper-50:#f6f8fb;--c-neut-950:#070a0f;--c-neut-800:#111824;--c-vg-neon:#ff3d8b;--c-vg-cinnabar:#d8352a;--c-vg-signal:#3ddc84;--c-vg-belmont:#c8102e;--c-vg-golden-hour:#f2a65a;--c-vg-signal-sky:#62c4ff;--c-vg-workbench:#080d1a;--c-vg-workbench-hi:#142040;--c-vg-node:#0f1830;--c-vg-slate:#1d2723;--c-vg-slate-hi:#2c3a34;--c-vg-chalk:#e9ece4;--c-vg-xuan:#efe7d4;--c-vg-sumi:#1b1714;--c-vg-lacquer:#c0161f;--c-vg-lacquer-deep:#5e070c;--c-vg-gold:#f0c76b;--c-vg-tower-dusk:#1a100b;--c-vg-dusk:#5b596c;--c-disco-magenta:#ff3d8b;--c-disco-cyan:#3de0ff;--c-disco-gold:#ffc23d;--c-disco-violet:#9b5cff;--c-disco-mirror-hi:#f4f6fb;--c-disco-mirror-lo:#26272c;--bg-page:var(--c-black);--bg-raised:var(--c-ink);--text-primary:var(--c-white);--text-page:var(--text-primary);--text-muted:color-mix(in srgb, var(--c-white) 66%, transparent);--text-subtle:color-mix(in srgb, var(--c-white) 50%, transparent);--border-hair:color-mix(in srgb, var(--c-white) 16%, transparent);--border-strong:color-mix(in srgb, var(--c-white) 40%, transparent);--accent:var(--c-volt);--text-on-accent:var(--c-black);--focus-ring:var(--c-volt);--range-night:var(--c-black);--range-ink:var(--c-black);--range-snow:var(--c-white);--range-focus:var(--c-volt);--cursor:var(--text-primary);--cursor-line:1.5px;--glow:var(--text-primary);--signal:var(--accent);--text-on-media:var(--c-paper-50);--text-on-media-muted:color-mix(in srgb, var(--c-paper-50) 72%, transparent);--vg-shanghai:var(--c-vg-neon);--vg-mandarin:var(--c-vg-cinnabar);--vg-cs:var(--c-vg-signal);--vg-belmont:var(--c-vg-belmont);--vg-glyph:var(--c-vg-golden-hour);--vg-ai:var(--c-vg-signal-sky);--vg-paper:var(--c-paper-50);--vg-paper-ink:var(--c-neut-950);--vg-device:var(--c-neut-800);--disco-1:var(--c-disco-magenta);--disco-2:var(--c-disco-cyan);--disco-3:var(--c-disco-gold);--disco-4:var(--c-disco-violet);--disco-5:var(--c-volt);--disco-mirror-hi:var(--c-disco-mirror-hi);--disco-mirror-lo:var(--c-disco-mirror-lo);--disco-glint:var(--c-white);--disco-room:color-mix(in srgb, var(--c-black) 52%, transparent);--disco-chain:color-mix(in srgb, var(--c-white) 55%, transparent);--burst-caps:#c8102e #1f4fbf #f2b705 #2fa36b #7b3fbf #f6f8fb #e8692a #101b33;--burst-tassel:#e7c460;--burst-lantern:#ffb347 #d4161d #5e070c #f0c76b;--burst-cloud:#f4f1ea #b9c1cf;--font-display:"Archivo", system-ui, sans-serif;--font-sans:"Archivo", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-body:var(--font-sans);--weight-display:900;--tracking-display:-.02em;--stretch-display:62%;--display-w:.75;--tracking-tight:-.02em;--step--1:clamp(.78rem, .76rem + .1vw, .84rem);--step-0:clamp(.94rem, .9rem + .2vw, 1.03rem);--step-1:clamp(1.15rem, 1.05rem + .5vw, 1.4rem);--step-2:clamp(1.6rem, 1.35rem + 1.2vw, 2.4rem);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:18px;--s-5:26px;--s-6:38px;--s-7:56px;--s-8:80px;--s-9:120px;--section-y:clamp(72px, 9vw, 150px);--gutter:32px;--shead-h:56px;--radius-lg:0px;--radius:2px;--radius-sm:2px;--ease:cubic-bezier(.2, .8, .2, 1);--t-fast:.18s;--t-base:.32s}:root[data-theme=light]{--bg-page:var(--c-white);--bg-raised:var(--c-paper);--text-primary:var(--c-black);--text-muted:color-mix(in srgb, var(--c-black) 66%, transparent);--text-subtle:color-mix(in srgb, var(--c-black) 58%, transparent);--border-hair:color-mix(in srgb, var(--c-black) 16%, transparent);--border-strong:color-mix(in srgb, var(--c-black) 45%, transparent);--accent:var(--c-volt-deep);--text-on-accent:var(--c-white);--focus-ring:var(--c-volt-deep)}@media (width<=700px){:root{--gutter:20px}}@font-face{font-family:Archivo;font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(/assets/fonts/archivo-var.v1.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-var.v1.woff2)format("woff2")}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-tap-highlight-color:transparent}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--step-0);-webkit-font-smoothing:antialiased;margin:0;line-height:1.6}html,body{overflow-x:clip}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:none;padding:0}img,svg,video{max-width:100%;height:auto;display:block}h1,h2,h3,h4,p,figure{margin:0}:focus-visible{outline:1px solid var(--focus-ring);outline-offset:4px}:focus:not(:focus-visible){outline:none}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.skip-link{left:var(--s-4);z-index:100;background:var(--accent);color:var(--text-on-accent);font:500 var(--step--1) var(--font-body);transition:top var(--t-base) var(--ease);padding:10px 18px;position:absolute;top:-60px}.skip-link:focus{top:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
