:root{color-scheme:dark;--background:#080808;--surface:#202020;--text:#fff;--muted:#c7c7c7;--border:#424242;--accent:#ef4148}
:root[data-theme=light]{color-scheme:light;--background:#fff;--surface:#ececec;--text:#111;--muted:#454545;--border:#ccc;--accent:#d92f38}
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text);font:15px/1.5 system-ui,sans-serif}button,select{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:9px;min-height:46px;padding:9px 15px}button{cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}button:disabled{opacity:.45;cursor:wait}button:active,button[data-held=true]{background:var(--accent);color:#fff}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}#app{max-width:700px;margin:0 auto;padding:14px max(14px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}.client-header{display:flex;gap:12px;align-items:center;margin-bottom:18px}.client-header img{border-radius:8px;flex:none}.client-header h1{font-size:17px;line-height:1.2;margin:0 auto 0 0}.language>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.language select{max-width:115px;padding:8px}.client-header button{padding:8px 11px}.device{display:flex;flex-direction:column;align-items:center;gap:10px}.device canvas{display:block;width:min(78vw,340px);height:auto;max-height:60vh;object-fit:contain;background:#000;border-radius:8px}.device-buttons,.device-actions{display:flex;gap:10px;justify-content:center;width:100%;max-width:400px}.device-buttons button{flex:1}.device-actions{flex-wrap:wrap}.device p{margin:0;text-align:center}.device [data-device-notice]{min-height:1.5em}.hint{max-width:520px;color:var(--muted);font-size:12px}[hidden]{display:none!important}@media(max-width:360px){.client-header{gap:8px}.client-header h1{font-size:15px}.language select{max-width:95px}.client-header button{padding:8px}.device-buttons,.device-actions{gap:7px}}
