.galaxy-container{position:relative;width:100%;height:100%;overflow:hidden}.galaxy-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@font-face{font-family:Bickham Script Pro;src:url(/fonts/bickham-script-pro.woff) format("woff");font-display:swap}@font-face{font-family:Glitch Goblin;src:url(/fonts/glitch-goblin.woff) format("woff");font-display:swap}@font-face{font-family:Akagu;src:url(/fonts/akagu-sub.woff) format("woff");font-display:swap}:root{--r-xs: 10px;--r-s: 16px;--r-m: 24px;--r-l: 40px;--r-pill: 999px;--arch: var(--r-l);--serif: "Playfair Display", Georgia, "Times New Roman", serif;--script: "Bickham Script Pro", "Playfair Display", cursive;--fx: "Glitch Goblin", "Instrument Sans", system-ui, sans-serif;--sans: "Instrument Sans", system-ui, -apple-system, sans-serif;--font-display: var(--sans);--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--font-read: "Newsreader", Georgia, serif;--font-cjk: "PingFang SC", "Hiragino Sans", "Apple SD Gothic Neo", "Noto Sans CJK SC", sans-serif;--font-nsi: "Akagu", var(--font-cjk);--blue: #2a35c9;--gutter: clamp(18px, 4vw, 64px);--max: 1480px;--bar: 76px;--ease: cubic-bezier(.16, 1, .3, 1);--spring: cubic-bezier(.34, 1.56, .64, 1)}:root,:root[data-theme=light]{color-scheme:light;--bg: #f7f6f2;--paper-2: #efede7;--solid: #ffffff;--surface: #ffffff;--surface-2: rgba(28, 28, 30, .05);--glass: rgba(247, 246, 242, .5);--glass-strong: rgba(247, 246, 242, .86);--glass-border: rgba(28, 28, 30, .1);--glass-hi: #fff;--glass-tint: rgba(250, 249, 246, .26);--glass-sheen: rgba(255, 255, 255, .85);--glass-sheen-2: rgba(255, 255, 255, .4);--glass-rim: rgba(255, 255, 255, 1);--glass-rim-2: rgba(255, 255, 255, .55);--glass-edge: rgba(28, 28, 30, .09);--glass-drop: rgba(17, 17, 26, .07);--scrim: rgba(247, 246, 242, .7);--ink: #1c1c1e;--ink-2: #3b3b3e;--muted: #6e6d6a;--dim: #a3a19c;--line: rgba(28, 28, 30, .1);--line-2: rgba(28, 28, 30, .22);--shadow: 0 30px 60px -40px rgba(28, 28, 30, .35);--grain-op: .5;--blob-1: #e6e3dc;--blob-2: #dcdad4;--blob-3: #ece9e2;--accent: #1c1c1e;--on-accent: #f7f6f2}:root[data-theme=dark]{color-scheme:dark;--bg: #151516;--paper-2: #1d1d1f;--solid: #232325;--surface: #1d1d1f;--surface-2: rgba(255, 255, 255, .06);--glass: rgba(21, 21, 22, .45);--glass-strong: rgba(21, 21, 22, .82);--glass-border: rgba(255, 255, 255, .1);--glass-hi: #2a2a2c;--glass-tint: rgba(32, 32, 35, .24);--glass-sheen: rgba(255, 255, 255, .2);--glass-sheen-2: rgba(255, 255, 255, .07);--glass-rim: rgba(255, 255, 255, .34);--glass-rim-2: rgba(255, 255, 255, .1);--glass-edge: rgba(255, 255, 255, .09);--glass-drop: rgba(0, 0, 0, .28);--scrim: rgba(12, 12, 13, .7);--ink: #f3f2ee;--ink-2: #d2d1cc;--muted: #9a9994;--dim: #5f5e5a;--line: rgba(255, 255, 255, .1);--line-2: rgba(255, 255, 255, .22);--shadow: 0 30px 60px -30px rgba(0, 0, 0, .7);--grain-op: .18;--blob-1: #232326;--blob-2: #2a2a2d;--blob-3: #1f1f21;--accent: #f3f2ee;--on-accent: #151516}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #151516;--paper-2: #1d1d1f;--solid: #232325;--surface: #1d1d1f;--surface-2: rgba(255, 255, 255, .06);--glass: rgba(21, 21, 22, .45);--glass-strong: rgba(21, 21, 22, .82);--glass-border: rgba(255, 255, 255, .1);--glass-hi: #2a2a2c;--glass-tint: rgba(32, 32, 35, .24);--glass-sheen: rgba(255, 255, 255, .2);--glass-sheen-2: rgba(255, 255, 255, .07);--glass-rim: rgba(255, 255, 255, .34);--glass-rim-2: rgba(255, 255, 255, .1);--glass-edge: rgba(255, 255, 255, .09);--glass-drop: rgba(0, 0, 0, .28);--scrim: rgba(12, 12, 13, .7);--ink: #f3f2ee;--ink-2: #d2d1cc;--muted: #9a9994;--dim: #5f5e5a;--line: rgba(255, 255, 255, .1);--line-2: rgba(255, 255, 255, .22);--shadow: 0 30px 60px -30px rgba(0, 0, 0, .7);--grain-op: .18;--blob-1: #232326;--blob-2: #2a2a2d;--blob-3: #1f1f21;--accent: #f3f2ee;--on-accent: #151516}}:root{--scan: var(--ink);--nav: var(--ink);--comms: var(--ink);--ops: var(--ink);--core: var(--ink);--warn: var(--ink)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip;background:var(--bg)}body{overflow-x:clip}body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;min-height:100dvh}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}::selection{background:var(--blue);color:#fff}:focus-visible{outline:1.5px solid var(--blue);outline-offset:4px;border-radius:var(--r-xs)}.grain{position:fixed;inset:0;z-index:90;pointer-events:none;opacity:calc(var(--grain-op) * .7);contain:strict;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}:root[data-theme=dark] .grain{opacity:.12;filter:invert(1)}.ambient{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.ambient{contain:strict}.ambient i{position:absolute;border-radius:50%;opacity:.9;will-change:transform}.ambient i:nth-child(1){width:46vmax;height:46vmax;left:-12vmax;top:-14vmax;background:radial-gradient(closest-side,var(--blob-1),transparent);animation:float1 28s ease-in-out infinite alternate}.ambient i:nth-child(2){width:38vmax;height:38vmax;right:-10vmax;top:18vh;background:radial-gradient(closest-side,var(--blob-2),transparent);animation:float2 34s ease-in-out infinite alternate}.ambient i:nth-child(3){width:30vmax;height:30vmax;left:30vw;bottom:-16vmax;background:radial-gradient(closest-side,var(--blob-3),transparent);animation:float3 40s ease-in-out infinite alternate}@keyframes float1{to{transform:translate(14vw,10vh) scale(1.1)}}@keyframes float2{to{transform:translate(-12vw,16vh) scale(.9)}}@keyframes float3{to{transform:translate(-10vw,-18vh) scale(1.15)}}svg.glyph{width:1.1em;height:1.1em;flex:none}.wordmark{display:block;width:100%;height:auto}.mono{font-family:var(--font-mono);letter-spacing:.04em}.cjk{font-family:var(--font-cjk)}.nsi{font-family:var(--font-nsi)}.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.eyebrow,.label{font:600 11.5px/1.3 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}.label{font:500 11px/1.3 var(--font-mono);letter-spacing:.14em}.eyebrow{color:var(--ink);display:inline-flex;gap:12px;align-items:center;font-family:var(--fx);font-weight:400;font-size:12.5px;letter-spacing:.08em}.eyebrow:before{content:"";width:28px;height:1px;background:currentColor}.display,.h-xl,.h-l,.h-m{font-family:var(--serif);font-weight:400;margin:0}.h-xl{font-size:clamp(54px,9.4vw,176px);line-height:.95;letter-spacing:-.03em}.h-l{font-size:clamp(44px,6.2vw,110px);line-height:.98;letter-spacing:-.025em}.h-m{font-size:clamp(32px,3.6vw,60px);line-height:1.04;letter-spacing:-.015em}.h-xl em,.h-l em,.h-m em,.display em,.q em,.more-t em,.script{font-family:var(--script);font-style:normal;font-weight:400;letter-spacing:0;font-size:1.32em;line-height:.7;padding:0 .04em}em .w,.script .w{padding:.3em .35em .45em;margin:-.3em -.35em -.45em}.fx{font-family:var(--fx);font-weight:400;letter-spacing:.02em}.lede{font-size:clamp(18px,1.35vw,21px);line-height:1.6;color:var(--ink-2);max-width:40ch;margin:0}.line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}.line>span{display:inline-block}:root{--glass-fill: linear-gradient(180deg, var(--glass-sheen-2) 0%, transparent 38%), linear-gradient(125deg, var(--glass-sheen) 0%, transparent 26%, transparent 70%, var(--glass-sheen-2) 100%), var(--glass-tint);--glass-ring: inset 0 1px 0 0 var(--glass-rim), inset 0 -1px 0 0 var(--glass-rim-2), inset 0 0 0 1px var(--glass-edge), 0 4px 16px var(--glass-drop), 0 18px 48px -18px var(--glass-drop);--glass-blur: blur(8px) saturate(190%) brightness(1.06)}.glass,.panel,.hud{background:var(--glass-fill);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-ring)}.panel,.hud{box-shadow:var(--glass-ring),var(--shadow)}.glass-dark,.glass.glass-night{color:#f4f4f2;border:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(255,255,255,.08) 0%,transparent 38%),linear-gradient(125deg,rgba(255,255,255,.24) 0%,transparent 26%,transparent 70%,rgba(255,255,255,.07) 100%),#14141638;backdrop-filter:blur(8px) saturate(180%);-webkit-backdrop-filter:blur(8px) saturate(180%);box-shadow:inset 0 1px #ffffff47,inset 0 -1px #ffffff12,0 18px 48px -18px #00000080}.gs-host{position:relative;isolation:isolate}.glass-surface.gs-layer{position:absolute;inset:0;z-index:-1;pointer-events:none}.glass-surface.gs-layer .glass-surface__content{display:none}.glass-surface--svg.gs-site{background:linear-gradient(135deg,var(--glass-sheen) 0%,transparent 46%),color-mix(in srgb,var(--glass-tint) 60%,transparent)}.glass-surface--fallback.gs-site{background:var(--glass-fill)}.glass-surface.gs-night{color-scheme:dark}.glass-surface--svg.gs-night{background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 46%),#0e0e1042}.glass-surface--fallback.gs-night{background:#16161980}.glass-surface--svg.gs-frost{backdrop-filter:blur(10px) var(--filter-id) saturate(1.6)}.glass-surface--svg.gs-site.gs-frost{background:linear-gradient(135deg,var(--glass-sheen) 0%,transparent 46%),color-mix(in srgb,var(--glass) 92%,transparent)}.glass-surface--svg.gs-night.gs-frost{background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,transparent 46%),#10101266}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass,.panel,.hud{background:var(--glass-strong)}}@media(prefers-reduced-transparency:reduce){.glass,.panel,.hud,.tile .cap,.glass-surface.gs-site{background:var(--surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.glass-dark,.glass.glass-night,.glass-surface.gs-night{background:#1d1d1f!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.glass-surface__sheen,.glass-surface__rim{display:none}}.tag{display:inline-flex;gap:8px;align-items:center;padding:8px 14px;border-radius:var(--r-pill);font:500 10.5px/1 var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.rec{width:7px;height:7px;border-radius:50%;background:#ff4d5e;box-shadow:0 0 10px #ff4d5e;animation:pulse 1.4s infinite}.live{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 2s infinite}.term{font:400 13px/1.6 var(--font-mono);color:var(--muted);letter-spacing:.02em}.term b{color:var(--ink);font-weight:500}.term:after{content:"";display:inline-block;width:.6em;height:1.1em;margin-left:4px;vertical-align:-.2em;background:var(--ink);animation:caret 1.05s steps(1) infinite}@keyframes caret{50%{opacity:0}}.panel{border-radius:var(--r-m)}.hud{position:relative;border-radius:var(--r-l)}.deck-head{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:120px 0 32px;margin-bottom:40px;border-bottom:1px solid var(--line)}.deck-head h2,.deck-head h1{margin:0;font:400 clamp(48px,8vw,132px)/.9 var(--serif);letter-spacing:-.03em}.deck-head .meta{display:flex;gap:12px;align-items:center;color:var(--muted);flex-wrap:wrap}.deck-head .meta .glyph{width:20px;height:20px;color:var(--ink)}.scripts{display:inline-flex;gap:12px;align-items:center;font-size:13px;color:var(--muted);flex-wrap:wrap}.scripts .nsi{font-size:18px;color:var(--ink);line-height:1}.btn{position:relative;overflow:hidden;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:12px;height:54px;padding:0 28px;border-radius:var(--r-pill);font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:linear-gradient(135deg,var(--glass-sheen-2) 0%,transparent 60%);box-shadow:inset 0 1px 0 var(--glass-rim-2),inset 0 0 0 1px var(--line-2);transition:color .5s var(--ease),box-shadow .5s var(--ease),transform .35s var(--spring)}.btn:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--ink);transform:translateY(101%);transition:transform .6s var(--ease)}.btn:hover{color:var(--bg);box-shadow:inset 0 0 0 1px var(--ink)}.btn:hover:before{transform:none}.btn:active{transform:scale(.97)}.btn .arr{display:inline-block;transition:transform .5s var(--ease)}.btn:hover .arr{transform:translate(5px)}.btn.solid{background:var(--ink);color:var(--bg);box-shadow:none}.btn.solid:before{background:var(--blue)}.btn.solid:hover{color:#fff}.btn.light{background:#f7f6f2;color:#1c1c1e;box-shadow:none}.btn.light:before{background:#fff}.btn.light:hover{color:#1c1c1e}.btn .k{opacity:.6}.btn.sm{height:44px;padding:0 20px;font-size:12px}.ulink{position:relative;display:inline-flex;gap:10px;align-items:center;font:600 13px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:6px 0}.ulink:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .6s var(--ease)}.ulink:hover:after{transform:scaleX(0)}.ulink:before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease) .15s}.ulink:hover:before{transform:none}.chip{font:600 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:12px 18px;border-radius:var(--r-pill);color:var(--muted);box-shadow:inset 0 1px 0 var(--glass-rim-2),inset 0 0 0 1px var(--line-2);background:linear-gradient(135deg,var(--glass-sheen) 0%,transparent 55%),color-mix(in srgb,var(--glass-tint) 50%,transparent);transition:background .3s,color .3s,transform .35s var(--spring)}.chip:hover{color:var(--ink);transform:translateY(-2px)}.chip[aria-pressed=true]{color:var(--bg);background:var(--ink);box-shadow:none}.u{background:linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat;transition:background-size .45s var(--ease)}.u:hover{background-size:100% 1px}.go{width:64px;height:64px;flex:none;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px currentColor;transition:background .5s var(--ease),color .5s,transform .7s var(--ease)}a:hover>.go,.go:hover{background:var(--ink);color:var(--bg);transform:rotate(-45deg)}.arch,.sq{border-radius:var(--r-l);overflow:hidden;aspect-ratio:1;object-fit:cover}.round{border-radius:50%;overflow:hidden}.soft{border-radius:var(--r-m);overflow:hidden}.tile{position:relative;display:block;overflow:hidden;background:var(--paper-2);border-radius:var(--r-m);isolation:isolate}.tile img{width:100%;transition:transform 1.4s var(--ease)}.tile:hover img{transform:scale(1.05)}.tile .cap{position:absolute;z-index:3;left:12px;right:12px;bottom:12px;padding:12px 18px;border-radius:var(--r-pill);display:flex;justify-content:space-between;gap:8px;background:linear-gradient(135deg,var(--glass-sheen) 0%,transparent 46%),var(--glass);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--glass-ring);font:400 15px/1.3 var(--serif);color:var(--ink);opacity:0;transform:translateY(12px);transition:.6s var(--ease)}.tile .cap span:last-child{font:600 11px/1.6 var(--sans);letter-spacing:.12em;color:var(--muted)}.tile:hover .cap,.tile:focus-visible .cap{opacity:1;transform:none}@media(hover:none){.tile .cap{opacity:1;transform:none}}.masonry{columns:3 280px;column-gap:20px}.masonry>*{break-inside:avoid;margin-bottom:20px}.field{display:grid;gap:8px}.field span{font:600 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}input,select,textarea{font:400 17px/1.4 var(--sans);color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line-2);border-radius:0;padding:12px 0;outline:0;width:100%;transition:border-color .3s}input:focus,select:focus,textarea:focus{border-color:var(--blue)}textarea{resize:vertical;min-height:120px}.prose{font:400 clamp(18px,1.3vw,20px)/1.75 var(--font-read);color:var(--ink-2);max-width:680px}.prose p{margin:0 0 1.2em}.prose h2,.prose h3{font-family:var(--serif);font-weight:400;color:var(--ink);letter-spacing:-.01em;line-height:1.1;margin:1.6em 0 .5em;font-size:1.8em}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue);text-underline-offset:3px}.prose em,.prose strong{color:var(--ink)}.prose strong{font-weight:600}.prose blockquote{margin:1.6em 0;padding:0 0 0 26px;border-left:1px solid var(--ink);font:italic 400 1.35em/1.35 var(--serif);color:var(--ink)}.prose img{margin:1.5em 0;border-radius:var(--r-m)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}[data-warp]{transform-origin:left center;will-change:transform}.js [data-r]{opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--ease),transform 1.2s var(--ease);transition-delay:calc(var(--d, 0) * 80ms)}.js [data-r=l]{transform:translate(-80px)}.js [data-r=r]{transform:translate(80px)}.js [data-r=clip]{opacity:1;transform:none}.js [data-r=clip]>*{clip-path:inset(100% 0 0 0);transition:clip-path 1.4s var(--ease)}.js [data-r=clip].in>*{clip-path:inset(0 0 0 0)}.js [data-r].in{opacity:1;transform:none}.w{display:inline-block;overflow:hidden;vertical-align:top;padding:.06em .04em .3em;margin:-.06em -.04em -.3em}.w>span{display:inline-block;transform:translateY(145%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--wi, 0) * 55ms)}.split.in .w>span{transform:none}@keyframes pcOut{to{opacity:0;transform:translateY(-20px)}}@keyframes pcIn{0%{opacity:0;transform:translateY(30px)}}.theme-vt::view-transition-old(root),.theme-vt::view-transition-new(root){animation:none;mix-blend-mode:normal}.theme-vt::view-transition-old(root){z-index:1}.theme-vt::view-transition-new(root){z-index:2}::view-transition-group(*){animation-duration:.7s;animation-timing-function:cubic-bezier(.16,1,.3,1)}.cursor-ring{position:fixed;left:0;top:0;z-index:95;pointer-events:none;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--ink);opacity:0;display:grid;place-items:center;font:600 10.5px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--bg);transition:width .5s var(--ease),height .5s var(--ease),margin .5s var(--ease),opacity .3s,background .4s,box-shadow .4s}.cursor-ring span{opacity:0;transition:opacity .25s}.cursor-ring.on{opacity:1}.cursor-ring.hover{width:46px;height:46px;margin:-23px 0 0 -23px;background:transparent;box-shadow:inset 0 0 0 1px var(--ink)}.cursor-ring.view{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--ink);box-shadow:none}.cursor-ring.view span{opacity:1}@media(hover:none),(pointer:coarse){.cursor-ring{display:none}}.fx{position:absolute;inset:0;overflow:hidden;pointer-events:none}.fx canvas{position:absolute;top:0;left:0;display:block;transform-origin:0 0}.fx.fill canvas{inset:0;width:100%;height:100%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js [data-r],.js [data-r=clip]>*{opacity:1;transform:none;clip-path:none}.w>span{transform:none}.cursor-ring{display:none}}.ph{padding:clamp(80px,10vw,150px) 0 clamp(48px,6vw,80px)}.ph .crumbs{display:flex;gap:10px;flex-wrap:wrap;font:600 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}.ph .crumbs a:hover{color:var(--ink)}.ph h1{margin:0 0 26px}.ph .lede{max-width:46ch}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:1080px){.grid-4{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}}@media(max-width:560px){.grid-3{grid-template-columns:1fr}}.chips{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}.notice{padding:18px 22px;border-radius:var(--r-m);background:var(--paper-2);color:var(--ink-2);font-size:15px}.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.pl-stars{position:absolute;inset:0;z-index:0;pointer-events:none}.pl-stars :global(.galaxy-container){width:100%;height:100%}.pl>:not(.pl-stars){z-index:1}.pl{position:fixed;inset:0;z-index:200;background:#111112;color:#f4f4f2;display:grid;place-items:center;overflow:visible;transition:transform 1s cubic-bezier(.76,0,.24,1)}.pl-stage{position:relative;height:1.3em;overflow:hidden;font:400 clamp(44px,8vw,104px)/1.3 var(--serif);letter-spacing:-.02em;text-align:center;transition:opacity .35s,transform .5s cubic-bezier(.76,0,.24,1),filter .4s}.pl-word{display:inline-block;white-space:nowrap}.pl-word.in{animation:plIn .2s cubic-bezier(.22,1,.36,1) both}@keyframes plIn{0%{transform:translateY(32%);opacity:.3;filter:blur(4px)}to{transform:none;opacity:1;filter:none}}.pl-final{position:absolute;font:500 clamp(26px,4.4vw,60px)/1 var(--sans, var(--font-display));letter-spacing:.04em;white-space:nowrap;opacity:0;transform:scale(.96);filter:blur(8px);transition:opacity .4s,transform .8s cubic-bezier(.22,1,.36,1),filter .5s}.pl-meta{position:absolute;left:var(--gutter, 24px);right:var(--gutter, 24px);bottom:40px;display:flex;justify-content:space-between;align-items:baseline;font:500 11px/1 var(--font-mono, ui-monospace, monospace);letter-spacing:.2em;text-transform:uppercase;color:#f4f4f28c;transition:opacity .35s}.pl-pct{font-variant-numeric:tabular-nums}.pl-bar{position:absolute;left:var(--gutter, 24px);right:var(--gutter, 24px);bottom:26px;height:1px;background:#ffffff1a;transition:opacity .35s}.pl-bar span{display:block;height:100%;background:#f4f4f2;transform:scaleX(0);transform-origin:left;transition:transform .25s ease-out}.pl.final .pl-stage{opacity:0;transform:translateY(-30%);filter:blur(8px)}.pl.final .pl-meta,.pl.final .pl-bar{opacity:0}.pl.final .pl-final{opacity:1;transform:none;filter:none}.pl-curve{position:absolute;top:100%;left:0;width:100%;height:14vh;fill:#111112;transition:height 1s cubic-bezier(.76,0,.24,1)}.pl.out{transform:translateY(-115%)}.pl.out .pl-curve{height:0}.preloading body{overflow:hidden}.pl-seen .pl{display:none}.pl{animation:plFailsafe .6s 7s forwards}@keyframes plFailsafe{to{opacity:0;visibility:hidden;pointer-events:none}}.nlf[data-astro-cid-nbvfnxgh]{display:grid;gap:22px}.hp[data-astro-cid-nbvfnxgh]{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.nlf-row[data-astro-cid-nbvfnxgh]{display:flex;gap:16px;align-items:end}.grow[data-astro-cid-nbvfnxgh]{flex:1;min-width:0}.nlf-int[data-astro-cid-nbvfnxgh]{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.nlf-int[data-astro-cid-nbvfnxgh] label[data-astro-cid-nbvfnxgh]{cursor:pointer}.nlf-int[data-astro-cid-nbvfnxgh] input[data-astro-cid-nbvfnxgh]{position:absolute;opacity:0;width:1px}.nlf-int[data-astro-cid-nbvfnxgh] span[data-astro-cid-nbvfnxgh]{display:inline-block;padding:10px 16px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--line-2);font:600 11.5px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);transition:.3s}.nlf-int[data-astro-cid-nbvfnxgh] input[data-astro-cid-nbvfnxgh]:checked+span[data-astro-cid-nbvfnxgh]{background:var(--ink);color:var(--bg);box-shadow:none}.nlf-int[data-astro-cid-nbvfnxgh] input[data-astro-cid-nbvfnxgh]:focus-visible+span[data-astro-cid-nbvfnxgh]{outline:1.5px solid var(--blue);outline-offset:3px}.nlf-msg[data-astro-cid-nbvfnxgh]{margin:0;min-height:1.4em;font-size:15px;color:var(--muted)}.nlf-msg[data-astro-cid-nbvfnxgh].ok{color:var(--ink);font:italic 400 22px/1.3 var(--serif)}@media(max-width:560px){.nlf-row[data-astro-cid-nbvfnxgh]{flex-direction:column;align-items:stretch}}.glass-surface{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;transition:opacity .26s ease-out}.glass-surface__filter{width:100%;height:100%;pointer-events:none;position:absolute;inset:0;opacity:0;z-index:-1}.glass-surface__content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:.5rem;border-radius:inherit;position:relative;z-index:1}.glass-surface--svg{background:light-dark(hsl(0 0% 100% / var(--glass-frost, 0)),hsl(0 0% 0% / var(--glass-frost, 0)));backdrop-filter:var(--filter-id, url(#glass-filter)) saturate(var(--glass-saturation, 1));box-shadow:0 0 2px 1px light-dark(color-mix(in oklch,black,transparent 85%),color-mix(in oklch,white,transparent 65%)) inset,0 0 10px 4px light-dark(color-mix(in oklch,black,transparent 90%),color-mix(in oklch,white,transparent 85%)) inset,0 4px 16px #11111a0d,0 8px 24px #11111a0d,0 16px 56px #11111a0d,0 4px 16px #11111a0d inset,0 8px 24px #11111a0d inset,0 16px 56px #11111a0d inset}.glass-surface--webgl{box-shadow:0 4px 16px #11111a0d,0 8px 24px #11111a0d,0 16px 56px #11111a0d}.glass-surface__canvas,.glass-surface__frame{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;pointer-events:none}.glass-surface__frame{background:light-dark(hsl(0 0% 100% / var(--glass-frost, 0)),hsl(0 0% 0% / var(--glass-frost, 0)));box-shadow:0 0 2px 1px light-dark(color-mix(in oklch,black,transparent 85%),color-mix(in oklch,white,transparent 65%)) inset,0 0 10px 4px light-dark(color-mix(in oklch,black,transparent 90%),color-mix(in oklch,white,transparent 85%)) inset,0 4px 16px #11111a0d inset,0 8px 24px #11111a0d inset,0 16px 56px #11111a0d inset}.glass-surface--fallback{background:light-dark(hsl(0 0% 100% / calc(.12 + var(--glass-frost, 0) * .5)),hsl(0 0% 100% / calc(.04 + var(--glass-frost, 0) * .3)));-webkit-backdrop-filter:blur(12px) saturate(calc(var(--glass-saturation, 1) * 1.4)) brightness(1.04);backdrop-filter:blur(12px) saturate(calc(var(--glass-saturation, 1) * 1.4)) brightness(1.04);box-shadow:inset 0 1px 0 0 light-dark(hsl(0 0% 100% / .85),hsl(0 0% 100% / .3)),inset 0 -1px 0 0 light-dark(hsl(0 0% 100% / .35),hsl(0 0% 100% / .08)),0 0 2px 1px light-dark(color-mix(in oklch,black,transparent 88%),color-mix(in oklch,white,transparent 72%)) inset,0 0 12px 3px light-dark(color-mix(in oklch,white,transparent 72%),color-mix(in oklch,white,transparent 90%)) inset,0 4px 16px #11111a0f,0 8px 24px #11111a0f,0 16px 56px #11111a0f}.glass-surface__sheen,.glass-surface__rim{position:absolute;inset:0;border-radius:inherit;pointer-events:none}.glass-surface__sheen{background:linear-gradient(135deg,light-dark(hsl(0 0% 100% / .42),hsl(0 0% 100% / .14)) 0%,transparent 42%,transparent 64%,light-dark(hsl(0 0% 100% / .18),hsl(0 0% 100% / .05)) 100%)}.glass-surface__rim{padding:3px;background:linear-gradient(150deg,light-dark(hsl(0 0% 100% / .7),hsl(0 0% 100% / .34)),light-dark(hsl(0 0% 100% / .1),hsl(0 0% 100% / .03)) 45%,light-dark(hsl(0 0% 100% / .08),hsl(0 0% 100% / .02)) 60%,light-dark(hsl(0 0% 100% / .42),hsl(0 0% 100% / .18)));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.glass-surface__line,.glass-surface__glow{position:absolute;inset:0;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%}.glass-surface--svg .glass-surface__line,.glass-surface--webgl .glass-surface__line{background:light-dark(color-mix(in oklch,black,transparent 85%),color-mix(in oklch,white,transparent 65%))}.glass-surface--svg .glass-surface__glow,.glass-surface--webgl .glass-surface__glow{background:light-dark(color-mix(in oklch,black,transparent 90%),color-mix(in oklch,white,transparent 85%))}.glass-surface--fallback .glass-surface__line{background:light-dark(color-mix(in oklch,black,transparent 88%),color-mix(in oklch,white,transparent 72%))}.glass-surface--fallback .glass-surface__glow{background:light-dark(color-mix(in oklch,white,transparent 72%),color-mix(in oklch,white,transparent 90%))}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-surface--fallback{background:light-dark(hsl(0 0% 100% / .72),hsl(0 0% 12% / .72))}}.glass-surface:focus-visible{outline:2px solid light-dark(#007aff,#0a84ff);outline-offset:2px}.nl{width:min(860px,calc(100vw - 32px));padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}.nl::backdrop{background:var(--scrim);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nl[open] .nl-box{animation:nlIn .6s var(--spring)}@keyframes nlIn{0%{opacity:0;transform:translateY(30px) scale(.95)}}.nl-box{position:relative;display:grid;grid-template-columns:.8fr 1.2fr;border-radius:var(--r-l);overflow:hidden;background:linear-gradient(135deg,var(--glass-sheen) 0%,transparent 42%,transparent 64%,var(--glass-sheen-2) 100%),var(--glass-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-ring),0 50px 100px -40px #00000073}.nl-art img{width:100%;height:100%;object-fit:cover}.nl-form{padding:clamp(28px,4vw,52px);display:flex;flex-direction:column;gap:14px;justify-content:center}.nl-form h2{margin:6px 0 0;font:400 clamp(36px,4vw,56px)/.98 var(--serif);letter-spacing:-.02em}.nl-form p{margin:0;color:var(--ink-2)}.nl-row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.nl-row input{flex:1;min-width:200px;height:50px;padding:0 20px;border-radius:var(--r-pill);border:1px solid var(--line-2);background:var(--solid);color:var(--ink);font:400 16px var(--font-display)}.nl-fine{font-size:10.5px!important;color:var(--dim)!important;letter-spacing:.06em}.nl-x{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;border-radius:50%;font-size:20px;background:var(--glass-fill);border:1px solid var(--glass-border);box-shadow:var(--glass-ring)}.cookie{position:fixed;z-index:60;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);width:min(520px,calc(100vw - 24px));left:auto;right:18px;transform:none;bottom:calc(168px + env(safe-area-inset-bottom))!important;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 12px 12px 22px;border-radius:var(--r-pill);font-size:14px;animation:nlIn .6s var(--spring)}.cookie{box-shadow:0 20px 50px -20px #0000004d;font-size:13px!important}.cookie>p,.cookie>.ck-row{position:relative}.cookie[hidden]{display:none}.cookie p{margin:0;color:var(--ink-2)}.ck-row{display:flex;gap:8px;flex:none}.ck-ok{height:40px}@media(max-width:1080px){.cookie .gs-layer{border-radius:inherit!important}}@media(max-width:1080px){.cookie{bottom:calc(96px + env(safe-area-inset-bottom))!important;right:12px;border-radius:var(--r-l);flex-direction:column;align-items:stretch;padding:18px}.ck-row{justify-content:flex-end}}@media(max-width:700px){.nl-box{grid-template-columns:1fr}.nl-art{height:180px}}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}.letter-glitch{position:relative;width:100%;height:100%;overflow:hidden}.letter-glitch-canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.dock{position:absolute;z-index:10;display:flex;gap:var(--dock-gap);box-sizing:border-box;padding:var(--dock-pad);border-radius:calc(var(--dock-base) * var(--dock-round) * .5 + var(--dock-pad));background:var(--dock-panel);box-shadow:inset 0 0 0 1px var(--dock-panel-edge),inset 0 1px 0 var(--dock-panel-highlight),var(--dock-panel-shadow);-webkit-backdrop-filter:blur(20px) saturate(1.6);backdrop-filter:blur(20px) saturate(1.6);touch-action:none;transition:translate .5s cubic-bezier(.22,1,.36,1),opacity .2s ease}.dock[data-hidden]{opacity:0;pointer-events:none;transition:translate .36s cubic-bezier(.55,0,.75,.15),opacity .24s ease .1s}.dock:before{content:"";position:absolute;z-index:-1;display:none}.dock:hover:before{display:block}.dock--bottom,.dock--top{left:50%;height:var(--dock-thickness);transform:translate(-50%)}.dock--left,.dock--right{top:50%;flex-direction:column;width:var(--dock-thickness);transform:translateY(-50%)}.dock--bottom{bottom:12px;align-items:flex-end}.dock--top{top:12px;align-items:flex-start}.dock--left{left:12px;align-items:flex-start}.dock--right{right:12px;align-items:flex-end}.dock--bottom[data-hidden]{translate:0 calc(100% + 12px)}.dock--top[data-hidden]{translate:0 calc(-100% - 12px)}.dock--left[data-hidden]{translate:calc(-100% - 12px) 0}.dock--right[data-hidden]{translate:calc(100% + 12px) 0}.dock--bottom:before,.dock--top:before{left:0;right:0;height:calc(var(--dock-reach) + 8px)}.dock--left:before,.dock--right:before{top:0;bottom:0;width:calc(var(--dock-reach) + 8px)}.dock--bottom:before{bottom:100%}.dock--top:before{top:100%}.dock--left:before{left:100%}.dock--right:before{right:100%}.dock-item{position:relative;flex:none;width:var(--dock-base);height:var(--dock-base);margin:0;padding:0;border:0;background:none;color:var(--dock-ink);font:inherit;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.dock-item:hover,.dock-item:focus-visible{z-index:1}.dock-tile{position:absolute;top:0;left:0;width:var(--dock-base);height:var(--dock-base);transform-origin:0 0;pointer-events:none}.dock-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:calc(var(--dock-base) * var(--dock-round) * .5);background:var(--dock-tile);box-shadow:inset 0 0 0 1px var(--dock-tile-edge),inset 0 1px 0 var(--dock-tile-highlight),var(--dock-tile-shadow);font-size:calc(var(--dock-base) * .44);line-height:1;transition:filter .2s ease}.dock--bare .dock-face{overflow:visible;background:none;box-shadow:none;font-size:calc(var(--dock-base) * .62)}.dock-item:active .dock-face,.dock-item[data-open] .dock-face{filter:var(--dock-press);transition-duration:0s}.dock-item:focus-visible .dock-face{outline:2px solid var(--dock-accent);outline-offset:3px}.dock-badge{position:absolute;top:calc(var(--dock-base) * (.1465 * var(--dock-round) - .19));right:calc(var(--dock-base) * (.1465 * var(--dock-round) - .19));box-sizing:border-box;min-width:calc(var(--dock-base) * .38);height:calc(var(--dock-base) * .38);padding:0 calc(var(--dock-base) * .1);border-radius:calc(var(--dock-base) * .19);background:var(--dock-badge);color:#fff;font-size:calc(var(--dock-base) * .22);font-weight:600;font-variant-numeric:tabular-nums;line-height:calc(var(--dock-base) * .38);text-align:center;box-shadow:0 1px 3px #0000004d;pointer-events:none}.dock-badge:empty{top:calc(var(--dock-base) * (.1465 * var(--dock-round) - .11));right:calc(var(--dock-base) * (.1465 * var(--dock-round) - .11));min-width:0;width:calc(var(--dock-base) * .22);height:calc(var(--dock-base) * .22);padding:0}.dock-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--dock-dot);pointer-events:none}.dock--bottom .dock-dot,.dock--top .dock-dot{left:50%;margin-left:-2px}.dock--left .dock-dot,.dock--right .dock-dot{top:50%;margin-top:-2px}.dock--bottom .dock-dot{top:calc(100% + max(var(--dock-pad) / 2,5px) - 2px)}.dock--top .dock-dot{bottom:calc(100% + max(var(--dock-pad) / 2,5px) - 2px)}.dock--left .dock-dot{right:calc(100% + max(var(--dock-pad) / 2,5px) - 2px)}.dock--right .dock-dot{left:calc(100% + max(var(--dock-pad) / 2,5px) - 2px)}.dock-separator{flex:none;align-self:center;border-radius:1px;background:var(--dock-separator)}.dock--bottom .dock-separator,.dock--top .dock-separator{width:1px;height:calc(var(--dock-base) * .72)}.dock--left .dock-separator,.dock--right .dock-separator{width:calc(var(--dock-base) * .72);height:1px}.dock-label{position:absolute;padding:6px 10px;border-radius:8px;background:var(--dock-label);color:var(--dock-label-ink);box-shadow:inset 0 0 0 1px var(--dock-panel-edge),0 8px 20px -8px #00000059;font-size:12px;font-weight:500;line-height:1;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .16s ease,transform .16s ease}.dock--bottom .dock-label{bottom:calc(100% + 12px);left:50%;transform:translate(-50%,4px)}.dock--top .dock-label{top:calc(100% + 12px);left:50%;transform:translate(-50%,-4px)}.dock--left .dock-label{top:50%;left:calc(100% + 12px);transform:translate(-4px,-50%)}.dock--right .dock-label{top:50%;right:calc(100% + 12px);transform:translate(4px,-50%)}.dock-item:focus-visible .dock-label{opacity:1}.dock--bottom .dock-item:focus-visible .dock-label,.dock--top .dock-item:focus-visible .dock-label{transform:translate(-50%)}.dock--left .dock-item:focus-visible .dock-label,.dock--right .dock-item:focus-visible .dock-label{transform:translateY(-50%)}@media(hover:hover){.dock-item:hover .dock-label{opacity:1}.dock--bottom .dock-item:hover .dock-label,.dock--top .dock-item:hover .dock-label{transform:translate(-50%)}.dock--left .dock-item:hover .dock-label,.dock--right .dock-item:hover .dock-label{transform:translateY(-50%)}}.dock .dock-item[data-hop] .dock-label{opacity:0}.dock-menu{position:fixed;top:0;left:0;z-index:1000;visibility:hidden;color:var(--dock-menu-ink);font-size:13px;line-height:1}.dock-menu-shadow{position:absolute;inset:0;border-radius:10px;box-shadow:var(--dock-menu-shadow);pointer-events:none}.dock-menu-glass{position:absolute;inset:-9px;-webkit-backdrop-filter:blur(24px) saturate(1.8);backdrop-filter:blur(24px) saturate(1.8);pointer-events:none}.dock-menu-shape{position:absolute;top:-9px;left:-9px;width:calc(100% + 18px);height:calc(100% + 18px);overflow:visible;pointer-events:none}.dock-menu-shape path{fill:var(--dock-menu);stroke:var(--dock-menu-edge);stroke-width:1px}.dock-menu-list{position:relative;display:flex;flex-direction:column;box-sizing:border-box;min-width:172px;max-width:280px;padding:5px;outline:none}.dock-menu-highlight{position:absolute;top:0;left:5px;right:5px;height:24px;border-radius:6px;background:var(--dock-accent);opacity:0;pointer-events:none;transition:transform .16s cubic-bezier(.3,.8,.3,1),height .16s cubic-bezier(.3,.8,.3,1),opacity .12s ease}.dock-menu-row{position:relative;display:flex;align-items:center;gap:5px;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0 10px 0 7px;border:0;border-radius:6px;background:none;color:inherit;font:inherit;text-align:left;white-space:nowrap;cursor:default;outline:none;-webkit-tap-highlight-color:transparent}.dock-menu-row[data-active]{color:#fff}.dock-menu-row[aria-disabled=true]{color:var(--dock-menu-muted)}.dock-menu-check{display:flex;flex:none;align-items:center;justify-content:center;width:14px}.dock-menu-icon{display:flex;flex:none;align-items:center;justify-content:center;margin-right:1px;font-size:15px}.dock-menu-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.dock-menu-shortcut{flex:none;margin-left:18px;color:var(--dock-menu-muted)}.dock-menu-row[data-active] .dock-menu-shortcut,.dock-menu-row[data-active] .dock-menu-chevron,.dock-menu-check{color:inherit}.dock-menu-chevron{display:flex;flex:none;align-items:center;margin-left:auto;padding-left:12px;color:var(--dock-menu-muted)}.dock-menu-separator{flex:none;height:1px;margin:5px 7px;background:var(--dock-menu-separator)}@media(prefers-reduced-motion:reduce){.dock,.dock[data-hidden],.dock-face,.dock-label,.dock-menu-highlight{transition:none}}:root,:root[data-theme=light]{--pcd-panel: rgba(247, 246, 242, .62);--pcd-panel-edge: rgba(28, 28, 30, .09);--pcd-panel-hi: rgba(255, 255, 255, .9);--pcd-panel-shadow: 0 22px 44px -24px rgba(28, 28, 30, .32), 0 6px 16px -10px rgba(28, 28, 30, .14);--pcd-tile: linear-gradient(180deg, #ffffff 0%, #f7f6f2 100%);--pcd-tile-edge: rgba(28, 28, 30, .08);--pcd-tile-hi: rgba(255, 255, 255, 1);--pcd-tile-shadow: 0 4px 10px -5px rgba(28, 28, 30, .22);--pcd-ink: #1c1c1e;--pcd-label: #ffffff;--pcd-label-ink: #1c1c1e;--pcd-dot: rgba(28, 28, 30, .6);--pcd-sep: rgba(28, 28, 30, .12);--pcd-menu: rgba(247, 246, 242, .88);--pcd-menu-edge: rgba(28, 28, 30, .1);--pcd-menu-ink: #1c1c1e;--pcd-menu-muted: rgba(28, 28, 30, .42);--pcd-menu-sep: rgba(28, 28, 30, .1)}:root[data-theme=dark]{--pcd-panel: rgba(21, 21, 22, .58);--pcd-panel-edge: rgba(255, 255, 255, .09);--pcd-panel-hi: rgba(255, 255, 255, .07);--pcd-panel-shadow: 0 22px 44px -20px rgba(0, 0, 0, .8), 0 6px 16px -8px rgba(0, 0, 0, .5);--pcd-tile: linear-gradient(180deg, #2a2a2c 0%, #1d1d1f 100%);--pcd-tile-edge: rgba(255, 255, 255, .07);--pcd-tile-hi: rgba(255, 255, 255, .1);--pcd-tile-shadow: 0 4px 10px -4px rgba(0, 0, 0, .7);--pcd-ink: #f3f2ee;--pcd-label: #232325;--pcd-label-ink: #f3f2ee;--pcd-dot: rgba(243, 242, 238, .75);--pcd-sep: rgba(255, 255, 255, .12);--pcd-menu: rgba(29, 29, 31, .86);--pcd-menu-edge: rgba(255, 255, 255, .12);--pcd-menu-ink: #f3f2ee;--pcd-menu-muted: rgba(243, 242, 238, .42);--pcd-menu-sep: rgba(255, 255, 255, .1)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--pcd-panel: rgba(21, 21, 22, .58);--pcd-panel-edge: rgba(255, 255, 255, .09);--pcd-panel-hi: rgba(255, 255, 255, .07);--pcd-panel-shadow: 0 22px 44px -20px rgba(0, 0, 0, .8), 0 6px 16px -8px rgba(0, 0, 0, .5);--pcd-tile: linear-gradient(180deg, #2a2a2c 0%, #1d1d1f 100%);--pcd-tile-edge: rgba(255, 255, 255, .07);--pcd-tile-hi: rgba(255, 255, 255, .1);--pcd-tile-shadow: 0 4px 10px -4px rgba(0, 0, 0, .7);--pcd-ink: #f3f2ee;--pcd-label: #232325;--pcd-label-ink: #f3f2ee;--pcd-dot: rgba(243, 242, 238, .75);--pcd-sep: rgba(255, 255, 255, .12);--pcd-menu: rgba(29, 29, 31, .86);--pcd-menu-edge: rgba(255, 255, 255, .12);--pcd-menu-ink: #f3f2ee;--pcd-menu-muted: rgba(243, 242, 238, .42);--pcd-menu-sep: rgba(255, 255, 255, .1)}}.site-dock-bar,[data-dock-menu]{--dock-panel: var(--pcd-panel) !important;--dock-panel-edge: var(--pcd-panel-edge) !important;--dock-panel-highlight: var(--pcd-panel-hi) !important;--dock-panel-shadow: var(--pcd-panel-shadow) !important;--dock-tile: var(--pcd-tile) !important;--dock-tile-edge: var(--pcd-tile-edge) !important;--dock-tile-highlight: var(--pcd-tile-hi) !important;--dock-tile-shadow: var(--pcd-tile-shadow) !important;--dock-ink: var(--pcd-ink) !important;--dock-label: var(--pcd-label) !important;--dock-label-ink: var(--pcd-label-ink) !important;--dock-dot: var(--pcd-dot) !important;--dock-separator: var(--pcd-sep) !important;--dock-menu: var(--pcd-menu) !important;--dock-menu-edge: var(--pcd-menu-edge) !important;--dock-menu-ink: var(--pcd-menu-ink) !important;--dock-menu-muted: var(--pcd-menu-muted) !important;--dock-menu-separator: var(--pcd-menu-sep) !important;font-family:var(--sans)}.site-dock-bar{-webkit-backdrop-filter:blur(22px) saturate(1.7);backdrop-filter:blur(22px) saturate(1.7)}.site-dock-bar .dock-label{font-family:var(--sans);letter-spacing:.01em}.site-dock{position:fixed;left:0;right:0;bottom:44px;height:110px;z-index:80;pointer-events:none}.foot{padding-bottom:150px}.utils{position:fixed;top:42px;transform:translateY(-50%);right:calc(var(--gutter) + 152px);z-index:81;height:44px;display:flex;align-items:center;gap:2px;padding:0 5px;border-radius:var(--r-pill);color:var(--ink);background:var(--glass-fill);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-ring)}.ut{position:relative;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--ink);transition:background .25s,transform .3s var(--spring)}.ut:hover{background:var(--glass-strong)}.ut:active{transform:scale(.92)}.ut svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.ut-badge{position:absolute;top:2px;right:1px;min-width:15px;height:15px;padding:0 4px;border-radius:99px;background:#e11d48;color:#fff;font:600 9px/15px var(--sans);text-align:center;display:none}.ut-badge.has{display:block}.sound-pill.playing{color:var(--ink);background:var(--glass-strong)}.site-dock{transition:transform .55s var(--ease),opacity .4s ease}.site-dock.away{transform:translateY(calc(100% + 60px));opacity:0}.site-dock.away .dock{pointer-events:none}.wave{width:20px;height:14px;overflow:hidden}.wave path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;transition:transform .4s}.sound-pill.playing .wave path{animation:wave 1.1s linear infinite}@keyframes wave{0%{transform:translate(0)}to{transform:translate(10px)}}@media(prefers-reduced-motion:reduce){.sound-pill.playing .wave path{animation:none}}.site-dock .dock{pointer-events:auto}.brand,.clock{position:fixed;top:42px;transform:translateY(-50%);z-index:81;height:44px;display:flex;align-items:center;border-radius:var(--r-pill);background:var(--glass-fill);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-ring)}.clock{right:var(--gutter);gap:8px;padding:0 16px;font-size:11px;letter-spacing:.1em;color:var(--muted);white-space:nowrap}.clock .live{color:#2fbf71}.status{position:fixed;left:50%;transform:translate(-50%);bottom:12px;z-index:40;height:32px;width:min(calc(100% - 2 * var(--gutter)),var(--max));display:flex;align-items:center;gap:22px;padding:0 18px;border-radius:var(--r-pill);font-size:10px;letter-spacing:.12em;color:var(--muted);white-space:nowrap;overflow:hidden}.status .ok{display:flex;gap:8px;align-items:center;color:var(--ink)}.status .ok .live{color:#2fbf71}.status .ticker{flex:1;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.status .ticker span{display:inline-block;padding-left:100%;animation:tick 40s linear infinite}.status .ticker b{font-weight:400;color:var(--ink);font-size:13px}@keyframes tick{to{transform:translate(-100%)}}.pal-prompt{color:var(--blue);font-size:15px}.pal-foot{display:flex;gap:18px;padding:12px 22px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);letter-spacing:.1em}.brand{left:var(--gutter);width:168px;box-sizing:content-box;padding:0 18px;color:var(--ink)}.brand .wordmark{transition:opacity .4s}.brand:hover .wordmark{opacity:.7}main{padding-top:calc(var(--bar) + 8px);position:relative;z-index:1;min-height:70vh}main.flush{padding-top:0}.totop{position:fixed;right:clamp(16px,2.4vw,32px);bottom:clamp(70px,6vw,84px);z-index:60;width:56px;height:56px;padding:0;border:0;border-radius:50%;color:var(--ink);cursor:pointer;background:var(--glass-fill);box-shadow:var(--glass-ring);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);opacity:0;transform:translateY(16px) scale(.85);pointer-events:none;transition:opacity .45s ease,transform .6s var(--spring)}.totop.on{opacity:1;transform:none;pointer-events:auto}.totop:hover{transform:translateY(-3px)}.totop svg{width:100%;height:100%;overflow:visible}.totop .tt-track{fill:none;stroke:color-mix(in srgb,var(--ink) 14%,transparent);stroke-width:1.5}.totop .tt-ring{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;transform:rotate(-90deg);transform-origin:26px 26px;transition:stroke-dashoffset .15s linear}.totop .tt-star{transform-origin:26px 26px;transition:transform .15s linear}.totop .tt-star circle{fill:currentColor;filter:drop-shadow(0 0 4px currentColor)}.totop .tt-arrow{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--spring)}.totop:hover .tt-arrow{transform:translateY(-2px)}.totop.launch .tt-arrow{animation:tt-launch .9s cubic-bezier(.5,0,.2,1)}@keyframes tt-launch{0%{transform:none;opacity:1}45%{transform:translateY(-26px);opacity:0}46%{transform:translateY(20px);opacity:0}to{transform:none;opacity:1}}@media(max-width:760px){.totop{width:48px;height:48px;bottom:calc(96px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.totop.launch .tt-arrow{animation:none}}.page-stars{position:fixed;inset:0;z-index:0;pointer-events:none}.page-stars :global(.galaxy-container){width:100%;height:100%}.foot{margin-top:clamp(100px,12vw,180px);border-top:1px solid var(--line)}.foot-nl{position:relative;isolation:isolate}.fn-card{display:grid;grid-template-columns:1fr minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(28px,4vw,56px);border-radius:clamp(28px,4vw,48px);background:var(--glass-fill);box-shadow:var(--glass-ring),inset 0 0 0 1px var(--line)}.fn-copy .h-m{margin:14px 0 10px}.fn-sub{margin:0;color:var(--muted);font-size:15px}.fn-stars{position:absolute;inset:0 calc(-1 * var(--gutter));z-index:-1;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,transparent,#000 25%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 25%,#000 80%,transparent)}.fn-stars .galaxy-container{width:100%;height:100%}.foot-nl{padding-top:clamp(64px,7vw,110px);padding-bottom:48px}.foot-sign{position:relative;height:clamp(160px,18vw,300px);margin-top:24px;overflow:hidden;display:grid;place-items:center;padding:0 var(--gutter)}.foot-sign>astro-island,.foot-sign .letter-glitch{position:absolute;inset:0}.foot-sign>astro-island{opacity:.35;-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%);mask-image:radial-gradient(ellipse at center,#000 30%,transparent 75%)}.sign-mark{position:relative;width:min(1100px,100%);color:var(--ink);pointer-events:none}.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding-top:56px;padding-bottom:40px;border-top:1px solid var(--line)}.foot-grid a,.foot-grid span{display:block;padding:5px 0;color:var(--ink-2);font-size:15px}.foot-grid a:hover{color:var(--ink)}.foot-grid .label{margin:0 0 14px}.foot{padding-bottom:50px}.legal{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:22px;padding-bottom:36px;font-size:13px;color:var(--muted);border-top:1px solid var(--line)}.legal .ll{display:flex;gap:22px}.legal a:hover{color:var(--ink)}.palette{width:min(680px,calc(100vw - 32px));max-height:min(560px,80dvh);margin:12vh auto auto;padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}.palette::backdrop{background:var(--scrim);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.pal-box{border-radius:var(--r-l);background:linear-gradient(135deg,var(--glass-sheen) 0%,transparent 42%,transparent 64%,var(--glass-sheen-2) 100%),var(--glass);backdrop-filter:blur(30px) saturate(170%);-webkit-backdrop-filter:blur(30px) saturate(170%);border:1px solid var(--glass-border);box-shadow:var(--glass-ring),0 40px 80px -30px #0006;overflow:hidden}.palette[open] .pal-box{animation:palIn .5s var(--ease)}@keyframes palIn{0%{opacity:0;transform:translateY(-14px)}}.pal-in{display:flex;align-items:center;gap:14px;padding:20px 22px;border-bottom:1px solid var(--line)}.pal-in input{flex:1;min-width:0;border:0;padding:0;font:400 24px var(--serif)}.pal-in kbd{font:600 10px var(--sans);letter-spacing:.1em;color:var(--muted);padding:5px 9px;border-radius:var(--r-pill);background:var(--surface-2)}.pal-list{list-style:none;margin:0;padding:8px;max-height:50dvh;overflow:auto}.pal-list li{display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer;border-radius:var(--r-s);transition:background .2s,padding .3s var(--ease)}.pal-list li[aria-selected=true]{background:var(--surface-2);padding-left:20px}.pal-list .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pal-list .k{font:600 10px/1 var(--sans);letter-spacing:.14em;color:var(--muted);text-transform:uppercase}.pal-list .sec{padding:14px 14px 6px;font:600 10px/1 var(--sans);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;cursor:default}.pal-list .empty{color:var(--muted);cursor:default}@media(max-width:1079px){.clock,.status{display:none}.brand{top:32px;width:132px;height:40px;padding:0 16px}.utils{top:32px;height:40px;right:var(--gutter);padding:0 3px;gap:0}.ut{width:32px;height:32px}.site-dock{top:auto;bottom:env(safe-area-inset-bottom);height:82px}.foot{padding-bottom:calc(96px + env(safe-area-inset-bottom))}.foot-nl,.fn-card{grid-template-columns:1fr}.foot-grid{grid-template-columns:1fr 1fr}}
