:root{color-scheme:dark;--ink:#edf3ef;--accent:#d4fc76;--muted:#96a7b4}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#080c16;color:var(--ink);font-family:"Inter Variable",sans-serif}button,input{font:inherit}button{min-height:44px;border-radius:5px;padding:0 15px;border:1px solid #63727b66;background:#121c29;color:var(--ink);font-size:11px;font-weight:550;cursor:pointer}button:hover{background:#22303d}button:focus-visible,input:focus-visible,canvas:focus-visible{outline:2px solid var(--accent);outline-offset:4px}#left-click{background:var(--accent);border-color:var(--accent);color:#142017}#scene{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;display:block;touch-action:none;outline-offset:-4px}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,transparent 30%,#03050b80 100%)}[data-overlay]{position:fixed;z-index:2;pointer-events:none}.identity{left:36px;top:32px}.identity p{font:10px "JetBrains Mono Variable",monospace;letter-spacing:.17em;color:#bac5ad;margin:0 0 13px}.identity h1{font:500 30px "Space Grotesk Variable",sans-serif;letter-spacing:-.055em;margin:0 0 9px}.identity>span{font-size:12px;color:var(--muted)}.host{right:36px;top:34px;display:flex;align-items:center;gap:12px;font:10px "JetBrains Mono Variable",monospace;letter-spacing:.12em;color:#a4b4b2;min-width:200px}.host-dot{height:7px;width:7px;border-radius:50%;background:#d4fc76;box-shadow:0 0 18px #b4f55577}.host b{display:block;color:#edf7e9;font:500 13px "Inter Variable",sans-serif;letter-spacing:0;margin-top:9px}.mode{left:36px;top:46%;display:grid;gap:8px}.mode span{font:10px "JetBrains Mono Variable",monospace;letter-spacing:.2em;color:#bed697}.mode b{font:300 38px "Space Grotesk Variable",sans-serif;letter-spacing:-.05em}.mode small{font:9px "JetBrains Mono Variable",monospace;letter-spacing:.12em;color:#758b99}.anatomy{display:flex;gap:10px;align-items:center;font:10px "JetBrains Mono Variable",monospace;letter-spacing:.08em;white-space:nowrap}.anatomy:before{content:"";width:32px;height:1px;background:#adcc965c}.anatomy b{border:1px solid #a2c18c6b;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#d4fc76;font-weight:500}.anatomy span{color:#c7d7da;background:#0b1421aa;padding:6px 8px}.controls{bottom:48px;left:50%;transform:translateX(-50%);width:min(664px,calc(100vw - 72px));padding:16px 18px 13px;background:linear-gradient(115deg,#1c2833e6,#101a27e6);border:1px solid #80918b44;border-radius:9px;backdrop-filter:blur(16px);pointer-events:auto;box-shadow:0 15px 60px #0004}.control-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font:500 14px "Space Grotesk Variable",sans-serif}.key-hint{font:10px "JetBrains Mono Variable",monospace;color:#8b9ca8}.actions{display:flex;gap:6px}.actions button{flex:1;white-space:nowrap}.signal-track{height:2px;margin-top:13px;background:#495b6455;overflow:hidden}.signal-track span{display:block;width:0;height:100%;background:var(--accent)}.settings{bottom:204px;right:36px;width:280px;border:1px solid #7a8f7e55;border-radius:9px;background:#14212dec;backdrop-filter:blur(18px);padding:15px;pointer-events:auto}.settings[hidden]{display:none}.settings>div{display:flex;justify-content:space-between;align-items:center}.settings strong{font-size:12px}.settings button{padding:0 11px}.settings label{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-top:12px;gap:12px}.settings input[type=range]{width:110px;accent-color:var(--accent)}.settings .check{justify-content:start}.check input{width:18px;height:18px;accent-color:var(--accent)}.settings p{color:#9aafbd;font-size:10px;margin:12px 0 0;line-height:1.5}.sample{left:36px;bottom:16px;margin:0;color:#8f9eac;font:10px "JetBrains Mono Variable",monospace}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0)}.fallback{position:fixed;inset:30% 15%;font-size:16px;line-height:1.6;z-index:5;padding:28px;background:#182831}.fallback[hidden]{display:none}.capture *{transition:none!important}.no-labels .anatomy{display:none}
@media(max-width:700px){.identity{left:20px;top:max(22px,env(safe-area-inset-top))}.identity p{font-size:8px;margin-bottom:10px}.identity h1{font-size:26px}.identity>span{font-size:11px}.host{right:20px;top:120px;min-width:0;font-size:8px;gap:9px}.host b{font-size:11px;margin-top:6px}.host-dot{width:5px;height:5px}.mode,.anatomy{display:none}.controls{bottom:max(48px,calc(env(safe-area-inset-bottom) + 27px));width:calc(100vw - 32px);padding:13px 12px 11px}.control-heading{font-size:13px;margin-bottom:10px}.key-hint{display:none}.actions{gap:5px;display:grid;grid-template-columns:repeat(3,1fr)}.actions button{font-size:11px;padding:0 7px;min-height:40px}.signal-track{margin-top:10px}.sample{left:20px;bottom:17px;max-width:calc(100vw - 35px);font-size:8px;line-height:1.5}.settings{left:16px;right:16px;bottom:234px;width:auto;padding:13px}.settings-open .identity,.settings-open .host{visibility:hidden}.settings label{margin-top:8px}.settings p{margin-top:8px;font-size:9px}.settings>div button{min-height:35px}.fallback{inset:22% 6%;padding:20px;font-size:14px}}
/* Touch controls keep a full 44px hit target in the compact phone grid. */
button{font-size:12px}.identity p,.host,.mode span,.mode small,.anatomy,.key-hint,.sample,.settings p{font-size:11px}
@media(max-width:700px){.identity p,.host,.sample{font-size:11px}.actions button{font-size:12px;min-height:44px}.sample{bottom:10px;line-height:1.35}.settings>div button{min-height:44px}.settings p{display:none}}
