:root{--color-black:#000;--color-white:#fff;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f242d;--color-gray-850:#161920;--color-gray-900:#0f1117;--color-gray-950:#08090c;--color-ink-650:#2f4653;--color-ink-700:#243844;--color-ink-750:#1d303b;--color-ink-800:#182a35;--color-ink-850:#0f1d27;--color-ink-900:#0b1720;--color-ink-950:#020e17;--color-paper-50:#fbf6f1;--color-paper-100:#f8efe8;--color-paper-200:#efe6de;--color-paper-300:#e6ddd6;--color-paper-400:#d9cec5;--color-paper-border:#e2d8cf;--color-paper-text:#1f1a17;--color-paper-text-dim:#6b625c;--color-paper-text-muted:#9a908a;--color-coral-50:#fff4f1;--color-coral-100:#ffe6df;--color-coral-200:#fdcfc4;--color-coral-300:#fdb0a1;--color-coral-400:#fb8a78;--color-coral-500:#f97464;--color-coral-600:#e65a4a;--color-coral-700:#c4443a;--color-coral-800:#a0372f;--color-coral-900:#7d2d27;--color-coral-950:#3a1310;--color-teal-50:#f0fdfa;--color-teal-100:#ccfbf1;--color-teal-200:#a7dcdc;--color-teal-300:#7cc6c8;--color-teal-400:#4fb0b5;--color-teal-500:#2e959b;--color-teal-600:#217a80;--color-teal-700:#0f766e;--color-teal-800:#115e59;--color-teal-900:#0f3b43;--color-teal-950:#082329;--color-red-500:#ef4444;--color-red-600:#dc2626;--color-green-500:#10b981;--color-green-600:#059669;--color-blue-500:#3b82f6;--color-discord:#5865f2;--color-discord-hover:#4752c4;--color-google-bg:#fff;--color-google-fg:#3c4043;--color-google-border:#dadce0;--color-google-bg-hover:#f8f9fa;--color-google-border-hover:#c6c6c6;--color-coral-rgb:249 116 100;--color-teal-rgb:79 176 181;--color-red-rgb:239 68 68;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius:12px;--radius-lg:16px;--radius-full:9999px;--space-0-5:.125rem;--space-1:.25rem;--space-1-5:.375rem;--space-2:.5rem;--space-2-5:.625rem;--space-3:.75rem;--space-3-5:.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--font-2xs:.6875rem;--font-xs:.75rem;--font-sm:.8125rem;--font-base:.875rem;--font-md:.9375rem;--font-lg:1rem;--font-xl:1.125rem;--font-2xl:1.25rem;--font-3xl:1.5rem;--font-4xl:2rem;--bg:var(--color-ink-950);--bg-surface:var(--color-ink-850);--bg-elevated:var(--color-ink-800);--bg-hover:var(--color-ink-750);--bg-active:var(--color-ink-700);--thumb-bg:var(--color-ink-900);--text:var(--color-white);--text-dim:var(--color-gray-400);--text-muted:var(--color-gray-500);--text-inverse:var(--color-ink-950);--on-accent:var(--color-white);--border:var(--color-ink-700);--border-subtle:var(--color-ink-800);--border-hover:var(--color-ink-650);--border-focus:var(--color-gray-500);--accent:var(--color-coral-500);--accent-rgb:249 116 100;--accent-hover:var(--color-coral-400);--accent-active:var(--color-coral-600);--accent-subtle-bg:#f974641f;--accent-subtle-border:#f9746447;--accent-subtle-text:var(--color-coral-300);--action:var(--color-teal-500);--action-hover:var(--color-teal-400);--action-active:var(--color-teal-600);--action-subtle-bg:#4fb0b524;--action-subtle-border:#4fb0b552;--action-subtle-text:var(--color-teal-300);--secondary:#ffffff1a;--secondary-border:#ffffff24;--secondary-text:var(--color-gray-100);--secondary-emphasis:var(--color-white);--link-action:var(--color-coral-500);--link-action-hover:var(--color-coral-400);--live:var(--color-coral-500);--live-rgb:249 116 100;--danger:var(--color-red-500);--danger-rgb:239 68 68;--danger-active:var(--color-red-600);--success:var(--color-green-500);--speaking:var(--color-coral-500);--speaking-rgb:249 116 100;--avatar-bg:var(--color-ink-800);--avatar-text:var(--color-white);--avatar-border:var(--color-ink-700);--overlay:#020e17b3;--scrim:#020e1780;--surface-over-image:#020e1780;--discord:var(--color-discord);--discord-hover:var(--color-discord-hover);--google-bg:var(--color-google-bg);--google-fg:var(--color-google-fg);--google-border:var(--color-google-border);--google-bg-hover:var(--color-google-bg-hover);--google-border-hover:var(--color-google-border-hover);--x-bg:var(--color-black);--x-hover:var(--color-gray-900)}:root[data-theme=light]{--bg:var(--color-paper-100);--bg-surface:var(--color-paper-50);--bg-elevated:var(--color-paper-200);--bg-hover:var(--color-paper-300);--bg-active:var(--color-paper-400);--text:var(--color-paper-text);--text-dim:var(--color-paper-text-dim);--text-muted:var(--color-paper-text-muted);--text-inverse:var(--color-white);--border:var(--color-paper-border);--border-subtle:var(--color-paper-200);--border-hover:var(--color-paper-400);--border-focus:var(--color-paper-text-muted);--on-accent:var(--color-white);--thumb-bg:var(--color-paper-200);--avatar-bg:var(--color-paper-300);--avatar-text:var(--color-paper-text);--avatar-border:var(--color-paper-400);--accent:var(--color-coral-600);--speaking:var(--color-coral-600);--speaking-rgb:230 90 74;--accent-hover:var(--color-coral-700);--accent-active:var(--color-coral-800);--accent-subtle-bg:var(--color-coral-50);--accent-subtle-border:var(--color-coral-200);--accent-subtle-text:var(--color-coral-800);--action:var(--color-teal-600);--action-hover:var(--color-teal-700);--action-active:var(--color-teal-800);--action-subtle-bg:var(--color-teal-50);--action-subtle-border:var(--color-teal-200);--action-subtle-text:var(--color-teal-800);--secondary:var(--color-paper-200);--secondary-border:var(--color-paper-border);--secondary-text:var(--color-paper-text);--secondary-emphasis:var(--color-paper-text);--link-action:var(--color-coral-600);--link-action-hover:var(--color-coral-700);--overlay:#0003;--scrim:#00000026;--surface-over-image:#ffffffb3;--x-bg:var(--color-black);--x-hover:var(--color-gray-800)}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:var(--color-paper-100);--bg-surface:var(--color-paper-50);--bg-elevated:var(--color-paper-200);--bg-hover:var(--color-paper-300);--bg-active:var(--color-paper-400);--text:var(--color-paper-text);--text-dim:var(--color-paper-text-dim);--text-muted:var(--color-paper-text-muted);--text-inverse:var(--color-white);--border:var(--color-paper-border);--border-subtle:var(--color-paper-200);--border-hover:var(--color-paper-400);--border-focus:var(--color-paper-text-muted);--on-accent:var(--color-white);--thumb-bg:var(--color-paper-200);--avatar-bg:var(--color-paper-300);--avatar-text:var(--color-paper-text);--avatar-border:var(--color-paper-400);--accent:var(--color-coral-600);--speaking:var(--color-coral-600);--speaking-rgb:230 90 74;--accent-hover:var(--color-coral-700);--accent-active:var(--color-coral-800);--accent-subtle-bg:var(--color-coral-50);--accent-subtle-border:var(--color-coral-200);--accent-subtle-text:var(--color-coral-800);--action:var(--color-teal-600);--action-hover:var(--color-teal-700);--action-active:var(--color-teal-800);--action-subtle-bg:var(--color-teal-50);--action-subtle-border:var(--color-teal-200);--action-subtle-text:var(--color-teal-800);--secondary:var(--color-paper-200);--secondary-border:var(--color-paper-border);--secondary-text:var(--color-paper-text);--secondary-emphasis:var(--color-paper-text);--link-action:var(--color-coral-600);--link-action-hover:var(--color-coral-700);--overlay:#0003;--scrim:#00000026;--surface-over-image:#ffffffb3;--x-bg:var(--color-black);--x-hover:var(--color-gray-800)}}:root{--font-family-base:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display-sm:1.75rem;--font-display-md:2.25rem;--font-display-lg:2.5rem;--font-display-xl:3rem;--font-display-2xl:5rem;--button-content-gap:var(--space-2);--server-error-home-gap:var(--space-0-5);--server-error-icon-size:1.125rem;--server-error-visual-size:2.5rem;--server-error-section-gap:var(--space-4);--sidebar-w:220px;--sidebar-w-collapsed:64px;--room-control-size:52px;--room-icon-size:40px;--room-composer-h:calc(var(--room-control-size) + var(--space-3) + var(--space-4));--mini-player-h:64px;--mini-player-w:360px;--bottom-nav-h:calc(64px + env(safe-area-inset-bottom,0px));font-family:var(--font-family-base);color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-height:100vh;margin:0}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}a:focus-visible,button:focus-visible{outline:2px solid var(--action-hover);outline-offset:2px}.legal-page{max-width:48rem;padding:var(--space-8) var(--space-4) var(--space-16);color:var(--text);font-family:var(--font-family-base);margin:0 auto;line-height:1.7}.legal-page-nav{justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-8);display:flex}.legal-page-nav a,.legal-page-body a{color:var(--link-action)}.legal-page-nav a{text-decoration:none}.legal-page-nav a:hover,.legal-page-body a:hover{color:var(--link-action-hover)}.legal-page-draft{margin:0 0 var(--space-8);padding:var(--space-3) var(--space-4);border:1px solid var(--accent-subtle-border);border-radius:var(--radius-sm);background:var(--accent-subtle-bg);color:var(--accent-subtle-text);font-weight:600}.legal-page-body h1{margin:0 0 var(--space-6);font-size:var(--font-4xl);line-height:1.25}.legal-page-body h2{margin:var(--space-10) 0 var(--space-3);font-size:var(--font-2xl)}.legal-page-body p,.legal-page-body ul,.legal-page-body ol{margin:0 0 var(--space-4)}.legal-page-body em{color:var(--text-dim)}.btn-with-icon{justify-content:center;align-items:center;gap:var(--button-content-gap);display:inline-flex}.btn-with-icon svg{flex-shrink:0}.btn-icon-spin{animation:.8s linear infinite button-icon-spin}@keyframes button-icon-spin{to{transform:rotate(360deg)}}.btn-primary{box-sizing:border-box;width:100%;padding:var(--space-3) var(--space-6);background:var(--action);color:var(--on-accent);border-radius:var(--radius-full);font-size:var(--font-lg);cursor:pointer;text-align:center;border:1px solid #0000;justify-content:center;align-items:center;font-weight:600;line-height:1.25;text-decoration:none;transition:background .2s;display:inline-flex}.btn-primary:hover{background:var(--action-hover);color:var(--on-accent)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{box-sizing:border-box;padding:var(--space-2) var(--space-4);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-full);font-size:var(--font-base);cursor:pointer;text-align:center;background:0 0;justify-content:center;align-items:center;line-height:1.25;text-decoration:none;transition:all .2s;display:inline-flex}.btn-ghost:hover{color:var(--text);border-color:var(--text-dim)}.btn-sm{padding:var(--space-1-5) var(--space-3);font-size:var(--font-sm)}.btn-create{padding:var(--space-2) var(--space-5);background:var(--accent);color:var(--on-accent);border-radius:var(--radius-full);font-size:var(--font-base);cursor:pointer;border:none;font-weight:600;transition:background .2s}.btn-create:hover{background:var(--accent-hover);color:var(--on-accent)}.form-field{margin-bottom:var(--space-4)}.form-field label{margin-bottom:var(--space-1-5);font-size:var(--font-base);color:var(--text-dim);display:block}.form-field input{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--font-lg);outline:none;transition:border-color .2s}.form-field input:focus{border-color:var(--action)}.form-field input::placeholder{color:var(--text-dim)}.form-field textarea{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--font-lg);resize:vertical;outline:none;min-height:6rem;font-family:inherit;transition:border-color .2s}.form-field textarea:focus{border-color:var(--action)}.form-field textarea::placeholder{color:var(--text-dim)}.form-field-error{margin:var(--space-1-5) 0 0;color:var(--danger);font-size:var(--font-sm)}.dropdown-field{gap:var(--space-1-5);flex-direction:column;display:flex}.audio-devices{gap:var(--space-4);padding:var(--space-2) 0 var(--space-3);color:var(--text-dim);font-size:var(--font-sm);flex-direction:column;display:flex}.audio-devices-note,.audio-devices-error{margin:0}.audio-devices-error{color:var(--danger)}.audio-devices-actions{display:flex}.device-choices{gap:var(--space-1);border:none;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.device-choices legend{margin-bottom:var(--space-1-5);padding:0}.device-choice{align-items:center;gap:var(--space-2-5);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--text);font-size:var(--font-base);cursor:pointer;display:flex}.device-choice:hover{background:var(--bg-hover)}.device-choice:has(input:checked){background:var(--action-subtle-bg);color:var(--action)}.device-choice input{accent-color:var(--action);flex-shrink:0;margin:0}.device-choice-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.report-user-title{margin:0 0 var(--space-3);font-size:var(--font-xl)}.report-user-body>label,.report-user-body>.dropdown-field{gap:var(--space-1-5);margin:0 0 var(--space-3);font-size:var(--font-base);color:var(--text-dim);flex-direction:column;display:flex}.report-user-body textarea{resize:vertical}.report-user-context{margin:0 0 var(--space-3);font-size:var(--font-sm);color:var(--text-dim)}.report-quote{border-left:2px solid var(--border);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;max-height:6rem;margin:.375rem 0 0;padding:.375rem .625rem;overflow-y:auto}.report-user-sent{margin:var(--space-2) 0 var(--space-4);font-size:var(--font-base);color:var(--text)}.report-user-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.form-hint{margin:calc(-1 * var(--space-2)) 0 var(--space-4);font-size:var(--font-sm);color:var(--text-dim);line-height:1.4}.form-field-row{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.form-field-select{color:var(--text-dim);flex-direction:column;gap:.375rem;font-size:.875rem;display:flex}.form-field-hint{color:var(--text-muted);margin:-.5rem 0 1rem;font-size:.8125rem}.form-error{margin-bottom:var(--space-4);padding:var(--space-2) var(--space-3);background:rgb(var(--danger-rgb) / .1);color:var(--danger);border-radius:var(--radius-sm);font-size:var(--font-base)}.dropdown{font-size:var(--font-sm);display:inline-block;position:relative}.dropdown-trigger{align-items:center;gap:var(--space-1-5);padding:var(--space-1-5) var(--space-2-5);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:inherit;cursor:pointer;white-space:nowrap;font-family:inherit;transition:border-color .15s;display:flex}.dropdown-trigger:hover{border-color:var(--border-hover)}.dropdown-trigger.open{border-color:var(--action)}.dropdown-value{text-overflow:ellipsis;overflow:hidden}.dropdown-chevron{color:var(--text-dim);flex-shrink:0;transition:transform .15s}.dropdown-trigger.open .dropdown-chevron{transform:rotate(180deg)}.dropdown-menu{min-width:100%;padding:var(--space-1) 0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);z-index:50;max-height:240px;margin:0;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.dropdown-item{width:100%;color:inherit;font:inherit;text-align:left;padding:var(--space-1-5) var(--space-3);cursor:pointer;white-space:nowrap;background:0 0;border:none;transition:background .1s;display:block}.dropdown-item:hover{background:var(--bg-hover)}.dropdown-item.selected{color:var(--action);background:var(--action-subtle-bg)}@keyframes skeleton-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--bg-active) 37%, var(--bg-hover) 63%);border-radius:var(--radius-xs);background-size:800px 100%;animation:1.6s ease-in-out infinite skeleton-shimmer}.skeleton-row{gap:var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--border);display:flex}.skeleton-cell{flex:1;height:.875rem}.skeleton-cell:first-child{flex:0 0 3rem}.skeleton-cell:last-child{flex:0 0 5rem}.app-splash{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.app-splash-body{align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.app-splash-logo{font-size:var(--font-3xl);letter-spacing:-.02em;color:var(--text-heading);font-weight:800}.app-splash-spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite app-spin}@keyframes app-spin{to{transform:rotate(360deg)}}.auth-page{min-height:100vh;padding:var(--space-4);justify-content:center;align-items:center;display:flex}.auth-card{width:100%;max-width:400px;padding:var(--space-10) var(--space-6);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center}.auth-logo{font-size:var(--font-4xl);letter-spacing:-.02em;margin:0;font-weight:800}.auth-tagline{color:var(--text-dim);margin:var(--space-1) 0 var(--space-6);font-size:var(--font-base);line-height:1.5}.auth-guest{width:fit-content;margin:calc(-1 * var(--space-4)) auto var(--space-4) 0;display:flex}.auth-title{margin:0 0 var(--space-4);font-size:var(--font-xl);font-weight:700}.oauth-buttons{gap:var(--space-3);margin-bottom:var(--space-6);flex-direction:column;display:flex}.btn-oauth{justify-content:center;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3-5) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text);font-size:var(--font-lg);cursor:pointer;font-weight:600;transition:background .2s,border-color .2s;display:flex}.btn-oauth:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover)}.btn-oauth:disabled{opacity:.5;cursor:not-allowed}.btn-discord{background:var(--discord);color:var(--on-accent);border-color:var(--discord)}.btn-discord:hover:not(:disabled){background:var(--discord-hover);border-color:var(--discord-hover)}.btn-google{background:var(--google-bg);color:var(--google-fg);border-color:var(--google-border)}.btn-google:hover:not(:disabled){background:var(--google-bg-hover);border-color:var(--google-border-hover)}.btn-x{background:var(--x-bg);color:var(--on-accent);border-color:var(--on-accent)}.btn-x:hover:not(:disabled){background:var(--x-hover)}.auth-legal{color:var(--text-dim);font-size:var(--font-xs);text-align:center;margin-top:var(--space-4);line-height:1.4}.avatar{background:var(--avatar-bg);color:var(--avatar-text);border:1px solid var(--avatar-border);text-transform:uppercase;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex;position:relative;overflow:hidden}.avatar-sm{width:28px;height:28px;font-size:var(--font-sm)}.avatar-md{width:32px;height:32px;font-size:var(--font-md)}.avatar-lg{width:64px;height:64px;font-size:var(--font-3xl)}.avatar-xl{width:80px;height:80px;font-size:var(--font-4xl)}.avatar-image{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin:0 0 var(--space-3);display:flex}.section-header-title{color:var(--text);font-size:var(--font-lg);margin:0;font-weight:700}.section-header-action{flex:none}.list-rows{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.list-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);display:flex}.list-row-unread{background:var(--secondary)}.list-row-main{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-1) 0;color:inherit;font:inherit;text-align:left;background:0 0;border:none;flex:1;text-decoration:none;display:flex}.list-row-open{cursor:pointer}.list-row-open:hover{color:inherit}.list-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.list-row-title{color:var(--text);font-size:var(--font-md);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.list-row-open:hover .list-row-title{text-decoration:underline}.list-row-wrap{white-space:normal}.list-row-subtitle{color:var(--text-dim);font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-row-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:var(--accent);flex:none}.list-row-action{flex:none}.settings-group{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.settings-row{align-items:center;gap:var(--space-3);width:100%;min-height:var(--space-14);padding:var(--space-3) var(--space-4);color:var(--text);font:inherit;text-align:left;background:0 0;border:none;display:flex}.settings-row+.settings-row{border-top:1px solid var(--border)}.settings-row-button{cursor:pointer;transition:background .2s}.settings-row-button:hover{background:var(--bg-hover)}.settings-row-icon{color:var(--text-dim);flex:none;display:inline-flex}.settings-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.settings-row-label{font-size:var(--font-md);font-weight:500}.settings-row-detail{color:var(--text-dim);font-size:var(--font-sm)}.settings-row-control{flex:none;align-items:center;display:inline-flex}.stamp-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(144px,1fr));margin:0;padding:0;list-style:none;display:grid}.stamp-tile{align-items:center;gap:var(--space-1-5);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);text-align:center;flex-direction:column;display:flex}.stamp-tile-image{object-fit:contain;width:96px;height:96px}.stamp-tile-name{overflow-wrap:anywhere;font-weight:600}.stamp-status{align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-full);background:var(--secondary);color:var(--secondary-text);font-size:var(--font-xs);display:inline-flex}.stamp-status-published{background:var(--action-subtle-bg);color:var(--action)}.stamp-tile-actions{justify-content:center;align-items:flex-end;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;flex:1;display:flex}.stamp-studio-add{width:auto}.stamp-studio-bar{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.stamp-studio-count{color:var(--text-dim)}.stamp-composer{align-items:stretch;gap:var(--space-3);flex-direction:column;display:flex}.stamp-composer .modal-actions{flex-wrap:wrap;justify-content:flex-end}.stamp-composer .modal-actions button{white-space:nowrap;width:auto}.stamp-composer-image{border:1px dashed var(--border);border-radius:var(--radius-lg);background:var(--bg);width:160px;height:160px;color:inherit;font:inherit;cursor:pointer;justify-content:center;align-self:center;align-items:center;padding:0;display:flex}.stamp-composer-image:hover:not(:disabled),.stamp-composer-image.is-dragging{border-color:var(--action);background:var(--action-subtle-bg)}.stamp-composer-image:focus-visible{outline:2px solid var(--action-hover);outline-offset:2px}.stamp-composer-image.is-fixed{cursor:default;border-style:solid}.stamp-composer-image:disabled{cursor:progress}.stamp-composer-image>*{pointer-events:none}.stamp-composer-image img{object-fit:contain;width:128px;height:128px}.stamp-composer-placeholder{align-items:center;gap:var(--space-2);padding:var(--space-3);color:var(--text-dim);font-size:var(--font-sm);flex-direction:column;display:flex}.profile-stamps{margin:var(--space-4) 0}.profile-stamps-title{margin:0 0 var(--space-3);font-size:var(--font-base)}.stamp-creator-badge{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-full);background:var(--action-subtle-bg);color:var(--action);font-size:var(--font-sm);white-space:nowrap;font-weight:600;display:inline-flex}.settings-row-control .btn-primary{white-space:nowrap;width:auto}.settings-row-value{font-variant-numeric:tabular-nums;font-weight:600}.settings-row-chevron{color:var(--text-muted);flex:none}.settings-row-danger,.settings-row-danger .settings-row-icon{color:var(--danger)}.app-shell{min-height:100vh;display:flex}.app-main{flex:1;min-width:0}.sidebar{flex:0 0 var(--sidebar-w);width:var(--sidebar-w);gap:var(--space-1);height:100vh;padding:var(--space-3);background:var(--bg-surface);border-right:1px solid var(--border);flex-direction:column;transition:flex-basis .2s,width .2s;display:flex;position:sticky;top:0}.sidebar-collapsed{flex-basis:var(--sidebar-w-collapsed);width:var(--sidebar-w-collapsed)}.sidebar-head{padding:var(--space-2) var(--space-2) var(--space-3);justify-content:space-between;align-items:center;min-height:48px;display:flex}.sidebar-collapsed .sidebar-head{gap:var(--space-2);flex-direction:column}.sidebar-logo{font-size:var(--font-2xl);letter-spacing:-.02em;color:var(--text);font-weight:800}.sidebar-logo:hover{color:var(--text)}.sidebar-nav{gap:var(--space-1);flex-direction:column;flex:1;display:flex}.sidebar-item{align-items:center;gap:var(--space-3-5);width:100%;padding:var(--space-2-5) var(--space-3);border-radius:var(--radius-full);color:var(--text-dim);font-size:var(--font-md);text-align:left;cursor:pointer;background:0 0;border:none;font-weight:500;transition:background .2s,color .2s;display:flex}.sidebar-item:hover{background:var(--bg-elevated);color:var(--text)}.sidebar-item.active{color:var(--secondary-emphasis);background:var(--secondary);font-weight:600}.sidebar-icon{flex:0 0 22px;justify-content:center;align-items:center;display:flex;position:relative}.sidebar-label{white-space:nowrap;overflow:hidden}.sidebar-collapsed .sidebar-item{padding:var(--space-2-5);justify-content:center}.sidebar-live{color:var(--live)}.sidebar-live:hover{color:var(--accent-hover)}.sidebar-footer{gap:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--border);flex-direction:column;display:flex}.sidebar-account{width:100%;position:relative}.sidebar-user-btn{align-items:center;gap:var(--space-2-5);width:100%;padding:var(--space-2);border-radius:var(--radius-full);color:var(--text);font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;transition:background .15s;display:flex}.sidebar-user-btn:hover,.sidebar-user-btn.active{background:var(--bg-elevated)}.sidebar-user-meta{flex-direction:column;flex:1;min-width:0;display:flex}.sidebar-username{white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-sm);color:var(--text);font-weight:600;line-height:1.25;overflow:hidden}.sidebar-userhandle{white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-xs);color:var(--text-dim);line-height:1.25;overflow:hidden}.sidebar-user-chevron{color:var(--text-muted);flex:none}.sidebar-collapsed .sidebar-user-btn{padding:var(--space-1-5);justify-content:center}.account-menu{bottom:calc(100% + var(--space-2));z-index:50;gap:var(--space-0-5);padding:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px var(--overlay);flex-direction:column;animation:.12s ease-out account-pop;display:flex;position:absolute;left:0;right:0}.sidebar-collapsed .account-menu{width:max-content;min-width:180px;left:0;right:auto}.account-menu-item{align-items:center;gap:var(--space-2-5);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:var(--font-sm);cursor:pointer;background:0 0;border:none;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.account-menu-item:hover{background:var(--bg-hover);color:var(--text)}.account-menu-divider{background:var(--border);height:1px;margin:var(--space-1) 0;border:0}.account-menu-danger{color:var(--danger)}.account-menu-danger:hover{background:rgb(var(--danger-rgb) / .12);color:var(--danger)}@keyframes account-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.account-menu{animation:none}}.bottom-nav{height:var(--bottom-nav-h);padding:0 var(--space-2) env(safe-area-inset-bottom,0px);background:var(--bg-surface);border-top:1px solid var(--border);box-shadow:0 -4px 16px var(--overlay);z-index:50;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.sidebar{display:none}.app-main{padding-bottom:var(--bottom-nav-h)}.bottom-nav-item{align-items:center;gap:var(--space-0-5);min-width:0;padding:var(--space-1-5) 0;color:var(--text-dim);font-size:var(--font-2xs);flex-direction:column;flex:1;font-weight:500;text-decoration:none;transition:color .2s;display:flex}.bottom-nav-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.bottom-nav-item:hover{color:var(--text)}.bottom-nav-item.active{color:var(--secondary-emphasis);font-weight:600}.bottom-nav-cta{width:52px;height:52px;margin-top:calc(-1 * (var(--space-4) + var(--space-0-5)));background:var(--accent);color:var(--on-accent);box-shadow:0 4px 12px rgb(var(--accent-rgb) / .4);cursor:pointer;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;transition:background .2s;display:flex}.bottom-nav-cta:hover{background:var(--accent-hover)}.setup-page{max-width:480px;padding:var(--space-10) var(--space-4) var(--space-8);margin:0 auto}.setup-identity{align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);text-align:center;flex-direction:column;display:flex}.setup-identity h1{font-size:var(--font-3xl);margin:0;font-weight:800}.setup-lead{color:var(--text-dim);margin:0;line-height:1.5}.setup-notices{margin:0 0 var(--space-4);padding:var(--space-3-5) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-surface);font-size:var(--font-sm);color:var(--text-dim);line-height:1.5}.setup-signout{margin-top:var(--space-4);justify-content:center;display:flex}.profile-form .btn-primary{width:100%}.setup-start{width:100%;margin-top:var(--space-6)}.point-list{gap:var(--space-5);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.point-list-point{gap:var(--space-4);align-items:flex-start;display:flex}.point-list-icon{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-full);background:var(--accent-subtle-bg);border:1px solid var(--accent-subtle-border);color:var(--accent-subtle-text);flex-shrink:0;justify-content:center;align-items:center;display:flex}.point-list-text{gap:var(--space-1);flex-direction:column;display:flex}.point-list-title{font-weight:700}.point-list-body{color:var(--text-dim);line-height:1.5}.auth-card .point-list{margin-bottom:var(--space-6);text-align:left}.settings-section{margin-bottom:var(--space-8)}.settings-section>.form-hint{margin:0 0 var(--space-4)}.settings-section .form-error{margin-top:var(--space-3)}.settings-theme{gap:var(--space-2);flex-wrap:wrap;display:flex}.settings-option{align-items:center;gap:var(--space-2);padding:var(--space-2-5) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-dim);font-size:var(--font-md);cursor:pointer;font-weight:500;transition:color .2s,border-color .2s,background .2s;display:inline-flex}.settings-option:hover{color:var(--text);border-color:var(--border-hover)}.settings-option.active{color:var(--secondary-emphasis);border-color:var(--secondary-emphasis);background:var(--secondary)}.settings-section .profile-form{max-width:32rem}.settings-section .profile-form .btn-primary{width:auto;min-width:8rem;padding:var(--space-2-5) var(--space-6);font-size:var(--font-base);align-self:flex-start}.profile-languages{gap:var(--space-1-5);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.language-badge{padding:var(--space-0-5) var(--space-2-5);border-radius:var(--radius-full);background:var(--action-subtle);color:var(--action);border:1px solid var(--action-subtle-border);font-size:var(--font-xs);align-items:center;font-weight:600;display:inline-flex}.language-chips{gap:var(--space-2);margin-top:var(--space-1-5);flex-wrap:wrap;align-items:center;display:flex}.language-chip{align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--action-subtle);color:var(--text);border:1px solid var(--action-subtle-border);font-size:var(--font-sm);font-weight:500;display:inline-flex}.language-chip-name{color:var(--text)}.language-chip-remove{margin-left:var(--space-0-5);color:var(--text-dim);cursor:pointer;border-radius:var(--radius-full);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .15s;display:inline-flex}.language-chip-remove:hover{color:var(--danger)}.btn-add-language{align-items:center;gap:var(--space-1-5);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);color:var(--action);border:1px dashed var(--border-hover);font-size:var(--font-sm);cursor:pointer;background:0 0;font-weight:500;transition:all .15s;display:inline-flex}.btn-add-language:hover{background:var(--action-subtle);border-color:var(--action)}.form-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);margin-top:var(--space-5);display:flex}.edit-profile-modal{width:100%}.edit-profile-modal h2{margin:0 0 var(--space-4);font-size:var(--font-xl)}.language-picker-modal{width:100%}.language-picker-modal h2{margin:0 0 var(--space-3);font-size:var(--font-xl)}.language-picker-search-box{margin-bottom:var(--space-3);position:relative}.language-picker-search-icon{left:var(--space-3);color:var(--text-dim);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.language-picker-search-input{box-sizing:border-box;width:100%;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-8);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:var(--font-sm);outline:none;transition:border-color .15s}.language-picker-search-input:focus{border-color:var(--action)}.language-picker-list{gap:var(--space-4);min-width:0;max-height:50vh;padding:0 var(--space-1) 0 0;border:0;flex-direction:column;margin:0;display:flex;overflow-y:auto}.form-fieldset{border:0;min-width:0;margin:0;padding:0}.language-picker-section{gap:var(--space-1-5);flex-direction:column;display:flex}.language-picker-section-title{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim);padding-left:var(--space-1);font-weight:600}.language-picker-grid{gap:var(--space-1-5);grid-template-columns:repeat(auto-fill,minmax(130px,1fr));display:grid}.language-picker-item{padding:var(--space-2) var(--space-2-5);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface);color:var(--text);font-size:var(--font-xs);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;transition:all .15s;display:flex}.language-picker-item:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--border-hover)}.language-picker-item.is-selected{opacity:.5;cursor:default;background:var(--bg)}.language-picker-item-name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.language-picker-item-code{font-size:var(--font-xs);color:var(--text-dim);text-transform:uppercase;margin-left:var(--space-1)}.language-picker-check{color:var(--action);flex-shrink:0;margin-left:auto}.language-picker-empty{text-align:center;padding:var(--space-6) var(--space-4);color:var(--text-dim);font-size:var(--font-sm)}.settings-group-danger{border-color:rgb(var(--danger-rgb) / .35)}.settings-switch{border:1px solid var(--border-hover);border-radius:var(--radius-full);background:var(--bg-active);cursor:pointer;flex:none;width:44px;height:24px;padding:0;transition:background .2s cubic-bezier(.22,1,.36,1),border-color .2s cubic-bezier(.22,1,.36,1);position:relative}.settings-switch:after{content:"";border-radius:var(--radius-full);background:var(--color-white);width:18px;height:18px;box-shadow:0 1px 3px var(--overlay);transition:transform .2s cubic-bezier(.22,1,.36,1);position:absolute;top:2px;left:2px}.settings-switch[aria-checked=true]{border-color:var(--action);background:var(--action)}.settings-switch[aria-checked=true]:after{transform:translate(20px)}.settings-switch:focus-visible{outline:2px solid var(--action-hover);outline-offset:2px}.settings-switch:disabled{cursor:default;opacity:.5}@media (prefers-reduced-motion:reduce){.settings-switch,.settings-switch:after{transition:none}}@media (width>=768px){.sidebar{display:flex}.app-main{padding-bottom:0}.bottom-nav{display:none}}.mini-player{left:var(--space-2);right:var(--space-2);bottom:var(--space-2);align-items:center;gap:var(--space-2);height:var(--mini-player-h);padding:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 4px 16px var(--overlay);z-index:49;display:flex;position:fixed}.app-shell~.mini-player{bottom:calc(var(--bottom-nav-h) + var(--space-2))}.app-shell-mini-player .app-main{padding-bottom:calc(var(--bottom-nav-h) + var(--mini-player-h) + var(--space-4))}.mini-player-open{align-items:center;gap:var(--space-3);min-width:0;height:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:0;display:flex}.mini-player-art{width:calc(var(--mini-player-h) - var(--space-4));height:calc(var(--mini-player-h) - var(--space-4));border-radius:var(--radius-md);flex:none;overflow:hidden}.mini-player-text{flex-direction:column;flex:1;min-width:0;display:flex}.mini-player-title,.mini-player-status-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mini-player-title{font-size:var(--font-base);font-weight:600}.mini-player-status{align-items:center;gap:var(--space-1-5);font-size:var(--font-sm);color:var(--text-dim);display:flex}.mini-player-live{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-full);background:var(--live);flex:none}.mini-player-mic{color:var(--accent);flex:none;display:inline-flex}@media (width>=768px){.mini-player,.app-shell~.mini-player{left:auto;right:var(--space-4);bottom:var(--space-4);width:var(--mini-player-w)}.app-shell-mini-player .app-main{padding-bottom:calc(var(--mini-player-h) + var(--space-8))}}.room-summary-header{align-items:center;gap:.5rem;margin:.5rem 0 1.5rem;display:flex}.room-summary-header h1{margin:0;font-size:1.5rem;font-weight:800}.room-summary-room{overflow-wrap:anywhere;margin:0 0 .5rem;font-size:1.125rem;font-weight:700}.room-summary-note{color:var(--text-dim);margin:0 0 1rem;font-size:.875rem}.room-summary-stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin:0 0 1.5rem;display:grid}.room-summary-stat{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.25rem;padding:1rem;display:flex}.room-summary-stat dt{color:var(--text-dim);font-size:.75rem}.room-summary-stat dd{color:var(--text);margin:0;font-size:1.125rem;font-weight:700}.room-summary-actions{justify-content:flex-end;display:flex}.room-ended-banner{z-index:1;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.75rem 1rem;font-size:.875rem;display:flex;position:relative}.room-ended-banner a{color:var(--accent-subtle-text);font-weight:600}.page{max-width:960px;padding:var(--space-6);margin:0 auto}.page-header h1{font-size:var(--font-3xl);margin:var(--space-2) 0 var(--space-6);font-weight:800}.page-load-notice{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-4);margin:var(--space-2) 0;padding:var(--space-3) var(--space-4);border:1px solid var(--accent-subtle-border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text);flex-shrink:0;display:flex;position:relative}.page-empty{align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);color:var(--text-dim);text-align:center;flex-direction:column;display:flex}.page-empty .btn-create{width:auto}.page-hint{font-size:var(--font-base)}.profile-header{align-items:center;gap:var(--space-1);padding:var(--space-6) var(--space-4) var(--space-2);text-align:center;flex-direction:column;display:flex}.profile-header .avatar{margin-bottom:var(--space-3)}.profile-name{font-size:var(--font-3xl);overflow-wrap:anywhere;margin:0;font-weight:800}.profile-handle{color:var(--text-dim);font-size:var(--font-md);margin:0}.room-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.room-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:inherit;flex-direction:column;text-decoration:none;transition:border-color .2s,transform .2s;display:flex;position:relative;overflow:hidden}.room-card:hover{color:inherit;border-color:var(--border-hover);transform:translateY(calc(-1 * var(--space-0-5)))}.room-card-art{aspect-ratio:16/9;background:var(--thumb-bg);position:relative;overflow:hidden}.room-card-art-link{width:100%;height:100%;display:block}.room-card-status{top:var(--space-3);left:var(--space-3);position:absolute}.room-card-body{gap:var(--space-3);padding:var(--space-4);flex-direction:column;display:flex}.room-card-title{color:var(--text);font-size:var(--font-lg);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.room-card-title-link{color:var(--text);text-decoration:none}.room-card-title-link:after{content:"";z-index:1;position:absolute;inset:0}.room-card-title-link:hover{color:var(--text)}.room-card-host{z-index:2;align-items:center;gap:var(--space-2);width:fit-content;min-width:0;text-decoration:none;display:flex;position:relative}.room-card-host-name{color:var(--text-dim);font-size:var(--font-base);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.room-card-host:hover .room-card-host-name{color:var(--text);text-decoration:underline}.room-feed-toolbar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.room-feed-title{font-size:var(--font-lg);margin:0;font-weight:700}.room-feed-title-page{font-size:var(--font-3xl);font-weight:800}.feed-tabs{align-items:center;gap:var(--space-1);background:var(--bg-surface);padding:var(--space-0-5);border:1px solid var(--border);border-radius:var(--radius-full);display:flex}.feed-tab{padding:var(--space-1-5) var(--space-3-5);border-radius:var(--radius-full);color:var(--text-dim);font:inherit;font-size:var(--font-sm);cursor:pointer;background:0 0;border:none;font-weight:500;transition:color .15s,background .15s}.feed-tab:hover{color:var(--text)}.feed-tab.active{background:var(--secondary);border-color:var(--secondary-emphasis);color:var(--secondary-emphasis);font-weight:600}.room-feed-controls{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.notifications-header,.profile-page-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.notifications-header h1,.profile-page-header h1{flex:1;min-width:0}.notification-text{font-weight:400}.notification-text strong{font-weight:700}.nav-icon{display:inline-flex;position:relative}.nav-badge{top:calc(var(--space-1) * -1);right:calc(var(--space-2) * -1);min-width:1.1rem;padding:0 var(--space-1);border-radius:var(--radius-full);background:var(--accent);color:var(--on-accent);font-size:var(--font-2xs);text-align:center;font-weight:700;line-height:1.1rem;position:absolute}.bottom-nav-item .nav-icon{width:min(56px,100%);padding:var(--space-0-5) 0;border-radius:var(--radius-full);justify-content:center;transition:background .2s}.bottom-nav-item.active .nav-icon{background:var(--secondary)}.bottom-nav-item .nav-badge{right:var(--space-2)}.room-feed-more{flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 0;display:flex}.room-feed-more .form-error{margin:0}.room-art-image{object-fit:cover;width:100%;height:100%;display:block}.room-art-fallback{width:100%;height:100%;padding:var(--space-4);background:radial-gradient(circle at 85% 10%, rgb(var(--accent-rgb) / .45), transparent 60%), radial-gradient(circle at 10% 95%, rgb(var(--color-teal-rgb) / .4), transparent 60%), var(--bg-elevated);color:var(--text);justify-content:center;align-items:center;display:flex}.room-art-label{font-size:var(--font-3xl);letter-spacing:-.01em;text-align:center;font-weight:800}.room-meta{align-items:center;gap:var(--space-1-5);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.room-meta-topic{color:var(--text-dim);font-size:var(--font-xs)}.room-header-meta{padding:0 0 var(--space-3)}.room-elapsed{font-variant-numeric:tabular-nums}.points-amount{align-items:center;gap:var(--space-1);font-variant-numeric:tabular-nums;display:inline-flex}.points-icon{flex:none;width:1.1em;height:1.1em}.listened{display:inline-flex;position:relative}.listened-toggle{border-radius:var(--radius-full);color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.listened-chip{gap:var(--space-1-5);font-variant-numeric:tabular-nums}.listened-note{top:calc(100% + var(--space-1-5));z-index:20;width:max-content;max-width:16rem;padding:var(--space-2) var(--space-3);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 4px 16px var(--overlay);color:var(--text);font-size:var(--font-xs);line-height:1.4;position:absolute;left:0}.room-ended-earned{z-index:1;color:var(--accent);margin:0 0 .75rem;font-size:.8125rem;font-weight:600;position:relative}.loading{text-align:center;padding:var(--space-12);color:var(--text-dim)}.icon-btn{background:var(--bg-surface);width:40px;height:40px;color:var(--text);border:1px solid var(--border-hover);border-radius:var(--radius-full);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .1s,background .2s,border-color .2s,color .2s;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--bg-hover)}.icon-btn:active:not(:disabled){transform:scale(.92)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn-sm{width:32px;height:32px}.icon-btn-lg{width:var(--room-control-size);height:var(--room-control-size)}.icon-btn-on{color:var(--accent);border-color:var(--accent);background:var(--accent-subtle-bg)}.chip{padding:var(--space-1) var(--space-2-5);background:var(--secondary);color:var(--secondary-text);border-radius:var(--radius-full);font-size:var(--font-xs);white-space:nowrap;border:1px solid #0000;flex:none;align-items:center;font-weight:500;line-height:1.4;display:inline-flex}.dialog-overlay{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);border:none;margin:0}.dialog-overlay:not([open]){display:none}.dialog-overlay::backdrop{background:0 0}.dialog-backdrop{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.modal,.sheet{z-index:1;position:relative}.modal-overlay{background:var(--overlay);padding:var(--space-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:440px;max-height:calc(100dvh - 2rem);padding:var(--space-8);background:var(--bg-surface);border-radius:var(--radius-lg);overflow-y:auto}.modal h2{margin:0 0 var(--space-5);font-size:var(--font-2xl)}.modal-actions{gap:var(--space-3);margin-top:var(--space-5);justify-content:flex-end;display:flex}.modal-actions-wrap{flex-wrap:wrap}.modal-status{color:var(--text-dim)}.modal-status:empty{margin:0}.sheet-overlay{background:var(--overlay);padding:var(--space-4);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:720px;padding:var(--space-4) var(--space-5) var(--space-5);background:var(--bg-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;animation:.22s ease-out sheet-up}.sheet-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.sheet-title{font-size:var(--font-md);font-weight:700}.sheet-close{color:var(--text-dim);font-size:var(--font-lg);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;display:inline-flex}.sheet-close:hover{color:var(--text);background:var(--bg-elevated)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.room-page{max-width:720px;height:100dvh;min-height:0;padding:0 var(--space-4);background-color:var(--bg);isolation:isolate;background-attachment:fixed;flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.room-page:before{content:"";pointer-events:none;background:radial-gradient(120% 55% at 100% 0%, rgb(var(--accent-rgb) / .16), transparent 65%), radial-gradient(90% 45% at 0% 25%, rgb(var(--color-teal-rgb) / .14), transparent 65%);z-index:-1;position:absolute;inset:0}.room-page-has-image:before{background:linear-gradient(180deg, var(--surface-over-image), var(--scrim))}.room-page-background-shown:before{background:linear-gradient(180deg, var(--scrim), transparent 120px)}.room-reconnect-banner{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-elevated);border-bottom:1px solid var(--border-hover);color:var(--text);font-size:var(--font-sm);text-align:center;z-index:10;font-weight:600;display:flex;position:relative}.publisher-notice{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-2) 0;padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-dim);font-size:var(--font-sm);flex-wrap:wrap;display:flex}.publisher-notice-text{flex:1;min-width:0}.reconnect-pulse{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite alternate reconnectPulse;display:inline-block}@keyframes reconnectPulse{0%{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.2)}}.room-header,.room-body{z-index:1;position:relative}.room-header{z-index:2;padding:var(--space-3-5) 0;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.room-header:has(.mic-error){z-index:11}.room-title-area{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.room-title{font-size:var(--font-lg);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:700;overflow:hidden}.room-icon-btn{justify-content:center;align-items:center;gap:var(--space-1-5);min-width:var(--room-icon-size);height:var(--room-icon-size);padding:0 var(--space-2-5);background:var(--bg-surface);color:var(--text);border:1px solid var(--border-hover);border-radius:var(--radius-full);font-size:var(--font-base);cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);flex:none;line-height:1;display:inline-flex}.room-icon-btn-off{color:var(--text-dim)}.room-icon-count{font-size:var(--font-sm);font-weight:600}.room-body{min-height:0;padding-bottom:var(--space-2);flex-direction:column;flex:1;display:flex}.chat-panel,.chat-feed-area{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chat-feed{scrollbar-width:none;min-height:0;padding:var(--space-2) 0;gap:var(--space-4);overscroll-behavior:contain;flex-direction:column;flex:1;display:flex;overflow-y:auto}.chat-msg{align-items:flex-start;gap:var(--space-2-5);font-size:var(--font-base);word-wrap:break-word;overflow-wrap:anywhere;line-height:1.4;display:flex}.chat-msg-content{flex:1;min-width:0}.chat-msg-meta{align-items:baseline;gap:var(--space-1-5);display:flex}.chat-author-btn{cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.chat-author-btn:focus-visible{outline:2px solid var(--action-hover);outline-offset:2px;border-radius:50%}.chat-author-name-btn{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.chat-author{font-size:var(--font-sm);color:var(--text);font-weight:500}.chat-author-name-btn:hover .chat-author{text-decoration:underline}.chat-author-name-btn:focus-visible{outline:2px solid var(--action-hover);outline-offset:2px;border-radius:var(--radius-xs)}.chat-time{color:var(--text-dim);font-size:var(--font-2xs);font-variant-numeric:tabular-nums}.chat-body{color:var(--text)}.chat-feed::-webkit-scrollbar{display:none}.chat-feed-hidden{visibility:hidden}.chat-jump{left:50%;bottom:var(--space-2);align-items:center;gap:var(--space-1-5);height:32px;padding:0 var(--space-3-5);background:var(--bg-elevated);color:var(--text);border:1px solid var(--border-hover);border-radius:var(--radius-full);box-shadow:0 4px 12px var(--overlay);font:inherit;font-size:var(--font-xs);white-space:nowrap;cursor:pointer;font-weight:600;display:inline-flex;position:absolute;transform:translate(-50%)}.chat-jump:hover{background:var(--bg-hover)}.chat-msg-cont{margin-top:calc(-1 * var(--space-3))}.chat-msg-cont .chat-msg-content{padding-left:calc(32px + var(--space-2-5))}.chat-time-inline{margin-right:var(--space-1-5)}.chat-report{border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:.25rem;display:inline-flex}.chat-report:hover,.chat-report:focus-visible{color:var(--danger)}@media (hover:hover){.chat-report{opacity:0}.chat-msg:hover .chat-report,.chat-report:focus-visible{opacity:1}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.chat-older{padding-bottom:var(--space-2);justify-content:center;display:flex}.chat-empty{color:var(--text-dim);font-size:var(--font-base);margin:auto}.chat-cooldown{margin:var(--space-2) 0 0;color:var(--text-dim);font-size:var(--font-sm);font-variant-numeric:tabular-nums}.chat-self{align-items:center;gap:var(--space-0-5);color:var(--text-dim);font-size:var(--font-xs);flex-direction:column;flex-shrink:0;line-height:1;display:flex}.chat-self-you{color:var(--accent-subtle-text);font-weight:600}.chat-compose{align-items:center;gap:var(--space-2-5);padding:var(--space-3) 0 calc(var(--space-4) + env(safe-area-inset-bottom,0px));display:flex;position:relative}.chat-input-pill{align-items:center;gap:var(--space-1);min-width:0;height:var(--room-control-size);padding:0 var(--space-2) 0 var(--space-1-5);background:var(--bg-surface);border:1px solid var(--border-hover);border-radius:var(--radius-full);flex:1;transition:border-color .2s;display:flex}.chat-input-pill:focus-within{border-color:var(--accent)}.chat-input{min-width:0;color:var(--text);font-size:var(--font-base);background:0 0;border:none;flex:1;padding:0}.chat-input:focus{outline:none}.chat-emoji,.chat-send{width:36px;height:36px;color:var(--text-dim);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;transition:color .2s,background .2s;display:inline-flex}.chat-emoji:hover,.chat-emoji.open,.chat-send:hover:not(:disabled){color:var(--text);background:var(--bg-hover)}.chat-send:not(:disabled){color:var(--accent)}.chat-send:disabled{opacity:.5;cursor:not-allowed}.room-actions{align-items:center;gap:var(--space-2-5);display:flex}.room-action{width:var(--room-control-size);height:var(--room-control-size);background:var(--bg-surface);color:var(--text);border:1px solid var(--border-hover);border-radius:var(--radius-full);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;transition:transform .1s,border-color .2s,background .2s,color .2s;display:inline-flex}.room-action:active:not(:disabled){transform:scale(.92)}.room-action-heart{color:var(--accent);border-color:var(--accent)}.room-icon-btn:hover:not(:disabled),.room-action:hover:not(:disabled){background:var(--bg-hover)}.room-icon-btn:disabled,.room-action:disabled{opacity:.5;cursor:not-allowed}.room-icon-btn-on,.room-icon-btn-on:hover:not(:disabled),.room-action-on,.room-action-on:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-subtle-bg)}.room-more{display:inline-flex;position:relative}.room-more-menu{right:0;bottom:calc(100% + var(--space-2));z-index:20;min-width:180px;padding:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px var(--overlay);flex-direction:column;animation:.12s ease-out emoji-pop;display:flex;position:absolute}.room-more-item{align-items:center;gap:var(--space-2-5);padding:var(--space-2-5) var(--space-3);color:var(--text);border-radius:var(--radius-sm);font:inherit;font-size:var(--font-base);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.room-more-item:hover:not(:disabled){background:var(--bg-hover)}.room-more-item:disabled{opacity:.5;cursor:not-allowed}.room-more-emoji{text-align:center;width:16px;line-height:1}.room-more-danger{color:var(--danger)}@media (prefers-reduced-motion:reduce){.room-more-menu{animation:none}}.emoji-picker{left:0;bottom:calc(100% - var(--space-2));z-index:20;gap:var(--space-1);width:100%;max-width:216px;padding:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px var(--overlay);grid-template-columns:repeat(6,1fr);animation:.12s ease-out emoji-pop;display:grid;position:absolute}.emoji-btn{aspect-ratio:1;border-radius:var(--radius-xs);font-size:var(--font-2xl);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .12s,transform .12s;display:flex}.emoji-btn:hover{background:var(--bg-surface);transform:scale(1.15)}.emoji-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@keyframes emoji-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.emoji-picker{animation:none}}.listener-list{padding:var(--space-1) 0 var(--space-3);flex-direction:column;margin:0;list-style:none;display:flex}.listener-item{align-items:center;gap:var(--space-2-5);padding:var(--space-2) var(--space-1);display:flex}.listener-btn{align-items:center;gap:var(--space-2-5);color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;display:flex}.listener-name{font-size:var(--font-base);color:var(--text)}.listener-btn:hover .listener-name{text-decoration:underline}.listener-btn:focus-visible{outline:2px solid var(--action-hover);outline-offset:2px;border-radius:var(--radius-sm)}.roster-label{margin:var(--space-3) 0 0;font-size:var(--font-xs);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.you-tag{margin-left:var(--space-1-5);padding:0 var(--space-1-5);border-radius:var(--radius-full);background:var(--accent-subtle-bg);color:var(--accent-subtle-text);font-size:var(--font-xs);white-space:nowrap;align-items:center;font-weight:600;line-height:1.5;display:inline-flex}.you-tag-tight{margin-left:0}.roster-action{margin-left:auto}.user-preview-sheet{gap:var(--space-4);padding:var(--space-2) 0;flex-direction:column;display:flex}.user-preview-header{align-items:center;gap:var(--space-3-5);display:flex}.user-preview-info{gap:var(--space-0-5);flex-direction:column;min-width:0;display:flex}.user-preview-name{font-size:var(--font-xl);color:var(--text);overflow-wrap:anywhere;margin:0;font-weight:700}.user-preview-handle{color:var(--text-dim);font-size:var(--font-sm);margin:0}.user-preview-bio{font-size:var(--font-base);color:var(--text);overflow-wrap:anywhere;margin:0;line-height:1.5}.user-preview-stats{align-items:center;gap:var(--space-3);font-size:var(--font-sm);color:var(--text-dim);flex-wrap:wrap;display:flex}.user-preview-stat strong{color:var(--text)}.user-preview-joined{font-size:var(--font-xs);margin-left:auto}.user-preview-actions{align-items:center;gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.user-preview-invite{flex:1 0 100%}.speaker-volume{align-items:center;gap:var(--space-3);display:flex}.speaker-volume-slider{min-width:0;accent-color:var(--action);flex:1;margin:0}.speaker-volume-muted .speaker-volume-slider{accent-color:var(--text-dim)}.speaker-volume-value{text-align:right;min-width:4ch;font-size:var(--font-sm);color:var(--text-dim);font-variant-numeric:tabular-nums}.room-stage{margin:var(--space-6) 0;position:relative}.stage-empty{margin:var(--space-2) 0;color:var(--text-dim);font-size:var(--font-sm);text-align:center}.stage-seats{--seat-w:96px;--seat-gap:var(--space-6);max-width:calc(3 * var(--seat-w) + 2 * var(--seat-gap));justify-content:center;gap:var(--space-5) var(--seat-gap);flex-wrap:wrap;margin:0 auto;padding:0;list-style:none;display:flex}.stage-seat{align-items:center;gap:var(--space-0-5);width:var(--seat-w);text-align:center;flex-direction:column;display:flex}.stage-seat-btn{align-items:center;gap:var(--space-0-5);width:100%;color:inherit;font:inherit;cursor:pointer;text-align:center;background:0 0;border:none;flex-direction:column;padding:0;display:flex}.seat-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;color:var(--text);font-size:var(--font-md);font-weight:600;overflow:hidden}.stage-seat-btn:hover .seat-name{text-decoration:underline}.stage-seat-btn:focus-visible{outline:2px solid var(--action-hover);outline-offset:4px;border-radius:var(--radius-sm)}.stage-seat-avatar{margin-bottom:var(--space-3);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--text-muted);border-radius:50%;transition:box-shadow .2s;display:inline-flex;position:relative}.stage-seat-speaking .stage-seat-avatar{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--speaking), 0 0 24px rgb(var(--speaking-rgb) / .5);transition:box-shadow .1s}.seat-badge{background:var(--bg-elevated);border:2px solid var(--bg);width:22px;height:22px;color:var(--text-dim);border-radius:50%;justify-content:center;align-items:center;display:inline-flex;position:absolute;bottom:-2px;right:-2px}.stage-reaction-badge{font-size:var(--font-lg);line-height:1;position:absolute;bottom:-4px;left:-4px}.seat-role{color:var(--text-dim);font-size:var(--font-sm)}.stage-seat-reconnecting .stage-seat-avatar{opacity:.5}.room-icon-badge{min-width:18px;height:18px;padding:0 var(--space-1);margin-left:var(--space-1);background:var(--accent);color:var(--on-accent);font-size:var(--font-2xs);border-radius:9px;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.mic-control{display:inline-flex;position:relative}.mic-error{top:calc(100% + var(--space-2));z-index:20;width:max-content;max-width:min(60vw,22rem);padding:var(--space-2) var(--space-3);background:var(--bg-elevated);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius);font-size:var(--font-sm);text-align:center;position:absolute;right:0}.btn-leave{padding:var(--space-3) var(--space-6);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-full);font-size:var(--font-md);cursor:pointer;background:0 0;transition:all .2s}.btn-leave:hover{background:var(--danger);color:var(--on-accent)}.reactions-layer{pointer-events:none;z-index:45;width:96px;position:fixed;top:0;bottom:0;right:max(0px,50vw - 360px);overflow:hidden}.reaction-float{bottom:calc(var(--room-composer-h) + env(safe-area-inset-bottom,0px));align-items:center;gap:var(--space-1);font-size:var(--font-4xl);will-change:transform, opacity;flex-direction:column;line-height:1;animation:2s ease-out forwards reaction-rise;display:flex;position:absolute}.reaction-name{max-width:8rem;padding:var(--space-0-5) var(--space-1-5);font-size:var(--font-2xs);color:var(--text);text-overflow:ellipsis;white-space:nowrap;background:var(--bg-elevated);border-radius:var(--radius-full);overflow:hidden}@keyframes reaction-rise{0%{transform:translate(0, 0) scale(var(--rs,1)) rotate(0);opacity:0}15%{opacity:1}to{transform:translate(var(--rd,0), -72vh) scale(var(--rs,1)) rotate(var(--rr,0));opacity:0}}@media (prefers-reduced-motion:reduce){.reaction-float{opacity:.8;animation:none}}.not-found{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.not-found h1{font-size:var(--font-display-2xl);color:var(--text-dim);margin:0}.not-found p{color:var(--text-dim);margin:var(--space-2) 0 var(--space-6)}.report-review-prompt{margin-bottom:var(--space-4);padding:var(--space-2-5) var(--space-3-5);background:rgb(var(--accent-rgb) / .1);border-left:3px solid var(--accent);border-radius:var(--radius-sm);font-size:var(--font-base);color:var(--text)}.report-redaction-notice{margin:0 0 var(--space-4);padding:var(--space-2-5) var(--space-3-5);background:rgb(var(--danger-rgb) / .1);border-radius:var(--radius-sm);font-size:var(--font-sm);color:var(--text)}.report-preview{margin-bottom:var(--space-4);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.report-preview-header{padding:var(--space-2-5) var(--space-4);background:var(--bg-elevated);border-bottom:1px solid var(--border);color:var(--text-dim);font-size:var(--font-xs);letter-spacing:.05em;text-transform:uppercase;font-weight:700}.report-preview-content{overscroll-behavior:contain;max-height:min(18rem,40dvh);padding:var(--space-4);overflow-y:auto}.report-preview-content:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.report-preview-field+.report-preview-field{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border)}.report-preview-label{margin-bottom:var(--space-1-5);color:var(--text-dim);font-size:var(--font-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700;display:block}.report-preview h3{font-size:var(--font-xl);word-break:break-word;margin:0;line-height:1.4}.report-preview p{white-space:pre-wrap;word-break:break-word;margin:0;line-height:1.6}.report-preview-meta{align-items:center;gap:var(--space-2-5);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border-top:1px solid var(--border);display:flex}.report-preview-account{flex-direction:column;line-height:1.3;display:flex}.report-preview-account span{color:var(--text-dim);font-size:var(--font-2xs)}.report-preview-account strong{color:var(--text);font-size:var(--font-base);font-weight:600}.report-technical{margin-bottom:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:var(--bg)}.report-technical-toggle{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;display:flex}.report-technical-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.report-technical-summary{flex-direction:column;display:flex}.report-technical-summary strong{font-size:var(--font-sm)}.report-technical-summary small{color:var(--text-dim);font-size:var(--font-xs)}.report-technical-chevron{color:var(--text-dim);flex:none;transition:transform .25s}.report-technical-toggle[aria-expanded=true] .report-technical-chevron{transform:rotate(180deg)}.report-technical-content{opacity:0;grid-template-rows:0fr;transition:grid-template-rows .25s,opacity .25s;display:grid}.report-technical-content-open{opacity:1;grid-template-rows:1fr}.report-technical-content-inner{min-height:0;overflow:hidden}.report-technical-body{gap:var(--space-0-5);padding:0 var(--space-4) var(--space-4);font-size:var(--font-xs);grid-template-columns:1fr;margin:0;display:grid}.report-technical-body dt{margin-top:var(--space-2-5);color:var(--text-dim)}.report-technical-body dd{word-break:break-all;margin:0}.report-diagnostics{margin:0 var(--space-4) var(--space-4);padding-top:var(--space-3-5);border-top:1px solid var(--border)}.report-diagnostics h3{font-size:var(--font-sm);margin:0}.report-diagnostics>p{margin:var(--space-1) 0 var(--space-3);color:var(--text-dim);font-size:var(--font-xs)}.report-diagnostics-list{gap:var(--space-2);max-height:16rem;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.report-diagnostics-list li{min-width:0;padding:var(--space-2-5);background:var(--bg-elevated);border-radius:var(--radius-sm)}.report-diagnostics-meta{justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1-5);font-size:var(--font-2xs);display:flex}.report-diagnostics-meta time{color:var(--text-dim);white-space:nowrap}.report-diagnostics-list code{color:var(--text);font-size:var(--font-2xs);overflow-wrap:anywhere;white-space:pre-wrap;line-height:1.45;display:block}.report-diagnostics-empty{margin-bottom:0}@media (width>=480px){.report-technical-body{gap:var(--space-1) var(--space-3);grid-template-columns:max-content 1fr}.report-technical-body dt{margin-top:0}}@media (prefers-reduced-motion:reduce){.report-technical-chevron,.report-technical-content{transition:none}}.report-success{margin-bottom:var(--space-2)}.guest-banner{justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--secondary);border:1px solid var(--secondary-border);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-radius:var(--radius-lg);margin-bottom:var(--space-6);font-size:var(--font-base);color:var(--text);display:flex}.guest-banner-link{align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--accent);color:var(--on-accent);white-space:nowrap;flex:none;font-weight:700;text-decoration:none;display:inline-flex}.guest-banner-link:hover{background:var(--accent-hover);color:var(--on-accent)}.lp-page{background-color:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.lp-main{flex:1;width:100%}.lp-header{z-index:100;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:var(--space-3) var(--space-6);position:sticky;top:0}.lp-header-container{justify-content:space-between;align-items:center;gap:var(--space-6);max-width:1200px;margin:0 auto;display:flex}.lp-logo{font-size:var(--font-2xl);letter-spacing:.5px;color:var(--text);align-items:center;gap:var(--space-2-5);flex-shrink:0;font-weight:800;text-decoration:none;display:flex}.lp-logo-badge{background:var(--accent);color:var(--on-accent);font-size:var(--font-2xs);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-xs);letter-spacing:1px;font-weight:800;line-height:1}.lp-logo-text{letter-spacing:.5px;font-weight:800}.lp-nav{align-items:center;gap:var(--space-2);display:flex}.lp-nav-link{color:var(--text-dim);font-weight:500;font-size:var(--font-base);padding:var(--space-1-5) var(--space-3-5);border-radius:var(--radius-xs);border:1px solid #0000;text-decoration:none;transition:color .15s,background .15s,border-color .15s}.lp-nav-link:hover{color:var(--text);background:var(--bg-elevated)}.lp-nav-link.active{color:var(--secondary-text);background:var(--secondary);border-color:var(--secondary-border);font-weight:600}.lp-header-actions{align-items:center;gap:var(--space-3-5);flex-shrink:0;display:flex}.lp-header-signin{color:var(--text-dim);font-weight:600;font-size:var(--font-base);padding:var(--space-2) var(--space-3);border-radius:var(--radius-xs);text-decoration:none;transition:color .15s}.lp-header-signin:hover{color:var(--text)}.lp-header-btn{width:auto;padding:var(--space-2) var(--space-5);font-size:var(--font-base);border-radius:var(--radius);white-space:nowrap;font-weight:600}.lp-hero{max-width:1200px;padding:var(--space-16) var(--space-6);gap:var(--space-12);grid-template-columns:1fr 1fr;align-items:center;margin:0 auto;display:grid}.lp-hero-content{flex-direction:column;align-items:flex-start;display:flex}.lp-hero-pill{align-items:center;gap:var(--space-2);background:var(--secondary);border:1px solid var(--secondary-border);color:var(--secondary-text);padding:var(--space-1-5) var(--space-3-5);font-size:var(--font-sm);margin-bottom:var(--space-5);border-radius:999px;font-weight:600;display:inline-flex}.lp-pulse-dot{background-color:var(--live);width:8px;height:8px;box-shadow:0 0 8px var(--live);border-radius:50%}.lp-hero-title{font-size:var(--font-display-xl);margin:0 0 var(--space-5) 0;letter-spacing:-.5px;font-weight:800;line-height:1.15}.lp-gradient-text,.lp-accent-text{color:var(--accent)}.lp-hero-subtitle{font-size:var(--font-xl);color:var(--text-dim);margin-bottom:var(--space-8);max-width:520px;line-height:1.6}.lp-hero-ctas{align-items:center;gap:var(--space-4);margin-bottom:var(--space-10);display:flex}.lp-btn-cta{width:auto;min-width:140px}.lp-hero-stats{align-items:center;gap:var(--space-6);background:var(--bg-surface);border:1px solid var(--border);padding:var(--space-4) var(--space-6);border-radius:var(--radius);display:flex}.stat-item{flex-direction:column;display:flex}.stat-value{font-size:var(--font-xl);color:var(--text);font-weight:700}.stat-label{font-size:var(--font-xs);color:var(--text-dim)}.stat-divider{background:var(--border);width:1px;height:28px}.lp-hero-visual{justify-content:center;display:flex}.lp-mock-room-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:420px;min-height:460px;padding:var(--space-7);gap:var(--space-5);box-sizing:border-box;flex-direction:column;display:flex;box-shadow:0 20px 40px #0006}.mock-room-header{flex-shrink:0;justify-content:space-between;align-items:center;height:24px;display:flex}.live-tag{background:var(--live);color:var(--on-accent);font-size:var(--font-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);font-weight:700;line-height:1}.listener-count{font-size:var(--font-sm);color:var(--secondary-emphasis);background:var(--secondary);border:1px solid var(--secondary-border);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;display:inline-flex}.listener-number{color:var(--text);font-variant-numeric:tabular-nums;padding:0 var(--space-0-5);text-align:center;min-width:3ch;font-weight:700;transition:color .25s,transform .25s;display:inline-block}.listener-number.count-pop-up{animation:.45s cubic-bezier(.175,.885,.32,1.275) listenerCountPopUp}.listener-number.count-pop-down{animation:.45s cubic-bezier(.175,.885,.32,1.275) listenerCountPopDown}@keyframes listenerCountPopUp{0%{transform:translateY(0)scale(1)}40%{color:var(--accent-hover);text-shadow:0 0 10px rgba(var(--accent-rgb), .6);transform:translateY(-3px)scale(1.22)}to{color:var(--text);transform:translateY(0)scale(1)}}@keyframes listenerCountPopDown{0%{transform:translateY(0)scale(1)}40%{color:var(--text-dim);transform:translateY(2px)scale(.92)}to{color:var(--text);transform:translateY(0)scale(1)}}.mock-room-title{font-size:var(--font-2xl);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;height:1.6rem;margin:0;font-weight:700;line-height:1.6rem;overflow:hidden}.mock-audio-wave{justify-content:center;align-items:center;gap:var(--space-1);background:var(--bg-elevated);border-radius:var(--radius-sm);height:48px;padding:0 var(--space-4);flex-shrink:0;display:flex}.mock-audio-wave .bar{background:var(--secondary-text);border-radius:3px;width:5px;animation:1.2s ease-in-out infinite alternate wave}.mock-audio-wave .bar-1{height:35%;animation-delay:.1s}.mock-audio-wave .bar-2{height:75%;animation-delay:.3s}.mock-audio-wave .bar-3{height:45%;animation-delay:.2s}.mock-audio-wave .bar-4{height:90%;animation-delay:.5s}.mock-audio-wave .bar-5{height:60%;animation-delay:.4s}.mock-audio-wave .bar-6{height:80%;animation-delay:.15s}.mock-audio-wave .bar-7{height:40%;animation-delay:.35s}.mock-audio-wave .bar-8{height:65%;animation-delay:.25s}@keyframes wave{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.mock-speakers{align-items:center;gap:var(--space-4);flex-shrink:0;height:72px;display:flex}.speaker{align-items:center;gap:var(--space-1-5);flex-direction:column;flex-shrink:0;width:76px;display:flex}.speaker-avatar{background:var(--avatar-bg);border:1px solid var(--avatar-border);width:44px;height:44px;color:var(--avatar-text);font-size:var(--font-2xl);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.speaker.speaking .speaker-avatar{box-shadow:0 0 0 3px var(--accent)}.speaker-name{font-size:var(--font-xs);color:var(--text-dim);text-align:center;white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}.mock-chat-container{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);gap:var(--space-2);box-sizing:border-box;flex-direction:column;flex-shrink:0;height:148px;display:flex}.mock-chat-header{flex-shrink:0;justify-content:space-between;align-items:center;height:14px;display:flex}.mock-chat-badge{font-size:var(--font-2xs);color:var(--secondary-emphasis);letter-spacing:.5px;font-weight:800;line-height:1}.mock-chat-list{justify-content:flex-end;gap:var(--space-1-5);box-sizing:border-box;flex-direction:column;flex-shrink:0;height:102px;display:flex;overflow:hidden}.mock-chat-bubble{align-items:center;gap:var(--space-2);font-size:var(--font-sm);background:var(--bg-surface);padding:0 var(--space-2-5);box-sizing:border-box;border-radius:var(--radius-xs);border:1px solid var(--border);flex-shrink:0;width:100%;height:28px;animation:.35s ease-out forwards chatSlideIn;display:flex}.chat-avatar{font-size:var(--font-base);flex-shrink:0;line-height:1}.chat-user{color:var(--text);flex-shrink:0;font-weight:700;line-height:1}.chat-text{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;line-height:1;overflow:hidden}@keyframes chatSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.lp-section{max-width:1200px;padding:var(--space-16) var(--space-6);margin:0 auto}.lp-section-header{text-align:center;margin-bottom:var(--space-12)}.lp-section-header-follow{margin-top:var(--space-12)}.lp-section-title{font-size:var(--font-display-md);margin:0 0 var(--space-3) 0;font-weight:800}.lp-section-subtitle{font-size:var(--font-lg);color:var(--text-dim);max-width:600px;margin:0 auto}.lp-features-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.lp-feature-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-7);transition:transform .2s,border-color .2s}.lp-feature-card:hover{border-color:rgba(var(--accent-rgb), .4);transform:translateY(-3px)}.lp-feature-icon{font-size:var(--font-display-sm);margin-bottom:var(--space-5);background:var(--secondary);border:1px solid var(--secondary-border);border-radius:var(--radius-sm);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.lp-feature-title{font-size:var(--font-2xl);margin:0 0 var(--space-2) 0;font-weight:700}.lp-feature-desc{font-size:var(--font-md);color:var(--text-dim);margin:0;line-height:1.55}.lp-tech-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.lp-tech-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-7)}.lp-tech-badge{font-size:var(--font-xs);color:var(--secondary-text);background:var(--secondary);border:1px solid var(--secondary-border);padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--space-2);font-weight:700;display:inline-block}.lp-tech-name{font-size:var(--font-xl);margin:0 0 var(--space-2) 0;font-weight:700}.lp-tech-desc{font-size:var(--font-base);color:var(--text-dim);margin:0;line-height:1.5}.lp-mission-container{text-align:center;max-width:900px;margin:0 auto}.lp-mission-badge{font-size:var(--font-xs);color:var(--accent-hover);letter-spacing:1.5px;margin-bottom:var(--space-4);font-weight:800;display:inline-block}.lp-mission-title{font-size:var(--font-display-lg);margin:0 0 var(--space-5) 0;font-weight:800;line-height:1.25}.lp-mission-text{font-size:var(--font-xl);color:var(--text-dim);margin-bottom:var(--space-12);line-height:1.7}.lp-values-grid{gap:var(--space-6);text-align:left;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.lp-value-card{background:var(--bg-surface);border:1px solid var(--border);padding:var(--space-6);border-radius:var(--radius)}.lp-value-card h4{font-size:var(--font-lg);margin:0 0 var(--space-2) 0}.lp-value-card p{font-size:var(--font-base);color:var(--text-dim);margin:0;line-height:1.5}.lp-careers-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-7) var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-6);max-width:900px;margin:0 auto;display:flex}.career-info h3{font-size:var(--font-2xl);margin:0 0 var(--space-1-5) 0}.career-info p{font-size:var(--font-base);color:var(--text-dim);margin:0}.lp-career-btn{color:var(--link-action);white-space:nowrap;font-weight:600;text-decoration:none}.lp-career-btn:hover{color:var(--link-action-hover)}.lp-cta-section{max-width:1200px;padding:var(--space-16) var(--space-6);margin:0 auto}.lp-cta-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-14) var(--space-8);text-align:center;flex-direction:column;align-items:center;display:flex}.lp-cta-title{font-size:var(--font-display-md);margin:0 0 var(--space-3) 0;font-weight:800}.lp-cta-subtitle{font-size:var(--font-lg);color:var(--text-dim);margin:0 0 var(--space-8) 0;max-width:540px}.lp-cta-actions{align-items:center;gap:var(--space-4);display:flex}.lp-footer{background:var(--bg-surface);border-top:1px solid var(--border);padding:var(--space-14) var(--space-6) var(--space-6);margin-top:auto}.lp-footer-container{gap:var(--space-12);max-width:1200px;margin:0 auto;margin-bottom:var(--space-10);grid-template-columns:1.5fr 2fr;display:grid}.lp-footer-brand{gap:var(--space-3);flex-direction:column;display:flex}.lp-footer-tagline{font-size:var(--font-base);color:var(--text-dim);max-width:320px;margin:0;line-height:1.5}.lp-company-brief{gap:var(--space-1);font-size:var(--font-base);color:var(--text-dim);margin-top:var(--space-2);flex-direction:column;display:flex}.lp-company-link{color:var(--link-action);font-weight:600;text-decoration:none}.lp-company-link:hover{color:var(--link-action-hover);text-decoration:underline}.lp-footer-grid{gap:var(--space-8);grid-template-columns:repeat(3,1fr);display:grid}.lp-footer-col{gap:var(--space-2-5);flex-direction:column;display:flex}.lp-footer-col h4{font-size:var(--font-base);color:var(--text);margin:0 0 var(--space-1) 0;font-weight:700}.lp-footer-col a{color:var(--text-dim);font-size:var(--font-base);text-decoration:none;transition:color .2s}.lp-footer-col a:hover{color:var(--accent)}.lp-footer-bottom{border-top:1px solid var(--border);padding-top:var(--space-6)}.lp-footer-bottom-container{max-width:1200px;font-size:var(--font-sm);color:var(--text-dim);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.lp-footer-bottom-container p{margin:0}.lp-footer-subdomains{align-items:center;gap:var(--space-2);display:flex}.lp-footer-subdomains a{color:var(--accent);text-decoration:none}.lp-category-bar{gap:var(--space-3);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5) var(--space-6);flex-direction:column;display:flex}.lp-category-title{font-size:var(--font-base);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.lp-category-tags{gap:var(--space-3);flex-wrap:wrap;display:flex}.lp-category-chip{background:var(--bg-elevated);border:1px solid var(--border);padding:var(--space-1-5) var(--space-4);align-items:center;gap:var(--space-2);font-size:var(--font-base);color:var(--text);cursor:pointer;border-radius:999px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.lp-category-chip:hover{background:var(--secondary);border-color:var(--secondary-border);color:var(--secondary-text)}.chip-count{font-size:var(--font-xs);color:var(--live);font-weight:700}.lp-dual-showcase{gap:var(--space-10);grid-template-columns:1fr 1fr;display:grid}.showcase-column{gap:var(--space-6);flex-direction:column;display:flex}.showcase-header{gap:var(--space-2);flex-direction:column;display:flex}.showcase-header h3{font-size:var(--font-3xl);margin:0;font-weight:800}.showcase-badge{font-size:var(--font-2xs);letter-spacing:1px;padding:var(--space-1) var(--space-2-5);border-radius:var(--radius-xs);width:fit-content;font-weight:800;display:inline-block}.listener-badge{background:var(--secondary);color:var(--secondary-text);border:1px solid var(--secondary-border)}.creator-badge{background:rgba(var(--accent-rgb), .15);color:var(--live);border:1px solid rgba(var(--accent-rgb), .3)}.showcase-cards{gap:var(--space-5);flex-direction:column;display:flex}.lp-careers-grid{gap:var(--space-4);flex-direction:column;max-width:900px;margin:0 auto;display:flex}.lp-contact-box{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-8);text-align:center;gap:var(--space-3);max-width:600px;font-size:var(--font-lg);flex-direction:column;margin:0 auto;display:flex}.lp-contact-box p{margin:0}@media (width<=768px){.lp-header{padding:var(--space-2-5) var(--space-4)}.lp-nav{display:none}.lp-header-actions{gap:var(--space-2)}.lp-hero{padding:var(--space-10) var(--space-4);gap:var(--space-8);grid-template-columns:1fr}.lp-hero-title{font-size:var(--font-display-md)}.lp-dual-showcase{grid-template-columns:1fr}.lp-footer-container{gap:var(--space-8);grid-template-columns:1fr}.lp-footer-grid{grid-template-columns:1fr 1fr}.lp-careers-card{flex-direction:column;align-items:flex-start}.lp-footer-bottom-container{gap:var(--space-3);flex-direction:column;align-items:flex-start}}.profile-bio{max-width:32rem;margin:var(--space-2) 0 0;color:var(--text);font-size:var(--font-md);overflow-wrap:anywhere;line-height:1.5}.profile-joined{margin:var(--space-1) 0 0;color:var(--text-dim);font-size:var(--font-sm)}.profile-actions{justify-content:center;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.profile-blocked-note{color:var(--text-dim);font-size:var(--font-sm);align-self:center;margin:0}.profile-tabs{justify-content:center;gap:var(--space-2);margin:var(--space-6) 0 var(--space-5);flex-wrap:wrap;display:flex}.profile-tab{padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-dim);font-size:var(--font-sm);cursor:pointer;flex:none;font-weight:600;transition:color .2s,border-color .2s,background .2s}.profile-tab:hover{color:var(--text);border-color:var(--border-hover)}.profile-tab.active{background:var(--secondary);border-color:var(--secondary-emphasis);color:var(--secondary-emphasis)}.profile-list-more{align-items:center;gap:var(--space-2);padding:var(--space-4) 0;flex-direction:column;display:flex}.follow-control{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.profile-actions .follow-control{align-items:center}.follow-button{white-space:nowrap;width:auto;min-width:6.5rem}.follow-button[aria-busy=true]{cursor:progress}.user-preview-actions .follow-button{width:auto;min-width:6.5rem}.follow-error{max-width:14rem;color:var(--danger);font-size:var(--font-xs);text-align:right;margin:0}.room-live-badge.room-live-solid{background:var(--bg-surface);border:1px solid var(--border-hover)}.room-live-badge.room-card-ended{background:var(--bg-surface);border:1px solid var(--border-hover);color:var(--text-dim)}.room-live-badge{padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-full);background:rgb(var(--live-rgb) / .15);color:var(--live);font-size:var(--font-2xs);letter-spacing:.05em;text-transform:uppercase;font-weight:700;display:inline-block}.server-error-modal{position:relative;overflow:hidden}.server-error-home{margin-bottom:var(--server-error-section-gap)}.server-error-home-icon{align-items:center;gap:var(--server-error-home-gap);display:inline-flex}.server-error-home-icon svg{width:var(--server-error-icon-size);height:var(--server-error-icon-size)}.server-error-home-icon svg:first-child{transition:transform .15s}.server-error-home:hover .server-error-home-icon svg:first-child{transform:translate(-3px)}.server-error-visual{margin-bottom:var(--server-error-section-gap);justify-content:flex-start;align-items:center;display:flex}.server-error-visual-icon{width:var(--server-error-visual-size);height:var(--server-error-visual-size);color:var(--danger);flex-shrink:0}.server-error-progress{background:rgb(var(--accent-rgb) / .15);height:3px;position:absolute;top:0;left:0;right:0;overflow:hidden}.server-error-progress:after{content:"";background:var(--accent);width:40%;animation:1.1s ease-in-out infinite server-error-progress-slide;position:absolute;inset:0 auto 0 0}@keyframes server-error-progress-slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}.server-error-details-toggle{margin-bottom:var(--space-3)}.server-error-collapse{opacity:0;visibility:hidden;grid-template-rows:0fr;transition:grid-template-rows .2s,opacity .2s,visibility .2s;display:grid}.server-error-collapse.open{opacity:1;visibility:visible;grid-template-rows:1fr}.server-error-collapse-inner{min-height:0;overflow:hidden}.server-error-confirm.sending{opacity:.6}.server-error-modal .modal-actions button{animation:.2s ease-out server-error-fade-in}@keyframes server-error-fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.server-error-home-icon svg:first-child,.server-error-collapse{transition:none}.server-error-modal .modal-actions button,.server-error-progress:after{animation:none}}.server-error-lead{margin:0 0 var(--space-5);color:var(--text-dim)}.server-error-modal .modal-actions{flex-wrap:wrap}.server-error-modal .server-error-complete-actions{justify-content:center}.server-error-modal .modal-actions button{white-space:nowrap;width:auto}.server-error-preview{max-height:240px;overflow:auto}.admin-layout{background:var(--bg);min-height:100vh;display:flex}.admin-sidebar{background:var(--bg-elevated);border-right:1px solid rgb(var(--danger-rgb) / .45);width:15rem;height:100vh;box-shadow:inset -.1875rem 0 0 rgb(var(--danger-rgb) / .12);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.admin-sidebar-head{padding:var(--space-4);border-bottom:1px solid var(--border)}.admin-brand{align-items:center;gap:var(--space-3);color:var(--text);text-decoration:none;display:flex}.admin-brand:hover{color:var(--text)}.admin-brand-mark{border-radius:var(--radius-sm);width:2.5rem;height:2.5rem;color:var(--color-white);background:var(--danger);box-shadow:0 0 0 .25rem rgb(var(--danger-rgb) / .12);flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-brand-copy{flex-direction:column;min-width:0;display:flex}.admin-logo{font-size:var(--font-xl);color:var(--text);letter-spacing:.02em;font-weight:700;line-height:1.2}.admin-logo-context{color:var(--danger);font-size:var(--font-2xs);letter-spacing:.12em;text-transform:uppercase;font-weight:700;line-height:1.4}.admin-back{font-size:var(--font-sm);color:var(--text-dim);align-items:center;gap:var(--space-1);text-decoration:none;display:inline-flex}.admin-back:hover{color:var(--accent)}.admin-nav{padding:var(--space-2);flex:1}.admin-nav-item{align-items:center;gap:var(--space-3);padding:var(--space-2-5) var(--space-3);border-radius:var(--radius,6px);color:var(--text-dim);font-size:var(--font-base);text-decoration:none;transition:background .15s,color .15s;display:flex}.admin-nav-icon{flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-nav-item:hover{background:var(--bg-surface);color:var(--text)}.admin-nav-item.active,.admin-nav-item[aria-current=page]{background:rgb(var(--danger-rgb) / .12);color:var(--danger);font-weight:600}.admin-sidebar-footer{gap:var(--space-0-5);padding:var(--space-4);border-top:1px solid var(--border);flex-direction:column;display:flex}.admin-operator-label{color:var(--text-muted);font-size:var(--font-2xs);letter-spacing:.08em;text-transform:uppercase}.admin-operator-name{color:var(--text);font-size:var(--font-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.admin-logout-btn{align-items:center;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-1-5) var(--space-2-5);border-radius:var(--radius);color:var(--text-dim);font-size:var(--font-sm);cursor:pointer;background:0 0;border:none;font-family:inherit;transition:background .15s,color .15s;display:flex}.admin-logout-btn:hover{background:var(--bg-hover);color:var(--text)}.admin-main{background:var(--bg);flex:1;min-width:0;overflow-y:auto}.admin-mode-bar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:4rem;padding:var(--space-3) var(--space-8);background:color-mix(in srgb, var(--bg-elevated) 94%, var(--danger));border-bottom:1px solid rgb(var(--danger-rgb) / .4);display:flex;position:sticky;top:0;box-shadow:0 .25rem 1rem #00000029}.admin-mode-identity{align-items:center;gap:var(--space-3);min-width:0;display:flex}.admin-mode-icon{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--color-white);background:var(--danger);flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-mode-copy{flex-direction:column;min-width:0;display:flex}.admin-mode-copy strong{color:var(--text);font-size:var(--font-base);letter-spacing:.04em}.admin-mode-copy span{color:var(--text-dim);font-size:var(--font-xs)}.admin-mode-bar .admin-back{padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);flex:none}.admin-mode-bar .admin-back:hover{border-color:var(--danger);color:var(--text)}.admin-page{padding:var(--space-6) var(--space-8);max-width:1200px}.admin-title{font-size:var(--font-3xl);margin:0 0 var(--space-1);color:var(--text);font-weight:700}.admin-subtitle{color:var(--text-dim);margin:0 0 var(--space-6);font-size:var(--font-base)}.admin-cards{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.admin-card{text-align:center;padding:var(--space-6);background:var(--bg-surface);border:1px solid var(--border,#e5e7eb);border-radius:var(--radius,8px);color:var(--text);flex-direction:column;align-items:center;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.admin-card:hover{transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.admin-card h2{margin:var(--space-3) 0 var(--space-1);font-size:var(--font-lg)}.admin-card p{font-size:var(--font-sm);color:var(--text-dim);margin:0}.admin-filters{gap:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.admin-filters label,.admin-filters .dropdown-field{align-items:center;gap:var(--space-2);font-size:var(--font-sm);color:var(--text-dim);display:flex}.admin-filters .dropdown-field{flex-direction:row}.admin-filters select,.admin-filters input{padding:var(--space-1-5) var(--space-2);border:1px solid var(--border,#d1d5db);border-radius:var(--radius,4px);background:var(--bg);color:var(--text);font-size:var(--font-sm)}.admin-filters input{min-width:200px}.admin-user-search{margin:var(--space-6) 0;justify-content:center;display:flex}.admin-user-search-field{width:100%;max-width:560px;position:relative}.admin-user-search-icon{color:var(--text-dim);pointer-events:none;z-index:1;display:flex;position:absolute;top:50%;left:1.125rem;transform:translateY(-50%)}.admin-user-search-input{width:100%;padding:var(--space-3-5) var(--space-5) var(--space-3-5) var(--space-12);border:1px solid var(--border);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text);font-size:var(--font-xl);outline:none;transition:border-color .2s,box-shadow .2s}.admin-user-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .25), 0 0 20px rgba(var(--accent-rgb), .15)}.admin-user-search-input::placeholder{color:var(--text-muted);font-size:var(--font-lg)}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:var(--font-sm)}.admin-table th,.admin-table td{padding:var(--space-2-5) var(--space-3);text-align:left;border-bottom:1px solid var(--border,#e5e7eb);white-space:nowrap}.admin-table th{color:var(--text-dim);font-weight:600;font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.05em}.admin-table tbody tr:hover{background:var(--bg-surface)}.admin-table td.admin-reason{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.admin-empty{color:var(--text-dim);text-align:center;padding:var(--space-8)}.admin-btn{padding:var(--space-2) var(--space-4);border:1px solid var(--border,#d1d5db);border-radius:var(--radius,4px);background:var(--bg);color:var(--text);cursor:pointer;font-size:var(--font-sm)}.admin-btn:hover{background:var(--bg-surface)}.admin-btn-sm{padding:var(--space-1) var(--space-2);border:1px solid var(--border,#d1d5db);border-radius:var(--radius,4px);background:var(--bg);color:var(--text);cursor:pointer;font-size:var(--font-xs)}.admin-btn-sm:hover{background:var(--bg-surface)}.admin-btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.admin-btn-primary:hover{opacity:.9}.admin-btn-danger{background:var(--danger,#ef4444);color:#fff;border-color:var(--danger,#ef4444)}.admin-btn-danger:hover{opacity:.9}.admin-row-actions{gap:var(--space-2);display:flex}.admin-modal h2{margin:0 0 var(--space-4);font-size:var(--font-xl)}.admin-modal h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--font-md)}.admin-modal-body>label,.admin-modal-body>.dropdown-field{margin-bottom:var(--space-3);font-size:var(--font-sm);color:var(--text-dim);display:block}.admin-modal-body select,.admin-modal-body input,.admin-modal-body textarea{width:100%;margin-top:var(--space-1);padding:var(--space-1-5) var(--space-2);border:1px solid var(--border,#d1d5db);border-radius:var(--radius,4px);background:var(--bg);color:var(--text);font-size:var(--font-sm);box-sizing:border-box;display:block}.admin-modal-body textarea{resize:vertical}.admin-modal-body hr{margin:var(--space-4) 0;border:none;border-top:1px solid var(--border,#e5e7eb)}.admin-modal-body p{margin:var(--space-1) 0;font-size:var(--font-base)}.admin-modal-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);display:flex}.admin-desc{background:var(--bg-surface);padding:var(--space-2);border-radius:var(--radius,4px);font-size:var(--font-sm);white-space:pre-wrap}.admin-sanction-info{background:rgb(var(--danger,239 68 68) / .05);border:1px solid rgb(var(--danger,239 68 68) / .2);border-radius:var(--radius,4px);padding:var(--space-2);margin:var(--space-2) 0}.admin-error{color:var(--danger);font-size:var(--font-sm);margin:var(--space-2) 0}@media (width<=768px){.admin-layout{flex-direction:column}.admin-sidebar{border-right:0;border-bottom:1px solid rgb(var(--danger-rgb) / .45);width:100%;height:auto;box-shadow:inset 0 -.1875rem 0 rgb(var(--danger-rgb) / .12);position:static}.admin-sidebar-head{padding:var(--space-3) var(--space-4)}.admin-brand-mark{width:2.25rem;height:2.25rem}.admin-nav{gap:var(--space-1);padding:var(--space-2) var(--space-3);display:flex;overflow-x:auto}.admin-nav-item{flex:none}.admin-sidebar-footer{display:none}.admin-mode-bar{padding:var(--space-3) var(--space-4)}.admin-mode-copy span{display:none}.admin-mode-bar .admin-back{padding:var(--space-2)}.admin-mode-bar .admin-back svg{display:none}.admin-page{padding:var(--space-5) var(--space-4)}}.badge-p0{color:var(--danger,#ef4444);font-weight:700}.badge-p1{color:#f97316;font-weight:600}.badge-p2{color:var(--accent)}.badge-p3{color:var(--text-dim)}.room-card-ended-meta{color:var(--text-dim);font-size:var(--font-sm);margin:0}.room-ended-meta{z-index:1;color:var(--text);margin:0 0 .75rem;font-size:.8125rem;font-weight:600;position:relative}.chat-readonly{border-top:1px solid var(--border);background:var(--surface-over-image);color:var(--text-dim);text-align:center;margin:0;padding:.75rem;font-size:.875rem}.history-more{justify-content:center;padding:1.5rem 0;display:flex}.history-more-error{text-align:center;margin:1rem 0 0}.share-menu-list{min-width:12rem;left:auto;right:0}.share-menu-list .dropdown-item{align-items:center;gap:var(--space-2-5);box-sizing:border-box;padding:var(--space-2) var(--space-3);text-decoration:none;display:flex}.share-menu-list .dropdown-item svg{color:var(--text-dim);flex:none}.share-menu-error{margin:var(--space-1) 0 0;padding:var(--space-1-5) var(--space-3);color:var(--danger);font-size:var(--font-xs);white-space:normal}
