.ou-spectator,.ou-spectator *,.ou-spectator :before,.ou-spectator :after{box-sizing:border-box}.ou-spectator{--sp-glyph-play:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M73 39c-14.8-9.1-33.4-9.4-48.5-.9S0 62.6 0 80L0 432c0 17.4 9.4 33.4 24.5 41.9s33.7 8.1 48.5-.9L361 297c14.3-8.7 23-24.2 23-41s-8.7-32.2-23-41L73 39z'/%3E%3C/svg%3E");--sp-glyph-next:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M52.5 440.6c-9.5 7.9-22.8 9.7-34.1 4.4S0 428.4 0 416L0 96C0 83.6 7.2 72.3 18.4 67s24.5-3.6 34.1 4.4l192 160L256 241l0-145c0-17.7 14.3-32 32-32s32 14.3 32 32l0 320c0 17.7-14.3 32-32 32s-32-14.3-32-32l0-145-11.5 9.6-192 160z'/%3E%3C/svg%3E");--sp-glyph-stop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M0 128C0 92.7 28.7 64 64 64H320c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z'/%3E%3C/svg%3E");--sp-base:inset 0 -2px 0 #00000047;--sp-rim:inset 0 1px 0 var(--w-18);width:100%;color:var(--text-color);gap:14px;font-size:12px;line-height:1.4;display:grid}:where(.ou-spectator) button,:where(.ou-spectator) input,:where(.ou-spectator) a{margin:0;font-family:inherit}:where(.ou-spectator) button:focus-visible,:where(.ou-spectator) input:focus-visible,:where(.ou-spectator) a:focus-visible{outline:var(--focus-outline);outline-offset:1px}.ou-spectator-intro{justify-items:start;gap:10px}.ou-spectator-glyph{border:1px solid var(--w-8);border-radius:var(--radius-md);background:var(--w-6);place-items:center;width:36px;height:36px;display:grid}.ou-spectator-glyph svg{fill:currentColor;width:18px;height:18px}.ou-spectator-title{letter-spacing:-.01em;margin:0;font-size:15px;font-weight:600;line-height:1.3}.ou-spectator-lede{color:var(--text-color-muted);margin:0;font-size:12px;line-height:1.5}.ou-spectator-note{color:var(--text-color-muted);margin:0;font-size:11px;line-height:1.45}.ou-spectator-why{border:1px solid color-mix(in srgb, var(--destructive), transparent 70%);border-radius:var(--radius-md);background:color-mix(in srgb, var(--destructive), transparent 88%);width:100%;color:var(--text-color);margin:0;padding:8px 10px;font-size:11.5px;line-height:1.45}.ou-spectator-cta{border-radius:var(--radius-md);justify-content:center;align-items:center;gap:8px;width:100%;height:38px;margin-top:2px;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:flex}.ou-spectator-join{border-top:1px solid var(--w-6);width:100%;margin-top:4px;padding-top:12px}.ou-spectator-join-row{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.ou-spectator-code-input{border:1px solid var(--w-10);border-radius:var(--radius-sm);background:var(--w-4);width:100%;min-width:0;height:30px;color:var(--text-color);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;padding:0 9px;font-size:12px}.ou-spectator-code-input:hover{border-color:var(--w-15)}.ou-spectator-code-input:placeholder-shown{letter-spacing:normal;font-family:inherit}.ou-spectator-code-input::placeholder{color:var(--text-color-muted);text-transform:none;opacity:1}.ou-spectator-join-btn{border-radius:var(--radius-sm);height:30px;color:var(--text-color);white-space:nowrap;align-items:center;padding:0 14px;font-size:12px;font-weight:600;display:inline-flex}.ou-spectator-sec{gap:8px;display:grid}.ou-spectator-steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.ou-spectator-step{color:var(--text-color-muted);align-items:flex-start;gap:8px;font-size:12px;line-height:1.4;display:flex}.ou-spectator-step[data-done=yes]{color:var(--text-color)}.ou-spectator-step-mark{border:1px solid var(--w-7);border-radius:50%;flex:none;justify-content:center;align-items:center;width:14px;height:14px;margin-top:2px;display:inline-flex}.ou-spectator-step-mark svg{width:10px;height:10px}.ou-spectator-guide{width:fit-content;color:var(--text-color-muted);text-underline-offset:3px;font-size:12px;text-decoration:underline}.ou-spectator-k{color:var(--text-color-muted);font-size:11px;font-weight:600}.ou-spectator-status{border:1px solid var(--w-7);border-radius:var(--radius-md);background:var(--w-4);align-items:center;gap:10px;min-width:0;padding:9px 10px;display:flex}.ou-spectator-status[data-tone=lost]{border-color:color-mix(in srgb, var(--warning-color), transparent 60%);background:color-mix(in srgb, var(--warning-color), transparent 90%)}.ou-spectator-avatar{background:var(--w-10);border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid;position:relative}.ou-spectator-avatar svg{fill:currentColor;width:14px;height:14px}.ou-spectator-avatar:after{content:"";background:var(--warning-color);border-radius:50%;width:9px;height:9px;position:absolute;bottom:-2px;right:-2px;box-shadow:0 0 0 2px #000000b3}.ou-spectator-status[data-tone=on] .ou-spectator-avatar:after{background:var(--success-color)}.ou-spectator-status[data-tone=idle] .ou-spectator-avatar:after{background:var(--text-color-muted)}.ou-spectator-intro .ou-spectator-status,.ou-spectator-intro .ou-spectator-act{width:100%}.ou-spectator-who{flex:auto;min-width:0;display:grid}.ou-spectator-name{font-size:12.5px;font-weight:600;line-height:1.35}.ou-spectator-sub{color:var(--text-color-muted);font-size:11px;line-height:1.4}.ou-spectator-route{border:1px solid var(--w-10);height:22px;color:var(--text-color-muted);white-space:nowrap;border-radius:11px;flex:none;padding:0 8px;font-size:10.5px;font-weight:500;line-height:20px}.ou-spectator-link{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.ou-spectator-code{border:1px solid var(--w-10);border-radius:var(--radius-sm);background:var(--w-4);min-width:0;height:44px;font-family:var(--font-mono);letter-spacing:.24em;text-indent:.24em;-webkit-user-select:all;user-select:all;place-items:center;font-size:20px;font-weight:600;display:grid}.ou-spectator-copy{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:6px;height:44px;padding:0 14px;font-size:12px;font-weight:600;display:inline-flex}.ou-spectator-copy svg{fill:currentColor;width:12px;height:12px}.ou-spectator-seg{border:1px solid var(--w-7);border-radius:var(--radius-md);background:var(--w-5);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:3px;display:grid}.ou-spectator-seg-btn{border-radius:var(--radius-sm);min-width:0;height:28px;color:var(--text-color-muted);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:12px;font-weight:500;overflow:hidden}.ou-spectator-seg-btn:hover{color:var(--text-color)}.ou-spectator-seg-btn.is-on{background:var(--w-12);color:var(--text-color);box-shadow:var(--shadow-sm), inset 0 -2px 0 color-mix(in srgb, var(--base-color), transparent 20%), inset 0 1px 0 var(--w-6);font-weight:600}.ou-spectator-foot{border-top:1px solid var(--w-6);padding-top:12px}.ou-spectator-end{border-radius:var(--radius-md);width:100%;height:32px;color:var(--text-color-muted);justify-content:center;align-items:center;gap:7px;font-size:12px;font-weight:500;display:inline-flex}.ou-spectator .ou-spectator-end:hover:not(:disabled){border-color:color-mix(in srgb, var(--destructive), transparent 45%);background:color-mix(in srgb, var(--destructive), transparent 88%);color:var(--text-color)}.ou-spectator-seg-btn:active{transform:translateY(1px)}.ou-spectator-stats{border:1px solid var(--w-7);border-radius:var(--radius-md);background:var(--w-7);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.ou-spectator-stat{background:var(--w-4);gap:1px;min-width:0;padding:6px 8px;display:grid}.ou-spectator-stat-v{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;overflow:hidden}.ou-spectator-stat-k{color:var(--text-color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.ou-spectator-sides{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.ou-spectator-side{border:1px solid var(--w-7);border-radius:var(--radius-md);background:var(--w-4);grid-template-rows:auto auto 1fr;gap:3px;min-width:0;padding:8px 9px;display:grid}.ou-spectator-side-k{color:var(--text-color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ou-spectator-side-v{align-items:flex-start;gap:6px;min-width:0;font-size:12.5px;font-weight:600;line-height:17px;display:flex}.ou-spectator-side-v>.ou-spectator-dot{margin-top:5px}.ou-spectator-dot{background:var(--text-color-muted);border-radius:50%;flex:none;width:7px;height:7px}.ou-spectator-side[data-chat=searching] .ou-spectator-dot{background:var(--warning-color)}.ou-spectator-side[data-chat=talking] .ou-spectator-dot{background:var(--success-color)}.ou-spectator-side[data-chat=unknown] .ou-spectator-side-v{color:var(--text-color-muted);font-weight:500}.ou-spectator-side-btn,.ou-spectator-act{border-radius:var(--radius-sm);min-width:0;min-height:28px;color:var(--text-color);text-align:center;text-wrap:balance;justify-content:center;align-items:center;gap:6px;margin-top:4px;padding:4px 10px;font-size:12px;font-weight:500;line-height:1.25;display:inline-flex}.ou-spectator-act{min-height:32px;margin-top:0}.ou-spectator-acts .ou-spectator-act{min-height:36px;font-size:12.5px;font-weight:600}.ou-spectator-acts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ou-spectator-more{border-radius:var(--radius-md);width:100%;height:32px;color:var(--text-color-muted);justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.ou-spectator .ou-spectator-more:hover{color:var(--text-color)}.ou-spectator-more svg{fill:currentColor;width:12px;height:12px}.ou-spectator-back{border-radius:var(--radius-sm);height:28px;color:var(--text-color);justify-self:start;padding:0 12px;font-size:12px;font-weight:500}.ou-spectator-fields{border:1px solid var(--w-7);border-radius:var(--radius-md);background:var(--w-5);padding:2px 10px;display:grid}.ou-spectator-fields.ou-spectator-fields>.u-row{border-radius:0;gap:10px;min-height:36px;margin:0;padding:4px 0}.ou-spectator-fields.ou-spectator-fields>.u-row:hover{background:0 0}.ou-spectator-fields>.u-row+.u-row{border-top:1px solid var(--w-6)}.ou-spectator-fields.ou-spectator-fields>.u-row>.u-row__label{white-space:normal;text-overflow:clip;line-height:1.3;overflow:visible}.ou-spectator-fields .range-container{width:110px}.ou-spectator-fields .range-container input[type=range]{width:100%;min-width:0}.ou-spectator-fields .u-select{min-width:96px}.ou-spectator-side-btn,.ou-spectator-act,.ou-spectator-join-btn,.ou-spectator-more,.ou-spectator-back,.ou-spectator-end{border:1px solid var(--w-10);background:var(--w-6);box-shadow:inset 0 1px 0 var(--w-5), var(--sp-base);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast)}.ou-spectator-side-btn:hover:not(:disabled),.ou-spectator-act:hover:not(:disabled),.ou-spectator-join-btn:hover:not(:disabled),.ou-spectator-more:hover,.ou-spectator-back:hover,.ou-spectator-end:hover:not(:disabled){border-color:var(--w-18);background:var(--w-10)}.ou-spectator-cta,.ou-spectator-copy,.ou-spectator .ou-spectator-act[data-act=next]{background:var(--accent-fill-gradient);color:#fff;box-shadow:var(--sp-rim), var(--sp-base), 0 4px 14px -3px color-mix(in srgb, var(--base-color), transparent 50%), 0 2px 6px #0000004d;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);border:1px solid #0000;position:relative;overflow:hidden}.ou-spectator-join:has(.ou-spectator-code-input:not(:placeholder-shown)) .ou-spectator-join-btn{background:var(--accent-fill-gradient);color:#fff;box-shadow:var(--sp-rim), var(--sp-base), 0 4px 14px -3px color-mix(in srgb, var(--base-color), transparent 50%), 0 2px 6px #0000004d;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);border:1px solid #0000;position:relative;overflow:hidden}.ou-spectator .ou-spectator-act[data-act=stop]{background:var(--accent-2-fill-gradient);color:#fff;box-shadow:inset 0 1px 0 var(--w-12), var(--sp-base), 0 4px 12px -3px color-mix(in srgb, var(--accent-2), transparent 55%), 0 2px 6px #0000004d;transition:transform var(--transition-fast), box-shadow var(--transition-fast), filter var(--transition-fast);border:1px solid #0000}.ou-spectator-cta:hover,.ou-spectator-copy:hover,.ou-spectator .ou-spectator-act[data-act=next]:hover:not(:disabled){background:var(--accent-fill-gradient);color:#fff;filter:brightness(1.06);box-shadow:var(--sp-rim), var(--sp-base), 0 8px 22px -4px color-mix(in srgb, var(--base-color), transparent 38%), 0 4px 10px #00000057;border-color:#0000;transform:translateY(-1px)}.ou-spectator-join:has(.ou-spectator-code-input:not(:placeholder-shown)) .ou-spectator-join-btn:hover{background:var(--accent-fill-gradient);color:#fff;filter:brightness(1.06);box-shadow:var(--sp-rim), var(--sp-base), 0 8px 22px -4px color-mix(in srgb, var(--base-color), transparent 38%), 0 4px 10px #00000057;border-color:#0000;transform:translateY(-1px)}.ou-spectator .ou-spectator-act[data-act=stop]:hover:not(:disabled){background:var(--accent-2-fill-gradient);filter:brightness(1.08);box-shadow:inset 0 1px 0 var(--w-12), var(--sp-base), 0 8px 20px -4px color-mix(in srgb, var(--accent-2), transparent 45%), 0 4px 10px #00000057;border-color:#0000;transform:translateY(-1px)}.ou-spectator.ou-spectator :is(.ou-spectator-cta,.ou-spectator-copy,.ou-spectator-join-btn,.ou-spectator-side-btn,.ou-spectator-act,.ou-spectator-more,.ou-spectator-back,.ou-spectator-end):active:not(:disabled){filter:none;box-shadow:inset 0 1px 0 var(--w-8), 0 1px 2px #0000004d;transform:translateY(1px)}.ou-spectator .ou-spectator-side-btn:disabled,.ou-spectator .ou-spectator-act:disabled{border-color:var(--w-10);background:var(--w-4);color:var(--text-color-muted);filter:none;box-shadow:none;cursor:default;transform:none}.ou-spectator-cta:after,.ou-spectator-copy:after,.ou-spectator .ou-spectator-act[data-act=next]:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:linear-gradient(100deg,#0000 38%,#ffffff29 50%,#0000 62%) 200% 0/220% 100% no-repeat;transition:opacity .14s linear,background-position .7s linear;position:absolute;inset:0}.ou-spectator-join:has(.ou-spectator-code-input:not(:placeholder-shown)) .ou-spectator-join-btn:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:linear-gradient(100deg,#0000 38%,#ffffff29 50%,#0000 62%) 200% 0/220% 100% no-repeat;transition:opacity .14s linear,background-position .7s linear;position:absolute;inset:0}.ou-spectator-cta:hover:after,.ou-spectator-copy:hover:after,.ou-spectator .ou-spectator-act[data-act=next]:hover:not(:disabled):after{opacity:1;background-position:-100% 0}.ou-spectator-join:has(.ou-spectator-code-input:not(:placeholder-shown)) .ou-spectator-join-btn:hover:after{opacity:1;background-position:-100% 0}.ou-spectator [data-spectator=start]:before,.ou-spectator [data-ends]:before,.ou-spectator button[data-act]:before{content:"";width:10px;height:10px;-webkit-mask:var(--sp-glyph) no-repeat center / contain;-webkit-mask:var(--sp-glyph) no-repeat center / contain;mask:var(--sp-glyph) no-repeat center / contain;background-color:currentColor;flex:none}.ou-spectator [data-spectator=start],.ou-spectator [data-act=start]{--sp-glyph:var(--sp-glyph-play)}.ou-spectator [data-act=next]{--sp-glyph:var(--sp-glyph-next)}.ou-spectator [data-ends],.ou-spectator [data-act=stop]{--sp-glyph:var(--sp-glyph-stop)}.ou-spectator [data-ends]:before,.ou-spectator button[data-act=stop]:before{width:11px;height:11px}.ou-spectator-cta:before,.ou-spectator-acts .ou-spectator-act:before{width:12px;height:12px}@media (prefers-reduced-motion:reduce){.ou-spectator button,.ou-spectator a{transition:none!important}.ou-spectator button:hover,.ou-spectator a:hover{transform:none!important}.ou-spectator :is(.ou-spectator-cta,.ou-spectator-copy,.ou-spectator-act,.ou-spectator-join-btn):after{display:none!important}}
