@font-face{font-family:Fragment Mono;src:url(/fonts/fragment-mono.woff2) format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{color-scheme:dark;--bg:#0a1114;--panel:#111e22;--ink:#e4eeeb;--muted:#a9bdbe;--cyan:#8de2dc;--orange:#ff9b73;--line:#344a4c;--mono:"Fragment Mono",ui-monospace,SFMono-Regular,Consolas,"Noto Sans CJK SC","PingFang SC","Microsoft YaHei",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 72% 0,#142629 0,transparent 42rem),var(--bg);color:var(--ink);font:16px/1.7 system-ui,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}a:hover,summary:hover{color:var(--cyan)}:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--mono);font-weight:600}html[lang=en] :is(h1,h2){text-transform:uppercase}html[lang=en] .hero h1{letter-spacing:-.045em}html[lang=zh-Hans] :is(h1,h2,h3){letter-spacing:-.035em}.button{font-family:var(--mono)}.wrap{width:min(1200px,calc(100% - 72px));margin-inline:auto}.masthead,footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.brand,nav,footer{font:600 13px/1.5 var(--mono);letter-spacing:.07em}.brand>span:first-child{color:var(--cyan);font-size:19px;margin-right:6px}.brand-divider,.slash{color:var(--orange);margin-inline:.4em}nav{display:flex;gap:clamp(14px,3vw,38px);color:var(--muted)}.hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:5%;padding:64px 0 69px}.eyebrow,figcaption,.media-panel small,.tile>span{font:600 12px/1.55 var(--mono);letter-spacing:.12em;color:var(--cyan)}.signal{display:inline-block;width:8px;height:8px;background:var(--orange);margin-right:.65em}h1{font-size:clamp(64px,8.2vw,125px);letter-spacing:-.085em;line-height:.97;margin:24px 0 26px}h1 span{display:block;color:var(--cyan)}.intro{max-width:370px;color:var(--muted)}.button{display:inline-flex;gap:36px;align-items:center;margin-top:26px;background:var(--cyan);color:#0a1c20;padding:10px 16px;font-weight:750}.button:hover{background:#d1fff8;color:#0a1c20}.hero-visual{border:1px solid #28473b;background:#091612}.hero-visual img{display:block;width:100%;height:auto}figcaption{display:flex;justify-content:space-between;gap:8px;padding:11px 13px}figcaption{border-top:1px solid #28473b;color:#a5c9b7}.section{border-top:1px solid var(--line);padding:38px 0 48px;scroll-margin-top:12px}.section-head{margin-bottom:23px}h2{font-size:clamp(32px,5vw,54px);line-height:1.15;margin:6px 0 10px;letter-spacing:-.04em}h3{font-size:22px;line-height:1.35;margin:5px 0 8px}.section-head>p:last-child:not(.eyebrow),.body>p:not(.eyebrow),details p,.media-panel p{color:var(--muted)}.projects,.media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card,.media-panel,.lab{border:1px solid var(--line);background:var(--panel)}.tile{height:156px;display:grid;place-items:center;position:relative;border-bottom:1px solid var(--line);color:var(--cyan);background:linear-gradient(#34565844 1px,transparent 1px),linear-gradient(90deg,#34565844 1px,transparent 1px),#0c191d;background-size:20px 20px}.tile>span{position:absolute;top:12px;left:15px}.tile svg{width:75%;height:100%;max-height:156px}.pixel svg{width:145px}.body{padding:21px}.body details{margin-top:15px}details p{margin-top:9px;max-width:68ch}summary{cursor:pointer}.entries details{padding:18px 0;border-bottom:1px solid var(--line)}.entries summary .eyebrow{margin:0 14px 0 5px}.media-panel{min-height:135px;padding:14px 20px;margin-top:18px}.media-panel>span{font-size:25px;color:var(--cyan)}.media-panel small{display:block;margin-top:6px;color:var(--orange)}.lab summary{padding:15px 18px}.lab summary span{margin-left:12px;color:var(--muted);font:12px var(--mono)}.shader-frame{height:clamp(690px,88svh,1050px);background:#121811}.shader-frame>.landing-page-frame{height:100%;width:100%}footer{border-top:1px solid var(--line);border-bottom:0;color:var(--muted)}@media(max-width:760px){.wrap{width:calc(100% - 36px)}.masthead{flex-wrap:wrap;gap:10px}.hero,.projects,.media{grid-template-columns:1fr}.hero{gap:28px;padding:36px 0 40px}h1{font-size:clamp(61px,12vw,87px)}h1 span{display:inline}.section{padding:30px 0 37px}figcaption{letter-spacing:0;font-size:10px}.entries summary .eyebrow{margin-right:6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.signal-rain{position:relative;overflow:hidden;container-type:inline-size}.signal-rain picture{display:block}.signal-egg{position:absolute;top:0;left:69%;display:grid;place-items:center;width:max(30px,6cqw);min-height:44px;color:#54866e;font:400 1.64cqw/1.36 "DejaVu Sans Mono",var(--mono);animation:egg-fall 6s linear infinite}.signal-egg span{background:linear-gradient(#173729,#376b50 68%,#7ca891);-webkit-background-clip:text;background-clip:text;color:transparent}.signal-egg:hover{animation-play-state:paused}.signal-egg:focus-visible{animation:none;top:42%;outline-offset:-2px;background:#0d3025}@keyframes egg-fall{0%{top:0;transform:translateY(-100%)}to{top:100%;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.signal-egg{animation:none;top:42%}}.signal-page .wrap{max-width:760px;padding:clamp(48px,12vh,128px) 0}.signal-page h1{font-size:clamp(54px,10vw,104px)}.signal-readout{margin-top:32px;padding:20px;border:1px solid var(--line);background:var(--panel)}.signal-readout code{color:var(--cyan);overflow-wrap:anywhere}.signal-decoded{margin:14px 0 7px;color:var(--ink);font:700 28px var(--mono)}.language-switch{display:inline-flex;align-items:center;min-height:32px;padding:2px 9px;border:1px solid var(--line);color:var(--cyan)}.masthead nav{align-items:center;flex-wrap:wrap}.signal-language{float:right;font:600 13px/1.5 var(--mono)}html[lang=en] .signal-page h1{font-size:clamp(40px,10vw,104px)}.scene-entry main{max-width:880px;padding-block:48px}.scene-entry h1{font-size:clamp(36px,7vw,82px);letter-spacing:-.045em;line-height:1.06}.scene-entry .entry-copy{max-width:65ch;color:var(--muted)}.scene-entry .entry-image{display:block;width:100%;max-height:440px;object-fit:cover;margin-top:25px;border:1px solid var(--line)}.archive-telemetry{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:20px;margin-top:25px;align-items:start}.archive-telemetry figure,.traffic-panel{border:1px solid var(--line);background:var(--panel)}.scene-entry .archive-telemetry .entry-image{margin:0;border:0;max-height:none;height:auto}.traffic-panel{padding:18px}.traffic-panel h2{font:600 14px/1.5 var(--mono);color:var(--cyan);margin:0}.traffic-panel dl{margin:12px 0}.traffic-panel dl>div{padding:12px 0;border-top:1px solid var(--line)}.traffic-panel dt,.traffic-panel p{font-size:13px;color:var(--muted)}.traffic-panel dd{margin:2px 0 0;font:600 clamp(27px,4vw,44px)/1.15 var(--mono);color:var(--ink)}@media(max-width:650px){.archive-telemetry{grid-template-columns:1fr}}.still-photo{margin-top:18px;border:1px solid var(--line);background:var(--panel)}.still-photo img{display:block;width:100%;height:auto}.unit-build-photo{display:block;border-bottom:1px solid var(--line);cursor:zoom-in}.unit-build-photo img{display:block;width:100%;height:auto}.mosaic-cover{display:block;background:#0c191d;border-bottom:1px solid var(--line);cursor:zoom-in}.mosaic-cover img{display:block;width:100%;height:min(430px,90vw);object-fit:contain}.mosaic-reference{max-width:300px}.bgm-widget{position:fixed;right:18px;bottom:18px;z-index:50;font:12px/1.5 var(--mono);max-width:calc(100vw - 36px)}.bgm-widget details{border:1px solid var(--line);background:#101f1ff5;box-shadow:0 8px 30px #0005}.bgm-widget summary{padding:9px 14px;color:var(--cyan)}.bgm-widget[data-playing=true] summary{color:#c9f1db}.bgm-widget details[open]{width:min(300px,calc(100vw - 36px));padding-bottom:14px}.bgm-widget .bgm-track{padding:0 14px 12px;color:var(--muted)}.bgm-widget button{margin:0 14px 12px;padding:8px 12px;min-height:36px;border:1px solid var(--cyan);background:transparent;color:var(--ink);font:inherit;cursor:pointer}.bgm-widget label{display:flex;align-items:center;gap:12px;margin:0 14px}.bgm-widget input{min-width:0;flex:1;accent-color:var(--cyan)}.personal-letter{max-width:760px;margin:0 auto;padding:24px clamp(18px,4vw,44px) 40px}.personal-letter header{border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:28px}.personal-letter header p{padding:0;margin:0 0 12px;font:13px/1.8 var(--mono);color:var(--muted)}.personal-letter .letter-subject{color:var(--ink);font-size:16px}.letter-photo{margin:0 0 32px;max-width:390px}.letter-photo img{display:block;width:100%;height:auto;border:1px solid var(--line)}.entries .letter-prose p{padding:0;margin:0 0 1.6em;font-family:system-ui,sans-serif;font-size:16px;line-height:2.1;color:var(--ink)}.letter-signoff{margin-top:32px!important}
