.spectator.svelte-1ueuy0j{width:100%;position:relative}.controls.svelte-at1vps{border-top:1px solid var(--color-border);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.control.svelte-at1vps{align-items:center;gap:.4rem;display:flex}.label.svelte-at1vps{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;font-size:.65rem}.select.svelte-at1vps{font-family:var(--font-serif);background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:2px;padding:.2rem .4rem;font-size:.75rem}input[type=range].svelte-at1vps{width:80px;accent-color:var(--color-accent)}.value.svelte-at1vps{color:var(--color-text-muted);min-width:40px;font-size:.65rem}.note-history.svelte-1x7r4dx{justify-content:center;gap:.35rem;max-width:100%;padding:.4rem 0;display:flex;overflow:hidden}.note.svelte-1x7r4dx{color:var(--color-accent-dim);letter-spacing:.03em;white-space:nowrap;font-size:.65rem;transition:opacity .2s}.pedals.svelte-1kq9dq3{justify-content:center;gap:1.5rem;padding:.5rem 0;display:flex}.pedal.svelte-1kq9dq3{opacity:.3;flex-direction:column;align-items:center;gap:.2rem;transition:opacity .15s;display:flex}.pedal.active.svelte-1kq9dq3{opacity:1}.pedal-bar.svelte-1kq9dq3{background:var(--color-accent-dim);border-radius:2px;width:20px;height:4px;transition:background .15s}.pedal.active.svelte-1kq9dq3 .pedal-bar:where(.svelte-1kq9dq3){background:var(--color-accent)}.pedal-label.svelte-1kq9dq3{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:.55rem}.conn-quality.svelte-24039e{align-items:center;gap:.3rem;display:flex}.dot.svelte-24039e{border-radius:50%;width:5px;height:5px}.label.svelte-24039e{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.6rem}.invite.svelte-18oyqzh{padding:.5rem 0}.generate-btn.svelte-18oyqzh{font-family:var(--font-serif);color:var(--color-accent-dim);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-smooth);background:0 0;border-radius:2px;padding:.3rem .8rem;font-size:.75rem}.generate-btn.svelte-18oyqzh:hover{border-color:var(--color-accent);color:var(--color-accent)}.invite-link.svelte-18oyqzh{align-items:center;gap:.5rem;display:flex}.invite-url.svelte-18oyqzh{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.copy-btn.svelte-18oyqzh{font-family:var(--font-serif);color:var(--color-accent-dim);border:1px solid var(--color-border);cursor:pointer;white-space:nowrap;transition:all var(--transition-smooth);background:0 0;border-radius:2px;padding:.2rem .5rem;font-size:.7rem}.copy-btn.svelte-18oyqzh:hover{border-color:var(--color-accent);color:var(--color-accent)}.visualizer.svelte-13dny6r{opacity:.4;pointer-events:none;width:100%;height:40px;display:block}.velocity-meter.svelte-1mqjswd{flex-direction:column;align-items:center;gap:.2rem;display:flex}.meter-bar.svelte-1mqjswd{background:var(--color-border);border-radius:2px;width:4px;height:40px;position:relative;overflow:hidden}.meter-fill.svelte-1mqjswd{background:var(--color-accent);border-radius:2px;width:100%;transition:height 80ms;position:absolute;bottom:0}.meter-label.svelte-1mqjswd{color:var(--color-accent-dim);font-size:.55rem;font-style:italic}.vu-meter.svelte-1iv957b{align-items:center;gap:.3rem;display:flex}.vu-label.svelte-1iv957b{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:.55rem}.vu-bars.svelte-1iv957b{align-items:flex-end;gap:2px;height:14px;display:flex}.vu-bar.svelte-1iv957b{background:var(--color-border);border-radius:1px;width:3px;height:100%;transition:background 80ms}.vu-bar.active.svelte-1iv957b{background:var(--color-accent-dim)}.vu-bar.hot.svelte-1iv957b{background:#e8a060}.looper.svelte-1eoiupw{align-items:center;gap:.35rem;display:flex}.looper-label.svelte-1eoiupw{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em;font-size:.55rem}.loop-btn.svelte-1eoiupw{font-family:var(--font-serif);color:var(--color-accent-dim);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:2px;align-items:center;gap:.3rem;padding:.2rem .5rem;font-size:.68rem;display:flex}.loop-btn.svelte-1eoiupw:hover{border-color:var(--color-accent);color:var(--color-accent)}.loop-btn.recording.svelte-1eoiupw{border-color:var(--color-danger);color:var(--color-danger)}.loop-btn.looping.svelte-1eoiupw{border-color:var(--color-success);color:var(--color-success)}.loop-btn.secondary.svelte-1eoiupw{color:var(--color-text-faint);border-color:#0000}.loop-btn.secondary.svelte-1eoiupw:hover{color:var(--color-text-muted);border-color:var(--color-border)}.rec-dot.svelte-1eoiupw{background:var(--color-danger);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite svelte-1eoiupw-pulse}@keyframes svelte-1eoiupw-pulse{0%,to{opacity:1}50%{opacity:.3}}.session-timer.svelte-1eh1xa4{color:var(--color-text-faint);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:.65rem}.ambient-sounds.svelte-1t6f207{align-items:center;gap:.4rem;display:flex}.ambient-label.svelte-1t6f207{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-size:.55rem}.ambient-pills.svelte-1t6f207{gap:2px;display:flex}.ambient-pill.svelte-1t6f207{font-family:var(--font-serif);color:var(--color-text-faint);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;border-radius:2px;padding:.15rem .4rem;font-size:.6rem}.ambient-pill.svelte-1t6f207:hover{color:var(--color-text-muted);border-color:var(--color-border)}.ambient-pill.active.svelte-1t6f207{color:var(--color-accent-dim);border-color:var(--color-accent-dim);background:#e8d5b70d}.practice-mode.svelte-5kfljr{align-items:center;display:flex}.practice-bar.svelte-5kfljr{background:#4ade800f;border:1px solid #4ade8033;border-radius:2px;align-items:center;gap:.6rem;padding:.25rem .6rem;display:flex}.pm-label.svelte-5kfljr{color:var(--color-success);text-transform:uppercase;letter-spacing:.06em;font-size:.55rem}.pm-timer.svelte-5kfljr{color:var(--color-success);font-variant-numeric:tabular-nums;font-size:.8rem}.pm-notes.svelte-5kfljr{color:var(--color-text-muted);font-size:.65rem}.pm-stop.svelte-5kfljr{font-family:var(--font-serif);color:var(--color-success);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #4ade804d;border-radius:2px;padding:.15rem .5rem;font-size:.6rem}.pm-stop.svelte-5kfljr:hover{border-color:var(--color-success);background:#4ade801a}.pm-start.svelte-5kfljr{font-family:var(--font-serif);color:var(--color-text-faint);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);background:0 0;border-radius:2px;padding:.2rem .6rem;font-size:.65rem}.pm-start.svelte-5kfljr:hover{border-color:var(--color-success);color:var(--color-success)}.tip-overlay.svelte-vqcle1{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.tip-modal.svelte-vqcle1{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;width:100%;max-width:360px;box-shadow:var(--shadow-soft), 0 0 50px #d4b8960a;padding:2rem}.tip-title.svelte-vqcle1{color:var(--color-accent);margin-bottom:.15rem;font-size:1.1rem;font-weight:400}.tip-subtitle.svelte-vqcle1{color:var(--color-text-faint);margin-bottom:1.5rem;font-size:.8rem;font-style:italic}.preset-row.svelte-vqcle1{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-bottom:1rem;display:flex}.preset-btn.svelte-vqcle1{font-family:var(--font-serif);background:var(--color-bg);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);min-width:52px;padding:.5rem .9rem;font-size:.85rem}.preset-btn.svelte-vqcle1:hover{border-color:var(--color-accent-dim);color:var(--color-accent)}.preset-btn.selected.svelte-vqcle1{background:var(--color-accent-glow);border-color:var(--color-accent);color:var(--color-accent)}.custom-input-wrap.svelte-vqcle1{justify-content:center;align-items:center;gap:.3rem;margin-bottom:.5rem;display:flex}.currency-sign.svelte-vqcle1{color:var(--color-accent);font-size:1.1rem}.custom-input.svelte-vqcle1{font-family:var(--font-serif);text-align:center;background:var(--color-bg);width:80px;color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;padding:.4rem;font-size:1.2rem}.custom-input.svelte-vqcle1:focus{border-color:var(--color-accent-dim)}.tip-error-box.svelte-vqcle1{border-radius:var(--radius-sm);background:#d970700f;border:1px solid #d9707026;margin-bottom:1rem;padding:.75rem}.tip-error.svelte-vqcle1{color:var(--color-error);margin-bottom:.5rem;font-size:.78rem}.retry-btn.svelte-vqcle1{font-family:var(--font-serif);color:var(--color-error);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #d970704d;padding:.45rem 1.2rem;font-size:.82rem}.retry-btn.svelte-vqcle1:hover:not(:disabled){border-color:var(--color-error);background:#d970701a}.retry-btn.svelte-vqcle1:disabled{opacity:.4;cursor:not-allowed}.tip-btn.svelte-vqcle1{font-family:var(--font-serif);background:var(--color-accent);width:100%;color:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;letter-spacing:.04em;transition:all var(--transition-smooth);padding:.8rem;font-size:.95rem;box-shadow:0 2px 12px #d4b89633}.tip-btn.svelte-vqcle1:hover:not(:disabled){background:var(--color-accent-bright);transform:translateY(-1px);box-shadow:0 4px 20px #d4b8964d}.tip-btn.svelte-vqcle1:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.tip-note.svelte-vqcle1{color:var(--color-text-faint);margin-top:.75rem;font-size:.62rem}.webrtc-toggle.svelte-w6qwv8{display:inline-flex}.rtc-btn.svelte-w6qwv8{font-family:var(--font-serif);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-smooth);opacity:.6;background:0 0;border-radius:2px;align-items:center;gap:.3rem;padding:.15rem .5rem;font-size:.6rem;display:flex}.rtc-btn.svelte-w6qwv8:hover{opacity:1;border-color:var(--color-accent-dim);color:var(--color-accent-dim)}.rtc-btn.active.svelte-w6qwv8{opacity:1;border-color:var(--color-success);color:var(--color-success)}.rtc-btn.connecting.svelte-w6qwv8{opacity:1;border-color:var(--color-accent-dim);color:var(--color-accent-dim)}.rtc-btn.failed.svelte-w6qwv8{opacity:.8;border-color:var(--color-danger);color:var(--color-danger)}.rtc-dot.svelte-w6qwv8{background:currentColor;border-radius:50%;width:5px;height:5px}.rtc-btn.active.svelte-w6qwv8 .rtc-dot:where(.svelte-w6qwv8){animation:2s ease-in-out infinite svelte-w6qwv8-rtc-pulse}.rtc-btn.connecting.svelte-w6qwv8 .rtc-dot:where(.svelte-w6qwv8){animation:.8s ease-in-out infinite svelte-w6qwv8-rtc-pulse}@keyframes svelte-w6qwv8-rtc-pulse{0%,to{opacity:1}50%{opacity:.3}}.rtc-label.svelte-w6qwv8{letter-spacing:.03em}.room-not-found.svelte-19zp3mw{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:4rem 2rem;display:flex}.nf-title.svelte-19zp3mw{color:var(--color-accent);margin-bottom:.5rem;font-size:1.6rem;font-weight:400}.nf-text.svelte-19zp3mw{color:var(--color-text-muted);margin-bottom:2rem;font-size:.9rem;font-style:italic}.nf-actions.svelte-19zp3mw{gap:1rem;display:flex}.nf-btn.svelte-19zp3mw{font-family:var(--font-serif);border:1px solid var(--color-border);color:var(--color-text-muted);transition:all var(--transition-fast);border-radius:2px;padding:.5rem 1.2rem;font-size:.82rem;text-decoration:none}.nf-btn.svelte-19zp3mw:hover{border-color:var(--color-accent-dim);color:var(--color-accent)}.nf-primary.svelte-19zp3mw{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.nf-primary.svelte-19zp3mw:hover{background:var(--color-accent-bright)}.share-banner.svelte-19zp3mw{border-bottom:1px solid var(--color-border);background:#e8d5b70f;align-items:center;gap:.75rem;padding:.6rem 1rem;animation:.3s svelte-19zp3mw-fade-in;display:flex}@keyframes svelte-19zp3mw-fade-in{0%{opacity:0}}.share-banner-text.svelte-19zp3mw{color:var(--color-text-muted);flex:1;font-size:.78rem}.share-banner-btn.svelte-19zp3mw{font-family:var(--font-serif);background:var(--color-accent);color:var(--color-bg);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;border-radius:2px;padding:.3rem .8rem;font-size:.75rem}.share-banner-btn.svelte-19zp3mw:hover{background:var(--color-accent-bright)}.share-banner-close.svelte-19zp3mw{color:var(--color-text-faint);cursor:pointer;background:0 0;border:none;padding:0 .3rem;font-size:1.1rem;line-height:1}.share-banner-close.svelte-19zp3mw:hover{color:var(--color-text-muted)}.room.svelte-19zp3mw{flex-direction:column;min-height:100vh;display:flex}.room-header.svelte-19zp3mw{border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);background:#06060e99;align-items:center;gap:.75rem;padding:.65rem 1.5rem;display:flex}.back.svelte-19zp3mw{color:var(--color-text-faint);transition:color var(--transition-fast);padding:.2rem .4rem;font-size:1rem;text-decoration:none}.back.svelte-19zp3mw:hover{color:var(--color-accent)}.room-info.svelte-19zp3mw{flex:1;align-items:baseline;gap:.75rem;display:flex}.room-name.svelte-19zp3mw{letter-spacing:.04em;color:var(--color-text);font-size:1.1rem;font-weight:400}.room-desc.svelte-19zp3mw{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:.7rem;font-style:italic;overflow:hidden}.edit-name-btn.svelte-19zp3mw{color:var(--color-text-muted);cursor:pointer;opacity:.5;transition:opacity var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:.1rem .25rem;font-size:.75rem}.stats-link.svelte-19zp3mw{opacity:.5;transition:opacity var(--transition-fast);padding:.1rem .25rem;font-size:.75rem;text-decoration:none}.stats-link.svelte-19zp3mw:hover{opacity:1}.edit-name-btn.svelte-19zp3mw:hover{opacity:1;color:var(--color-accent)}.bookmark-btn.svelte-19zp3mw{color:var(--color-text-muted);cursor:pointer;opacity:.6;transition:opacity var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:.1rem .3rem;font-size:.85rem}.bookmark-btn.svelte-19zp3mw:hover{opacity:1;color:var(--color-accent)}.bookmark-btn.active.svelte-19zp3mw{color:var(--color-accent);opacity:1}.name-edit-group.svelte-19zp3mw{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.name-input.svelte-19zp3mw{font-family:var(--font-serif);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:2px;width:10rem;padding:.2rem .4rem;font-size:.95rem}.name-input.svelte-19zp3mw:focus{border-color:var(--color-accent-dim);outline:none}.desc-input.svelte-19zp3mw{font-family:var(--font-serif);background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:2px;width:12rem;padding:.2rem .4rem;font-size:.7rem}.desc-input.svelte-19zp3mw:focus{border-color:var(--color-accent-dim);outline:none}.name-save.svelte-19zp3mw,.name-cancel.svelte-19zp3mw{font-family:var(--font-serif);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);border-radius:2px;padding:.15rem .4rem;font-size:.65rem}.name-save.svelte-19zp3mw{color:var(--color-accent);border-color:var(--color-accent-dim);background:0 0}.name-save.svelte-19zp3mw:hover:not(:disabled){background:var(--color-accent);color:var(--color-bg)}.name-save.svelte-19zp3mw:disabled{opacity:.5;cursor:default}.name-cancel.svelte-19zp3mw{color:var(--color-text-muted);background:0 0}.name-cancel.svelte-19zp3mw:hover{color:var(--color-text);border-color:var(--color-text-muted)}.room-mode.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-accent-dim);text-transform:lowercase;border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-smooth);background:0 0;border-radius:2px;padding:.15rem .5rem;font-size:.75rem;font-style:italic}.room-mode.svelte-19zp3mw:hover{border-color:var(--color-accent-dim);color:var(--color-accent)}.performer-tag.svelte-19zp3mw{color:var(--color-text-muted);font-size:.65rem;font-style:italic}.performer-tag.performing.svelte-19zp3mw{color:var(--color-accent);letter-spacing:.04em;font-style:normal}.stage-claim.svelte-19zp3mw,.stage-release.svelte-19zp3mw{font-family:var(--font-serif);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-smooth);letter-spacing:.04em;background:0 0;border-radius:2px;padding:.2rem .7rem;font-size:.72rem}.stage-claim.svelte-19zp3mw{color:var(--color-accent);border-color:var(--color-accent-dim);background:#e8d5b70a}.stage-claim.svelte-19zp3mw:hover{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.stage-release.svelte-19zp3mw{color:var(--color-text-muted)}.stage-release.svelte-19zp3mw:hover{color:var(--color-text);border-color:var(--color-accent-dim)}.chat-toggle.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-smooth);background:0 0;border-radius:2px;padding:.2rem .6rem;font-size:.7rem}.chat-toggle.svelte-19zp3mw:hover{border-color:var(--color-accent-dim);color:var(--color-accent)}.chat-toggle.active.svelte-19zp3mw{color:var(--color-accent);border-color:var(--color-accent-dim)}.perf-btn.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-accent);border:1px solid var(--color-accent-dim);cursor:pointer;transition:all var(--transition-smooth);letter-spacing:.06em;text-transform:uppercase;background:0 0;border-radius:2px;padding:.2rem .7rem;font-size:.7rem}.perf-btn.svelte-19zp3mw:hover{background:var(--color-accent);color:var(--color-bg)}.perf-exit.svelte-19zp3mw{z-index:1000;font-family:var(--font-serif);color:var(--color-accent-dim);border:1px solid var(--color-border);cursor:pointer;letter-spacing:.05em;opacity:.5;transition:opacity var(--transition-fast), color var(--transition-fast);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a14b3;border-radius:2px;padding:.3rem .7rem;font-size:.7rem;position:fixed;top:.85rem;right:.85rem}.perf-exit.svelte-19zp3mw:hover{opacity:1;color:var(--color-accent)}.room.perf-mode.svelte-19zp3mw{background:#05050a;min-height:100vh}.room.perf-mode.svelte-19zp3mw .room-header,.room.perf-mode.svelte-19zp3mw .visualizer-strip,.room.perf-mode.svelte-19zp3mw .room-footer,.room.perf-mode.svelte-19zp3mw .share-banner,.room.perf-mode.svelte-19zp3mw .share-panel-bar,.room.perf-mode.svelte-19zp3mw .spectator-actions,.room.perf-mode.svelte-19zp3mw .room-chat-panel{display:none!important}.room.perf-mode.svelte-19zp3mw .room-stage{justify-content:flex-end;min-height:100vh;padding:0!important}.room.perf-mode.svelte-19zp3mw .vignette{opacity:.3}.room.perf-mode.svelte-19zp3mw .stage-glow{opacity:1.5}.room-chat-panel.svelte-19zp3mw{background:var(--color-bg);border-left:1px solid var(--color-border);flex-direction:column;flex-shrink:0;width:300px;display:flex}.chat-panel-header.svelte-19zp3mw{border-bottom:1px solid var(--color-border);font-family:var(--font-serif);color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.78rem;display:flex}.chat-close.svelte-19zp3mw{color:var(--color-text-muted);cursor:pointer;opacity:.6;transition:opacity var(--transition-fast);background:0 0;border:none;padding:0 .3rem;font-size:1.1rem;line-height:1}.chat-close.svelte-19zp3mw:hover{opacity:1;color:var(--color-accent)}.room-meta.svelte-19zp3mw{align-items:center;gap:.75rem;display:flex}.user-count.svelte-19zp3mw{color:var(--color-accent);letter-spacing:.03em;background:#e8d5b70f;border:1px solid #e8d5b71f;border-radius:2px;align-items:center;gap:.35rem;padding:.15rem .6rem;font-size:.82rem;display:inline-flex}.live-dot.svelte-19zp3mw{background:var(--color-success);border-radius:50%;flex-shrink:0;width:6px;height:6px;animation:2s ease-in-out infinite pulse-dot}.concert-recording.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-danger);align-items:center;gap:.3rem;font-size:.7rem;font-style:italic;display:flex}.record-dot.auto.svelte-19zp3mw{background:var(--color-danger);border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite svelte-19zp3mw-pulse-record}.record-btn.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-smooth);background:0 0;border-radius:2px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.7rem;display:flex}.record-btn.svelte-19zp3mw:hover,.record-btn.recording.svelte-19zp3mw{border-color:var(--color-danger);color:var(--color-danger)}.record-dot.svelte-19zp3mw{background:currentColor;border-radius:50%;width:6px;height:6px}.record-btn.recording.svelte-19zp3mw .record-dot:where(.svelte-19zp3mw){animation:1s ease-in-out infinite svelte-19zp3mw-pulse-record}@keyframes svelte-19zp3mw-pulse-record{0%,to{opacity:1}50%{opacity:.3}}.share-btn.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-accent-dim);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-smooth);background:0 0;border-radius:2px;padding:.2rem .6rem;font-size:.7rem}.share-btn.svelte-19zp3mw:hover{border-color:var(--color-accent);color:var(--color-accent)}.stats-link.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-accent-dim);border:1px solid var(--color-border);transition:all var(--transition-smooth);border-radius:2px;padding:.2rem .6rem;font-size:.7rem;text-decoration:none}.stats-link.svelte-19zp3mw:hover{border-color:var(--color-accent);color:var(--color-accent)}.share-panel-bar.svelte-19zp3mw{border-bottom:1px solid var(--color-border);background:var(--color-surface);padding:.5rem 1.5rem}.room-body.svelte-19zp3mw{flex:1;display:flex;overflow:hidden}.tip-trigger.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-danger);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #ef44444d;padding:.3rem .8rem;font-size:.75rem}.tip-trigger.svelte-19zp3mw:hover{border-color:var(--color-danger);background:#ef444414}.controls-toggle.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-smooth);background:0 0;border-radius:2px;padding:.2rem .6rem;font-size:.7rem}.room-stage.svelte-19zp3mw{background:repeating-linear-gradient(90deg,#0000 0,#d4b89602 1px,#0000 2px 40px),radial-gradient(50% 80% at 50% 15%,#e8d5b70a 0%,#0000 60%),radial-gradient(at 50% 95%,#0009 0%,#0000 50%),radial-gradient(circle at 50% 60%,#d4b89605 0%,#0000 40%);flex-direction:column;flex:1;justify-content:center;align-items:stretch;min-width:0;padding:1rem 0;animation:.8s ease-out svelte-19zp3mw-stage-reveal;display:flex;position:relative;overflow:visible}.vignette.svelte-19zp3mw{pointer-events:none;background:radial-gradient(#0000 30%,#0009 100%),linear-gradient(#00000026 0%,#0000 12% 88%,#0003 100%);position:absolute;inset:0}.stage-glow.svelte-19zp3mw{pointer-events:none;filter:blur(30px);background:radial-gradient(#e8d5b712 0%,#0000 60%);width:60%;height:200px;position:absolute;bottom:30%;left:50%;transform:translate(-50%)}.spectator-area.svelte-19zp3mw{z-index:1;width:100%;margin-bottom:-1px;position:relative}.room-stage.svelte-19zp3mw .note-history{min-height:1.6rem}.room-stage.svelte-19zp3mw .piano-status{min-height:1.2rem}.room-waterfall.svelte-19zp3mw{min-height:180px;position:relative}.room-waterfall.svelte-19zp3mw:after{content:"";background:linear-gradient(to bottom, transparent, var(--color-bg));pointer-events:none;z-index:1;height:30px;position:absolute;bottom:0;left:0;right:0}.piano-area.svelte-19zp3mw{z-index:1;width:100%;min-width:0;animation:1s ease-out .2s both svelte-19zp3mw-piano-entrance;position:relative}@keyframes svelte-19zp3mw-stage-reveal{0%{opacity:0}to{opacity:1}}@keyframes svelte-19zp3mw-piano-entrance{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.spectator-actions.svelte-19zp3mw{z-index:1;justify-content:center;align-items:center;gap:1.5rem;margin-top:1rem;display:flex;position:relative}.applause-btn.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-accent);border:1px solid var(--color-accent-dim);cursor:pointer;transition:all var(--transition-smooth);letter-spacing:.04em;background:0 0;border-radius:2px;padding:.45rem 1.4rem;font-size:.8rem}.applause-btn.svelte-19zp3mw:hover:not(:disabled){border-color:var(--color-accent);background:#e8d5b71a;transform:translateY(-1px);box-shadow:0 4px 12px #d4b8961f}.applause-btn.svelte-19zp3mw:active:not(:disabled){transition-duration:50ms;transform:scale(.96)}.applause-btn.cooling.svelte-19zp3mw{opacity:.4;cursor:default}.visualizer-strip.svelte-19zp3mw{border-top:1px solid var(--color-border);width:100%}.room-footer.svelte-19zp3mw{border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(8px);background:#06060e66;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1.5rem;display:flex}.footer-right.svelte-19zp3mw{align-items:center;gap:.4rem;display:flex}.connection-dot.svelte-19zp3mw{background:var(--color-text-muted);opacity:.4;width:6px;height:6px;transition:all var(--transition-smooth);border-radius:50%}.connection-dot.online.svelte-19zp3mw{background:var(--color-success);opacity:1;box-shadow:0 0 6px var(--color-success);animation:2s ease-in-out infinite svelte-19zp3mw-pulse-glow}@keyframes svelte-19zp3mw-pulse-glow{0%,to{box-shadow:0 0 4px var(--color-success)}50%{box-shadow:0 0 10px var(--color-success)}}.sfx-toggle.svelte-19zp3mw{font-family:var(--font-serif);color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;opacity:.6;transition:all var(--transition-smooth);background:0 0;border-radius:2px;padding:.15rem .4rem;font-size:.6rem}.sfx-toggle.svelte-19zp3mw:hover{opacity:1;border-color:var(--color-accent-dim);color:var(--color-accent-dim)}.connection-status.svelte-19zp3mw{color:var(--color-text-muted);opacity:.5;font-size:.7rem}.npm-counter.svelte-19zp3mw{color:var(--color-accent-dim);font-variant-numeric:tabular-nums;letter-spacing:.03em;opacity:.7;font-size:.6rem}@media (width<=768px){.room-header.svelte-19zp3mw{flex-wrap:wrap;gap:.4rem;padding:.5rem .75rem}.room-info.svelte-19zp3mw{flex:auto;min-width:0}.room-name.svelte-19zp3mw{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.9rem;overflow:hidden}.room-desc.svelte-19zp3mw,.performer-tag.svelte-19zp3mw{display:none}.room-meta.svelte-19zp3mw{flex-wrap:wrap;flex:100%;justify-content:flex-end;gap:.4rem}.user-count.svelte-19zp3mw{margin-right:auto}.concert-recording.svelte-19zp3mw{font-size:.6rem}.record-btn.svelte-19zp3mw,.controls-toggle.svelte-19zp3mw,.share-btn.svelte-19zp3mw{padding:.2rem .45rem;font-size:.6rem}.share-panel-bar.svelte-19zp3mw{padding:.4rem .75rem}.room-body.svelte-19zp3mw{position:relative}.room-chat-panel.svelte-19zp3mw{z-index:10;width:85vw;max-width:340px;animation:.25s cubic-bezier(.4,0,.2,1) svelte-19zp3mw-chat-slide-in;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 24px #0006}@keyframes svelte-19zp3mw-chat-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.room-stage.svelte-19zp3mw{padding:.5rem 0}.spectator-actions.svelte-19zp3mw{flex-wrap:wrap;gap:.75rem}.applause-btn.svelte-19zp3mw{padding:.3rem .8rem;font-size:.7rem}.room-footer.svelte-19zp3mw{flex-wrap:wrap;gap:.3rem;padding:.4rem .75rem}.footer-right.svelte-19zp3mw{flex-wrap:wrap;gap:.3rem}.sfx-toggle.svelte-19zp3mw{font-size:.55rem}.connection-status.svelte-19zp3mw{font-size:.6rem}}@media (width<=480px){.room-header.svelte-19zp3mw{padding:.4rem .5rem}.room-name.svelte-19zp3mw{max-width:80px;font-size:.8rem}.room-mode.svelte-19zp3mw{padding:.1rem .35rem;font-size:.65rem}.room-stage.svelte-19zp3mw{padding:.25rem 0}}
