:root{--bg:#f8fafc;--surface:#fff;--text:#0f172a;--text-muted:#0f172ab3;--text-subtle:#0f172a8c;--border:#0f172a1a;--border-strong:#0f172a2e;--hover:#0f172a0a;--accent:#09c;--accent-soft:#0099cc1a;--ok:#0f8a4d;--warn:#b26a00;--danger:#c33232;--warn-border:#d79b00;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#0b1120;--surface:#131c2e;--text:#e2e8f0;--text-muted:#e2e8f0b8;--text-subtle:#e2e8f08c;--border:#e2e8f024;--border-strong:#e2e8f03d;--hover:#e2e8f014;--accent:#38bdf8;--accent-soft:#38bdf824;--ok:#4ade80;--warn:#fbbf24;--danger:#f87171;--warn-border:#b98330;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b1120;--surface:#131c2e;--text:#e2e8f0;--text-muted:#e2e8f0b8;--text-subtle:#e2e8f08c;--border:#e2e8f024;--border-strong:#e2e8f03d;--hover:#e2e8f014;--accent:#38bdf8;--accent-soft:#38bdf824;--ok:#4ade80;--warn:#fbbf24;--danger:#f87171;--warn-border:#b98330;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root{color:var(--text);background:var(--bg);font-family:Inter,system-ui,-apple-system,sans-serif}body{background:var(--bg);margin:0}main{max-width:720px;margin:auto;padding:2rem 1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:1rem;padding:1.25rem}.connect-card{padding-top:3rem;position:relative}.connect-card .theme-toggle{position:absolute;top:.8rem;right:.8rem}.connect-card .buttons{justify-content:center}.connection-bar{background:var(--surface);border:1px solid var(--border);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.65rem .8rem;display:flex}.connection-actions{white-space:nowrap;align-items:center;gap:.75rem;display:flex}.page-footer{text-align:center;padding:.5rem 0 1rem}.page-footer a{color:var(--accent)}.buttons{flex-wrap:wrap;gap:.75rem;display:flex}button{font:inherit;cursor:pointer;color:var(--text-muted);border:1px solid var(--border);background:0 0;border-radius:8px;padding:.45rem .8rem;line-height:1.2}button:hover:not(:disabled){background:var(--hover);border-color:var(--border-strong);color:var(--text)}button:disabled{cursor:default;opacity:.55}button:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle{align-self:center;padding:.45rem .7rem;font-size:1rem;line-height:1}.hint{color:var(--text-subtle);margin-bottom:0;font-size:.9rem}select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.45rem .5rem}.field,.check{align-items:center;gap:.75rem;margin:.8rem 0;display:flex}.field{grid-template-columns:9rem 1fr;align-items:center;gap:.75rem;margin-bottom:1rem;font-weight:600;display:grid}.field input,.field select{width:8rem;padding:.4rem}.field span{gap:.2rem;display:grid}.field output{color:var(--text-subtle);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:500}.field input[type=range]{width:100%;accent-color:var(--accent);padding:0}.check{align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.check input[type=checkbox]{accent-color:var(--accent)}.saved,.unsaved{font-weight:600}.saved{color:var(--ok)}.unsaved{color:var(--warn)}dl{grid-template-columns:9rem 1fr;gap:.75rem;display:grid}dt{font-weight:600}dd{overflow-wrap:anywhere;margin:0}.warning{border-color:var(--warn-border)}.error{color:var(--danger)}.lighting-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-bottom:1rem;display:grid}.lighting-group h3{margin:0 0 .8rem;font-size:1rem}.lighting-group .field{grid-template-columns:4.5rem 1fr}.wheel{aspect-ratio:1;touch-action:none;cursor:crosshair;background:radial-gradient(circle closest-side,#fff,#fff0),conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border-radius:50%;width:11rem;max-width:100%;margin:0 auto 1rem;position:relative}.wheel.disabled{opacity:.45;cursor:default;pointer-events:none}.wheel-marker{border:2px solid #fff;border-radius:50%;width:.85rem;height:.85rem;margin:-.425rem 0 0 -.425rem;position:absolute;box-shadow:0 0 0 1px #00000073}@media (max-width:32rem){.lighting-groups{grid-template-columns:minmax(0,1fr)}}
