:root{--bg:#08080f;--bg-2:#0c0c18;--void:#050509;--panel:#96aaff09;--panel-2:#96aaff12;--line:#96aaff1f;--line-2:#96aaff38;--ink:#e9ecff;--ink-dim:#969ac2;--ink-faint:#797ea6;--cyan:#5cf2d6;--cyan-2:#9dfbe8;--cyan-deep:#1f8f7e;--magenta:#ff5db0;--magenta-2:#ff93cd;--brass:#d8a24a;--brass-dim:#8a6a2f;--good:#57e6a3;--bad:#ff6f7a;--shadow:0 30px 70px -30px #000000d9;--accent:var(--cyan);--accent-2:var(--cyan-2);--accent-ink:#042420;--guide:var(--magenta);--guide-2:var(--magenta-2);--guide-ink:#2a0416;--page-bg:radial-gradient(140% 100% at 20% -10%, #14122b, transparent 55%), radial-gradient(120% 90% at 90% 0%, #0c2230, transparent 50%), var(--bg)}::selection{background:color-mix(in srgb, var(--cyan) 35%, transparent);color:#fff}h1.title{letter-spacing:.1em;color:var(--ink);text-shadow:0 0 18px color-mix(in srgb,var(--cyan) 55%,transparent), 0 0 42px color-mix(in srgb,var(--cyan) 30%,transparent)}h1.title span{color:var(--cyan-2)}.readout-top{font-family:var(--font-mono);text-align:right;flex-direction:column;align-items:flex-end;gap:3px;display:flex}.readout-top .hz{color:var(--cyan-2);text-shadow:0 0 12px color-mix(in srgb,var(--cyan) 45%,transparent);font-variant-numeric:tabular-nums;font-size:28px;font-weight:500}.readout-top .nm{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);font-size:12px}.head-controls{flex-direction:column;align-items:flex-end;gap:10px;display:flex}@media (width<=760px){.head-controls{flex-direction:row;justify-content:space-between;align-items:center;width:100%}.readout-top{text-align:left;align-items:flex-start}.field-wrap{height:clamp(320px,56vh,520px)}}.field-wrap{cursor:none;border:1px solid var(--line);touch-action:none;background:radial-gradient(120% 120% at 50% 120%,#0a1620,#0000 60%),linear-gradient(#06060d,#080810 60%,#0a0a14);border-radius:14px;width:100%;height:clamp(340px,52vh,620px);position:relative;overflow:hidden}.field-wrap:not(.powered){touch-action:pan-y}.field-wrap:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.field-wrap.powered{cursor:none}#scope{width:100%;height:100%;display:block;position:absolute;inset:0}.ruler{pointer-events:none;z-index:4;height:26px;position:absolute;top:0;left:0;right:0}.tick{background:var(--line);width:1px;position:absolute;top:0}.tick.oct{background:color-mix(in srgb,var(--cyan) 40%,transparent)}.tick .lab{font-family:var(--font-mono);color:var(--ink-dim);letter-spacing:.05em;font-size:11px;position:absolute;top:5px;left:4px}.tick.oct .lab{color:color-mix(in srgb,var(--cyan-2) 90%, var(--ink))}.antenna{z-index:3;pointer-events:none;position:absolute}.antenna.pitch{background:linear-gradient(180deg,var(--brass),var(--brass-dim));width:2px;box-shadow:0 0 10px color-mix(in srgb,var(--brass) 50%,transparent);border-radius:2px;top:8%;bottom:8%;right:5%}.antenna.pitch:before{content:"";background:var(--brass);width:10px;height:10px;box-shadow:0 0 12px var(--brass);border-radius:50%;position:absolute;top:-7px;left:-4px}.antenna.pitch .glow{background:radial-gradient(closest-side, color-mix(in srgb,var(--magenta) var(--pglow,0%),transparent), transparent 75%);border-radius:20px;position:absolute;inset:-3px -18px}.antenna.vol{border:2px solid var(--brass-dim);width:70px;height:112px;box-shadow:0 0 10px color-mix(in srgb,var(--brass) 30%,transparent);opacity:.9;border-radius:40px/54px;top:50%;left:5%;transform:translateY(-50%)}.antenna.vol:after{content:"";border:1px solid color-mix(in srgb,var(--brass) 35%,transparent);border-radius:34px/46px;position:absolute;inset:8px}.antenna.vol .glow{background:radial-gradient(closest-side, color-mix(in srgb,var(--cyan) var(--vglow,0%),transparent), transparent 72%);border-radius:44px/58px;position:absolute;inset:-8px}.rings{z-index:2;pointer-events:none;opacity:0;width:2px;height:2px;position:absolute;top:50%;right:5%}.field-wrap.playing .rings{opacity:1}.rings i{border:1px solid color-mix(in srgb,var(--magenta) 30%,transparent);border-radius:50%;animation:1.8s ease-out infinite emit;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rings i:nth-child(2){animation-delay:.6s}.rings i:nth-child(3){animation-delay:1.2s}@keyframes emit{0%{opacity:.6;width:8px;height:8px}to{opacity:0;width:360px;height:360px}}.cursor{z-index:6;pointer-events:none;opacity:0;width:22px;height:22px;margin:-11px 0 0 -11px;transition:opacity .18s;position:absolute;top:0;left:0}.field-wrap.playing .cursor{opacity:1}.cursor:before{content:"";background:var(--magenta);box-shadow:0 0 14px var(--magenta), 0 0 30px color-mix(in srgb,var(--magenta) 60%,transparent);border-radius:50%;position:absolute;inset:0}.cursor:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:6px}.cross{z-index:5;pointer-events:none;opacity:0;position:absolute}.field-wrap.playing .cross{opacity:.35}.cross.h{background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--magenta) 60%,transparent),transparent);height:1px;left:0;right:0}.cross.v{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--cyan) 55%,transparent),transparent);width:1px;top:0;bottom:0}.cursor-read{z-index:7;pointer-events:none;opacity:0;font-family:var(--font-mono);white-space:nowrap;border:1px solid var(--line-2);color:var(--cyan-2);font-variant-numeric:tabular-nums;background:#080810d1;border-radius:7px;padding:3px 8px;font-size:11px;transition:opacity .18s;position:absolute;transform:translate(-50%,-150%)}.field-wrap.playing .cursor-read{opacity:1}.target{z-index:4;pointer-events:none;opacity:0;width:0;margin-left:0;transition:opacity .15s,left .12s linear;position:absolute;top:26px;bottom:0}.target.on{opacity:1}.target .band{background:color-mix(in srgb,var(--cyan) 12%,transparent);border-left:1px solid color-mix(in srgb,var(--cyan) 60%,transparent);border-right:1px solid color-mix(in srgb,var(--cyan) 60%,transparent);border-radius:8px;width:52px;position:absolute;inset:0 0 0 -26px}.target.hit .band{background:color-mix(in srgb,var(--good) 20%,transparent);border-color:var(--good);box-shadow:0 0 22px color-mix(in srgb,var(--good) 45%,transparent)}.target .lab{font-family:var(--font-mono);color:var(--cyan-2);border:1px solid var(--line-2);background:#080810cc;border-radius:6px;padding:1px 7px;font-size:12px;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.target.hit .lab{color:var(--good);border-color:color-mix(in srgb,var(--good) 50%,transparent)}.field-box{position:relative}.power{z-index:10;backdrop-filter:blur(2px);cursor:pointer;background:radial-gradient(60% 60% at 50% 45%,#0a0c1899,#05050aeb);border-radius:14px;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}.power .btn-power{color:var(--ink);cursor:pointer;font-family:var(--font-mono);background:0 0;border:none;flex-direction:column;align-items:center;gap:12px;display:flex}.power .ring{border:2px solid var(--cyan);width:76px;height:76px;color:var(--cyan-2);box-shadow:0 0 26px color-mix(in srgb,var(--cyan) 45%,transparent), inset 0 0 20px color-mix(in srgb,var(--cyan) 20%,transparent);border-radius:50%;place-items:center;animation:2.4s ease-in-out infinite pulse;display:grid}@keyframes pulse{0%,to{box-shadow:0 0 22px color-mix(in srgb,var(--cyan) 35%,transparent), inset 0 0 16px color-mix(in srgb,var(--cyan) 16%,transparent)}50%{box-shadow:0 0 40px color-mix(in srgb,var(--cyan) 60%,transparent), inset 0 0 26px color-mix(in srgb,var(--cyan) 26%,transparent)}}.power .plabel{letter-spacing:.28em;text-transform:uppercase;color:var(--ink-dim);font-size:13px}.power .psub{color:var(--ink-dim);font-size:14px;line-height:1.5;font-family:var(--font-ui);text-align:center;max-width:34ch}.field-foot{color:var(--ink-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 18px;margin-top:12px;font-size:13px;display:flex}.field-foot .k{color:var(--cyan-2)}.tilt-toggle{font-family:var(--font-ui);cursor:pointer;min-height:44px;color:var(--cyan-2);background:var(--panel-2);border:1px solid var(--line-2);border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:13px;font-weight:600;transition:all .16s;display:inline-flex}.tilt-toggle:hover{border-color:var(--cyan)}.tilt-toggle:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.tilt-toggle .led{background:var(--ink-faint);width:8px;height:8px;box-shadow:none;border-radius:50%;transition:all .16s}.tilt-toggle.on{color:#04211e;background:linear-gradient(180deg,var(--cyan-2),var(--cyan));border-color:var(--cyan)}.tilt-toggle.on .led{background:#04211e;animation:1.4s ease-in-out infinite ledpulse;box-shadow:0 0 8px #04211e99}@keyframes ledpulse{0%,to{opacity:1}50%{opacity:.4}}.tiltind{z-index:6;border:1px solid var(--line-2);pointer-events:none;background:#08081080;border-radius:50%;place-items:center;width:46px;height:46px;display:none;position:absolute;bottom:14px;left:14px}.field-wrap.tilt .tiltind{display:grid}.tiltind .bub{background:var(--cyan);width:12px;height:12px;box-shadow:0 0 10px var(--cyan);border-radius:50%;transition:transform 80ms linear}.badge{align-items:center;gap:7px;display:inline-flex}.badge i{border-radius:2px;width:9px;height:9px}.badge .c{background:var(--magenta)}.badge .v{background:var(--cyan)}.badge .t{background:var(--good)}.power .ring svg{width:30px;height:30px}.power:focus-visible{outline:2px solid var(--cyan);outline-offset:-4px}select{font-family:var(--font-mono);background:var(--panel-2);color:var(--ink);border:1px solid var(--line-2);cursor:pointer;border-radius:8px;min-height:40px;padding:0 10px;font-size:13px}select:focus-visible{outline:2px solid var(--guide);outline-offset:2px}.row .val{font-family:var(--font-mono);color:var(--cyan-2);text-align:right;font-variant-numeric:tabular-nums;min-width:64px;font-size:12px}button.power{width:100%;font:inherit;color:inherit;border:0;margin:0;padding:0}.field-foot b{color:var(--cyan-2);font-weight:600}.tilt-toggle .icon{width:18px;height:18px}@media (width<=760px){.field-box{width:calc(100% - 28px)}.stage{position:relative}.stage:after{content:"";background:repeating-linear-gradient(180deg, var(--line-2) 0 3px, transparent 3px 7px);pointer-events:none;border-radius:2px;width:4px;height:60px;position:absolute;top:calc(50% - 30px);right:9px}}
