:root{--bg:#090c13;--panel:#141926;--line:#262d42;--fg:#eef1f8;--dim:#8b95b2;--accent:#7fd1ff;--ok:#57d98a;--bad:#ff5d73}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--fg);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.wrap{justify-content:center;align-items:flex-start;gap:20px;padding:20px;display:flex}.stagecol{flex:auto;justify-content:center;min-width:0;display:flex}.stage{width:min(100%, calc((100vh - 40px) * var(--ar,1.3333)));aspect-ratio:var(--ar,1.3333);border:1px solid var(--line);background:radial-gradient(at 50% 40%,#131a2b,#05070c 75%);border-radius:16px;position:relative;overflow:hidden}.stage video,.stage canvas{width:100%;height:100%;display:block;position:absolute;inset:0}#video{object-fit:cover;transform:none}#shade,#gl{pointer-events:none;transform:none}#hud{pointer-events:none}#intro{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex;position:absolute;inset:0}#intro h2{letter-spacing:.04em;margin:0;font-size:30px;font-weight:800}#intro p{color:var(--dim);max-width:46ch;margin:0}button.big{font:inherit;color:#06121c;background:var(--accent);cursor:pointer;border:0;border-radius:12px;padding:13px 22px;font-size:17px;font-weight:700}button.big:disabled{opacity:.6;cursor:default}aside{flex-direction:column;flex:0 0 330px;gap:12px;display:flex}h1{letter-spacing:.03em;margin:0;font-size:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:13px 15px}.panel h3{color:var(--dim);text-transform:uppercase;letter-spacing:.09em;margin:0 0 9px;font-size:12px;font-weight:600}#status{font-size:14px;font-weight:600}#status.ok{color:var(--ok)}#status.bad{color:var(--bad)}.chips{flex-wrap:wrap;gap:7px;display:flex}.system-presets{grid-template-columns:1fr 1fr;display:grid}.panel .layer-heading{margin-top:16px}.chips button,.seg button{font:inherit;color:var(--fg);border:1px solid var(--line);cursor:pointer;background:#0b0f18;border-radius:9px;padding:7px 11px;font-size:13px}.chips button:hover,.seg button:hover{border-color:var(--accent)}.chips button.on{border-color:var(--accent);color:#cef;background:#163349}.seg{gap:7px;display:flex}.seg button{flex:1}.seg button.on{background:var(--accent);color:#06121c;border-color:var(--accent);font-weight:700}.checks{grid-template-columns:1fr 1fr;gap:7px 12px;margin-top:11px;display:grid}label.ck{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}label.ck i{border-radius:50%;flex:none;width:10px;height:10px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);margin:0}.row{justify-content:space-between;align-items:center;gap:12px;margin-top:11px;font-size:14px;display:flex}.row:first-of-type{margin-top:0}.row input[type=range]{max-width:52%;accent-color:var(--accent);flex:1}.row label b{color:var(--dim);font-variant-numeric:tabular-nums;margin-left:4px;font-size:12px;font-weight:500}select{font:inherit;color:var(--fg);border:1px solid var(--line);background:#0b0f18;border-radius:8px;max-width:60%;padding:6px 8px;font-size:14px}#data{border:1px solid var(--line);white-space:pre-wrap;font-variant-numeric:tabular-nums;background:#0b0f18;border-radius:8px;margin:11px 0 0;padding:9px 11px;font:12px/1.5 ui-monospace,Menlo,Consolas,monospace}details summary{cursor:pointer;color:var(--dim);font-size:13px}details[open] summary{margin-bottom:10px}.small{color:var(--dim);margin:0;font-size:12px}.linkbtn{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;margin-top:10px;padding:0;font-size:12px}[hidden]{display:none!important}@media (width<=900px){.wrap{flex-direction:column;align-items:stretch}aside{flex:none}.stage{width:100%}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.stage{touch-action:manipulation}#stage.mirrored #video,#stage.mirrored #shade,#stage.mirrored #gl{transform:scaleX(-1)}.intro-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}button.secondary{color:var(--accent);background:#141e30;border:1px solid #39546e}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #7fd1ff}button,select{min-height:44px}a{color:var(--accent)}.mobile-controls,#settings-close,#drawer-backdrop{display:none}.camera-actions{gap:8px;margin-top:10px;display:flex}.camera-actions button{flex:1}.performance-note{margin-top:8px}#session-note{color:var(--dim);margin:8px 0 0;font-size:12px}.brand-caption{color:var(--dim);letter-spacing:.08em;margin:2px 0 0;font-size:12px}#live-status{color:#e6f3ff;pointer-events:none;background:#090c13bd;border-radius:8px;margin:0;padding:7px 10px;font-size:12px;position:absolute;top:8px;left:10px;right:10px}@media (width<=900px),(pointer:coarse) and (width<=1100px){.wrap{min-height:100dvh;padding:0;display:block}.stagecol{min-height:100dvh;padding-bottom:calc(80px + env(safe-area-inset-bottom));align-items:center}.stage{width:min(100%, calc((100dvh - 80px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) * var(--ar,1.33333)));border-left:0;border-right:0;border-radius:0;max-height:none}#intro{gap:10px;padding:18px}#intro h2{font-size:24px}#intro p{font-size:13px}#drawer{z-index:30;max-height:82dvh;padding:12px 16px calc(20px + env(safe-area-inset-bottom));border:1px solid var(--line);visibility:hidden;overscroll-behavior:contain;background:#090c13;border-radius:20px 20px 0 0;transition:transform .18s;position:fixed;bottom:0;left:0;right:0;overflow:auto;transform:translateY(105%)}#drawer.open{visibility:visible;transform:translateY(0)}#settings-close{border:1px solid var(--line);min-width:44px;color:var(--fg);background:var(--panel);border-radius:10px;align-self:flex-end;display:block}#drawer-backdrop.open{z-index:29;background:#0009;border:0;width:100%;height:100%;display:block;position:fixed;inset:0}.mobile-controls{z-index:20;border-top:1px solid var(--line);padding:10px max(8px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:#0b101ded;gap:6px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-controls button{min-width:0;min-height:48px;color:var(--fg);background:#192236;border:1px solid #34445d;border-radius:10px;flex:1;padding:4px;font-size:12px}.mobile-controls button:last-child{color:#06121c;background:#7fd1ff;font-weight:700}.row input[type=range],label.ck{min-height:44px}body.drawer-open{overflow:hidden}}@media (prefers-reduced-motion:reduce){#drawer{transition:none}}
