@font-face{font-family:space grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-latin-ext-400-normal.a6658ce608a36f9ece7a65842725deebeb5f01df2debeb696b79c8536bf2ddc8.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:space grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-latin-400-normal.65fd17fcbd2e2f522940b5f67ead3d23329e02891aa5495e74d11a499c0b0673.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:space grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-latin-ext-500-normal.ed7e064eda944f88ce2f40101ec20e214004decdf5c0b9ad9219ae21be2dbf13.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:space grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-latin-500-normal.1b1a8131d9edf975d9decee81e2f2bf504812f7a4f498e5500f28a613e22e64c.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:space grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-latin-ext-600-normal.0bdc872e2806e0eb2ecca08221ea0b49d36efd9b9239a5744b81afbc0376e9cf.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:space grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-latin-600-normal.685bbbf69fa616df1ef81847c85fc76be097ddfb3468ff2257be54511ab3130f.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:space grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-latin-ext-700-normal.7ce350b706d79c955ebf91314295f39fa82999f980b7e9beee743c2f3580a15e.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:space grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-latin-700-normal.35f8aec56cfd5cbfdb03cc68733a54a0b05bb3617ffcd5fd332badc0b045ca55.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-400-normal.6bc0f226a5b7884a8170e3f62c63d7675609d4631bdc5931b5cdab81821f00eb.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.08949f728dc52d528e69b1667d15c89a5686a4ee9a296ff90983985f99c380f7.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.6bb06407c97584b0867a959e05e8874693bfeb8c317de190811c51598f2d99ea.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.01d285447409c8a588692162439a038b8cbd7871309ee20267b0d2d91c6e8e22.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#050A12;--panel:rgba(11, 21, 34, 0.82);--panel-hover:#0B1522;--line:#1F3147;--ink:#E8F0F7;--text-soft:#B3C3D3;--text-muted:#A9BACB;--text-dim:#9DB0C4;--label:#D5E2EE;--accent:#2DD4BF;--accent-soft:color-mix(in srgb, var(--accent) 12%, transparent);--accent-cloud:color-mix(in srgb, var(--accent) 33%, transparent);--accent-line:color-mix(in srgb, var(--accent) 40%, transparent);--on-accent:#04121A;--focus:#5EEAD4;--neb-magenta:232, 121, 249;--neb-violet:124, 108, 255;--neb-blue:56, 130, 246;--neb-amber:251, 191, 36;--font-sans:'Space Grotesk', system-ui, sans-serif;--font-mono:'IBM Plex Mono', ui-monospace, monospace;--content-max:1200px;--gutter:24px;--section-gap:96px;--radius-card:16px;--radius-story:20px;--radius-pill:999px}*,*::before,*::after{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:var(--bg)}.page{position:relative;overflow:hidden;min-height:100vh;background-color:var(--bg);color:var(--ink);font-family:var(--font-sans);line-height:1.55}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.wrap{position:relative;max-width:var(--content-max);margin:0 auto;padding-inline:var(--gutter)}.site-header{position:relative;max-width:var(--content-max);margin:0 auto;padding:28px var(--gutter);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.wordmark{display:flex;align-items:center;gap:10px;font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--ink)}.wordmark svg{display:block;color:var(--accent)}.site-nav{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:16px;font-weight:500}.navlink{color:var(--text-dim)}.navlink:hover{color:var(--ink)}.site-footer{position:relative;border-top:1px solid var(--line)}.site-footer .wrap{padding-top:32px;padding-bottom:48px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:15px;color:var(--text-muted)}.placeholder{outline:1px dashed rgba(var(--neb-amber),.7);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.prose{padding-bottom:var(--section-gap);max-width:calc(760px + 2 * var(--gutter));margin:0 auto}.prose h1{font-size:clamp(36px,6vw,56px);line-height:1.06;letter-spacing:-.03em}.prose h2{font-size:28px;letter-spacing:-.02em;margin-top:48px}.prose p,.prose li{color:var(--text-muted);font-size:17px}.prose .lead{color:var(--text-soft);font-size:19px}.prose a{color:var(--accent)}.prose a:hover{text-decoration:underline}.page-list{padding-left:1.2em}.meta{font-family:var(--font-mono);font-size:13px;color:var(--text-dim)}.tag{font-family:var(--font-mono);font-size:12px;background:var(--accent-soft);color:var(--accent);padding:4px 12px;border-radius:var(--radius-pill)}.dummy-badge{display:inline-block;vertical-align:middle;font-family:var(--font-mono);font-size:12px;font-weight:400;letter-spacing:.04em;color:rgb(var(--neb-amber));border:1px dashed rgba(var(--neb-amber),.7);padding:1px 8px;border-radius:var(--radius-pill)}.lang-switch{font-family:var(--font-mono);font-size:14px;border:1px solid var(--line);border-radius:var(--radius-pill);padding:0 10px}.lang-switch:hover{border-color:var(--accent)}.lang-badge{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);border:1px solid var(--line);padding:1px 8px;border-radius:var(--radius-pill)}.sky-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none}.page-content{position:relative;z-index:1}.neb{position:absolute;pointer-events:none;will-change:transform}.neb-a{left:-15%;top:-120px;width:130%;height:1300px;background-image:radial-gradient(ellipse 28% 30% at 72% 42%,rgba(var(--neb-magenta),.3),transparent 72%),radial-gradient(ellipse 34% 26% at 28% 32%,var(--accent-cloud),transparent 72%),radial-gradient(ellipse 26% 34% at 55% 62%,rgba(var(--neb-violet),.32),transparent 72%),radial-gradient(ellipse 16% 14% at 84% 22%,rgba(var(--neb-amber),.14),transparent 72%),radial-gradient(ellipse 40% 12% at 50% 48%,rgba(var(--neb-blue),.22),transparent 75%);animation:cloudA 55s ease-in-out infinite alternate}.neb-b{left:-20%;top:1550px;width:140%;height:1300px;background-image:radial-gradient(ellipse 30% 28% at 18% 40%,var(--accent-cloud),transparent 72%),radial-gradient(ellipse 30% 26% at 66% 52%,rgba(var(--neb-magenta),.24),transparent 72%),radial-gradient(ellipse 24% 32% at 86% 30%,rgba(var(--neb-violet),.3),transparent 72%),radial-gradient(ellipse 36% 12% at 42% 72%,rgba(var(--neb-blue),.2),transparent 75%);animation:cloudB 70s ease-in-out infinite alternate}@keyframes cloudA{from{transform:rotate(-10deg)translate(0,0)scale(1)}to{transform:rotate(-5deg)translate(50px,-30px)scale(1.09)}}@keyframes cloudB{from{transform:rotate(8deg)translate(0,0)scale(1.04)}to{transform:rotate(3deg)translate(-60px,25px)scale(.97)}}.sky{position:absolute;pointer-events:none;will-change:transform,opacity}@keyframes d200{to{transform:translate3d(200px,200px,0)}}@keyframes d320{to{transform:translate3d(320px,320px,0)}}@keyframes d520{to{transform:translate3d(520px,520px,0)}}@keyframes twA{from{opacity:.45}to{opacity:1}}@keyframes twB{from{opacity:.2}to{opacity:1}}.sky-a{inset:-200px;background-size:200px 200px;background-image:radial-gradient(1px 1px at 12px 18px,rgba(255,255,255,.85),transparent),radial-gradient(1px 1px at 47px 132px,rgba(200,230,255,.8),transparent),radial-gradient(1px 1px at 83px 64px,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 121px 171px,rgba(190,239,232,.8),transparent),radial-gradient(1px 1px at 158px 29px,rgba(255,255,255,.85),transparent),radial-gradient(1px 1px at 176px 104px,rgba(200,230,255,.7),transparent),radial-gradient(1px 1px at 30px 88px,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 104px 12px,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 140px 140px,rgba(200,230,255,.8),transparent),radial-gradient(1px 1px at 68px 190px,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 190px 60px,rgba(190,239,232,.7),transparent),radial-gradient(1px 1px at 5px 150px,rgba(255,255,255,.8),transparent);animation:d200 170s linear infinite,twA 5s ease-in-out infinite alternate}.sky-b1{inset:-320px;background-size:320px 320px;background-image:radial-gradient(1.5px 1.5px at 40px 70px,#BFEFE8,transparent),radial-gradient(1.5px 1.5px at 130px 250px,#FFD9F5,transparent),radial-gradient(1.5px 1.5px at 210px 40px,#FFFFFF,transparent),radial-gradient(1.5px 1.5px at 280px 180px,#D6D2FF,transparent),radial-gradient(1.5px 1.5px at 90px 150px,#FFFFFF,transparent),radial-gradient(1.5px 1.5px at 250px 300px,#BFEFE8,transparent);animation:d320 230s linear infinite,twB 6s ease-in-out infinite alternate}.sky-b2{inset:-320px;background-size:320px 320px;background-image:radial-gradient(1.5px 1.5px at 20px 220px,#FFFFFF,transparent),radial-gradient(1.5px 1.5px at 160px 110px,#D6D2FF,transparent),radial-gradient(1.5px 1.5px at 300px 60px,#BFEFE8,transparent),radial-gradient(1.5px 1.5px at 70px 20px,#FFD9F5,transparent),radial-gradient(1.5px 1.5px at 230px 230px,#FFFFFF,transparent),radial-gradient(1.5px 1.5px at 120px 300px,#CFE8FF,transparent);animation:d320 230s linear infinite,twB 9s ease-in-out -3s infinite alternate}.sky-c1{inset:-520px;background-size:520px 520px;background-image:radial-gradient(3px 3px at 90px 120px,#FFFFFF,rgba(255,255,255,.28) 45%,transparent),radial-gradient(3px 3px at 340px 60px,#BFEFE8,rgba(191,239,232,.28) 45%,transparent),radial-gradient(3px 3px at 220px 380px,#FFD9F5,rgba(255,217,245,.28) 45%,transparent),radial-gradient(3px 3px at 460px 300px,#FFFFFF,rgba(255,255,255,.28) 45%,transparent);animation:d520 320s linear infinite,twB 3.6s ease-in-out infinite alternate}.sky-c2{inset:-520px;background-size:520px 520px;background-image:radial-gradient(3px 3px at 400px 200px,#FFFFFF,rgba(255,255,255,.28) 45%,transparent),radial-gradient(3px 3px at 150px 300px,#D6D2FF,rgba(214,210,255,.28) 45%,transparent),radial-gradient(3px 3px at 30px 20px,#BFEFE8,rgba(191,239,232,.28) 45%,transparent),radial-gradient(3px 3px at 280px 470px,#FFFFFF,rgba(255,255,255,.28) 45%,transparent);animation:d520 320s linear infinite,twB 5.2s ease-in-out -2s infinite alternate}.shoot{position:absolute;height:2px;border-radius:2px;opacity:0;pointer-events:none}.shoot-1{left:8%;top:6%;width:140px;background-image:linear-gradient(90deg,rgba(255,255,255,0),#FFFFFF);animation:shoot 17s linear 2s infinite}.shoot-2{left:52%;top:24%;width:110px;background-image:linear-gradient(90deg,rgba(255,255,255,0),#BFEFE8);animation:shoot 23s linear 9s infinite}@keyframes shoot{0%{transform:rotate(25deg)translateX(0);opacity:0}1.5%{opacity:1}7%{transform:rotate(25deg)translateX(560px);opacity:0}100%{transform:rotate(25deg)translateX(560px);opacity:0}}@media(max-width:640px){.sky-b2,.sky-c2{display:none}.neb-b{animation:none}}@media(prefers-reduced-motion:reduce){.sky,.neb,.shoot{animation:none!important}}.hero{position:relative;max-width:var(--content-max);margin:0 auto;padding:24px var(--gutter)var(--section-gap);display:flex;flex-wrap:wrap;align-items:center;gap:24px 56px}.hero-text{flex:1 1 400px;min-width:0;display:flex;flex-direction:column;gap:22px}.hero-visual{flex:1.3 1 440px;min-width:0;padding:24px}.eyebrow{font-family:var(--font-mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.hero h1{margin:0;font-size:clamp(38px,9vw,56px);line-height:1.06;letter-spacing:-.03em;font-weight:700}.hero-lead{margin:0;font-size:19px;color:var(--text-soft);max-width:520px}.hero-hint{margin:0;font-family:var(--font-mono);font-size:13px;color:var(--text-dim)}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}.btn{display:inline-block;padding:14px 26px;font-size:16px;border-radius:var(--radius-pill)}.btn-primary{background:var(--accent);color:var(--on-accent);font-weight:600}.btn-secondary{border:1px solid var(--accent-line);color:var(--ink);font-weight:500}.btn-secondary:hover{border-color:var(--accent)}.bubbles{position:absolute;inset:calc(-1 * (56px + 30px))0 0 0;pointer-events:none}.bubble{position:absolute;width:var(--d);height:var(--d);border-radius:50%;border:1px solid var(--accent-line);background-image:radial-gradient(circle at 30% 30%,var(--accent-soft),rgba(5,10,18,0) 70%);animation:drift var(--t)ease-in-out var(--delay,0s)infinite}@keyframes drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}@media(prefers-reduced-motion:reduce){.bubble{animation:none!important}}.system{position:relative;width:100%;max-width:720px;aspect-ratio:1/1;margin:0 auto}.ring{position:absolute;border-radius:50%;border:1px dashed;pointer-events:none}.ring-1{inset:30%;border-color:rgba(157,176,196,.32)}.ring-2{inset:21%;border-color:rgba(157,176,196,.28)}.ring-3{inset:12%;border-color:rgba(157,176,196,.24)}.ring-4{inset:3%;border-color:rgba(157,176,196,.2)}.sun{position:absolute;inset:39%;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--font-mono);font-size:11px;color:var(--on-accent);background-image:radial-gradient(circle at 35% 30%,#EFFFFC,var(--accent) 48%,#0B5F57);box-shadow:0 0 80px 12px var(--accent-line)}.sun img{width:100%;height:100%;object-fit:cover;display:block}.sun.pulsar{overflow:visible;background-image:radial-gradient(circle at 50% 50%,#0E3A40,#07202A 55%,#040E16);box-shadow:0 0 80px 12px var(--accent-line),inset 0 0 30px rgba(45,212,191,.25)}.pulsar-core,.pulsar-halo,.pulsar-beams{position:absolute;border-radius:50%;pointer-events:none}.pulsar-core{inset:38%;background:radial-gradient(circle,#FFFFFF 0%,#D8FFF8 35%,var(--accent) 70%,transparent 72%);box-shadow:0 0 18px 6px rgba(216,255,248,.75);animation:pulsar-pulse 1.4s ease-in-out infinite}.pulsar-halo{inset:18%;background:radial-gradient(circle,rgba(94,234,212,.55),rgba(45,212,191,.12) 55%,transparent 70%);animation:pulsar-halo 1.4s ease-out infinite}.pulsar-beams{inset:-45%;background:conic-gradient(from 0,transparent 0 80deg,rgba(216,255,248,.5) 88deg,rgba(216,255,248,.85) 90deg,rgba(216,255,248,.5) 92deg,transparent 100deg 260deg,rgba(216,255,248,.5) 268deg,rgba(216,255,248,.85) 270deg,rgba(216,255,248,.5) 272deg,transparent 280deg);-webkit-mask-image:radial-gradient(circle,#000 18%,transparent 68%);mask-image:radial-gradient(circle,#000 18%,transparent 68%);animation:spin 6s linear infinite}@keyframes pulsar-pulse{0%,100%{transform:scale(.85);opacity:.8}12%{transform:scale(1.15);opacity:1}}@keyframes pulsar-halo{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.35);opacity:0}}.spin{position:absolute;animation:spin var(--dur)linear var(--delay)infinite;pointer-events:none}.spin.rev{animation-name:spinrev}.orbit-1{inset:30%}.orbit-2{inset:21%}.orbit-3{inset:12%}.orbit-4{inset:3%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinrev{to{transform:rotate(-360deg)}}.planet{position:absolute;top:0;left:50%;width:var(--size);aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;display:block;pointer-events:auto;--glow:0 0 22px color-mix(in srgb, var(--c2) 35%, transparent)}.orbit-1>.planet:not(.moon){--glow:0 0 28px var(--accent-line)}.planet.moon{--glow:0 0 14px color-mix(in srgb, var(--c2) 40%, transparent)}.counter{position:relative;display:block;width:100%;height:100%;animation:spinrev var(--dur)linear var(--delay)infinite}.rev .counter{animation-name:spin}.pbubble{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;color:var(--on-accent);background-image:radial-gradient(circle at 32% 28%,var(--c1),var(--c2) 55%,var(--c3));box-shadow:var(--glow)}.picon{width:52%;height:auto;stroke-width:2}.plabel{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);font-family:var(--font-mono);font-size:12px;color:var(--label);white-space:nowrap;background:rgba(5,10,18,.72);padding:2px 9px;border-radius:var(--radius-pill)}.system:hover .spin,.system:hover .counter,.system:focus-within .spin,.system:focus-within .counter{animation-play-state:paused}.planet:hover .pbubble,.planet:focus-visible .pbubble{filter:brightness(1.18)}.planet:focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media(max-width:640px){.plabel{display:none}}@media(prefers-reduced-motion:reduce){.spin,.counter,.pulsar-core,.pulsar-halo,.pulsar-beams{animation:none!important}}.section{max-width:var(--content-max);margin:0 auto;padding:0 var(--gutter)var(--section-gap)}.section-areas{padding-top:40px}.section-head{display:flex;flex-direction:column;gap:10px;margin-bottom:40px}.section-head h2{margin:0;font-size:clamp(30px,6vw,40px);line-height:1.15;letter-spacing:-.02em;font-weight:700}.section,.hero{scroll-margin-top:16px}.section-more{margin:24px 0 0}.more{font-size:15px;font-weight:500;color:var(--accent)}.empty{color:var(--text-muted)}.card{min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);transition:border-color .2s}.card:hover{border-color:var(--accent)}.card h3{margin:0}.cards{display:flex;flex-wrap:wrap;gap:20px}.area-card{flex:1 1 250px;padding:28px;display:flex;flex-direction:column;gap:14px}.area-card h3{font-size:22px;font-weight:600}.area-card p{margin:0;font-size:16px;color:var(--text-muted)}.area-card .more{margin-top:auto}.card-icon{width:36px;height:36px;color:var(--accent);stroke-width:1.8}.cover-v0{--cover:radial-gradient(ellipse at 70% 30%, rgba(45, 212, 191, 0.28), transparent 55%),
           linear-gradient(160deg, #0A1F2B, #0A1020 60%, #14182E)}.cover-v1{background-image:radial-gradient(ellipse at 25% 70%,rgba(45,212,191,.28),transparent 60%),linear-gradient(180deg,#0B1B2A,#0E2430)}.cover-v2{background-image:radial-gradient(ellipse at 70% 40%,rgba(120,110,255,.3),transparent 60%),linear-gradient(180deg,#0A1220,#151A32)}.cover-v3{background-image:radial-gradient(ellipse at 50% 80%,rgba(45,212,191,.22),transparent 60%),linear-gradient(180deg,#0C1A28,#10222B)}.story-feature{display:block;position:relative;min-height:460px;border:1px solid var(--line);border-radius:var(--radius-story);overflow:hidden;background-color:var(--panel);background-image:linear-gradient(180deg,rgba(5,10,18,0) 35%,rgba(5,10,18,.92) 100%),var(--cover);background-size:cover;background-position:50%;transition:border-color .2s}.story-feature:hover{border-color:var(--accent)}.story-feature-text{position:absolute;left:0;right:0;bottom:0;padding:36px;display:flex;flex-direction:column;gap:12px;max-width:760px}.story-chip{align-self:flex-start;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--on-accent);background:var(--accent);padding:5px 12px;border-radius:var(--radius-pill)}.story-feature h3{margin:0;font-size:clamp(28px,5vw,36px);line-height:1.12;letter-spacing:-.02em;font-weight:700}.story-feature p{margin:0;font-size:17px;color:#c9d6e3}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:20px;margin-top:20px}.story-tile{overflow:hidden;display:flex;flex-direction:column}.tile-cover{aspect-ratio:3/2;background-size:cover;background-position:50%}.tile-text{padding:20px 22px 24px;display:flex;flex-direction:column;gap:6px}.tile-cat{font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.story-tile h3{font-size:20px;font-weight:600}.rows{display:flex;flex-direction:column;border-top:1px solid var(--line)}.rowlink{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:24px 12px;border-bottom:1px solid var(--line);border-radius:4px;transition:background-color .2s}.rowlink:hover{background:var(--panel-hover)}.row-text{flex:1 1 380px;min-width:0}.row-text h2,.row-text h3{margin:0 0 4px;font-size:22px;font-weight:600;letter-spacing:0}.row-text p{margin:0;font-size:16px;color:var(--text-muted)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{font-family:var(--font-mono);font-size:12px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent)}@media(prefers-reduced-motion:reduce){.card,.story-feature,.rowlink{transition:none}}.story-hero{position:relative;width:calc(100% - 2 * var(--gutter));max-width:calc(var(--content-max) - 2 * var(--gutter));margin:0 auto;min-height:min(70vh,640px);border-radius:var(--radius-story);overflow:hidden;border:1px solid var(--line);background-image:var(--cover)}.story-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.story-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,18,0) 35%,rgba(5,10,18,.92) 100%)}.story-hero-text{position:absolute;z-index:1;left:0;right:0;bottom:0;padding:clamp(24px,5vw,48px);display:flex;flex-direction:column;gap:12px;max-width:860px}.story-hero h1{margin:0;font-size:clamp(34px,7vw,56px);line-height:1.06;letter-spacing:-.03em}.story-meta{margin:0;font-family:var(--font-mono);font-size:13px;color:#c9d6e3}.story-body{max-width:calc(720px + 2 * var(--gutter));margin:0 auto;padding:48px var(--gutter)var(--section-gap);font-size:18px;line-height:1.7;color:var(--text-soft)}.story-body h2{color:var(--ink);font-size:30px;line-height:1.2;letter-spacing:-.02em;margin:56px 0 16px}.story-body h3{color:var(--ink);font-size:22px;margin:40px 0 12px}.story-body a{color:var(--accent)}.story-body a:hover{text-decoration:underline}.story-lead{font-size:21px;color:var(--ink)}.story-back{margin-top:64px;font-size:16px}.story-body figure{margin:48px 0}.story-body figcaption{margin-top:10px;font-family:var(--font-mono);font-size:13px;color:var(--text-dim)}.story-body img{display:block;width:100%;height:auto;border-radius:12px;background:var(--panel)}.figure-full{margin-inline:calc(min(0px,(720px - min(1100px,100vw - 2 * var(--gutter)))/2))!important}.gallery{columns:3 220px;column-gap:12px;margin:48px calc(min(0px,(720px - min(1100px,100vw - 2 * var(--gutter)))/2))}.gallery .gallery-item{margin:0 0 12px;break-inside:avoid}.fullbleed{position:relative;width:100vw;margin-left:calc(50% - 50vw)!important;margin-right:0}.fullbleed img{border-radius:0;max-height:85vh;object-fit:cover}.fullbleed .fullbleed-text{position:absolute;left:50%;bottom:clamp(16px,6vw,64px);transform:translateX(-50%);width:min(720px,calc(100% - 2 * var(--gutter)));margin:0;padding:20px 24px;border-radius:12px;background:rgba(5,10,18,.72);font-family:var(--font-sans);font-size:18px;color:var(--ink)}.fullbleed-text p{margin:0}.video-link{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.video-link-anchor{flex:1 1 280px;display:flex;align-items:center;gap:16px;padding:20px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--panel);text-decoration:none!important;color:var(--ink)!important}.video-link-anchor:hover{border-color:var(--accent)}.video-link-icon{flex:none;width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:var(--on-accent)}.video-frame{width:100%;aspect-ratio:16/9}.video-frame iframe{width:100%;height:100%;border:0;border-radius:12px}.reveal-pending{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.reveal-pending.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none;transition:none}}.story-flickr{margin-top:48px;font-size:16px}.gallery-page h1{margin:0;font-size:clamp(36px,7vw,56px);line-height:1.06;letter-spacing:-.03em}.gallery-page .lead{margin:0;max-width:640px;font-size:19px;color:var(--text-soft)}.gallery-intro{max-width:720px;margin-bottom:32px;color:var(--text-soft)}.gallery-stories{margin:64px 0 16px;font-size:28px}.gallery-page .page-list a{color:var(--accent)}.gallery-page .page-list li{color:var(--text-muted);margin-bottom:8px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-auto-flow:dense;gap:20px}.photo-tile{margin:0;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-card);overflow:hidden}.photo-tile.is-portrait{grid-row:span 2}@media(min-width:700px){.photo-tile.is-wide{grid-column:span 2}}.photo-link{display:block;flex:1;min-height:0}.photo-link picture{display:block;height:100%}.photo-link img{display:block;width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;transition:filter .2s}.photo-tile.is-portrait .photo-link img{aspect-ratio:auto}.photo-link:hover img,.photo-link:focus-visible img{filter:brightness(1.12)}.photo-tile figcaption,.lightbox figcaption{padding:14px 18px 18px;display:flex;flex-direction:column;gap:4px}.photo-caption{font-weight:600;color:var(--ink)}.photo-meta{font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.photo-story{font-size:14px;color:var(--accent)}.lightbox{width:min(96vw,1600px);max-height:96vh;padding:0;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--bg);color:var(--ink)}.lightbox::backdrop{background:rgba(5,10,18,.88)}.lightbox-figure{margin:0}.lightbox img{display:block;width:100%;max-height:calc(96vh - 110px);object-fit:contain;background:#000}.lightbox-btn{position:absolute;width:44px;height:44px;border-radius:50%;border:1px solid var(--accent-line);background:rgba(5,10,18,.72);color:var(--ink);font-size:18px;cursor:pointer}.lightbox-btn:hover{border-color:var(--accent)}.lightbox-prev{left:12px;top:40%}.lightbox-next{right:12px;top:40%}.lightbox-close{right:12px;top:12px}@media(prefers-reduced-motion:reduce){.photo-link img{transition:none}}.gallery-gear{margin:-8px 0 28px}.chroma{color:#e6edf3;background-color:#0b1522;-webkit-text-size-adjust:none}.chroma .err{color:#f85149}.chroma .lnlinks{outline:none;text-decoration:none;color:inherit}.chroma .lntd{vertical-align:top;padding:0;margin:0;border:0}.chroma .lntable{border-spacing:0;padding:0;margin:0;border:0}.chroma .hl{background-color:#6e7681}.chroma .lnt{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#737679}.chroma .ln{white-space:pre;-webkit-user-select:none;user-select:none;margin-right:.4em;padding:0 .4em;color:#6e7681}.chroma .line{display:flex}.chroma .k{color:#ff7b72}.chroma .kc{color:#79c0ff}.chroma .kd{color:#ff7b72}.chroma .kn{color:#ff7b72}.chroma .kp{color:#79c0ff}.chroma .kr{color:#ff7b72}.chroma .kt{color:#ff7b72}.chroma .nc{color:#f0883e;font-weight:700}.chroma .no{color:#79c0ff;font-weight:700}.chroma .nd{color:#d2a8ff;font-weight:700}.chroma .ni{color:#ffa657}.chroma .ne{color:#f0883e;font-weight:700}.chroma .nl{color:#79c0ff;font-weight:700}.chroma .nn{color:#ff7b72}.chroma .nx{color:#e6edf3}.chroma .py{color:#79c0ff}.chroma .nt{color:#7ee787}.chroma .nv{color:#79c0ff}.chroma .vc{color:#79c0ff}.chroma .vg{color:#79c0ff}.chroma .vi{color:#79c0ff}.chroma .vm{color:#79c0ff}.chroma .nf{color:#d2a8ff;font-weight:700}.chroma .fm{color:#d2a8ff;font-weight:700}.chroma .l{color:#a5d6ff}.chroma .ld{color:#79c0ff}.chroma .s{color:#a5d6ff}.chroma .sa{color:#79c0ff}.chroma .sb{color:#a5d6ff}.chroma .sc{color:#a5d6ff}.chroma .dl{color:#79c0ff}.chroma .sd{color:#a5d6ff}.chroma .s2{color:#a5d6ff}.chroma .se{color:#79c0ff}.chroma .sh{color:#79c0ff}.chroma .si{color:#a5d6ff}.chroma .sx{color:#a5d6ff}.chroma .sr{color:#79c0ff}.chroma .s1{color:#a5d6ff}.chroma .ss{color:#a5d6ff}.chroma .m{color:#a5d6ff}.chroma .mb{color:#a5d6ff}.chroma .mf{color:#a5d6ff}.chroma .mh{color:#a5d6ff}.chroma .mi{color:#a5d6ff}.chroma .il{color:#a5d6ff}.chroma .mo{color:#a5d6ff}.chroma .o{color:#ff7b72;font-weight:700}.chroma .ow{color:#ff7b72;font-weight:700}.chroma .or{color:#ff7b72;font-weight:700}.chroma .c{color:#8b949e;font-style:italic}.chroma .ch{color:#8b949e;font-style:italic}.chroma .cm{color:#8b949e;font-style:italic}.chroma .c1{color:#8b949e;font-style:italic}.chroma .cs{color:#8b949e;font-weight:700;font-style:italic}.chroma .cp{color:#8b949e;font-weight:700;font-style:italic}.chroma .cpf{color:#8b949e;font-weight:700;font-style:italic}.chroma .gd{color:#ffa198;background-color:#490202}.chroma .ge{font-style:italic}.chroma .gr{color:#ffa198}.chroma .gh{color:#79c0ff;font-weight:700}.chroma .gi{color:#56d364;background-color:#0f5323}.chroma .go{color:#8b949e}.chroma .gp{color:#8b949e}.chroma .gs{font-weight:700}.chroma .gu{color:#79c0ff}.chroma .gt{color:#ff7b72}.chroma .gl{text-decoration:underline}.chroma .w{color:#6e7681}.story-body pre{margin:32px 0;padding:18px 20px;overflow-x:auto;border:1px solid var(--line);border-radius:12px;font-family:var(--font-mono);font-size:14px;line-height:1.6;tab-size:2}.story-body pre code{font-family:inherit}.story-body :not(pre)>code{font-family:var(--font-mono);font-size:.88em;padding:2px 6px;border-radius:6px;background:var(--panel-hover);color:var(--ink)}.projects-page h1,.project-head h1{margin:0;font-size:clamp(36px,7vw,56px);line-height:1.06;letter-spacing:-.03em}.projects-page .lead{margin:0;max-width:640px;font-size:19px;color:var(--text-soft)}.tag-nav{margin-bottom:32px}.tag-nav .chip{transition:background-color .2s,color .2s}.tag-nav .chip:hover,.tag-nav .chip.is-current{background:var(--accent);color:var(--on-accent)}.chip-count{opacity:.7}a.chip:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.project-head{max-width:calc(720px + 2 * var(--gutter));margin:0 auto;padding:24px var(--gutter)0;display:flex;flex-direction:column;gap:14px}.project-head .story-meta{color:var(--text-dim)}.project .story-body{padding-top:32px}@media(prefers-reduced-motion:reduce){.tag-nav .chip{transition:none}}.gear-page h1{margin:0;font-size:clamp(36px,7vw,56px);line-height:1.06;letter-spacing:-.03em}.gear-page .lead{margin:0;max-width:640px;font-size:19px;color:var(--text-soft)}.gear-section{margin-top:56px;scroll-margin-top:16px}.gear-section h2{margin:0 0 20px;font-size:clamp(26px,5vw,32px);letter-spacing:-.02em}.gear-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:20px;align-items:start}.gear-card{padding:24px 26px}.gear-card:hover{border-color:var(--line)}.gear-card h3{margin:0 0 12px;font-size:18px;font-weight:600;color:var(--accent)}.gear-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}.gear-name{display:block;color:var(--ink);font-weight:500}.gear-note{display:block;font-size:14px;color:var(--text-muted)}.gear-more{margin:16px 0 0;font-family:var(--font-mono);font-size:13px;color:var(--text-dim)}