:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{margin:0;min-height:100vh;overflow:hidden;overscroll-behavior:none}body{background:radial-gradient(120% 90% at 20% 8%,#ff4cd347,#ff4cd300 52%),radial-gradient(130% 100% at 82% 12%,#2ca1ff4d,#2ca1ff00 55%),linear-gradient(180deg,#1b1035,#0e0b22 56%,#080617);color:#e6edf3}#app{position:relative;width:100vw;height:100vh;height:100dvh;min-height:100svh;overflow:hidden;touch-action:none}canvas{display:block;touch-action:none}.startup-logo-overlay{position:absolute;inset:0;z-index:50;display:grid;place-items:center;pointer-events:none}.startup-logo-overlay__image{width:100vw;max-width:100vw;height:100vh;height:100dvh;object-fit:contain;opacity:0;transform:translateY(-150vh);filter:drop-shadow(0 12px 30px rgba(0,0,0,.45))}.startup-logo-overlay__image.is-animating{animation:startupLogoDropIn var(--startup-drop-in-ms, .7s) cubic-bezier(.12,.9,.28,1) forwards,startupLogoHold var(--startup-hold-ms, .38s) linear var(--startup-drop-in-ms, .7s) forwards,startupLogoDropOut var(--startup-drop-out-ms, .65s) cubic-bezier(.5,0,.86,.15) calc(var(--startup-drop-in-ms, .7s) + var(--startup-hold-ms, .38s)) forwards}@keyframes startupLogoDropIn{0%{opacity:0;transform:translateY(-150vh)}to{opacity:1;transform:translateY(0)}}@keyframes startupLogoHold{0%{opacity:1;transform:translateY(0)}to{opacity:1;transform:translateY(0)}}@keyframes startupLogoDropOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(145vh)}}[hidden]{display:none!important}.hud{position:absolute;top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left));display:grid;gap:8px;padding:12px;border-radius:16px;min-width:min(230px,calc(100vw - 28px));max-width:calc(100vw - 28px);border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,#0e1222f0,#070b18e6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 20px 28px #0006,inset 0 0 0 1px #ffffff0d}.hud__title{font-size:11px;letter-spacing:.2em;color:#9caee2}.hud__row{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:13px;color:#d6ddf0}.led{font-family:Courier New,monospace;min-width:90px;text-align:right;letter-spacing:.06em;color:#ff3f3f;font-size:24px;line-height:1;text-shadow:0 0 4px rgba(255,50,50,.95),0 0 12px rgba(255,50,50,.7),0 0 22px rgba(255,50,50,.38)}.summary-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(92vw,360px);padding:18px;border-radius:16px;border:1px solid rgba(140,182,255,.45);background:linear-gradient(180deg,#0c122af2,#080c1cf2);box-shadow:0 30px 50px #00000080,0 0 24px #4d92ff47,inset 0 0 0 1px #ffffff0d;z-index:30}.summary-overlay__title{margin-bottom:14px;text-align:center;letter-spacing:.08em;font-weight:700;text-transform:uppercase;color:#d9e6ff}.summary-overlay__row{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:3px 0;color:#d6ddf0}.summary-overlay__row strong{color:#f4f8ff}.summary-overlay__play-again{margin-top:10px;width:100%;border:none;border-radius:999px;padding:10px 14px;font-weight:700;background:linear-gradient(180deg,#8a5dff,#5b35ec);color:#ffffff73;cursor:pointer}.debug-menu{position:absolute;top:12px;right:12px;width:300px;max-height:calc(100dvh - 24px);overflow:auto;padding:10px;border-radius:10px;border:1px solid rgba(255,255,255,.1);background:#080c12e0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.debug-menu h3,.debug-menu h4{margin:0 0 8px}.debug-menu__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.debug-menu__group{margin-top:10px;display:grid;gap:6px}.debug-menu__light-legend-key{font-size:11px;color:#90a2b8}.debug-menu__light-legend{display:grid;gap:4px;max-height:120px;overflow:auto;padding:6px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a}.debug-menu__light-row{display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:6px;font-size:11px;color:#d5deea}.debug-menu__light-row code{color:#9dd0ff}.debug-menu__light-row.is-selected{color:#fff}.debug-menu__light-dot{width:10px;height:10px;border-radius:999px;border:2px solid var(--light-color, #fff);background:transparent;box-shadow:0 0 8px var(--light-color, #fff)}.debug-menu__light-row.is-selected .debug-menu__light-dot{background:var(--light-color, #fff);box-shadow:0 0 10px var(--light-color, #fff)}.debug-menu__light-badges{display:inline-flex;justify-self:end;gap:4px}.debug-menu__light-status,.debug-menu__light-selected{font-size:10px;line-height:1;border-radius:999px;padding:2px 6px;border:1px solid rgba(255,255,255,.2)}.debug-menu__light-status{color:#ffb4b4;border-color:#ff626273}.debug-menu__light-selected{color:#d8ecff;border-color:#5eafff8c;background:#2776ff47}.debug-menu__light-target{color:#ffd166;text-shadow:0 0 10px rgba(255,209,102,.8)}.debug-menu label{display:grid;gap:2px;font-size:12px;color:#cbd4de}.debug-menu__checkbox-row{grid-template-columns:1fr auto;align-items:center}.debug-menu__value{justify-self:end;font-family:Courier New,monospace;color:#9dd0ff}.debug-menu__snapshot{width:100%;min-height:130px;resize:vertical;border-radius:8px;border:1px solid rgba(255,255,255,.16);background:#050a12cc;color:#dfe8f8;font-size:11px;line-height:1.4;font-family:Courier New,monospace;padding:8px}.debug-menu button{font:inherit;font-size:12px;padding:6px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#fff;border-radius:6px;cursor:pointer}@media(max-width:700px){.hud{min-width:200px;padding:10px;gap:6px}.hud__row{font-size:12px}.led{font-size:22px}.summary-overlay{width:min(94vw,360px);padding:16px}.summary-overlay__title{margin-bottom:12px;font-size:15px}}
