:root{color-scheme:light dark;--bg: #f2f2f7;--bg-elevated: #ffffff;--bg-sunken: #e4e4ec;--text: #1c1c1e;--text-secondary: #62626c;--text-tertiary: #6c6c72;--separator: rgb(60 60 67 / .16);--separator-strong: rgb(60 60 67 / .28);--field-border: #8a8a8f;--accent: #0a68d8;--accent-text: #ffffff;--danger: #c9291f;--success: #1c7a3e;--warning: #9a6212;--field-bg: #ffffff;--stage-bg: #0b0b0d;--on-stage: #f5f5f7;--on-stage-secondary: #b8b8c0;--radius-s: 8px;--radius-m: 12px;--radius-l: 18px;--shadow-card: 0 1px 2px rgb(0 0 0 / .06), 0 8px 28px rgb(0 0 0 / .08);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Noto Sans JP", "Yu Gothic UI", sans-serif;--duration: .22s;--ease: cubic-bezier(.32, .72, 0, 1)}@media(prefers-color-scheme:dark){:root{--bg: #000000;--bg-elevated: #1c1c1e;--bg-sunken: #2c2c2e;--text: #f5f5f7;--text-secondary: #a1a1a8;--text-tertiary: #8e8e95;--separator: rgb(235 235 245 / .18);--separator-strong: rgb(235 235 245 / .32);--field-border: #7a7a80;--accent: #4e9cf6;--accent-text: #06121f;--danger: #ff6961;--success: #47d16c;--warning: #f0b429;--field-bg: #1c1c1e;--stage-bg: #000000;--shadow-card: 0 1px 2px rgb(0 0 0 / .5), 0 12px 32px rgb(0 0 0 / .6)}}@media(prefers-color-scheme:light)and (prefers-contrast:more){:root{--separator: rgb(60 60 67 / .5);--text-secondary: #3a3a40;--text-tertiary: #4a4a50;--field-border: #6c6c72}}@media(prefers-color-scheme:dark)and (prefers-contrast:more){:root{--separator: rgb(235 235 245 / .5);--text-secondary: #c7c7cc;--text-tertiary: #aeaeb2;--field-border: #aeaeb2}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-s)}.view-join{display:grid;place-items:center;min-height:100%;padding:max(24px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom))}.join-card{width:min(100%,460px);background:var(--bg-elevated);border-radius:var(--radius-l);box-shadow:var(--shadow-card);padding:32px 28px 24px}.join-header{margin-bottom:28px}.app-title{margin:0;font-size:2.125rem;font-weight:700;letter-spacing:-.02em}.app-tagline{margin:4px 0 0;color:var(--text-secondary);font-size:.9375rem}.form{display:grid;gap:22px}.field{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0}.field-label{font-size:.875rem;font-weight:600;color:var(--text);padding:0}.field-hint{margin:0;font-size:.8125rem;color:var(--text-secondary)}.field-hint,.segment-detail,.stage-status-body,.join-footnote,.banner-text,.inline-error{word-break:auto-phrase;text-wrap:pretty}.text-input{font:inherit;color:var(--text);background:var(--field-bg);border:1px solid var(--field-border);border-radius:var(--radius-m);padding:11px 13px;width:100%;transition:border-color var(--duration) var(--ease)}.text-input:focus{border-color:var(--accent)}.text-input[aria-invalid=true]{border-color:var(--danger)}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:8px}.segment{position:relative;display:block;cursor:pointer}.segment input{position:absolute;opacity:0;width:1px;height:1px}.segment-body{display:grid;gap:2px;padding:12px;border:1px solid var(--field-border);border-radius:var(--radius-m);background:var(--bg-elevated);transition:border-color var(--duration) var(--ease),background-color var(--duration) var(--ease),transform var(--duration) var(--ease)}.segment input:checked+.segment-body{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-elevated))}.segment input:checked+.segment-body .segment-title{font-weight:700}.segment input:focus-visible+.segment-body{outline:2px solid var(--accent);outline-offset:2px}.segment:active .segment-body{transform:scale(.98)}.segment:has(input:disabled){cursor:default}.segment input:disabled+.segment-body{opacity:.45}.segment:has(input:disabled):active .segment-body{transform:none}.segment-title{font-size:.9375rem;font-weight:500}.segment-detail{font-size:.8125rem;color:var(--text-secondary)}.button{font:inherit;font-weight:600;border:1px solid transparent;border-radius:var(--radius-m);padding:12px 18px;cursor:pointer;min-height:44px;transition:opacity var(--duration) var(--ease),background-color var(--duration) var(--ease),transform var(--duration) var(--ease)}.button:disabled{opacity:.45;cursor:default}.button:not(:disabled):active{transform:scale(.98)}.button-primary{background:var(--accent);color:var(--accent-text)}.button-quiet{background:transparent;color:var(--accent);border-color:var(--separator-strong)}.button-destructive{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,transparent)}@media(hover:hover){.button-primary:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 88%,black)}.button-quiet:not(:disabled):hover,.button-destructive:not(:disabled):hover{background:color-mix(in srgb,currentColor 8%,transparent)}}.inline-error{margin:0;padding:10px 12px;border-radius:var(--radius-m);background:color-mix(in srgb,var(--danger) 12%,var(--bg-elevated));border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger);font-size:.875rem}.join-footnote{margin:20px 0 0;font-size:.8125rem;color:var(--text-tertiary);text-align:center}.view-room{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;height:100dvh}.room-bar{grid-row:1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:6px 16px;padding-top:max(6px,env(safe-area-inset-top));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));border-bottom:1px solid var(--separator);background:var(--bg-elevated)}.room-bar .button,.banner .button{padding-block:6px;min-height:36px}.room-name{margin:0;font-size:1.0625rem;font-weight:600}.room-meta{margin:0;display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-secondary)}.banner{grid-row:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding:6px 16px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));background:var(--bg-sunken);border-bottom:1px solid var(--separator);align-self:start}.banner-text{margin:0;font-size:.8125rem;color:var(--text);flex:1 1 260px}.banner-actions{display:flex;gap:8px;flex:none}.invite-text{flex:1 1 100%;font-size:.8125rem;resize:none}.indicator{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary);flex:none}.indicator[data-state=connecting]{background:var(--warning)}.indicator[data-state=connected]{background:var(--success)}.indicator[data-state=error],.indicator[data-state=offline]{background:var(--danger)}.stage{grid-row:3;position:relative;display:grid;place-items:center;background:var(--stage-bg);min-height:0;overflow:hidden}:fullscreen.stage-idle{cursor:none}.stage.stage-idle .stage-toolbar:not(:focus-within),.stage.stage-idle .stage-chip:not(:focus-within){opacity:0;pointer-events:none}.stage-video{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;background:var(--stage-bg)}.stage-status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;align-content:center;justify-items:center;gap:8px;padding:24px;text-align:center;color:var(--on-stage);pointer-events:none}.stage-status>*{pointer-events:auto}.stage-status-title{margin:0;font-size:1.1875rem;font-weight:600}.stage-status-body{margin:0;max-width:46ch;font-size:.875rem;color:var(--on-stage-secondary)}.stage-status-actions{display:flex;gap:10px;margin-top:8px;flex-wrap:wrap;justify-content:center}.stage-status .button-quiet{color:var(--on-stage);border-color:#ffffff59}.stage-toolbar{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:12px;display:flex;gap:8px;transition:opacity var(--duration) var(--ease)}.stage-toolbar button,.stage-chip,.stage-prompt{background:#1212148c;-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);color:#fff;border:1px solid rgb(255 255 255 / .12)}.stage-toolbar button{font:inherit;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;cursor:pointer}.stage-toolbar button:hover{background:#121214b8}.stage-chip{position:absolute;top:12px;left:50%;display:flex;align-items:center;height:32px;padding:0 6px 0 12px;border-radius:999px;font-size:.8125rem;font-weight:500;transform:translate(-50%);transition:opacity var(--duration) var(--ease);white-space:nowrap}.stage-chip button{position:relative;height:28px;padding:0 8px;border:0;border-radius:999px;background:transparent;color:inherit;font:inherit;cursor:pointer}.stage-chip button:after{content:"";position:absolute;top:-8px;right:-4px;bottom:-8px;left:-4px}.stage-chip button:hover{background:#ffffff1f}.stage-prompt{position:absolute;top:50%;left:50%;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font:inherit;font-size:.9375rem;transform:translate(-50%,-50%);cursor:pointer}.stage-toolbar button:focus-visible,.stage-chip button:focus-visible,.stage-prompt:focus-visible{outline:2px solid #fff}.stage-toolbar button:active,.stage-chip button:active{transform:scale(.96)}.stage-prompt:active{transform:translate(-50%,-50%) scale(.96)}.controls{grid-row:4;display:grid;gap:12px;padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));border-top:1px solid var(--separator);background:var(--bg-elevated);min-height:0;max-height:46vh;overflow-y:auto;overscroll-behavior:contain}.controls-group{display:grid;gap:16px;grid-template-columns:auto minmax(240px,1fr) minmax(200px,1fr);align-items:end}.control-block{display:grid;gap:6px;margin:0;padding:0;border:0;min-width:0}.control-block-actions{align-self:center}.control-legend{font-size:.8125rem;font-weight:600;padding:0;display:flex;gap:8px;align-items:baseline}.control-legend output{font-weight:500;color:var(--text-secondary);font-variant-numeric:tabular-nums}.slider{width:100%;accent-color:var(--accent);min-height:28px}.segmented-compact .segment-body{padding:8px 10px}.audio-exclusion-disabled{opacity:.55}.audio-exclusion-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.audio-exclusion-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--separator);border-radius:var(--radius-m);background:var(--bg-elevated)}.audio-exclusion-item-label{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;cursor:pointer;min-width:0}.audio-exclusion-item-label input{accent-color:var(--accent);width:18px;height:18px;flex:none}.audio-exclusion-item-label input:disabled{opacity:.45}.audio-exclusion-add{display:flex;gap:8px;align-items:center}.audio-exclusion-add .text-input{flex:1 1 auto;min-width:0}.button-small{padding:6px 12px;min-height:32px;font-size:.8125rem}.stats{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0}.controls-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 22px}.stat{display:flex;gap:6px;align-items:baseline;font-size:.8125rem}.stat dt{color:var(--text-secondary)}.stat dd{margin:0;font-variant-numeric:tabular-nums}.toggle{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;min-height:44px}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle-track{flex:none;width:40px;height:24px;border-radius:999px;background:var(--bg-sunken);border:1px solid var(--field-border);position:relative;transition:background-color var(--duration) var(--ease)}.toggle-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--bg-elevated);box-shadow:0 1px 2px #0000004d;transition:transform var(--duration) var(--ease)}.toggle input:checked+.toggle-track{background:var(--accent);border-color:var(--accent)}.toggle input:checked+.toggle-track .toggle-thumb{transform:translate(16px);background:var(--accent-text)}.toggle input:focus-visible+.toggle-track{outline:2px solid var(--accent);outline-offset:2px}.toggle-text{font-size:.8125rem;font-weight:600;color:var(--text)}.debug-body{display:grid;gap:12px}.debug-stats{display:flex;flex-wrap:wrap;gap:8px 22px;margin:0}.debug-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:720px){.controls-group{grid-template-columns:1fr;align-items:stretch}.join-card{padding:24px 20px 20px}.join-header{margin-bottom:16px}.form{gap:16px}}@media(max-width:359px){.segmented{grid-template-columns:1fr}}@media(pointer:coarse){.room-bar .button,.banner .button{min-height:44px}body:not(.debug-enabled) .controls-top .toggle{display:none}.stage-toolbar button{width:44px;height:44px}.button-small{min-height:44px}}@media(orientation:landscape)and (max-height:500px)and (pointer:coarse){.banner{display:none}.room-bar{padding-top:max(4px,env(safe-area-inset-top));padding-bottom:4px}.room-name{font-size:.9375rem}.controls{gap:6px;padding:6px 12px;padding-bottom:max(6px,env(safe-area-inset-bottom));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.controls-group,.control-block{gap:6px}}@media(prefers-reduced-transparency:reduce){.stage-toolbar button,.stage-chip,.stage-prompt{-webkit-backdrop-filter:none;backdrop-filter:none;background:#121214eb}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
