:root{color-scheme:dark;background:#02040b;--ns-game-filter: none;--ns-game3d-filter: saturate(1.24) contrast(1.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 50% 35%,rgba(27,122,151,.15),transparent 34%),linear-gradient(180deg,#02040b,#050816 58%,#02040b)}#game,#game3d,#touch-controls,#touch-controls *,button{-webkit-tap-highlight-color:transparent}#game{display:block;position:fixed;left:50%;top:50%;width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,56.25vw);transform:translate(-50%,-50%);background:#02040b;image-rendering:auto;filter:var(--ns-game-filter);touch-action:none}#game3d{position:fixed;left:50%;top:50%;width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,56.25vw);transform:translate(-50%,-50%);visibility:hidden;pointer-events:none;filter:var(--ns-game3d-filter)}#settings{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:8;display:flex;align-items:flex-start;gap:8px;color:#fff5d8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}#settings-toggle{width:52px;height:52px;border:1px solid rgba(94,255,219,.42);border-radius:6px;color:#fff5d8;background:#030b14c2;box-shadow:0 0 18px #5effdb24,inset 0 0 12px #5effdb14;cursor:pointer;font-size:24px;line-height:1}#settings-panel{display:none;width:min(560px,calc(100vw - 74px));padding:10px;border:1px solid rgba(120,150,255,.36);border-radius:8px;background:#060a14f0;box-shadow:0 0 24px #00000075,inset 0 0 18px #5effdb0f}#settings-panel[data-open=true]{display:block}.settings-row{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:8px;margin-bottom:8px}.settings-row>span{color:#fff5d89e;font-size:.68rem;font-weight:800;letter-spacing:.08em}.segmented{display:flex;flex-wrap:wrap;gap:5px}.segmented-button{min-height:28px;padding:0 9px;border:1px solid rgba(140,255,180,.25);border-radius:5px;color:#fff5d8b8;background:#ffffff09;font-family:inherit;font-size:.68rem;font-weight:900;letter-spacing:.04em;cursor:pointer}.segmented-button:disabled{cursor:not-allowed;opacity:.42}.segmented-button.is-active{border-color:#8cffb4d1;color:#fff5d8;background:#5effdb21;box-shadow:0 0 14px #5effdb1f}.brightness-controls{min-width:0}.brightness-control{display:grid;grid-template-columns:minmax(120px,1fr) 42px;gap:8px;align-items:center;color:#5effdbc7;font-size:.62rem;font-weight:900}.brightness-control input{width:100%;accent-color:#5effdb}.brightness-control output{text-align:right}.relays-row{align-items:start}.relay-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.tuning-row{align-items:start}.tune-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.tune-presets{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.tune-preset{min-height:26px;border:1px solid rgba(94,255,219,.25);border-radius:5px;color:#fff5d8b8;background:#ffffff09;font-family:inherit;font-size:.64rem;font-weight:900;cursor:pointer}.tune-preset.is-active{border-color:#ffd84ac7;color:#fff5d8;background:#ffd84a1f}.tune-control{display:grid;grid-template-columns:50px 1fr 42px;align-items:center;gap:6px;min-height:24px;color:#fff5d8c2;font-size:.61rem;font-weight:900}.tune-control input{width:100%;accent-color:#ffd84a}.tune-control output{color:#5effdbc2;text-align:right}.tune-reset{grid-column:1 / -1;min-height:24px;border:1px solid rgba(255,216,74,.34);border-radius:5px;color:#fff5d8c7;background:#ffd84a0f;font-family:inherit;font-size:.64rem;font-weight:900;cursor:pointer}.tune-readout{grid-column:1 / -1;min-height:18px;color:#5effdbc7;font-size:.62rem;font-weight:900;text-align:right}.audio-row,.music-row{align-items:start}.audio-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;gap:7px;align-items:end}.audio-slider{display:grid;grid-template-rows:auto auto auto;gap:3px;min-width:0;color:#fff5d8b8;font-size:.58rem;font-weight:900}.audio-slider input{width:100%;accent-color:#ffd84a}.audio-slider output{color:#5effdbc7;text-align:right}.audio-mute{min-height:30px;min-width:38px;border:1px solid rgba(255,216,74,.38);border-radius:5px;color:#fff5d8;background:#ffd84a14;font-family:inherit;font-size:.78rem;font-weight:950;cursor:pointer}.audio-mute.is-muted{border-color:#ff4d5ec7;color:#ff8a9a;background:#ff4d5e24}.audio-test{min-height:30px;min-width:46px;border:1px solid rgba(94,255,219,.36);border-radius:5px;color:#5effdb;background:#5effdb14;font-family:inherit;font-size:.66rem;font-weight:950;cursor:pointer}.audio-diagnostic{grid-column:1 / -1;min-height:16px;color:#5effdbc7;font-size:.56rem;font-weight:900;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.music-player{display:grid;grid-template-columns:minmax(124px,.7fr) minmax(180px,1.3fr);gap:8px;min-width:0}.music-viz{width:100%;height:78px;border:1px solid rgba(94,255,219,.2);border-radius:6px;background:radial-gradient(ellipse at 50% 100%,#5effdb29,#010409eb)}.music-transport{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center}.music-now{min-width:0;color:#fff5d8d1;font-size:.62rem;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.music-stop{min-height:28px;min-width:32px;border:1px solid rgba(255,216,74,.36);border-radius:5px;color:#ffd84a;background:#ffd84a14;font-family:inherit;font-size:.72rem;font-weight:950;cursor:pointer}.music-list{max-height:176px;overflow:auto;display:grid;gap:5px;padding-right:2px}.music-track{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:7px;min-height:32px;padding:4px 7px;border:1px solid rgba(140,255,180,.2);border-radius:5px;color:#fff5d8b8;background:#ffffff08;font-family:inherit;cursor:pointer;text-align:left}.music-track.is-active{border-color:#ffd84ac7;color:#fff5d8;background:#ffd84a1a;box-shadow:0 0 14px #ffd84a1a}.music-track.is-selected{border-color:#5effdb94;color:#fff5d8;background:#5effdb14}.music-track:focus-visible{outline:1px solid rgba(94,255,219,.8);outline-offset:1px}.music-glyph{color:#5effdbad;font-size:.8rem;text-align:center}.music-track.is-active .music-glyph{color:#ffd84a}.music-copy{min-width:0;display:grid;gap:1px}.music-label{overflow:hidden;color:inherit;font-size:.62rem;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.music-hint{overflow:hidden;color:#5effdb94;font-size:.54rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.music-wave{min-width:26px;color:#ffd84abf;font-size:.55rem;font-weight:950;text-align:right}.legal-row{align-items:center}.settings-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.settings-links a{display:grid;min-height:28px;place-items:center;border:1px solid rgba(94,255,219,.28);border-radius:5px;color:#fff5d8cc;background:#5effdb0f;font-size:.64rem;font-weight:950;letter-spacing:.04em;text-decoration:none}.settings-links a:focus-visible{outline:1px solid rgba(94,255,219,.8);outline-offset:1px}.relay-toggle{display:grid;grid-template-columns:14px 1fr auto;align-items:center;gap:5px;min-height:28px;padding:0 7px;border:1px solid rgba(140,255,180,.22);border-radius:5px;color:#fff5d8b8;background:#ffffff08;font-size:.66rem;font-weight:800}.relay-toggle input{width:12px;height:12px;accent-color:#5effdb}.relay-readwrite{border-color:#ffd84a94;color:#fff5d8;background:#ffd84a14}.relay-mode{color:#5effdbad;font-size:.58rem}.relay-readwrite .relay-mode{color:#ffd84a}#mesh-status{min-height:13px;color:#5effdbad;font-size:.66rem;font-weight:800;letter-spacing:.06em;text-align:right}@media(max-width:720px){#settings{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right))}#settings-toggle{width:46px;height:46px}#settings-panel{width:min(520px,calc(100vw - 58px));max-height:calc(100svh - 24px);overflow:auto}.settings-row{grid-template-columns:52px 1fr}.relay-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tune-list,.audio-controls,.music-player{grid-template-columns:1fr}}#touch-controls{display:none}#v4v{position:fixed;inset:0;z-index:12;display:flex;align-items:center;justify-content:center;padding:12px;background:#01040ac7;backdrop-filter:blur(5px);color:#fff5d8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}#v4v[hidden]{display:none}.v4v-panel{width:min(430px,calc(100vw - 24px));max-height:calc(100svh - 24px);overflow:auto;padding:18px 20px;border:1px solid rgba(94,255,219,.4);border-radius:8px;background:#030812f5;box-shadow:0 0 32px #5effdb29,inset 0 0 20px #5effdb0f;text-align:center}.v4v-kicker{color:#5effdbd1;font-size:.66rem;font-weight:900;letter-spacing:.22em;text-shadow:0 0 10px rgba(94,255,219,.3)}.v4v-title{margin:8px 0 6px;color:#fff5d8;font-size:1.18rem;font-weight:950;letter-spacing:.08em;text-shadow:0 0 16px rgba(255,216,74,.3)}.v4v-nudge{margin:0 0 12px;color:#fff5d8c7;font-size:.74rem;font-weight:700;line-height:1.45}.v4v-qr{display:block;width:min(196px,46vw);height:auto;margin:0 auto 10px;border:1px solid rgba(94,255,219,.34);border-radius:6px;background:#fffdf4}.v4v-reward{margin:0 0 12px;padding:7px 9px;border:1px solid rgba(255,216,74,.66);border-radius:6px;color:#ffd84a;background:#ffd84a1a;box-shadow:0 0 18px #ffd84a2e,inset 0 0 12px #ffd84a0f;font-size:.66rem;font-weight:950;letter-spacing:.04em}.v4v-addr{width:100%;min-height:34px;margin:0 0 10px;border:1px solid rgba(94,255,219,.42);border-radius:5px;color:#5effdb;background:#5effdb14;font-family:inherit;font-size:.7rem;font-weight:900;letter-spacing:.02em;cursor:pointer}.v4v-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px}.v4v-links a{display:grid;min-height:30px;place-items:center;border:1px solid rgba(94,255,219,.28);border-radius:5px;color:#fff5d8cc;background:#5effdb0f;font-size:.66rem;font-weight:950;letter-spacing:.04em;text-decoration:none;cursor:pointer}.v4v-links a[hidden]{display:none}.v4v-primary,.v4v-ghost{width:100%;min-height:38px;border-radius:5px;font-family:inherit;font-size:.78rem;font-weight:950;letter-spacing:.06em;cursor:pointer}.v4v-primary{margin:0 0 8px;border:1px solid rgba(255,216,74,.95);color:#02040b;background:#ffd84a;box-shadow:0 0 22px #ffd84a4d,inset 0 0 14px #fff5d842}.v4v-ghost{border:1px solid rgba(140,255,180,.3);color:#fff5d8c2;background:#ffffff0a}.v4v-ghost:focus-visible,.v4v-primary:focus-visible,.v4v-addr:focus-visible,.v4v-links a:focus-visible{outline:1px solid rgba(94,255,219,.8);outline-offset:1px}.v4v-thanks-img{display:block;width:min(164px,40vw);height:auto;margin:10px auto;border:1px solid rgba(255,216,74,.4);border-radius:6px}.v4v-thanks-line{margin:0 0 10px;color:#fff5d8db;font-size:.74rem;font-weight:950;letter-spacing:.06em}#score-actions{position:fixed;left:50%;bottom:max(28px,env(safe-area-inset-bottom));z-index:7;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;transform:translate(-50%);color:#fff5d8;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;pointer-events:auto;width:min(920px,calc(100vw - 32px))}#score-actions[hidden]{display:none}#score-publish,.value-link{min-width:132px;min-height:34px;border:1px solid rgba(255,216,74,.72);border-radius:5px;color:#fff5d8;background:#ffd84a1a;box-shadow:0 0 18px #ffd84a29,inset 0 0 14px #ffd84a14;font-family:inherit;font-size:.72rem;font-weight:950;letter-spacing:.04em;cursor:pointer}#value-action-group[hidden]{display:none}#value-action-group{display:inline-flex;align-items:stretch;justify-content:center;gap:0;padding:4px;border:1px solid rgba(255,216,74,.92);border-radius:7px;background:#ffd84a21;box-shadow:0 0 30px #ffd84a52,inset 0 0 18px #ffd84a14}.value-link{display:inline-flex;align-items:center;justify-content:center;min-width:154px;border-color:#ffd84af2;border-radius:0;color:#02040b;background:#ffd84a;box-shadow:inset 0 0 14px #fff5d842;text-decoration:none}.value-link:first-child{border-radius:4px 0 0 4px}.value-link:last-child{border-radius:0 4px 4px 0}.value-link+.value-link{border-left-width:0}.value-link[hidden]{display:none}#score-publish:disabled{cursor:not-allowed;opacity:.58}#score-action-status{max-width:min(360px,calc(100vw - 180px));color:#5effdbd1;font-size:.68rem;font-weight:900;text-align:left;text-shadow:0 0 10px rgba(94,255,219,.3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(pointer:coarse){#touch-controls{position:fixed;inset:0;z-index:4;display:block;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#touch-stick{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));width:clamp(148px,18vw,184px);height:clamp(148px,18vw,184px);border:1px solid rgba(94,255,219,.34);border-radius:50%;background:#030b1475;box-shadow:0 0 22px #5effdb24,inset 0 0 24px #5effdb14;pointer-events:auto;touch-action:none}#touch-knob{position:absolute;left:50%;top:50%;width:54px;height:54px;margin:-27px 0 0 -27px;border:1px solid rgba(255,242,178,.78);border-radius:50%;background:#ffd84a2e;box-shadow:0 0 18px #ffd84a3d;transform:translate(0);pointer-events:none}#touch-fire,#touch-burst{position:absolute;right:max(22px,env(safe-area-inset-right));width:74px;height:74px;border:1px solid rgba(255,255,255,.28);border-radius:50%;color:#fff5d8;background:#030b1485;font-size:1.7rem;line-height:1;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#touch-fire{bottom:max(96px,calc(env(safe-area-inset-bottom) + 96px));border-color:#ff8a3a94;box-shadow:0 0 24px #ff8a3a2e}#touch-burst{bottom:max(20px,env(safe-area-inset-bottom));border-color:#ffd84aa8;box-shadow:0 0 24px #ffd84a2e}#touch-fire:active,#touch-burst:active{transform:scale(.96)}}@media(orientation:portrait){#game,#game3d{--pv-h: min(100svh, 100vw * 9 / (16 * .31));top:50%;width:calc(var(--pv-h) * 16 / 9);height:var(--pv-h);transform:translate(-50%,-50%)}#settings{top:max(8px,env(safe-area-inset-top));right:max(8px,env(safe-area-inset-right))}#settings-toggle{width:44px;height:44px;background:#030b1494;opacity:.86}#settings-panel{position:fixed;top:max(46px,calc(env(safe-area-inset-top) + 46px));right:max(8px,env(safe-area-inset-right));width:min(460px,calc(100vw - 16px));max-height:calc(100svh - 62px)}#score-actions{bottom:max(154px,calc(env(safe-area-inset-bottom) + 154px));flex-direction:column;justify-items:center;gap:6px}#score-publish,.value-link{min-width:124px;min-height:32px;font-size:.66rem}#value-action-group{width:min(420px,calc(100vw - 52px))}.value-link{flex:1 1 0;min-width:0}#score-action-status{max-width:calc(100vw - 52px);font-size:.6rem;text-align:center}}@media(pointer:coarse)and (orientation:portrait){#touch-stick{width:clamp(132px,34vw,164px);height:clamp(132px,34vw,164px);left:max(14px,env(safe-area-inset-left));bottom:max(22px,calc(env(safe-area-inset-bottom) + 22px))}#touch-knob{width:46px;height:46px;margin:-23px 0 0 -23px}#touch-fire,#touch-burst{width:64px;height:64px;right:max(14px,env(safe-area-inset-right));font-size:1.52rem}#touch-fire{bottom:max(92px,calc(env(safe-area-inset-bottom) + 92px))}#touch-burst{bottom:max(22px,calc(env(safe-area-inset-bottom) + 22px))}}@media(pointer:coarse)and (orientation:landscape)and (max-height:520px){#touch-stick{width:clamp(126px,28vh,148px);height:clamp(126px,28vh,148px);bottom:max(12px,env(safe-area-inset-bottom))}#touch-knob{width:44px;height:44px;margin:-22px 0 0 -22px}#touch-fire,#touch-burst{width:60px;height:60px;right:max(14px,env(safe-area-inset-right))}#touch-fire{bottom:max(78px,calc(env(safe-area-inset-bottom) + 78px))}}body[data-neon-phase=title] #touch-controls,body[data-neon-phase=paused] #touch-controls,body[data-neon-phase=gameover] #touch-controls{display:none}body[data-neon-phase=gameover] #score-actions{padding:8px 12px;border:1px solid rgba(94,255,219,.34);border-radius:7px;background:#01040ad1;box-shadow:0 0 24px #5effdb24,inset 0 0 18px #5effdb0f;backdrop-filter:blur(5px)}@media(orientation:portrait){body[data-neon-phase=gameover] #score-actions{bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px))}}@media(pointer:coarse){body.ns-left-hand #touch-stick{left:auto;right:max(18px,env(safe-area-inset-right))}body.ns-left-hand #touch-fire,body.ns-left-hand #touch-burst{right:auto;left:max(22px,env(safe-area-inset-left))}}@media(pointer:coarse)and (orientation:landscape)and (max-height:520px){body.ns-left-hand #touch-fire,body.ns-left-hand #touch-burst{right:auto;left:max(14px,env(safe-area-inset-left))}}
