:root{--bg:#f6f7f9;--fg:#14171c;--muted:#5b6370;--panel:#fff;--border:#d9dde3;--accent:#e08e00;--error:#c62828;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1115;--fg:#eef0f3;--muted:#9aa3af;--panel:#181b21;--border:#2b3039;--accent:#ffb020;--error:#ff6b6b}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0}main{max-width:1200px;margin:0 auto;padding:24px 16px 48px}h1{margin:0 0 4px;font-size:1.6rem}.muted{color:var(--muted);margin:0}.controls{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0 8px;display:flex}button,.button{font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--fg);cursor:pointer;border-radius:8px;padding:8px 14px}button:disabled{opacity:.5;cursor:default}.primary{background:var(--accent);border-color:var(--accent);color:#111;font-weight:600}.segmented{display:inline-flex}.segmented button{border-radius:0}.segmented button:first-child{border-radius:8px 0 0 8px}.segmented button:last-child{border-left:none;border-radius:0 8px 8px 0}.segmented button[aria-pressed=true]{background:var(--fg);color:var(--bg)}.status{min-height:1.4em;color:var(--muted)}.error{color:var(--error)}.stage{background:#000;border-radius:8px;width:100%;position:relative;overflow:hidden}.stage video{width:100%;height:auto;display:block}.stage canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}h2{margin:0 0 4px;font-size:1.1rem}h3{margin:16px 0 4px;font-size:1rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;margin:0 0 16px;padding:16px}.mapping{flex-wrap:wrap;gap:12px;margin-top:12px;display:flex}.mapping label{color:var(--muted);flex-direction:column;gap:4px;min-width:0;font-size:.85rem;display:flex}select,input[type=number]{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--fg);border-radius:8px;max-width:100%;padding:6px 8px}input[type=number]{width:6em}.offset{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.widgets{flex-wrap:wrap;align-items:center;gap:6px 16px;margin:0 0 16px;display:flex}.widgets label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.widgets .unavailable{opacity:.45;cursor:default}
