:root{--accent:#ff4a1c;--accent-glow:#ff7a3c;--ink:#f5f5f3;--ink-dim:#f5f5f39e;--ink-ghost:#f5f5f359;--bg:#05060a;--panel:#08080cc7;--panel-edge:#ffffff14;--mono:var(--font-jetbrains-mono,"JetBrains Mono"), ui-monospace, Menlo, monospace;--jp:var(--font-noto-serif-jp,"Noto Serif JP"), "Hiragino Mincho ProN", serif;--sans:var(--font-inter,"Inter"), -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{color:var(--ink);font-family:var(--sans);cursor:none;background:#000;overflow:hidden}body.no-reticle{cursor:default}.stage{background:#000;place-items:center;width:100vw;height:100vh;display:grid;position:relative;overflow:hidden}.frame{aspect-ratio:2152/1336;--px:0;--py:0;background:#05060a;width:min(100vw,161.078vh);height:min(100vh,62.0818vw);position:relative;overflow:hidden}.frame .bg{object-fit:cover;width:106%;height:106%;transform:translate3d(calc(var(--px) * -14px), calc(var(--py) * -10px), 0);will-change:transform;transition:transform .25s cubic-bezier(.2,.7,.2,1);position:absolute;inset:-3%}.frame .stars{pointer-events:none;mix-blend-mode:screen;opacity:.85;width:100%;height:100%;position:absolute;inset:0}.frame:after{content:"";pointer-events:none;background:radial-gradient(120% 80% at 18%,#00000052 0%,#0000 55%);position:absolute;inset:0}.knockout{pointer-events:none;z-index:2;position:absolute;inset:0}.knockout .ko-top{background:#05060a;height:8.5%;position:absolute;top:0;left:0;right:0}.knockout .ko-top-fade{background:linear-gradient(#05060a 0%,#05060a00 100%);height:4%;position:absolute;top:8.5%;left:0;right:0}.knockout .ko-bot{background:#05060a;height:7%;position:absolute;bottom:0;left:0;right:0}.knockout .ko-bot-fade{background:linear-gradient(#05060a00 0%,#05060a 100%);height:4.5%;position:absolute;bottom:7%;left:0;right:0}.knockout .ko-hero{background:#05060a;border-radius:26px;width:33.8%;height:54%;position:absolute;top:22.4%;left:4.4%;box-shadow:0 0 40px 20px #05060a}.topbar{z-index:10;justify-content:space-between;align-items:baseline;padding:0 5.1%;display:flex;position:absolute;top:3.4%;left:0;right:0}.brand{align-items:baseline;gap:clamp(8px,1vw,18px);display:flex}.brand .word{font-family:var(--sans);letter-spacing:.04em;background:linear-gradient(#fff 0%,#cfd0d2 100%);color:#0000;text-shadow:0 0 30px #ffffff0d;-webkit-background-clip:text;background-clip:text;font-size:clamp(20px,2.6vw,44px);font-weight:600}.brand .kanji{font-family:var(--jp);color:var(--accent);letter-spacing:.2em;font-size:clamp(12px,1.1vw,18px);font-weight:500}.nav{align-items:center;gap:clamp(18px,2.6vw,48px);display:flex}.nav a{color:var(--ink);letter-spacing:.18em;padding:8px 0;font-size:clamp(11px,.95vw,16px);font-weight:500;text-decoration:none;transition:color .18s;position:relative}.nav a:before{content:attr(data-en);transition:transform .28s cubic-bezier(.2,.8,.2,1),opacity .2s;display:block}.nav a:after{content:attr(data-jp);text-align:center;font-family:var(--jp);letter-spacing:.12em;color:var(--accent);opacity:0;pointer-events:none;font-size:.85em;transition:opacity .22s,transform .28s cubic-bezier(.2,.8,.2,1);position:absolute;top:8px;left:0;right:0;transform:translateY(8px)}.nav a:hover:before{opacity:0;transform:translateY(-8px)}.nav a:hover:after{opacity:1;transform:translateY(0)}.nav a .dot{background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);vertical-align:middle;border-radius:50%;margin-left:8px;animation:2s ease-in-out infinite pulse;display:inline-block}@keyframes pulse{0%,to{opacity:.4;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.hero{border:1px solid var(--panel-edge);-webkit-backdrop-filter:blur(8px)saturate(120%);z-index:11;background:#0a0b10db;border-radius:26px;width:33.8%;min-width:360px;padding:clamp(18px,2.2vw,40px);position:absolute;top:22.4%;left:4.4%;overflow:hidden;box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0d}.hero:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), transparent);opacity:.35;pointer-events:none;height:1px;animation:7s ease-in-out infinite scan;position:absolute;top:0;left:-10%;right:-10%}@keyframes scan{0%{opacity:0;top:0%}10%{opacity:.5}90%{opacity:.5}to{opacity:0;top:100%}}.hero .eyebrow{font-family:var(--mono);letter-spacing:.22em;color:var(--ink-ghost);text-transform:uppercase;align-items:center;gap:10px;margin-bottom:clamp(14px,1.6vw,22px);font-size:11px;display:flex}.hero .eyebrow .pip{background:var(--accent);width:6px;height:6px;box-shadow:0 0 10px var(--accent);border-radius:50%;animation:1.8s ease-in-out infinite pulse}.hero h1{font-family:var(--jp);letter-spacing:.01em;color:var(--ink);white-space:pre-wrap;min-height:2.4em;margin-bottom:clamp(16px,1.8vw,28px);font-size:clamp(34px,4.1vw,76px);font-weight:300;line-height:1.12}.hero h1 .caret{background:var(--accent);vertical-align:-.05em;width:.45em;height:.9em;margin-left:.06em;animation:1s steps(2,end) infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.hero .sub{color:var(--ink);margin-bottom:clamp(8px,.9vw,14px);font-size:clamp(15px,1.25vw,22px);font-weight:400;line-height:1.35}.hero .desc{color:var(--ink-dim);margin-bottom:clamp(20px,2.4vw,36px);font-size:clamp(13px,1.05vw,17px);line-height:1.5}.coords{font-family:var(--mono);color:var(--ink-ghost);letter-spacing:.18em;text-transform:uppercase;grid-template-columns:repeat(2,1fr);gap:6px 16px;margin-bottom:clamp(18px,2vw,28px);font-size:clamp(10px,.78vw,12px);display:grid}.coords span b{color:var(--ink);font-weight:500}.cta{cursor:none;background:linear-gradient(180deg, var(--accent-glow) 0%, var(--accent) 100%);color:#fff;width:100%;font-family:var(--sans);letter-spacing:.22em;isolation:isolate;border:0;border-radius:999px;justify-content:center;align-items:center;gap:18px;padding:clamp(14px,1.5vw,22px) clamp(20px,2vw,32px);font-size:clamp(14px,1.15vw,18px);font-weight:600;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 18px 40px #ff4a1c59,inset 0 0 0 1px #ffc8aa40}.cta:hover{transform:translateY(-1px);box-shadow:0 24px 60px #ff4a1c80,inset 0 0 0 1px #ffc8aa66}.cta:active{transform:translateY(0)}.cta .jp{font-family:var(--jp);opacity:.92;font-weight:500}.cta:after{content:"";z-index:-1;background:linear-gradient(110deg,#0000 30%,#ffffff8c 50%,#0000 70%);transition:transform .7s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0;transform:translate(-110%)}.cta:hover:after{transform:translate(110%)}.signal-row{font-family:var(--mono);color:var(--ink-ghost);letter-spacing:.2em;text-transform:uppercase;align-items:center;gap:10px;margin-top:clamp(12px,1.2vw,18px);font-size:10px;display:flex}.signal-bars{align-items:flex-end;gap:3px;height:12px;display:flex}.signal-bars i{background:var(--ink-ghost);border-radius:1px;width:3px;display:block}.signal-bars i:first-child{height:30%}.signal-bars i:nth-child(2){height:50%}.signal-bars i:nth-child(3){height:70%}.signal-bars i:nth-child(4){height:90%}.signal-bars i.on{background:var(--accent);box-shadow:0 0 6px var(--accent)}.pings{pointer-events:none;z-index:6;position:absolute;inset:0}.ping{background:var(--accent);width:8px;height:8px;box-shadow:0 0 12px var(--accent), 0 0 4px #fff;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.ping:before,.ping:after{content:"";border:1px solid var(--accent);border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;animation:1.6s ease-out forwards ringOut;position:absolute;inset:50%}.ping:after{animation-delay:.4s}@keyframes ringOut{0%{opacity:.9;transform:translate(0)scale(1)}to{opacity:0;transform:translate(0)scale(5.5)}}.lantern{pointer-events:none;z-index:4;mix-blend-mode:screen;filter:blur(2px);background:radial-gradient(circle,#ffc88c8c 0%,#ff782840 40%,#ff3c0000 70%);border-radius:50%;width:80px;height:80px;animation:2.6s ease-in-out infinite flicker;position:absolute;top:67.6%;left:52.4%;transform:translate(-50%,-50%)}@keyframes flicker{0%,to{opacity:.85;transform:translate(-50%,-50%)scale(1)}18%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}31%{opacity:.6;transform:translate(-50%,-50%)scale(.95)}47%{opacity:.95;transform:translate(-50%,-50%)scale(1.05)}63%{opacity:.7}79%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}}.reticle{pointer-events:none;z-index:999;mix-blend-mode:screen;opacity:0;width:80px;height:80px;margin:-40px 0 0 -40px;transition:opacity .2s;position:fixed;top:0;left:0}.reticle.on{opacity:.9}.reticle svg{width:100%;height:100%;display:block}.reticle .read{font-family:var(--mono);letter-spacing:.16em;color:#ffffffd9;text-shadow:0 0 6px #000000b3;white-space:nowrap;font-size:9.5px;position:absolute;top:26px;left:50px}.statusbar{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);z-index:10;justify-content:space-between;align-items:center;gap:16px;padding:clamp(12px,1.4vw,22px) clamp(20px,5.1vw,110px);font-size:clamp(10px,.82vw,13px);display:flex;position:absolute;bottom:0;left:0;right:0}.statusbar .left,.statusbar .right{white-space:nowrap;flex-wrap:nowrap;align-items:center;gap:clamp(10px,1vw,22px);display:flex}.statusbar .group{align-items:center;gap:8px;display:inline-flex}.statusbar .sep{background:var(--ink-ghost);opacity:.4;width:1px;height:12px}.statusbar b{color:var(--ink);letter-spacing:.22em;font-weight:500}.statusbar .phase-glyph{background:#1a1c22;border-radius:50%;flex:0 0 12px;width:12px;height:12px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff40}.statusbar .phase-glyph:after{content:"";background:#d7d8da;position:absolute;inset:0}.solar{align-items:center;gap:8px;display:inline-flex}.solar .bar{background:#ffffff1a;border-radius:2px;width:60px;height:4px;overflow:hidden}.solar .bar i{background:linear-gradient(90deg, var(--accent), var(--accent-glow));height:100%;box-shadow:0 0 8px var(--accent);transition:width .45s cubic-bezier(.4,.7,.2,1);display:block}.telemetry{border:1px solid var(--panel-edge);-webkit-backdrop-filter:blur(8px);width:clamp(280px,22%,360px);height:90px;font-family:var(--mono);letter-spacing:.04em;color:var(--ink-dim);text-transform:none;z-index:9;opacity:.95;background:#08080c8c;border-radius:10px;padding:12px 14px;font-size:10.5px;position:absolute;bottom:13%;right:5.1%;overflow:hidden}.telemetry .head{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-ghost);border-bottom:1px solid var(--panel-edge);justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:6px;font-size:9px;display:flex}.telemetry .head .live{color:var(--accent);align-items:center;gap:6px;display:inline-flex}.telemetry .head .live .pip{background:var(--accent);width:6px;height:6px;box-shadow:0 0 6px var(--accent);border-radius:50%;animation:1.6s ease-in-out infinite pulse}.telemetry .lines{flex-direction:column;line-height:1.45;display:flex}.telemetry .lines .ln{white-space:nowrap;text-overflow:ellipsis;opacity:0;animation:.32s cubic-bezier(.2,.8,.2,1) forwards lnIn;overflow:hidden}.telemetry .lines .ln .t{color:var(--ink-ghost);margin-right:8px}.telemetry .lines .ln .ok{color:#6ad8a8}.telemetry .lines .ln .warn{color:#ffb85c}.telemetry .lines .ln .acc{color:var(--accent)}@keyframes lnIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.boot{z-index:100;font-family:var(--mono);color:var(--ink);pointer-events:none;opacity:0;background:#000000eb;justify-content:center;align-items:center;transition:opacity .24s;display:flex;position:absolute;inset:0}.boot.on{opacity:1;pointer-events:auto}.boot .panel{border:1px solid var(--accent);background:#00000080;width:560px;max-width:80vw;padding:24px;box-shadow:0 0 60px #ff4a1c40,inset 0 0 60px #ff4a1c14}.boot .panel .ttl{letter-spacing:.3em;color:var(--accent);margin-bottom:12px;font-size:11px}.boot .panel pre{white-space:pre-wrap;color:var(--ink-dim);font-size:12.5px;line-height:1.55}.boot .panel pre b{color:var(--ink);font-weight:500}.boot .bar-row{letter-spacing:.2em;color:var(--ink-ghost);align-items:center;gap:10px;margin-top:14px;font-size:10px;display:flex}.boot .bar-row .bar{background:#ffffff1a;flex:1;height:4px;overflow:hidden}.boot .bar-row .bar i{background:var(--accent);width:0;height:100%;box-shadow:0 0 8px var(--accent);transition:width 1.6s linear;display:block}.boot-close{width:100%;color:var(--accent);border:1px solid var(--accent);font-family:var(--mono);letter-spacing:.22em;cursor:none;background:0 0;margin-top:18px;padding:10px 14px;font-size:11px;transition:background .18s,color .18s}.boot-close:hover{background:var(--accent);color:#000}
