:root{--fg:#f2f2f2;--dim:#8a8a8a;--bg:#000;--accent:#ff1f4b}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);-webkit-user-select:none;user-select:none;touch-action:manipulation;margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;overflow:hidden}body.idle{cursor:none}#stage{background:#000;place-items:center;display:grid;position:fixed;inset:0}#gl{background:#000;display:block}.overlay{text-align:center;z-index:10;background:#000;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex;position:fixed;inset:0}.overlay .title{white-space:pre-wrap;margin:0;font-family:Manufacturing Consent,serif;font-size:clamp(28px,7vw,84px);font-weight:400}.overlay .sub{color:var(--dim);letter-spacing:.2em;margin:0}.overlay .hint{color:var(--dim);max-width:520px;font-size:12px}.overlay .error{color:var(--accent);min-height:1em}button{font:inherit;color:var(--fg);border:1px solid var(--fg);cursor:pointer;background:0 0;padding:10px 16px}button:hover{background:var(--fg);color:#000}button.big{letter-spacing:.15em;padding:16px 32px;font-size:22px}button.small{border-color:var(--dim);color:var(--dim);font-size:13px}#panel{border:1px solid var(--fg);z-index:20;background:#000000e0;flex-direction:column;gap:10px;width:min(360px,100vw - 24px);max-height:calc(100vh - 24px);padding:14px;font-size:13px;display:flex;position:fixed;top:12px;right:12px;overflow:auto}#panel.hidden{display:none}#panel h2{letter-spacing:.2em;margin:0 0 4px;font-size:14px}#panel label{flex-direction:column;gap:4px;display:flex}#panel select,#panel input[type=range]{width:100%}#panel select{font:inherit;color:var(--fg);border:1px solid var(--dim);background:#000;padding:6px}#panel input[type=range]{accent-color:var(--fg)}#panel output{color:var(--dim)}#panel .checks{flex-wrap:wrap;gap:12px;display:flex}#panel .checks label{flex-direction:row;align-items:center}#panel .row{gap:8px;display:flex}#panel .row button{flex:1}#panel .meters{color:var(--dim);grid-template-columns:repeat(4,1fr);gap:4px;font-size:11px;display:grid}#panel details summary{cursor:pointer;color:var(--dim);letter-spacing:.15em;text-transform:uppercase;font-size:12px}#panel details[open]{flex-direction:column;gap:10px;display:flex}#panel details[open] summary{margin-bottom:4px}#panel .row select{flex:1}#panel #remote-status{color:var(--dim);letter-spacing:0;font-size:11px}#panel [hidden]{display:none!important}
