:root{--bg: #050607;--red: #ff4656;--red-dim: rgba(255, 70, 86, .35);--red-deep: rgba(90, 14, 22, .55);--cyan: #5ef6ff;--cyan-dim: rgba(94, 246, 255, .28);--magenta: #ff2a8a;--ink: #d8dde2;--dim: #6f7a82;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--display: "Rajdhani", "Bahnschrift", "DIN Alternate", "DIN Condensed", "Arial Narrow", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);overflow:hidden;font-family:var(--mono);-webkit-font-smoothing:antialiased;user-select:none;overscroll-behavior:none}#view{position:fixed;inset:0;width:100%;height:100%;height:100dvh;display:block;touch-action:none;outline:none}.micro{display:block;font-family:var(--mono);font-size:8px;line-height:1;letter-spacing:.18em;text-transform:uppercase;color:var(--red);opacity:.8;white-space:nowrap}.hud-frame{position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,.55) 100%)}.corner{position:absolute;width:26px;height:26px;border:0 solid var(--red-dim)}.corner.tl{top:10px;left:10px;border-top-width:1px;border-left-width:1px}.corner.tr{top:10px;right:10px;border-top-width:1px;border-right-width:1px}.corner.bl{bottom:10px;left:10px;border-bottom-width:1px;border-left-width:1px}.corner.br{bottom:10px;right:10px;border-bottom-width:1px;border-right-width:1px}.readout{position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:9px;line-height:2.1;letter-spacing:.1em;white-space:pre;text-align:right;color:var(--dim);opacity:.35;-webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}.toolbar{position:fixed;top:24px;left:24px;display:flex;gap:6px;z-index:2}.touch-orbit{display:none!important}.toolbar button{position:relative;display:flex;align-items:center;gap:8px;font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#5ef6ff99;background:transparent;border:1px solid var(--cyan-dim);padding:8px 20px 7px 12px;cursor:pointer;transition:color .15s ease,border-color .15s ease}.toolbar .key{font-family:var(--mono);font-size:9px;font-weight:400;letter-spacing:0;min-width:16px;padding:2px 3px;text-align:center;border:1px solid currentColor;opacity:.65}.toolbar button:hover{color:var(--cyan);border-color:var(--cyan)}.toolbar button:focus-visible{outline:1px solid var(--cyan);outline-offset:-3px}.toolbar button.active{color:var(--cyan);border-color:var(--cyan)}.toolbar button[data-mode=demolish].active{color:var(--red);border-color:var(--red)}.toolbar button:active{transform:translateY(1px)}.hint-wrap{position:fixed;left:50%;bottom:24px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;pointer-events:none}.hint-label b{font-weight:400;color:var(--red);border:1px solid var(--red);padding:0 4px;margin:0 2px}.hint{position:relative;font-size:11px;letter-spacing:.08em;color:var(--ink);background:transparent;border:1px solid var(--red-dim);padding:7px 18px;white-space:nowrap;transition:opacity .3s ease}.toast{position:fixed;top:84px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;opacity:0;pointer-events:none;transition:opacity .35s ease}.toast-label{color:var(--cyan);opacity:.7}.toast-text{font-family:var(--display);font-size:22px;font-weight:600;letter-spacing:.4em;padding:6px 12px 5px calc(12px + .4em);color:var(--cyan);border:1px solid var(--cyan-dim);background:transparent;text-shadow:0 0 14px rgba(94,246,255,.6)}.toast.show{opacity:1;transition:none}.toast.show .toast-text{animation:glitch-in .45s steps(1) both}@keyframes glitch-in{0%{opacity:0;transform:translate(-6px);clip-path:inset(40% 0 45% 0)}15%{opacity:1;transform:translate(4px);clip-path:inset(0 0 60% 0);text-shadow:-2px 0 var(--red),2px 0 var(--cyan)}30%{transform:translate(-2px);clip-path:inset(55% 0 0 0)}45%{transform:translate(0);clip-path:inset(0);text-shadow:2px 0 var(--red),-1px 0 var(--cyan)}60%{opacity:.6}75%{opacity:1;text-shadow:0 0 14px rgba(94,246,255,.6)}to{opacity:1;transform:none;clip-path:inset(0)}}.stats{position:fixed;left:24px;bottom:24px;display:flex;flex-direction:column;gap:5px;pointer-events:none}.stats[hidden]{display:none}.stats-text{font-size:10px;color:var(--cyan);padding:6px 10px 5px 12px;background:transparent;border:1px solid var(--cyan-dim)}.perf{--tone: var(--cyan);--tone-dim: var(--cyan-dim);--tone-glow: rgba(94, 246, 255, .45);position:fixed;right:24px;top:24px;display:flex;flex-direction:column;align-items:flex-end;gap:5px;pointer-events:none}.perf[data-tier=warn]{--tone: var(--magenta);--tone-dim: rgba(255, 42, 138, .3);--tone-glow: rgba(255, 42, 138, .45)}.perf[data-tier=low]{--tone: var(--red);--tone-dim: var(--red-dim);--tone-glow: rgba(255, 70, 86, .5)}.perf>.micro{color:var(--tone);opacity:.7}.perf>.micro b{font-weight:400;color:var(--tone);border:1px solid var(--tone);padding:0 4px;margin:0 2px}.perf-plate{width:210px;padding:8px 10px 7px 12px;background:transparent;border:1px solid var(--tone-dim);transition:border-color .3s ease}.perf-head{display:flex;align-items:baseline;gap:6px}.perf-fps{font-family:var(--display);font-size:26px;font-weight:600;line-height:1;letter-spacing:.06em;font-variant-numeric:tabular-nums;color:var(--tone);text-shadow:0 0 12px var(--tone-glow)}.perf-unit{font-family:var(--display);font-size:11px;font-weight:600;letter-spacing:.2em;color:var(--tone);opacity:.6}.perf-meter{flex:1;display:flex;gap:2px;height:9px;margin-left:4px;align-self:center}.perf-meter i{flex:1;background:var(--tone);opacity:.14;transform:skew(-20deg)}.perf-meter i.on{opacity:.9;box-shadow:0 0 4px var(--tone-glow)}.perf-chart{display:block;width:100%;height:38px;margin:7px 0 6px;border-bottom:1px solid var(--tone-dim)}.perf .perf-range{color:var(--tone);opacity:.5;text-align:right}.fatal{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,70,86,.14) 1px,transparent 1.5px) 0 0 / 28px 28px,var(--bg);text-align:center;padding:24px;overflow-y:auto}.fatal[hidden]{display:none}.fatal-panel{max-width:520px;margin:auto;padding:26px 34px 20px;background:var(--red-deep);border:1px solid var(--red);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px))}.fatal-panel .micro{text-align:left}.fatal h2{margin:14px 0 12px;font-family:var(--display);color:var(--red);letter-spacing:.24em;text-transform:uppercase;font-size:24px;font-weight:600;text-shadow:0 0 14px rgba(255,70,86,.5)}.fatal p{color:var(--ink);opacity:.75;font-size:12px;line-height:1.6;margin:8px 0}@media(max-width:720px),(max-width:1100px)and (pointer:coarse){.readout,.toolbar .key,.stats{display:none}.perf{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));gap:0;z-index:3}.perf>.micro,.perf-meter,.perf-chart,.perf-range{display:none}.perf-plate{width:auto;min-width:69px;padding:6px 8px;background:#050607d9}.perf-fps{font-size:20px}.perf-unit{font-size:9px;letter-spacing:.05em}.toolbar{top:auto;right:auto;left:50%;bottom:calc(78px + env(safe-area-inset-bottom));transform:translate(-50%);width:calc(100% - 24px - env(safe-area-inset-left) - env(safe-area-inset-right));max-width:620px;gap:5px}.toolbar button{flex:1;justify-content:center;min-width:0;min-height:48px;padding:8px 3px;font-size:clamp(11px,3.2vw,14px);letter-spacing:.06em;background:#050607d9;touch-action:manipulation}.toolbar .touch-orbit{display:flex!important}.hint-wrap{width:calc(100% - 24px);max-width:620px;bottom:calc(12px + env(safe-area-inset-bottom));gap:4px}.hint-label{font-size:7px}.hint{width:100%;min-height:38px;padding:6px 9px;display:grid;place-items:center;font-size:10px;line-height:1.3;letter-spacing:.02em;white-space:normal;text-align:center;background:#050607d9}.toast{top:calc(66px + env(safe-area-inset-top));width:calc(100% - 24px)}.toast-text{max-width:100%;font-size:clamp(15px,5vw,22px);letter-spacing:.15em;text-align:center;overflow-wrap:anywhere;background:#050607cc}.fatal{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.fatal-panel{max-width:100%;padding:22px 20px}.fatal-panel .micro{white-space:normal;line-height:1.4}.fatal h2{font-size:20px}}@media(max-height:500px)and (pointer:coarse){.toolbar{left:auto;right:calc(12px + env(safe-area-inset-right));top:calc(64px + env(safe-area-inset-top));bottom:auto;width:min(440px,68vw);max-width:none;transform:none}.toolbar button{min-height:44px}.hint-wrap{width:min(440px,68vw);left:auto;right:calc(12px + env(safe-area-inset-right));transform:none}.hint-label{display:none}.toast{top:calc(66px + env(safe-area-inset-top));left:12px;transform:none;width:32vw}.toast-label{display:none}}@media(pointer:fine){.toolbar .touch-orbit{display:none!important}}@media(prefers-reduced-motion:reduce){.toast,.hint,.perf-plate{transition:none}.toast.show .toast-text{animation:none}}body.photo-mode>:not(#view):not(.toast):not(.fatal){opacity:0;pointer-events:none;transition:opacity .35s ease}
