:root{--bg:#0a0c0e;--panel:#14181c;--panel-2:#1b2127;--line:#2a323a;--text:#d7e0e6;--muted:#8b9aa5;--accent:#4ade80;--warn:#fbbf24;--error:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.45 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}button,input,select{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:4px 8px}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled,input:disabled{opacity:.45;cursor:not-allowed}h2{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 8px;font-size:11px}h4{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:8px 0 3px;font-size:10px}.hint{color:var(--muted);margin:6px 0 0;font-size:11px}.app{grid-template-columns:288px 1fr;height:100%;display:grid}html[data-hosted],html[data-hosted] body,html[data-hosted] #root{height:auto}html[data-hosted] body{overflow:visible}html[data-hosted] .app{height:100vh}.app__main{min-width:0;overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:14px;overflow-y:auto}.sidebar section{border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:16px}.sidebar-about button{opacity:.75;width:100%}.sidebar-about button:hover{opacity:1}.sidebar section:last-child{border-bottom:0}.sidebar label{color:var(--muted);margin-bottom:8px;font-size:11px;display:block}.sidebar label select,.sidebar label input[type=range]{width:100%;margin-top:3px;display:block}.panel__row{align-items:center;gap:6px;display:flex}.panel__row input[type=text]{flex:1;min-width:0}.chips{flex-wrap:wrap;gap:5px;display:flex}.status{color:var(--muted);margin:7px 0 0;font-size:11px}.status--connected{color:var(--accent)}.status--error{color:var(--error)}.status--connecting{color:var(--warn)}.devices{margin:8px 0 0;padding:0;list-style:none}.devices li{border:1px solid var(--line);border-radius:6px;margin-bottom:6px;padding:7px}.devices__row{justify-content:space-between;align-items:center;gap:6px;display:flex}.devices__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.devices__name em{color:var(--muted);font-size:10px;font-style:normal;display:block}.devices__controls{gap:6px;margin-top:6px;display:flex}.devices__controls select{flex:1;min-width:0}.wall{width:100%;height:100%;position:relative}.wall__layer{width:100%;height:100%;display:block;position:absolute;inset:0}.wall__layer--overlay{pointer-events:none}.wall__grid{gap:8px;padding:8px;display:grid;position:absolute;inset:0}.tile{border:1px solid var(--line);background:0 0;border-radius:7px;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.tile__head{border-bottom:1px solid var(--line);background:#0a0c0ed1;border-radius:6px 6px 0 0;align-items:center;gap:5px;padding:4px;display:flex}.tile__kindTag{letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);border-radius:3px;flex:none;padding:0 3px;font-size:9px}.tile__source{text-align:left;flex:1;align-items:center;gap:5px;min-width:0;padding:2px 6px;font-size:11px;display:flex}.tile__sourceName{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tile__actions{gap:3px;display:flex}.tile__actions button{padding:2px 6px;font-size:11px}.tile__body{flex:1;place-items:center;min-height:0;display:grid}.tile__hint{color:var(--muted);margin:0;font-size:11px}.tile__warn{color:var(--warn);text-align:center;margin:0;padding:8px;font-size:11px}.tile__foot{gap:4px;min-height:4px;padding:0 4px 4px;display:flex}.badge{letter-spacing:.05em;text-transform:uppercase;background:#0a0c0ed9;border-radius:3px;padding:1px 5px;font-size:9px}.badge--warn{color:var(--warn);border:1px solid #fbbf2466}.picker,.options{z-index:5;background:var(--panel);border:1px solid var(--line);border-radius:6px;max-height:70%;padding:7px;position:absolute;top:34px;left:4px;right:4px;overflow-y:auto;box-shadow:0 10px 26px #0000008c}.picker__option{text-align:left;background:0 0;border:0;border-radius:4px;width:100%;padding:4px 6px;display:block}.picker__option:hover{background:var(--panel-2)}.picker__option.is-current{background:#4ade8021}.picker__label{display:block}.picker__detail{color:var(--muted);font-size:10px;display:block}.picker__empty{color:var(--muted);margin:4px 6px;font-size:11px}.options label{color:var(--muted);margin-bottom:7px;font-size:11px;display:block}.options label input[type=range],.options label select{width:100%;margin-top:3px;display:block}.options__check{align-items:center;gap:5px;display:flex!important}.options__channels{border:1px solid var(--line);border-radius:5px;gap:8px;padding:5px 7px;display:flex}.options__channels legend{color:var(--muted);padding:0 4px;font-size:10px}.calibrate{grid-template-columns:1fr 320px;height:100%;display:grid}.calibrate__stage{background:#000;place-items:center;min-width:0;padding:12px;display:grid}.calibrate__stage canvas{object-fit:contain;cursor:crosshair;touch-action:none;max-width:100%;max-height:100%}.calibrate__panel{background:var(--panel);border-left:1px solid var(--line);padding:14px;overflow-y:auto}.calibrate__panel header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.calibrate__panel header h2{margin:0}.regions{margin:12px 0;padding:0;list-style:none}.regions li{align-items:center;gap:5px;margin-bottom:5px;display:flex}.regions__index{text-align:right;width:20px;color:var(--muted);font-variant-numeric:tabular-nums}.regions li input[type=text]{flex:1;min-width:0}.regions__window{width:52px}.panel__inset{color:var(--muted);font-size:11px;display:block}.panel__inset input{width:100%;margin-top:3px;display:block}.notice{border:1px solid var(--line);background:var(--panel);border-radius:6px;margin:10px 0;padding:10px 12px}.notice h2{color:var(--text)}.notice p{color:var(--muted);margin:6px 0 0;font-size:12px}.notice--warn{color:var(--warn);border-color:#fbbf2473;font-size:11px}.notice--error{color:var(--error);border-color:#f8717173;font-size:11px}.wall--error{place-items:center;padding:40px;display:grid}
