*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f172a;--surface:#1e293b;--surface2:#334155;--border:#475569;--text:#f1f5f9;--text-muted:#94a3b8;--accent:#2e45ad;--accent-hover:#3f5fc7;--accent-fg:#6b86e8;--focus-ring:#6b8cee;--focus-glow:rgba(107,140,238,0.28);--danger:#b91c1c;--danger-hover:#991b1b;--danger-deep:#5c0d15;--danger-deep-hover:#4a0b11;--success:#22c55e}[data-theme=light]{--bg:#f8fafc;--surface:#ffffff;--surface2:#e2e8f0;--border:#cbd5e1;--text:#0f172a;--text-muted:#64748b;--accent-fg:#2e45ad}@media (min-width:769px){html{scrollbar-gutter:stable}}body,html{height:100%;width:100%;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,sans-serif;font-size:14px;overflow-x:hidden;-webkit-text-size-adjust:100%}@media (max-width:768px){body,html{height:auto;min-height:100%}}button{cursor:pointer;border:1px solid var(--border);border-radius:6px;padding:6px 14px;background:var(--surface2);color:var(--text);font-size:13px;transition:background .15s}button:hover:not(:disabled){background:var(--border)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}input,select,textarea{background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px;padding:6px 10px;outline:none}@media (pointer:coarse){input,select,textarea{font-size:16px!important}}input:focus,select:focus,textarea:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-glow)}.section-collapse-bar{display:none}@media (max-width:768px){.section-collapse-bar{display:flex;align-items:center;justify-content:center;width:100%;height:12px;padding:0;border:none;border-top:1px solid var(--border);border-radius:0 0 10px 10px;background:color-mix(in srgb,var(--surface2) 60%,transparent);color:var(--text-muted);cursor:pointer;font-size:8px;line-height:1;flex-shrink:0;margin:0}.section-collapse-bar:active,.section-collapse-bar:focus-visible{background:var(--surface2);color:var(--text);outline:none}.section-collapse-bar i{transition:transform .22s ease;display:inline-block}.section-collapse-bar.collapsed i{transform:rotate(180deg)}.chat.chat-expanded>.section-collapse-bar,.notepad.notepad-expanded>.section-collapse-bar{display:none}.video-panel>.section-collapse-bar{width:auto;margin:4px -12px -12px;border-bottom-left-radius:10px;border-bottom-right-radius:10px}.right-panel>.section-collapse-bar{margin-top:4px}.chat>.section-collapse-bar,.notepad>.section-collapse-bar{width:auto;margin:4px -12px -12px;border-bottom-left-radius:10px;border-bottom-right-radius:10px}.widget-container>.section-collapse-bar{margin-top:4px}.chat.section-collapsed{height:auto;gap:0}.room-container>.chat.section-collapsed{min-height:0;max-height:none;height:auto}.video-panel.section-collapsed .videos,.video-panel.section-collapsed .videos-grid{max-height:0;opacity:0;margin:0;padding:0;pointer-events:none;overflow:hidden;transition:max-height .25s ease,opacity .18s ease}.video-panel .videos,.video-panel .videos-grid{max-height:4000px;transition:max-height .3s ease,opacity .2s ease}.right-panel.section-collapsed .panel-tab-content{max-height:0;opacity:0;pointer-events:none;overflow:hidden;transition:max-height .25s ease,opacity .18s ease}.right-panel .panel-tab-content{max-height:4000px;transition:max-height .3s ease,opacity .2s ease}.chat.section-collapsed .chat-ai-attachment-preview,.chat.section-collapsed .chat-ai-modes,.chat.section-collapsed .chat-emoji-grid,.chat.section-collapsed .chat-input-row,.chat.section-collapsed .messages{max-height:0;opacity:0;pointer-events:none;overflow:hidden;margin:0;transition:max-height .25s ease,opacity .18s ease}.chat .chat-ai-attachment-preview,.chat .chat-ai-modes,.chat .chat-emoji-grid,.chat .chat-input-row,.chat .messages{transition:max-height .3s ease,opacity .2s ease}.notepad.section-collapsed .notepad-editor,.notepad.section-collapsed .notepad-toolbar{max-height:0;opacity:0;pointer-events:none;overflow:hidden;margin:0;padding:0;transition:max-height .25s ease,opacity .18s ease}.notepad .notepad-editor,.notepad .notepad-toolbar{transition:max-height .3s ease,opacity .2s ease}.notepad.section-collapsed{min-height:0;gap:0}.bottom-right .notepad.section-collapsed{flex:0 0 auto;height:auto;min-height:0}.bottom-right .notepad.section-collapsed .notepad-editor{min-height:0;max-height:0}.widget-container.section-collapsed>.widget-slot{max-height:0;opacity:0;pointer-events:none;overflow:hidden;margin:0;padding:0;border-width:0;transition:max-height .25s ease,opacity .18s ease}.widget-container>.widget-slot{transition:max-height .3s ease,opacity .2s ease}.bottom-right .widget-container.section-collapsed{flex:0 0 auto;height:auto;min-height:0}}@media (hover:none) and (pointer:coarse){[contenteditable=""],[contenteditable=plaintext-only],[contenteditable=true],input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea{font-size:16px!important}}.app{flex-direction:column;min-height:100vh;min-height:100dvh;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:16px;max-width:100%;overflow-x:hidden}.app,.media-error{position:relative;display:flex}.media-error{align-items:center;justify-content:center;gap:10px;background:#2a0f12;border:1px solid #5e1620;color:#ff6b73;padding:10px 44px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.4px;text-align:center}.media-error>span{min-width:0}.media-error>span strong{font-weight:600}.media-error-dismiss{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;color:#ff6b73;font-size:14px;line-height:1;padding:6px 8px;cursor:pointer;opacity:.75;flex-shrink:0}.media-error-dismiss:hover{opacity:1}.live-consent-notice{position:fixed;left:50%;bottom:94px;transform:translateX(-50%);z-index:1210;display:inline-flex;align-items:center;gap:8px;padding:6px 32px 6px 12px;background:color-mix(in srgb,var(--accent,#6366f1) 22%,rgba(15,18,28,.94));border:1px solid color-mix(in srgb,var(--accent,#6366f1) 55%,transparent);color:#fff;border-radius:999px;font-size:12px;line-height:1.35;letter-spacing:.01em;max-width:min(560px,calc(100vw - 32px));box-shadow:0 2px 10px rgba(0,0,0,.25);animation:live-consent-in .22s ease-out}@keyframes live-consent-in{0%{opacity:0;transform:translateX(-50%) translateY(6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:640px){.live-consent-notice{bottom:86px;padding:5px 28px 5px 10px;font-size:11px;gap:6px}}.live-consent-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:color-mix(in srgb,var(--accent,#6366f1) 55%,transparent);color:#fff;font-size:10px;flex-shrink:0}.live-consent-text{flex:1 1;min-width:0}.live-consent-text strong{font-weight:600}.live-consent-dismiss{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,.7);font-size:11px;line-height:1;padding:5px 7px;cursor:pointer}.live-consent-dismiss:hover{color:#fff}.connect-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:60vh}.connect-screen h1{font-size:24px;font-weight:700}.app-logo{height:256px;width:auto;object-fit:contain}.app-logo-light{display:none}.app-logo-dark,[data-theme=light] .app-logo-light{display:block}[data-theme=light] .app-logo-dark{display:none}.app-logo-subtitle{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:3px;font-weight:300;margin-top:-2px}.connect-screen p{color:var(--text-muted)}.connect-error,.connect-screen p{text-align:center;max-width:380px}.connect-error{color:var(--danger);font-size:13px}.spinner-inline{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:6px}.copyright-area{flex-direction:column;padding:16px 0}.copyright,.copyright-area{display:flex;align-items:center;gap:8px}.copyright{color:var(--text-muted);font-size:11px;text-align:center;margin-top:50px}.admin-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--accent-fg);background:color-mix(in srgb,var(--accent-fg) 14%,transparent);padding:2px 8px;border-radius:10px}.admin-key-input{display:flex;align-items:center;gap:6px}.admin-key-input input{width:180px}.admin-key-input .primary,.admin-key-input input{font-size:12px;padding:5px 10px}.admin-logout-btn{background:none;border:1px solid var(--border);color:var(--text-muted);font-size:11px;padding:4px 12px;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:color .15s,border-color .15s}.admin-logout-btn:hover{color:var(--text);border-color:var(--text-muted)}.admin-delete-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;font-size:13px;border-radius:4px;transition:color .15s;display:flex;align-items:center}.admin-delete-btn:hover{color:var(--danger)}.admin-delete-confirm{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--danger);font-weight:600}.admin-delete-btn.confirm-yes{color:var(--success)}.admin-delete-btn.confirm-yes:hover{color:#16a34a}.admin-delete-btn.confirm-no{color:var(--text-muted)}.admin-delete-btn.confirm-no:hover{color:var(--text)}.copyright-room{font-size:9px;padding:0;opacity:.9;position:absolute;bottom:2px}.admin-dashboard-link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;text-decoration:none;color:var(--text);font-size:13px;font-weight:600;transition:border-color .15s,background .15s,transform .15s;margin-bottom:2px}.admin-dashboard-link:hover{border-color:var(--accent-fg);background:color-mix(in srgb,var(--accent-fg) 7%,var(--surface))}.admin-dashboard-link:active{transform:translateY(1px)}.admin-dashboard-link-main{display:inline-flex;align-items:center;gap:10px}.admin-dashboard-link-main i{color:var(--accent-fg)}.admin-dashboard-link-sub{display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--text-muted)}.admin-analytics-live{font-size:9px;font-weight:700;color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent);padding:1px 6px;border-radius:8px;letter-spacing:.08em;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.5}}.dash-app{max-width:1400px;margin:0 auto;width:100%;gap:14px}.dash-loading{gap:10px;color:var(--text-muted);padding:80px 20px;font-size:13px}.dash-loading,.dash-login{display:flex;align-items:center;justify-content:center}.dash-login{flex:1 1;padding:40px 16px;min-height:80vh}.dash-login-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px;display:flex;flex-direction:column;gap:14px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.dash-login-head{display:flex;align-items:center;gap:12px}.dash-login-head i{font-size:22px;color:var(--accent-fg);background:color-mix(in srgb,var(--accent-fg) 12%,transparent);padding:10px;border-radius:10px}.dash-login-head h1{font-size:18px;font-weight:700;letter-spacing:-.01em}.dash-login-sub{font-size:12px;color:var(--text-muted);line-height:1.5}.dash-login-form{display:flex;gap:8px}.dash-login-form input{flex:1 1}.dash-login-form .primary{white-space:nowrap}.dash-login-error{color:var(--danger);font-size:12px;background:color-mix(in srgb,var(--danger) 10%,transparent);padding:8px 12px;border-radius:6px;border-left:3px solid var(--danger)}.dash-login-foot{padding-top:6px;border-top:1px solid var(--border);display:flex;justify-content:center}.dash-login-foot a{font-size:12px;color:var(--text-muted);text-decoration:none}.dash-login-foot a:hover{color:var(--text)}.dash-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:8px 4px 0}.dash-header-title{display:flex;align-items:center;gap:14px}.dash-header-icon{width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--accent-fg) 14%,transparent);color:var(--accent-fg);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.dash-header-title h1{font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.1}.dash-header-sub{font-size:11px;color:var(--text-muted);margin-top:3px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.dash-live-dot{width:7px;height:7px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px color-mix(in srgb,var(--success) 20%,transparent);animation:live-pulse 2s ease-in-out infinite}.dash-sep{opacity:.5}.dash-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dash-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;transition:border-color .15s,background .15s}.dash-btn:hover:not(:disabled){border-color:var(--accent-fg);background:color-mix(in srgb,var(--accent-fg) 7%,var(--surface))}.dash-btn-danger:hover:not(:disabled){border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger)}.dash-btn-icon{width:32px;height:32px;padding:0;justify-content:center}.dash-floating-theme{position:absolute;top:10px;right:12px;z-index:20}.dash-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dash-toggle input{width:14px;height:14px;accent-color:var(--accent-fg);cursor:pointer}.dash-tabs{display:flex;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px;overflow-x:auto;scrollbar-width:thin}.dash-tab-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);padding:8px 14px;font-size:12px;font-weight:600;border-radius:7px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;cursor:pointer;transition:color .15s,background .15s}.dash-tab-btn:hover{color:var(--text);background:color-mix(in srgb,var(--text) 4%,transparent)}.dash-tab-btn.active{color:var(--accent-fg);background:color-mix(in srgb,var(--accent-fg) 12%,transparent)}.dash-tab{display:flex;flex-direction:column;gap:14px}.dash-health-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px}.dash-health{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;padding:6px 12px;border-radius:8px}.dash-health-ok{color:var(--success);background:color-mix(in srgb,var(--success) 12%,transparent)}.dash-health-warn{color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,transparent)}.dash-health-danger{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.dash-health-meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-muted)}.dash-health-meta i{color:var(--accent-fg);margin-right:4px}.dash-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.dash-kpi{display:flex;align-items:center;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;transition:border-color .15s}.dash-kpi:hover{border-color:color-mix(in srgb,var(--accent-fg) 40%,var(--border))}.dash-kpi-icon{width:38px;height:38px;border-radius:9px;background:color-mix(in srgb,var(--accent-fg) 14%,transparent);color:var(--accent-fg);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.dash-kpi-warn .dash-kpi-icon{color:#f59e0b;background:color-mix(in srgb,#f59e0b 14%,transparent)}.dash-kpi-danger .dash-kpi-icon{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.dash-kpi-body{display:flex;flex-direction:column;gap:0;min-width:0;flex:1 1}.dash-kpi-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-kpi-value{font-size:22px;font-weight:700;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.dash-kpi-sub{font-size:11px;color:var(--text-muted);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-section-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:900px){.dash-section-grid{grid-template-columns:1fr}}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:10px}.dash-card-head{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text);padding-bottom:8px;border-bottom:1px solid var(--border)}.dash-card-head i{color:var(--accent-fg)}.dash-card-head-count{margin-left:auto;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;letter-spacing:0;text-transform:none}.dash-card-head-count,.dash-empty{color:var(--text-muted);background:var(--bg)}.dash-empty{font-size:12px;text-align:center;padding:24px 10px;border-radius:8px}.dash-history-table{display:flex;flex-direction:column;gap:1px;background:var(--bg);border-radius:8px;overflow:hidden}.dash-history-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;padding:8px 12px;font-size:13px;background:var(--surface);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-history-header,.dash-history-row>span:first-child{color:var(--text-muted)}.dash-history-header{font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.05em;background:var(--bg)}.dash-chart-block{display:flex;flex-direction:column;gap:4px}.dash-chart-label{font-size:11px;color:var(--text-muted);font-weight:600}.dash-mini-bar-chart{display:flex;align-items:flex-end;gap:2px;height:68px;background:var(--bg);border-radius:6px;padding:6px 6px 0}.dash-mini-bar-col{flex:1 1;height:100%;display:flex;align-items:flex-end}.dash-mini-bar{width:100%;border-radius:2px 2px 0 0;min-height:1px;transition:height .3s ease}.dash-chart-axis{display:flex;justify-content:space-between;font-size:9px;color:var(--text-muted);padding:2px 4px 0}.dash-chart-axis-max{color:var(--accent-fg);font-weight:600}.dash-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.dash-search{position:relative;flex:1 1;min-width:180px}.dash-search i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:11px;pointer-events:none}.dash-search input{width:100%;padding-left:28px}.dash-sort{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.dash-sort select{padding:6px 8px;font-size:12px}.dash-card-head-sort{margin-left:8px;text-transform:none;letter-spacing:0;font-weight:500}.dash-card-head-sort label{font-size:11px}.dash-card-head-sort select{padding:3px 6px;font-size:11.5px}.dash-toolbar-count{font-size:11px;color:var(--text-muted);margin-left:auto;padding:4px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;white-space:nowrap}.dash-level-filter{display:inline-flex;gap:4px}.dash-level-filter button{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);border-radius:6px;cursor:pointer}.dash-level-filter button span{background:var(--bg);padding:1px 6px;border-radius:10px;font-size:10px}.dash-level-filter button.active{color:var(--accent-fg);border-color:var(--accent-fg);background:color-mix(in srgb,var(--accent-fg) 10%,transparent)}.dash-level-filter button.warn.active{color:#f59e0b;border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 10%,transparent)}.dash-level-filter button.danger.active{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.dash-table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:auto;max-width:100%}.dash-table{width:100%;border-collapse:collapse;font-size:12.5px}.dash-table thead{background:var(--bg)}.dash-table th{text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:10px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.dash-table td.num,.dash-table th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.dash-table tr:last-child td{border-bottom:none}.dash-table tbody tr:hover{background:color-mix(in srgb,var(--accent-fg) 5%,transparent)}.dash-table-empty{text-align:center;color:var(--text-muted);padding:22px 10px!important}.dash-mono{font-family:Consolas,Monaco,Courier New,monospace;font-size:12px}.dash-muted{color:var(--text-muted)}.dash-xs{font-size:10.5px}.dash-row-actions{text-align:right}.dash-icon-btn{background:none;border:1px solid transparent;color:var(--text-muted);cursor:pointer;width:28px;height:28px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,background .15s}.dash-icon-btn:hover{color:var(--text);border-color:var(--border)}.dash-icon-btn-danger:hover{color:var(--danger);border-color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,transparent)}.dash-room-name{display:inline-flex;align-items:center;gap:6px;font-weight:600}.dash-room-name>i{color:var(--text-muted);font-size:10px}.dash-room-sub{font-size:10.5px;color:var(--text-muted);font-family:Consolas,Monaco,Courier New,monospace;margin-top:2px}.dash-room-storage{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;flex-wrap:wrap}.dash-room-storage i{margin-right:4px;color:var(--text-muted);font-size:10px}.dash-pill{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap;background:var(--bg);color:var(--text-muted);border:1px solid var(--border)}.dash-pill i{font-size:9px}.dash-pill-live{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 40%,transparent);animation:live-pulse 2s ease-in-out infinite}.dash-pill-ok{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success);border-color:color-mix(in srgb,var(--success) 40%,transparent)}.dash-pill-warn{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#f59e0b;border-color:color-mix(in srgb,#f59e0b 40%,transparent)}.dash-pill-idle{background:var(--bg);color:var(--text-muted)}.dash-log-list,.dash-log-viewer{background:var(--bg);border-radius:8px;border:1px solid var(--border);padding:6px;display:flex;flex-direction:column;gap:1px;font-family:Consolas,Monaco,Courier New,monospace;font-size:11.5px;max-height:560px;overflow-y:auto}.dash-log-list{max-height:340px}.dash-log-row{display:grid;grid-template-columns:80px 56px 1fr auto;grid-gap:10px;gap:10px;padding:4px 8px;border-radius:4px;line-height:1.45;align-items:baseline}.dash-log-room-chip{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1px 7px;cursor:pointer;font-family:inherit;align-self:center;white-space:nowrap;transition:color .15s,border-color .15s,background .15s}.dash-log-room-chip:hover{color:var(--accent-fg);border-color:var(--accent-fg);background:color-mix(in srgb,var(--accent-fg) 10%,transparent)}.dash-filter-pill{display:inline-flex;align-items:center;gap:8px;font-size:12px;padding:6px 12px;background:color-mix(in srgb,var(--accent-fg) 12%,transparent);color:var(--accent-fg);border:1px solid color-mix(in srgb,var(--accent-fg) 40%,transparent);border-radius:8px;align-self:flex-start}.dash-filter-pill strong{color:var(--text);font-weight:700}.dash-filter-pill button{background:none;border:none;color:var(--accent-fg);cursor:pointer;padding:0 2px;font-size:12px;margin-left:2px}.dash-filter-pill button:hover{color:var(--text)}.dash-ai-summary{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.dash-ai-cell{background:var(--bg);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.dash-ai-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dash-ai-value{font-size:22px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text);line-height:1.1}.dash-ai-window{font-weight:500;margin-left:4px}.dash-ai-sub,.dash-ai-window,.dash-subhead{font-size:11px;color:var(--text-muted)}.dash-subhead{font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-top:6px}.dash-history-row.dash-top4{grid-template-columns:1.8fr 1fr 1fr 1.2fr}.dash-history-row.dash-top3{grid-template-columns:1.8fr 1fr 1fr;align-items:center}.dash-history-row.dash-top3 span:first-child i{color:var(--text-muted);margin-right:6px}.dash-history-row.dash-clickable{cursor:pointer;transition:background .15s}.dash-history-row.dash-clickable:hover{background:color-mix(in srgb,var(--accent-fg) 8%,var(--surface))}.dash-muted-light{color:var(--text);font-weight:500}.dash-warn{color:#f59e0b;font-weight:600}.dash-storage-bar-wrap{display:flex;flex-direction:column;gap:4px}.dash-storage-bar{height:8px;background:var(--bg);border-radius:4px;overflow:hidden;border:1px solid var(--border)}.dash-storage-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent-fg),#8aa5ef);transition:width .3s ease}.dash-storage-footer{margin-top:4px}.dash-storage-footer code{background:var(--bg);padding:0 4px;border-radius:3px;font-size:10.5px}.dash-quota-bar{width:100%;height:5px;background:var(--bg);border-radius:3px;overflow:hidden;border:1px solid var(--border);margin-bottom:3px}.dash-quota-bar-fill{height:100%;background:var(--accent-fg);transition:width .3s ease,background .15s}.dash-quota-mid .dash-quota-bar-fill{background:#f59e0b}.dash-quota-high .dash-quota-bar-fill{background:var(--danger)}.dash-room-storage-cell{min-width:160px}.dash-room-ai{display:inline-flex;gap:10px;font-size:11.5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-room-ai i{color:var(--text-muted);font-size:10px;margin-right:3px}.dash-room-ai .dash-warn i{color:#f59e0b}.dash-ops-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));grid-gap:8px;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.dash-ops-cell{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:6px 8px;border-right:1px solid var(--border);min-width:0}.dash-ops-cell:last-child{border-right:none}@media (max-width:720px){.dash-ops-cell{border-right:none}}.dash-ops-cell>i:first-child{font-size:11px;color:var(--accent-fg);margin-bottom:2px}.dash-ops-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.dash-ops-value{font-size:13px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dash-ops-sub,.dash-ops-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dash-ops-sub{font-size:10px;color:var(--text-muted)}.dash-log-row:hover{background:var(--surface)}.dash-log-ts{color:var(--text-muted);white-space:nowrap}.dash-log-lvl{font-weight:700;font-size:9.5px;padding:0 5px;border-radius:3px;text-align:center;letter-spacing:.05em}.dash-log-lvl-info{color:var(--accent-fg);background:color-mix(in srgb,var(--accent-fg) 14%,transparent)}.dash-log-lvl-warn{color:#f59e0b;background:color-mix(in srgb,#f59e0b 14%,transparent)}.dash-log-lvl-error{color:var(--danger);background:color-mix(in srgb,var(--danger) 14%,transparent)}.dash-log-msg{color:var(--text);word-break:break-word;font-family:Consolas,Monaco,Courier New,monospace}.dash-modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:200}.dash-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px 22px;max-width:420px;width:100%;display:flex;flex-direction:column;gap:12px;box-shadow:0 20px 60px rgba(0,0,0,.35)}.dash-modal h3{font-size:15px;font-weight:700;display:flex;align-items:center;gap:8px}.dash-modal h3 i{color:var(--danger)}.dash-modal p{font-size:13px;color:var(--text-muted);line-height:1.5}.dash-modal p strong{color:var(--text)}.dash-modal-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.dash-settings{display:flex;flex-direction:column;gap:14px}.dash-settings-header{justify-content:space-between}.dash-settings-header,.dash-settings-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.dash-settings-actions{display:flex;gap:8px}.dash-card-sub{font-size:12px;color:var(--text-muted);line-height:1.5;margin:-2px 0 10px}.dash-card-sub code{background:color-mix(in srgb,var(--accent) 8%,transparent);padding:1px 5px;border-radius:4px;font-size:11.5px}.dash-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px 18px;gap:14px 18px}.dash-form-stack{gap:14px}.dash-form-label,.dash-form-stack{display:flex;flex-direction:column}.dash-form-label{gap:4px;font-size:12px;color:var(--text)}.dash-form-label-text{font-weight:600}.dash-form-help{font-size:11px;color:var(--text-muted);line-height:1.4}.dash-form-label input[type=number],.dash-form-label input[type=text],.dash-form-label textarea{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:7px 9px;font-size:13px;color:var(--text);font-family:inherit;width:100%;box-sizing:border-box;color-scheme:light dark;margin-top:auto}.dash-form-label textarea{resize:vertical;min-height:70px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;line-height:1.5}.dash-form-label input[type=number]:focus,.dash-form-label input[type=text]:focus,.dash-form-label textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.dash-form-num-inline{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:5px 7px;font-size:12px;color:var(--text);width:96px;text-align:right;color-scheme:light dark}.dash-form-checkbox{display:inline-flex;align-items:center;cursor:pointer}.dash-form-checkbox input{margin:0;width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.dash-form-label-row{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.dash-form-label-row .dash-form-help{flex:1 1;margin-right:auto}.dash-form-checkbox-line{display:flex;flex-direction:column;gap:4px}.dash-form-checkbox-line-main{display:inline-flex;align-items:center;gap:8px;cursor:pointer;width:max-content}.dash-form-checkbox-line-help{margin-left:24px}.dash-form-actions{display:flex;justify-content:flex-end;margin-top:12px}.dash-models-table td,.dash-models-table th{text-align:center}.dash-models-table td:first-child,.dash-models-table th:first-child{text-align:left}.dash-ice-list{display:flex;flex-direction:column;gap:8px}.dash-ice-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.dash-ice-row input{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:12px;color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;width:100%;box-sizing:border-box}.dash-ice-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.dash-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.dash-btn-primary:hover:not([disabled]){filter:brightness(1.05)}.dash-btn-primary[disabled]{opacity:.5;cursor:not-allowed}.dash-prompts-table .dash-prompt-preview{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--text-muted)}.dash-prompts-table tr.dash-clickable:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}.dash-pager{display:flex;align-items:center;justify-content:space-between;padding:8px 4px 0;flex-wrap:wrap;gap:8px}.dash-pager-controls{display:flex;align-items:center;gap:6px}.dash-banner{border:1px solid var(--border);border-radius:8px;padding:10px 14px;font-size:12.5px;display:flex;align-items:center;gap:10px}.dash-banner-warn{background:color-mix(in srgb,var(--warning,#ca8a04) 10%,transparent);border-color:color-mix(in srgb,var(--warning,#ca8a04) 30%,transparent)}.dash-banner i{color:var(--warning,#ca8a04)}.dash-modal-wide{max-width:920px;max-height:88vh;padding:0;overflow:hidden}.dash-modal-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.dash-modal-head h3{margin:0;font-size:14px}.dash-modal-head h3 i{color:var(--accent)}.dash-modal-body{padding:16px 18px 20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.dash-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:8px 14px;gap:8px 14px;font-size:12.5px;color:var(--text-muted);padding-bottom:6px;border-bottom:1px dashed var(--border)}.dash-detail-grid strong{color:var(--text);margin-right:6px}.dash-detail-block{border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:color-mix(in srgb,var(--accent) 3%,transparent)}.dash-detail-block summary{cursor:pointer;font-weight:600;font-size:12.5px;color:var(--text);padding:4px 0}.dash-detail-block[open] summary{margin-bottom:6px}.dash-detail-turns{display:flex;flex-direction:column;gap:8px}.dash-turn{border-left:3px solid var(--border);padding:6px 10px;border-radius:0 6px 6px 0;background:var(--surface)}.dash-turn-user{border-left-color:var(--accent)}.dash-turn-assistant{border-left-color:color-mix(in srgb,var(--success) 80%,transparent)}.dash-turn-role{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:2px}.dash-pre{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;color:var(--text);max-height:320px;overflow-y:auto}.dash-pre-err{color:var(--danger)}@media (max-width:768px){.dash-app{gap:10px}.dash-header-title h1{font-size:17px}.dash-header-icon{width:38px;height:38px;font-size:15px}.dash-kpi{padding:12px}.dash-kpi-value{font-size:18px}.dash-tab-btn{padding:7px 10px;font-size:11px}.dash-tab-btn span{display:none}.dash-tab-btn.active span{display:inline}.dash-log-row{grid-template-columns:64px 46px 1fr;font-size:10.5px}.dash-table td,.dash-table th{padding:8px 10px}.dash-form-grid,.dash-ice-row{grid-template-columns:1fr}.dash-ice-row>button{justify-self:end}.dash-modal-wide{max-height:92vh}.dash-pre{font-size:11.5px;max-height:220px}.dash-prompts-table .dash-prompt-preview{max-width:200px}}.room-list{max-width:580px;margin:0 auto;width:100%;display:flex;flex-direction:column;gap:16px}.room-list h2{font-size:18px;font-weight:700;letter-spacing:-.01em}.create-form{gap:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0;overflow:hidden}.create-form,.create-form-section{display:flex;flex-direction:column}.create-form-section{gap:8px;padding:14px 16px}.create-form-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);display:flex;align-items:center;gap:6px}.create-form-label i{font-size:12px}.create-form-divider{height:1px;background:var(--border);margin:0}.username-input{width:100%}.create-form-fields{display:flex;gap:8px}.create-form-fields input{flex:1 1;min-width:0}.create-form-options{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.create-room-btn{margin-left:auto;flex-shrink:0}.rooms-table{display:flex;flex-direction:column;gap:6px}.room-row{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;transition:border-color .2s,box-shadow .2s,opacity .2s;position:relative}.room-row:hover{border-color:var(--accent)}.popover-card{background:var(--surface,var(--card));border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.2)}.room-tooltip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);min-width:240px;max-width:320px;padding:10px 12px;pointer-events:none;opacity:0;z-index:30;transition:opacity .14s ease,transform .14s ease,visibility .14s;visibility:hidden}.lobby-card.room-tooltip-open .room-tooltip,.room-row.room-tooltip-open .room-tooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}.room-info-trigger{background:transparent;border:0;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;transition:color .15s,background .15s;flex-shrink:0}.room-info-trigger:hover,.room-info-trigger[aria-expanded=true]{color:var(--accent-fg);background:color-mix(in srgb,var(--accent-fg) 12%,transparent)}.room-tooltip:after{top:100%;border:6px solid transparent;border-top:6px solid var(--border)}.room-tooltip:after,.room-tooltip:before{content:"";position:absolute;left:50%;transform:translateX(-50%)}.room-tooltip:before{top:calc(100% - 1px);border:5px solid transparent;border-top:5px solid var(--surface,var(--card));z-index:1}.room-tooltip-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--border)}.room-tooltip-name{font-size:13px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 1;min-width:0}.room-tooltip-badges{display:inline-flex;gap:4px;flex-shrink:0}.room-tooltip-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;padding:2px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent-fg) 14%,transparent);color:var(--accent-fg);white-space:nowrap}.room-tooltip-badge i{font-size:9px}.room-tooltip-badge.danger{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.room-tooltip-rows{display:flex;flex-direction:column;gap:5px}.room-tooltip-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text)}.room-tooltip-icon{width:12px;text-align:center;color:var(--text-muted);font-size:11px;flex-shrink:0}.room-tooltip-label{color:var(--text-muted);flex:1 1}.room-tooltip-value{font-weight:600;color:var(--text);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.room-row.room-alive{border-left:3px solid var(--success);padding-left:12px}.room-row.room-alive:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--success) 20%,transparent)}.room-row.room-dormant{opacity:.7}.room-row.room-dormant.room-tooltip-open,.room-row.room-dormant:hover{opacity:1}.room-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1}.room-info-top{display:flex;align-items:center;gap:10px}.room-row .room-name{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-occupancy{font-size:11px;font-weight:500;color:var(--text-muted);white-space:nowrap;display:flex;align-items:center;gap:4px;flex-shrink:0}.room-occupancy i{font-size:9px}.room-occupancy-live{color:var(--success);font-weight:600}.room-pulse{width:6px;height:6px;border-radius:50%;background:var(--success);flex-shrink:0;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}.room-info-bottom{gap:10px}.room-detail,.room-info-bottom{display:flex;align-items:center}.room-detail{font-size:11px;color:var(--text-muted);gap:4px;white-space:nowrap}.room-detail i{font-size:9px;opacity:.7}.room-detail-idle{color:var(--warning,#f59e0b)}.room-detail-active{color:var(--success)}.room-detail-active i{opacity:1}.room-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.room-row.room-row-password-open .room-info-bottom{display:none}.room-row.room-row-password-open .join-password-input{width:100%;min-width:0;flex:1 1 120px}@media (max-width:520px){.room-row.room-row-password-open{padding:8px 10px;gap:8px}.room-row.room-row-password-open .room-info{flex:0 1 auto;max-width:40%}.room-row.room-row-password-open .room-info-top{gap:6px}.room-row.room-row-password-open .room-occupancy{display:none}.room-row.room-row-password-open .room-actions{flex:1 1 auto;min-width:0}}.room-join-btn{min-width:56px}.room-row.room-full{opacity:.45}.room-row.room-full.room-tooltip-open{opacity:1}.room-row.room-full:hover{border-color:var(--border)}.no-rooms{color:var(--text-muted);text-align:center;padding:32px 16px;display:flex;flex-direction:column;align-items:center;gap:8px}.no-rooms i{font-size:28px;opacity:.4}.no-rooms p{margin:0;font-size:13px}.toggle-with-help{gap:6px}.help-tip,.toggle-with-help{display:flex;align-items:center}.help-tip{position:relative}.help-tip>i{font-size:14px;color:var(--text-muted);cursor:help;transition:color .15s}.help-tip:hover>i{color:var(--accent-fg)}.help-tip-content{display:none;position:absolute;bottom:calc(100% + 10px);right:-12px;width:260px;padding:12px 14px;z-index:50;pointer-events:none}.help-tip-content:after{content:"";position:absolute;top:100%;right:18px;border:6px solid transparent;border-top:6px solid var(--border)}.help-tip:hover .help-tip-content{display:block}.help-tip-content strong{display:block;font-size:12px;font-weight:700;color:var(--text);margin-bottom:4px}.help-tip-content p{margin:0;font-size:12px;line-height:1.5;color:var(--text-muted)}.room-container{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto var(--bottom-row-h,400px) auto;grid-gap:16px;gap:16px;max-width:100%;min-width:0}.room-container>.chat{grid-column:1;grid-row:2;min-height:0;overflow:hidden}.room-container>.bottom-right{grid-column:2;grid-row:2;min-height:0;overflow:hidden}.room-container>.bottom-resize-handle{grid-column:1/-1;grid-row:3;margin-top:-16px}@media (max-width:768px){.create-form-fields{flex-direction:column}.create-form-options{justify-content:space-between}.create-room-btn{margin-left:auto;padding:8px 18px}.room-container{grid-template-columns:1fr}.canvas-container{min-height:300px}}.peer-indicator{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted);min-width:0}.peer-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);flex-shrink:0}.peer-indicator.connected .peer-dot{background:var(--success)}.peer-indicator.connected{color:var(--success)}.peer-indicator .peer-name{font-weight:500;max-width:12em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.peer-indicator.reconnecting .peer-dot{background:#f59e0b}.peer-indicator.reconnecting{color:#f59e0b}.peer-indicator.disconnected .peer-dot{background:var(--danger)}.peer-indicator.disconnected{color:var(--danger)}@media (prefers-reduced-motion:no-preference){.peer-indicator.disconnected,.peer-indicator.reconnecting,.status-pulse{animation:status-pulse 1.6s ease-in-out infinite}.peer-indicator.connected .peer-dot{animation:dot-breath 2s ease-in-out infinite}}@keyframes status-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes dot-breath{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.75}}.relay-badge{font-size:10px;font-weight:600;background:#f59e0b;color:#000;padding:1px 5px;border-radius:3px;margin-left:2px}.video-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0;position:relative}.video-reconnecting-overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border-radius:inherit}.video-reconnecting-card{display:flex;flex-direction:column;align-items:center;gap:14px;color:#fff;text-align:center;padding:16px}.video-reconnecting-text{font-size:15px;font-weight:600;letter-spacing:.01em}.video-reconnecting-hangup{background:#ef4444;color:#fff;border:none;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:600;cursor:pointer}.video-reconnecting-hangup:hover{background:#dc2626}.video-panel h3{font-size:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.videos{display:flex;flex-direction:column;gap:8px}.video-wrapper{width:100%;height:clamp(220px,38vh,340px);position:relative;background:#000;border-radius:8px;overflow:hidden;isolation:isolate;border:2px solid transparent;transition:border-color .2s ease,box-shadow .2s ease}.audio-placeholder.speaking,.video-wrapper.speaking{border-color:var(--success);box-shadow:0 0 12px rgba(34,197,94,.4)}.video-wrapper video{width:100%;height:100%;object-fit:contain;display:block}.video-wrapper video.local-video-mirrored,.video-wrapper video.remote-video-mirrored{transform:scaleX(-1)}.video-wrapper .label{position:absolute;bottom:6px;left:8px;font-size:11px;background:rgba(0,0,0,.55);border-radius:4px;padding:2px 6px;color:#fff}.no-remote{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(220px,38vh,340px);background:var(--surface2);border-radius:8px;color:var(--text-muted);font-size:13px}.video-cell-placeholder,.video-cell-placeholder.no-remote{flex-direction:column;gap:10px;text-align:center;padding:16px}.video-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:var(--text-muted);-webkit-user-select:none;-moz-user-select:none;user-select:none}.video-toggle input{display:none}.video-toggle-slider{position:relative;width:32px;height:18px;background:var(--surface2);border-radius:9px;transition:background .2s}.video-toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:var(--text-muted);border-radius:50%;transition:transform .2s,background .2s}.video-toggle input:checked+.video-toggle-slider{background:var(--accent)}.video-toggle input:checked+.video-toggle-slider:after{transform:translateX(14px);background:#fff}.video-toggle i{font-size:12px}.audio-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:clamp(220px,38vh,340px);background:var(--surface2);border-radius:8px;color:var(--text-muted);isolation:isolate;position:relative;border:2px solid transparent;transition:border-color .2s ease,box-shadow .2s ease}.audio-placeholder i.fa-headset{font-size:48px;opacity:.6}.audio-placeholder span{font-size:13px}.audio-placeholder .media-controls,.fullscreen-btn{position:absolute;top:8px;right:8px}.fullscreen-btn{width:36px;height:36px;padding:0;border-radius:50%;font-size:14px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);border-color:transparent;color:#fff;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:10}.fullscreen-btn:hover:not(:disabled){background:rgba(0,0,0,.7)}@media (max-width:768px){.video-wrapper.video-wrapper-expanded .fullscreen-btn{left:max(12px,env(safe-area-inset-left));right:auto}}.video-wrapper video.video-loading{opacity:0}.video-wrapper video{transition:opacity .12s ease}.video-wrapper:-webkit-full-screen{width:100%;height:100%;border-radius:0;background:#000}.video-wrapper.video-wrapper-expanded,.video-wrapper:fullscreen{width:100%;height:100%;border-radius:0;background:#000}.video-wrapper:-webkit-full-screen video{width:100%;height:100%;object-fit:contain}.video-wrapper.video-wrapper-expanded video,.video-wrapper:fullscreen video{width:100%;height:100%;object-fit:contain}.video-wrapper:-webkit-full-screen .video-paint-canvas{border-radius:0}.video-wrapper.video-wrapper-expanded .video-paint-canvas,.video-wrapper:fullscreen .video-paint-canvas{border-radius:0}.video-wrapper.video-wrapper-expanded{position:fixed;inset:0;z-index:1200;border:none;margin:0;animation:chat-expand-pop .18s ease}.latency-ms{color:var(--text-muted);font-size:11px;line-height:1}.latency-ms.good{color:var(--success)}.latency-ms.medium{color:#f59e0b}.latency-ms.bad{color:var(--danger)}.latency-ms.unknown{color:var(--text-muted)}.whiteboard{height:100%;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;min-width:0}.whiteboard h3{font-size:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.toolbar{gap:6px;padding-right:30px}.toolbar,.toolbar-group{display:flex;flex-wrap:wrap;align-items:center}.toolbar-group{gap:4px;border:1px solid var(--border);border-radius:8px;padding:4px;background:var(--surface2);min-height:40px}.color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;padding:0;min-width:unset;flex-shrink:0}.color-swatch.active{border-color:var(--accent-fg);outline:2px solid var(--accent-fg);outline-offset:1px}.width-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;min-width:unset;border-radius:6px}.width-btn.active{background:var(--accent-fg);border-color:var(--accent-fg)}.width-dot{border-radius:50%;background:var(--text);flex-shrink:0}.tool-btn{width:32px;height:32px;padding:0;border-radius:6px;font-size:14px;display:flex;align-items:center;justify-content:center;min-width:unset;flex-shrink:0}.tool-btn.active{background:var(--accent-fg);border-color:var(--accent-fg);color:#fff}.tool-btn.danger{background:var(--danger-deep);border-color:var(--danger-deep);color:#fff}.tool-btn.danger:hover:not(:disabled){background:var(--danger-deep-hover);border-color:var(--danger-deep-hover)}.font-size-btn{font-size:11px;font-weight:600;min-width:28px}.toolbar-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.toolbar-actions-group{gap:4px}.canvas-container{position:relative;flex:1 1;min-height:0}.canvas-wrap{position:relative;width:100%;height:100%}.canvas-overlays{position:absolute;inset:0;overflow:visible;pointer-events:none;container-type:inline-size}.canvas-overlays>*{pointer-events:auto}.whiteboard-canvas{width:100%;height:100%;border-radius:8px;background:#ffffff;display:block;touch-action:none;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cline x1='12' y1='3' x2='12' y2='21' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='3' y1='12' x2='21' y2='12' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='12' y1='3' x2='12' y2='21' stroke='%23222' stroke-width='1.5' stroke-linecap='round'/%3E%3Cline x1='3' y1='12' x2='21' y2='12' stroke='%23222' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E") 12 12,crosshair}.whiteboard-canvas--text-tool{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Cline x1='12' y1='3' x2='12' y2='21' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='3' y1='12' x2='21' y2='12' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3Cline x1='12' y1='3' x2='12' y2='21' stroke='%23222' stroke-width='1.5' stroke-linecap='round'/%3E%3Cline x1='3' y1='12' x2='21' y2='12' stroke='%23222' stroke-width='1.5' stroke-linecap='round'/%3E%3Ctext x='16' y='9' font-size='9' font-family='sans-serif' font-weight='bold' fill='%23222'%3ET%3C/text%3E%3C/svg%3E") 12 12,crosshair}.whiteboard{position:relative}.whiteboard-fullscreen-exit{position:absolute;top:3px;right:3px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:3px 5px;border-radius:4px;font-size:12px;line-height:1;display:flex;align-items:center;min-width:unset}.whiteboard-fullscreen-exit:hover{color:var(--text);background:var(--surface2)}.whiteboard-fullscreen-exit:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.whiteboard:-webkit-full-screen .whiteboard-fullscreen-exit{position:absolute;top:12px;right:12px;z-index:2147483647}.whiteboard.whiteboard-expanded .whiteboard-fullscreen-exit,.whiteboard:-webkit-full-screen .whiteboard-fullscreen-exit,.whiteboard:fullscreen .whiteboard-fullscreen-exit{position:absolute;top:12px;right:12px;z-index:2147483647}.whiteboard-corner-export{position:absolute;top:25px;right:3px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:3px 5px;border-radius:4px;font-size:12px;line-height:1;display:flex;align-items:center;min-width:unset}.whiteboard-corner-export:hover{color:var(--text);background:var(--surface2)}.whiteboard-corner-export:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.whiteboard:-webkit-full-screen .whiteboard-corner-export{top:34px;right:12px;z-index:2147483647}.whiteboard.whiteboard-expanded .whiteboard-corner-export,.whiteboard:-webkit-full-screen .whiteboard-corner-export,.whiteboard:fullscreen .whiteboard-corner-export{top:34px;right:12px;z-index:2147483647}@media (max-width:768px){:is(.whiteboard:-webkit-full-screen,.whiteboard:-webkit-full-screen,.whiteboard.whiteboard-expanded) :is(.whiteboard-fullscreen-exit,.whiteboard-corner-export){left:12px;right:auto}:is(.whiteboard:fullscreen,.whiteboard:-webkit-full-screen,.whiteboard.whiteboard-expanded) :is(.whiteboard-fullscreen-exit,.whiteboard-corner-export){left:12px;right:auto}}.whiteboard:has(.whiteboard-rotate-prompt) :is(.whiteboard-fullscreen-exit,.whiteboard-corner-export){display:none}.whiteboard:-webkit-full-screen{background:var(--bg);border:none;border-radius:0;padding:8px 12px;gap:8px;width:100%;height:100%;overflow:hidden}.whiteboard:-webkit-full-screen,.whiteboard:fullscreen{background:var(--bg);border:none;border-radius:0;padding:8px 12px;gap:8px;width:100%;height:100%;overflow:hidden}.whiteboard.whiteboard-expanded{position:fixed;inset:16px;z-index:1000;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:8px 12px;gap:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 48px rgba(0,0,0,.45);animation:chat-expand-pop .18s ease}@media (hover:none) and (pointer:coarse),(max-width:640px){.whiteboard.whiteboard-expanded{inset:0;border-radius:0;border:none}}.whiteboard-rotate-prompt{position:absolute;inset:0;z-index:10;background:var(--bg);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;animation:chat-expand-pop .18s ease}.whiteboard-rotate-prompt i{color:var(--accent-fg)}.whiteboard-rotate-prompt-title{font-size:18px;font-weight:600}.whiteboard-rotate-prompt-body{font-size:14px;color:var(--text-muted);max-width:320px;line-height:1.45}.whiteboard-rotate-prompt-exit{margin-top:8px;padding:8px 16px;border-radius:6px;background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:13px;font-weight:600;cursor:pointer}.whiteboard-rotate-prompt-exit:hover{border-color:var(--accent-fg)}.whiteboard:-webkit-full-screen .canvas-container{flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size}.whiteboard.whiteboard-expanded .canvas-container,.whiteboard:-webkit-full-screen .canvas-container,.whiteboard:fullscreen .canvas-container{flex:1 1;min-height:0;display:flex;align-items:center;justify-content:center;container-type:size}.whiteboard:-webkit-full-screen .canvas-wrap{position:relative;aspect-ratio:2/1;width:min(100%,calc(2 * 100cqh))}.whiteboard.whiteboard-expanded .canvas-wrap,.whiteboard:-webkit-full-screen .canvas-wrap,.whiteboard:fullscreen .canvas-wrap{position:relative;aspect-ratio:2/1;width:min(100%,calc(2 * 100cqh))}.whiteboard:-webkit-full-screen .whiteboard-canvas{border-radius:4px}.whiteboard.whiteboard-expanded .whiteboard-canvas,.whiteboard:-webkit-full-screen .whiteboard-canvas,.whiteboard:fullscreen .whiteboard-canvas{border-radius:4px}.whiteboard:-webkit-full-screen .toolbar{gap:6px;flex-shrink:0;justify-content:center}.whiteboard.whiteboard-expanded .toolbar,.whiteboard:-webkit-full-screen .toolbar,.whiteboard:fullscreen .toolbar{gap:6px;flex-shrink:0;justify-content:center}.whiteboard:-webkit-full-screen .toolbar-group{gap:2px;padding:3px}.whiteboard.whiteboard-expanded .toolbar-group,.whiteboard:-webkit-full-screen .toolbar-group,.whiteboard:fullscreen .toolbar-group{gap:2px;padding:3px}.sticky-note{position:absolute;border-radius:max(2px,.33cqw);box-shadow:0 2px 6px rgba(0,0,0,.15);display:flex;flex-direction:column;overflow:hidden;font-size:max(7px,1cqw);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.sticky-note--active{outline:2px solid var(--accent);outline-offset:1px}.sticky-note-delete{position:absolute;top:max(1px,.17cqw);right:max(1px,.17cqw);width:max(14px,1.5cqw);height:max(14px,1.5cqw);padding:0;border:none;border-radius:50%;background:rgba(0,0,0,.15);color:#333;font-size:max(8px,.92cqw);line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;min-width:unset}.sticky-note-delete:hover{background:rgba(0,0,0,.3)}.sticky-note-text{flex:1 1;padding:max(17px,1.83cqw) max(3px,.5cqw) max(3px,.5cqw);font-size:max(7px,var(--note-font-cqw,1.5cqw));color:#1a1a1a;outline:none;overflow:hidden;word-break:break-word;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text}.sticky-note-resize{position:absolute;bottom:0;right:0;width:max(12px,1.2cqw);height:max(12px,1.2cqw);cursor:nwse-resize;background:var(--accent);border-radius:2px 0;opacity:0;transition:opacity .15s;touch-action:none}.sticky-note--active .sticky-note-resize,.sticky-note:hover .sticky-note-resize{opacity:1}.text-overlay{position:absolute;min-width:40px;min-height:32px;padding:6px 14px 4px 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;z-index:2;border:1px solid transparent;transition:border-color .15s,background .15s}.text-overlay-drag{height:max(14px,1.17cqw);cursor:-webkit-grab;cursor:grab;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;touch-action:none}.text-overlay--active .text-overlay-drag,.text-overlay--tool-active .text-overlay-drag{opacity:1}.text-overlay-drag:after{content:"";width:24px;height:3px;border-radius:2px;background:var(--accent);opacity:.5}.text-overlay-content{outline:none;white-space:pre-wrap;word-break:break-word;min-width:40px;background:transparent;cursor:text;-webkit-user-select:text;-moz-user-select:text;user-select:text;font-size:max(8px,calc(var(--text-font-cqw, 1.5) * 1cqw))}.text-overlay-delete{position:absolute;top:-9px;right:-9px;width:max(18px,1.67cqw);height:max(18px,1.67cqw);padding:0;border:none;border-radius:50%;background:color-mix(in srgb,var(--danger) 85%,transparent);color:#fff;font-size:max(9px,1cqw);line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;min-width:unset;opacity:0;transition:opacity .15s;z-index:3}.text-overlay-delete:hover{background:rgba(220,38,38,1)}.text-overlay--active{border:1px dashed var(--accent)}.text-overlay--active .text-overlay-delete{opacity:1}.text-overlay--tool-active{background:color-mix(in srgb,var(--accent) 8%,transparent);border:1px dashed color-mix(in srgb,var(--accent) 30%,transparent)}.text-overlay--tool-active .text-overlay-delete{opacity:1}.text-overlay-resize{position:absolute;top:0;right:max(-4px,-.33cqw);width:max(12px,1cqw);height:100%;cursor:ew-resize;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;touch-action:none}.text-overlay--active .text-overlay-resize,.text-overlay--tool-active .text-overlay-resize{opacity:1}.text-overlay-resize:after{content:"";width:3px;height:24px;max-height:60%;border-radius:2px;background:var(--accent);opacity:.6}@media (max-width:768px){.text-overlay-drag{height:28px}.text-overlay-drag:after{width:36px;height:4px}.text-overlay-delete{top:-11px;right:-11px;width:22px;height:22px;font-size:12px}.text-overlay-resize{width:16px}.text-overlay-resize:after{width:3px;height:24px}}@media (min-width:769px){.app:has(.room-container.video-collapsed){overflow:visible}.video-panel>.section-collapse-bar{display:flex;align-items:center;justify-content:center;width:auto;height:14px;margin:4px -12px -12px;padding:0;border:none;border-top:1px solid var(--border);border-radius:0 0 10px 10px;background:color-mix(in srgb,var(--surface2) 60%,transparent);color:var(--text-muted);cursor:pointer;font-size:8px;line-height:1;flex-shrink:0}.video-panel>.section-collapse-bar:focus-visible,.video-panel>.section-collapse-bar:hover{background:var(--surface2);color:var(--text);outline:none}.video-panel>.section-collapse-bar i{transition:transform .22s ease;display:inline-block}.video-panel>.section-collapse-bar.collapsed i{transform:rotate(180deg)}.video-panel .call-placeholder,.video-panel .videos,.video-panel .videos-grid{transition:max-height .34s ease,opacity .22s ease}.room-container.video-collapsed .video-panel .call-placeholder,.room-container.video-collapsed .video-panel .videos,.room-container.video-collapsed .video-panel .videos-grid{max-height:0;opacity:0;overflow:hidden;margin:0;padding:0;pointer-events:none}.room-container.video-collapsed>.video-panel{grid-column:1;grid-row:1;position:-webkit-sticky;position:sticky;top:8px;z-index:6;align-self:start}.room-container.video-collapsed>.right-panel{min-height:var(--right-panel-h,calc(76vh + 68px))}.room-container.video-collapsed>.chat:not(.chat-expanded){position:fixed;left:max(16px,env(safe-area-inset-left));width:calc(50vw - max(16px, env(safe-area-inset-left)) - 8px);top:var(--chat-top,104px);bottom:var(--chat-bottom,4px);height:auto;max-height:none;z-index:5;animation:chat-rise .25s ease-out both;transition:bottom .15s ease-out}}@keyframes chat-rise{0%{opacity:0}to{opacity:1}}@media (orientation:landscape) and (max-height:500px){.chat-sessions-observer{display:none}}.bottom-resize-handle{height:14px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none;flex-shrink:0}.bottom-resize-handle:after{content:"";width:40px;height:4px;border-radius:2px;background:var(--border);transition:background .15s}.bottom-resize-handle.active:after,.bottom-resize-handle:hover:after{background:var(--text-muted)}.bottom-resize-handle.active:after{width:60px;background:var(--accent)}.bottom-right{display:flex;gap:16px;min-width:0;min-height:0;overflow:hidden}.bottom-right .file-transfer,.bottom-right .investing-widget,.bottom-right .notepad,.bottom-right .widget-container{flex:1 1;min-width:0}@media (max-width:1024px){.bottom-right{flex-direction:column;overflow:hidden}.bottom-right .notepad{flex:1 1;width:100%;min-height:0;overflow:hidden}.bottom-right .investing-widget,.bottom-right .widget-container{flex:2 1;width:100%;min-height:0}}@media (max-width:768px){.whiteboard{min-height:50vh;padding:10px;gap:8px}.toolbar{gap:4px;padding-right:25px}.toolbar-group{gap:2px;padding:3px;min-height:30px}.toolbar-row{flex-wrap:wrap}.color-swatch{width:16px;height:16px}.tool-btn,.width-btn{width:22px;height:22px}.tool-btn{font-size:11px}@supports (-webkit-touch-callout:none){.font-size-btn,.tool-btn,.width-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box;min-width:0;padding:0;width:20px;height:20px;font-size:10px}.font-size-btn{width:auto;min-width:22px;padding:0 4px}.color-swatch{width:14px;height:14px}.toolbar{gap:3px}.toolbar-group{gap:1px;padding:2px;min-height:24px}}.room-container{grid-template-rows:none}.room-container>.bottom-resize-handle,.room-container>.bottom-right,.room-container>.chat{grid-column:auto;grid-row:auto}.room-container>.bottom-right,.room-container>.chat{min-height:auto}.room-container>.chat{height:auto;min-height:200px;max-height:400px;overflow:hidden}.bottom-right{flex-direction:column;overflow:hidden}.bottom-right .notepad{flex:0 0 auto;overflow:hidden}.bottom-right .notepad .notepad-editor{min-height:80px;max-height:140px;overflow-y:auto}.bottom-right .widget-container{flex:0 0 auto;min-height:280px}.bottom-resize-handle{display:none}.notepad{width:100%}}.chat{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;height:100%;min-height:0;position:relative}.chat h3{font-size:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.chat-header{justify-content:space-between;gap:8px;flex-wrap:wrap}.chat-header,.chat-header-actions{display:flex;align-items:center;flex-shrink:0}.chat-header-actions{gap:4px;margin-left:auto}.chat-mode-segmented{align-items:stretch;background:var(--surface2);border:1px solid var(--border);padding:3px;gap:2px;flex-shrink:1}.chat-mode-seg-btn,.chat-mode-segmented{display:inline-flex;border-radius:999px;min-width:0}.chat-mode-seg-btn{align-items:center;gap:6px;padding:6px 12px;background:transparent;border:none;font-size:12.5px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease,box-shadow .18s ease;white-space:nowrap}.chat-mode-seg-btn:hover{color:var(--text)}.chat-mode-seg-btn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px rgba(0,0,0,.22)}.chat-mode-seg-btn.mode-ask.active,.chat-mode-seg-btn.mode-imagine.active{background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#6366f1) 90%,white),color-mix(in srgb,var(--accent,#6366f1) 70%,#8b5cf6));color:#fff;box-shadow:0 2px 10px color-mix(in srgb,var(--accent,#6366f1) 45%,transparent)}.chat-mode-seg-btn i{font-size:12px}@media (max-width:520px){.chat-mode-seg-btn{padding:6px 9px}.chat-mode-seg-label{display:none}.chat-mode-seg-btn i{font-size:13px}}.chat-mode-seg-wrap{position:relative;display:inline-flex;align-items:stretch;min-width:0}.chat-mode-seg-caret{font-size:9px;margin-left:2px;opacity:.7}.chat-mode-seg-btn.open .chat-mode-seg-caret{transform:rotate(180deg);opacity:1}.chat-mode-popover{position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%);z-index:30;min-width:200px;max-width:min(280px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.32);padding:8px;display:flex;flex-direction:column;gap:6px;animation:chat-mode-popover-in .14s ease-out}@keyframes chat-mode-popover-in{0%{opacity:0;transform:translate(-50%,-4px)}to{opacity:1;transform:translate(-50%)}}@keyframes chat-mode-popover-in-m{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chat-mode-popover-label{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);padding:2px 4px 0}.chat-mode-popover-pills{display:flex;flex-direction:column;gap:4px}.chat-mode-popover-pill{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 10px;border-radius:6px;background:transparent;border:1px solid transparent;color:var(--text);font-size:12.5px;cursor:pointer;text-align:left;transition:background .12s ease,border-color .12s ease}.chat-mode-popover-pill:hover{background:var(--surface2)}.chat-mode-popover-pill.active{background:color-mix(in srgb,var(--accent,#6366f1) 14%,transparent);border-color:color-mix(in srgb,var(--accent,#6366f1) 50%,transparent)}.chat-mode-popover-pill .pill-label{font-weight:600}.chat-mode-popover-pill .pill-desc{font-size:11px;color:var(--text-muted)}.chat-mode-popover-action{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;background:transparent;border:none;color:var(--text);text-align:left;cursor:pointer;transition:background .12s ease;width:100%}.chat-mode-popover-action:hover{background:var(--surface2)}.chat-mode-popover-action i{color:var(--accent,#6366f1);font-size:13px}.chat-mode-popover-action-text{display:flex;flex-direction:column;gap:1px}.chat-mode-popover-action-title{font-size:13px;font-weight:600}.chat-mode-popover-action-sub{font-size:11px;color:var(--text-muted)}@media (max-width:520px){.chat-mode-popover{min-width:180px;max-width:calc(100vw - 24px);left:0;transform:none;animation-name:chat-mode-popover-in-m}}.chat-settings-trigger.open,.chat-shortcuts-trigger.open{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-fg);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.chat-shortcuts-menu{position:fixed;z-index:1100;width:280px;max-width:calc(100vw - 16px);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px var(--border);padding:6px;display:flex;flex-direction:column;gap:2px;animation:chat-settings-pop .14s ease}.chat-shortcuts-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px 6px;font-size:11px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.05em}.chat-shortcuts-manage{background:transparent;border:1px solid transparent;border-radius:6px;padding:3px 7px;font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.chat-shortcuts-manage:hover{background:var(--surface2);color:var(--accent-fg);border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.chat-shortcuts-row--edit{cursor:default}.chat-shortcuts-row--edit:hover{background:transparent}.chat-shortcuts-row-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.chat-shortcuts-act{background:transparent;border:none;border-radius:6px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s}.chat-shortcuts-act:hover{background:var(--surface2);color:var(--accent-fg)}.chat-shortcuts-act--danger:hover{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.chat-shortcuts-add{border-style:dashed;border-color:color-mix(in srgb,var(--border) 80%,transparent);color:var(--text-muted)}.chat-shortcuts-add:hover{color:var(--accent-fg);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.chat-shortcut-form{display:flex;flex-direction:column;gap:8px;padding:4px 4px 2px}.chat-shortcut-input,.chat-shortcut-textarea{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:7px 9px;font-size:13px;color:var(--text);font-family:inherit;outline:none;transition:border-color .12s}.chat-shortcut-input:focus,.chat-shortcut-textarea:focus{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.chat-shortcut-textarea{resize:vertical;min-height:72px;line-height:1.4}.chat-shortcut-check{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-muted);cursor:pointer}.chat-shortcut-check input{cursor:pointer}.chat-shortcut-form-actions{display:flex;gap:8px;margin-top:2px}.chat-shortcut-cancel,.chat-shortcut-save{flex:1 1;padding:7px 10px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .12s,opacity .12s}.chat-shortcut-save{background:var(--accent);border:1px solid var(--accent);color:#fff}.chat-shortcut-save:disabled{opacity:.5;cursor:not-allowed}.chat-shortcut-cancel{background:transparent;border:1px solid var(--border);color:var(--text)}.chat-shortcut-cancel:hover{background:var(--surface2)}.chat-empty-coach{display:flex;align-items:flex-start;gap:12px;margin:auto;max-width:420px;padding:16px 18px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:12px;animation:chat-settings-pop .18s ease}.chat-empty-coach-icon{font-size:20px;color:var(--accent-fg);flex-shrink:0;margin-top:1px}.chat-empty-coach-text{display:flex;flex-direction:column;gap:5px;font-size:13px;line-height:1.45;color:var(--text-muted);min-width:0}.chat-empty-coach-text strong{color:var(--text);font-size:14px}.chat-empty-coach-text i{color:var(--accent-fg);font-size:11px;margin:0 1px}.chat-empty-coach-dismiss{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:13px;flex-shrink:0;align-self:flex-start}.chat-empty-coach-dismiss:hover{color:var(--text)}.chat-shortcuts-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text);text-align:left;transition:background .12s,border-color .12s}.chat-shortcuts-row:hover:not(:disabled){background:var(--surface2)}.chat-shortcuts-row:disabled{opacity:.5;cursor:not-allowed}.chat-shortcuts-icon{width:18px;text-align:center;font-size:14px;color:var(--accent-fg);flex-shrink:0}.chat-shortcuts-text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.chat-shortcuts-title{font-size:13px;font-weight:600;color:var(--text)}.chat-shortcuts-sub{font-size:11px;color:var(--text-muted);line-height:1.3;white-space:normal}.chat-sessions-trigger.open{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-fg);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.chat-sessions-menu{width:320px;max-height:min(380px,calc(100vh - 16px));padding:0;gap:0;overflow:hidden}.chat-sessions-menu .chat-shortcuts-header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;padding:8px 12px 7px;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent)}.chat-sessions-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:2px;scrollbar-gutter:stable}.chat-sessions-list::-webkit-scrollbar{width:8px}.chat-sessions-list::-webkit-scrollbar-track{background:transparent}.chat-sessions-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--border) 90%,var(--text-muted));border-radius:4px;border:2px solid transparent;background-clip:padding-box}.chat-sessions-list::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-muted) 60%,var(--border));background-clip:padding-box}.chat-sessions-row.active .chat-shortcuts-icon{color:var(--accent)}.chat-shortcuts-empty{padding:14px 12px;font-size:12px;color:var(--text-muted);text-align:center;font-style:italic}.chat-sessions-row-wrap{display:flex;align-items:stretch;gap:4px}.chat-sessions-row-wrap>.chat-shortcuts-row{flex:1 1;min-width:0}.chat-shortcuts-row.chat-sessions-row{padding:5px 8px;gap:8px}.chat-sessions-row .chat-shortcuts-icon{font-size:12px;width:14px}.chat-sessions-text-inline{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:12px;font-weight:500;line-height:1.3;min-width:0;flex:1 1}.chat-sessions-row .chat-sessions-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1 1;color:var(--text)}.chat-sessions-row .chat-sessions-time{flex-shrink:0;font-size:10px;color:var(--text-muted);font-weight:400;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat-sessions-current-tag{display:inline-flex;align-items:center;flex-shrink:0;padding:1px 6px;background:color-mix(in srgb,var(--accent) 28%,transparent);color:var(--accent-fg);border-radius:999px;font-size:9px;line-height:1.4;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.chat-sessions-continue-btn{display:inline-flex;align-items:center;gap:4px;padding:0 7px;height:26px;background:transparent;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-size:10px;font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s;flex-shrink:0}.chat-sessions-continue-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-fg);border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.chat-sessions-continue-btn:disabled{opacity:.45;cursor:not-allowed}.chat-sessions-continue-btn i{font-size:9px}@media (max-width:460px){.chat-sessions-continue-label{display:none}.chat-sessions-continue-btn{padding:0 8px}}.chat-sessions-observer{position:absolute;top:56px;right:22px;width:32px;max-height:calc(100% - 140px);display:flex;flex-direction:column;gap:1px;padding:4px;background:color-mix(in srgb,var(--bg) 65%,transparent);border:1px solid color-mix(in srgb,var(--border) 30%,transparent);border-radius:10px;box-shadow:0 2px 6px rgba(0,0,0,.18);overflow:hidden;z-index:5;pointer-events:auto;transition:width .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,-webkit-backdrop-filter .18s ease;transition:width .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,backdrop-filter .18s ease;transition:width .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease,backdrop-filter .18s ease,-webkit-backdrop-filter .18s ease}.chat-sessions-observer:focus-within,.chat-sessions-observer:hover{width:240px;background:var(--surface);border-color:var(--border);box-shadow:0 6px 18px rgba(0,0,0,.22);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.chat-sessions-observer-row{border-radius:6px;font-size:11.5px;transition:color .12s;overflow:hidden}.chat-sessions-observer-older,.chat-sessions-observer-row{position:relative;display:flex;align-items:center;gap:6px;padding:4px 22px 4px 6px;color:var(--text-muted);cursor:pointer;min-height:0}.chat-sessions-observer-older{justify-content:space-between;border:1px dashed color-mix(in srgb,var(--border) 70%,transparent);background:transparent;border-radius:6px;font-size:11px;transition:color .12s,border-color .12s,background .12s}.chat-sessions-observer-older:hover{color:var(--text);border-color:var(--border);background:color-mix(in srgb,var(--surface2) 50%,transparent)}.chat-sessions-observer-older.active .chat-sessions-observer-mark{width:14px;height:2px;opacity:1;background:var(--accent-fg)}.chat-sessions-observer-older.active .chat-sessions-observer-older-label{color:var(--text)}.chat-sessions-observer-older-label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .16s ease}.chat-sessions-observer:focus-within .chat-sessions-observer-older-label,.chat-sessions-observer:hover .chat-sessions-observer-older-label{opacity:1}.chat-sessions-observer:focus-within .chat-sessions-observer-row.is-current,.chat-sessions-observer:hover .chat-sessions-observer-row.is-current{padding-left:14px}.chat-sessions-observer-row:focus-visible{outline:2px solid var(--accent-fg);outline-offset:-2px}.chat-sessions-observer-row:not(.active):hover{color:var(--text)}.chat-sessions-observer-row:not(.active):hover .chat-sessions-observer-mark{background:var(--text);opacity:1}.chat-sessions-observer-row.active .chat-sessions-observer-title{font-weight:600}.chat-sessions-observer-row.is-current .chat-sessions-observer-continue{display:none!important}.chat-sessions-observer-current-pin{position:absolute;left:4px;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:var(--accent-fg);box-shadow:0 0 2px color-mix(in srgb,var(--accent-fg) 70%,transparent);pointer-events:none}.chat-sessions-observer-title{flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transition:opacity .16s ease}.chat-sessions-observer:focus-within .chat-sessions-observer-title,.chat-sessions-observer:hover .chat-sessions-observer-title{opacity:1}.chat-sessions-observer-mark{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:10px;height:1px;background:currentColor;opacity:.45;border-radius:1px;transition:width .12s,height .12s,opacity .12s,background .12s}.chat-sessions-observer-row.active .chat-sessions-observer-mark{width:14px;height:2px;opacity:1;background:var(--accent-fg)}.chat-sessions-observer-row.is-current.active .chat-sessions-observer-mark{width:10px;height:1px;opacity:.85;background:var(--accent-fg)}.chat-sessions-observer-continue{display:none;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:1px solid transparent;border-radius:5px;color:inherit;cursor:pointer;font-size:11px;padding:0;flex-shrink:0;opacity:0;pointer-events:none;transition:opacity .12s,background .12s,border-color .12s}.chat-sessions-observer:focus-within .chat-sessions-observer-continue,.chat-sessions-observer:hover .chat-sessions-observer-continue{display:inline-flex}.chat-sessions-observer:focus-within .chat-sessions-observer-continue:focus-visible,.chat-sessions-observer:hover .chat-sessions-observer-row:hover .chat-sessions-observer-continue{opacity:1;pointer-events:auto}.chat-sessions-observer-continue:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));color:var(--accent-fg)}.chat-sessions-observer-continue:disabled{opacity:.35;cursor:not-allowed}@media (max-width:768px){.chat-sessions-observer{display:none}}.chat-thread-continued .chat-thread-divider-label{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));color:var(--accent-fg)}.chat-thread-continued.clickable{cursor:pointer}.chat-thread-continued.clickable:hover .chat-thread-divider-label{background:color-mix(in srgb,var(--accent) 22%,transparent)}.chat-thread-continued.clickable:focus-visible .chat-thread-divider-label{outline:2px solid var(--accent);outline-offset:2px}.chat-settings-menu{position:fixed;z-index:1100;width:280px;max-width:calc(100vw - 16px);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px var(--border);padding:6px;display:flex;flex-direction:column;gap:2px;animation:chat-settings-pop .14s ease}@keyframes chat-settings-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.chat-settings-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:background .12s}.chat-settings-row:hover:not(.disabled){background:rgba(127,127,127,.08)}.chat-settings-row.disabled{cursor:default;opacity:.7}.chat-settings-row-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.chat-settings-row-title{font-size:13px;font-weight:600;color:var(--text);line-height:1.2}.chat-settings-row-sub{font-size:11px;color:var(--text-muted);line-height:1.3}.chat-settings-row-divider{height:1px;background:var(--border);margin:4px 8px}.chat-settings-switch{position:relative;flex-shrink:0;width:36px;height:20px;border-radius:999px;background:rgba(127,127,127,.35);transition:background .15s}.chat-settings-switch.on{background:var(--accent)}.chat-settings-switch.disabled{opacity:.55}.chat-settings-switch input{position:absolute;inset:0;opacity:0;cursor:pointer;margin:0}.chat-settings-switch input:disabled{cursor:default}.chat-settings-switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s;pointer-events:none}.chat-settings-switch.on .chat-settings-switch-knob{transform:translateX(16px)}.chat-settings-switch input:focus-visible+.chat-settings-switch-knob{box-shadow:0 0 0 2px var(--accent),0 1px 2px rgba(0,0,0,.25)}.chat-settings-danger{display:flex;align-items:center;gap:10px;padding:10px 12px;background:transparent;border:none;border-radius:8px;color:var(--danger);font-size:13px;font-weight:500;cursor:pointer;text-align:left;transition:background .12s}.chat-settings-danger:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.chat-settings-danger i{width:14px;text-align:center}.chat-settings-confirm{padding:10px 12px;display:flex;flex-direction:column;gap:10px}.chat-settings-confirm-text{font-size:12px;color:var(--text);line-height:1.4}.chat-settings-confirm-actions{display:flex;gap:6px;justify-content:flex-end}.chat-settings-confirm-cancel,.chat-settings-confirm-go{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--border);transition:background .12s,border-color .12s}.chat-settings-confirm-cancel{background:transparent;color:var(--text)}.chat-settings-confirm-cancel:hover{background:rgba(127,127,127,.1)}.chat-settings-confirm-go{background:var(--danger-deep);color:#fff;border-color:var(--danger-deep)}.chat-settings-confirm-go:hover{background:var(--danger-deep-hover);border-color:var(--danger-deep-hover)}.chat-expand-btn{background:transparent;border:1px solid transparent;color:var(--text-muted);cursor:pointer;padding:3px 5px;border-radius:4px;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;min-width:unset;transition:background .15s,color .15s,border-color .15s}.chat-expand-btn:hover{color:var(--text);background:var(--surface2)}.chat-expand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.chat.chat-expanded{position:fixed;inset:16px;z-index:1000;width:auto;height:auto;max-height:none;min-height:0;box-shadow:0 20px 60px rgba(0,0,0,.45),0 0 0 1px var(--border);animation:chat-expand-pop .18s ease}@keyframes chat-expand-pop{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}body:has(.chat.chat-expanded,.notepad-expanded,.whiteboard.whiteboard-expanded):before{content:"";position:fixed;inset:0;z-index:999;background:rgba(0,0,0,.5);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:none}@media (max-width:640px){.chat.chat-expanded{inset:0;border-radius:0}}.messages{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:6px;min-height:0;padding:4px 8px 4px 0;scrollbar-color:var(--border) transparent}.messages::-webkit-scrollbar{width:6px}.messages::-webkit-scrollbar-track{background:transparent}.messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.chat-unread-pill{position:-webkit-sticky;position:sticky;bottom:6px;align-self:center;z-index:5;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:none;background:var(--accent);color:#fff;font-size:.78rem;font-weight:600;letter-spacing:.02em;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25);transition:filter .15s ease,transform .15s ease}.chat-unread-pill:hover{filter:brightness(1.1)}.chat-unread-pill:active{transform:translateY(1px)}.chat-unread-pill i{font-size:.75rem}.messages::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.message{display:flex;flex-direction:column;gap:2px}.message .sender-row{display:flex;align-items:center;gap:6px}.message.self .sender-row{justify-content:flex-end}.user-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:#fff;font-weight:600;letter-spacing:0;flex-shrink:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;text-transform:uppercase;text-shadow:0 1px 1px rgba(0,0,0,.25)}.message.ai-message .user-avatar{display:none}.message .sender{font-size:11px;color:var(--text-muted)}.message.self .sender{color:color-mix(in srgb,var(--accent) 40%,var(--text) 60%)}.message .msg-time{font-size:10px;color:var(--text-muted);opacity:.6}.message .bubble{background:var(--surface2);border-radius:8px;padding:6px 10px;max-width:80%;word-break:break-word;font-size:13px}.message.self .bubble{background:var(--accent);color:#fff;margin-left:auto}.message.ai-message .sender{color:color-mix(in srgb,var(--accent) 40%,var(--text) 60%);font-weight:600}.message.ai-message .bubble{border-left:3px solid var(--accent-fg);max-width:95%;line-height:1.45}.message.ai-message .bubble code{background:var(--bg);padding:1px 4px;border-radius:3px;font-size:12px;font-family:monospace}.message.ai-message .bubble pre{background:var(--bg);padding:8px;border-radius:6px;overflow-x:auto;margin:4px 0;font-size:12px}.message.ai-message .bubble pre code{background:none;padding:0}.ai-typing-dots{display:inline-flex;gap:3px;align-items:center}.ai-typing-dots span{width:5px;height:5px;border-radius:50%;background:var(--accent-fg);animation:ai-dot-pulse 1.2s infinite}.ai-typing-dots span:nth-child(2){animation-delay:.2s}.ai-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes ai-dot-pulse{0%,to{opacity:.3}50%{opacity:1}}.ai-cursor{animation:ai-blink .8s step-end infinite;color:var(--accent-fg);font-weight:700}@keyframes ai-blink{50%{opacity:0}}.ai-error-badge{color:var(--danger);font-size:11px;font-style:italic}.ai-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:6px;padding:0;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:11px;cursor:pointer;vertical-align:middle;opacity:.7;transition:opacity .15s ease,background .15s ease,color .15s ease}.ai-copy-btn:focus-visible,.ai-message:hover .ai-copy-btn{opacity:1}.ai-copy-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-fg);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.ai-copy-btn.copied{opacity:1;color:var(--success);background:color-mix(in srgb,var(--success) 14%,transparent);border-color:color-mix(in srgb,var(--success) 30%,transparent)}.ai-copy-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}@media (hover:none) and (pointer:coarse){.ai-copy-btn,.msg-pin-btn{opacity:1}}.msg-pin-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:4px;padding:0;border-radius:5px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:10px;cursor:pointer;opacity:0;transition:opacity .15s ease,background .15s ease,color .15s ease}.message:hover .msg-pin-btn{opacity:1;transition:opacity .15s ease .3s,background .15s ease,color .15s ease}.msg-pin-btn.pinned,.msg-pin-btn:focus-visible{opacity:1}.msg-pin-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-fg);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.msg-pin-btn.pinned{color:var(--accent-fg);background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 32%,transparent)}.msg-pin-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.chat-pinned-trigger{position:relative}.chat-pinned-count,.chat-pinned-trigger.open,.chat-pinned-trigger:hover .fa-thumbtack{color:var(--accent-fg)}.chat-pinned-count{font-size:10px;font-weight:700;line-height:1;margin-left:4px;padding:1px 4px;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent)}.chat-pinned-menu{position:fixed;z-index:1100;width:320px;max-width:calc(100vw - 16px);background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px var(--border);padding:6px;display:flex;flex-direction:column;gap:4px;animation:chat-settings-pop .14s ease}.chat-pinned-menu-header{display:flex;align-items:center;gap:7px;padding:4px 8px 6px;font-size:12px;font-weight:600;color:var(--text-muted)}.chat-pinned-menu-header .fa-thumbtack{color:var(--accent-fg);font-size:11px}.chat-pinned-empty{padding:8px;font-size:12px;color:var(--text-muted);text-align:center}.chat-pinned-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.chat-pinned-item{display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--border);border-radius:6px}.chat-pinned-jump{flex:1 1;min-width:0;display:flex;align-items:baseline;gap:6px;padding:5px 8px;background:transparent;border:none;color:var(--text);font-size:12px;text-align:left;cursor:pointer}.chat-pinned-jump:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.chat-pinned-sender{flex-shrink:0;font-weight:600;color:var(--text-muted)}.chat-pinned-body{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}.chat-pinned-unpin{flex-shrink:0;width:24px;align-self:stretch;display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;border-left:1px solid var(--border);color:var(--text-muted);font-size:11px;cursor:pointer;border-top-left-radius:0;border-bottom-left-radius:0}.chat-pinned-unpin:hover{color:var(--danger);background:color-mix(in srgb,var(--danger) 12%,transparent)}.ai-confirm-bubble{display:flex;flex-direction:column;gap:8px}.ai-confirm-text{font-size:13px;line-height:1.4}.ai-confirm-text em{color:var(--accent-fg);font-style:normal;font-weight:600;word-break:break-word}.ai-confirm-actions{display:flex;gap:6px;flex-wrap:wrap}.ai-confirm-btn{font-size:12px;padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:5px;min-height:32px}.ai-confirm-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.ai-confirm-btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.ai-confirm-btn:hover:not(:disabled){border-color:var(--accent-fg)}.ai-confirm-btn:disabled{opacity:.5;cursor:default}.ai-image-shimmer{position:relative;width:280px;max-width:100%;height:180px;border-radius:12px;background:var(--surface,var(--card));border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center}.shimmer-glow{position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.06) 37%,transparent 50%);background-size:200% 100%;animation:shimmer-sweep 1.8s ease-in-out infinite}[data-theme=light] .shimmer-glow{background:linear-gradient(110deg,transparent 25%,rgba(0,0,0,.04) 37%,transparent 50%);background-size:200% 100%}@keyframes shimmer-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.shimmer-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px}.shimmer-icon{font-size:24px;color:var(--accent-fg);animation:shimmer-pulse 2s ease-in-out infinite}@keyframes shimmer-pulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.shimmer-text{color:var(--text-muted);font-size:13px;font-weight:500}.ai-image-card{border-radius:12px;overflow:hidden;background:var(--surface,var(--card));border:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.12);max-width:320px;animation:img-fade-in .4s ease}@keyframes img-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ai-image-frame{position:relative;line-height:0}.ai-image-frame--loading{min-height:140px;background:color-mix(in srgb,var(--surface2) 70%,transparent)}.ai-image-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:22px;pointer-events:none}.ai-image-preview{width:100%;display:block;cursor:pointer;transition:transform .2s ease,filter .2s ease}.ai-image-preview:hover{transform:scale(1.02);filter:brightness(1.05)}.ai-image-caption{padding:8px 12px;margin:0;color:var(--text-muted);font-size:12px;line-height:1.4;border-top:1px solid var(--border)}.ai-image-actions{display:flex;align-items:center;justify-content:flex-end;padding:4px 8px 8px}.file-image-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-muted)}.ai-image-download{background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-muted);font-size:13px;padding:4px 8px;cursor:pointer;transition:all .15s ease;text-decoration:none;display:inline-flex;align-items:center}.ai-image-download:hover{color:var(--accent-fg);border-color:var(--accent-fg)}.ai-image-error{display:flex;align-items:center;color:var(--danger);font-size:13px;font-style:italic}.ai-image-placeholder{display:flex;gap:12px;align-items:center;padding:10px 12px;border:1px dashed rgba(255,255,255,.18);border-radius:10px;background:rgba(255,255,255,.03);max-width:360px}.ai-image-placeholder-icon{font-size:22px;opacity:.55}.ai-image-placeholder-body{display:flex;flex-direction:column;gap:6px;min-width:0}.ai-image-placeholder-prompt{font-size:13px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;opacity:.85}.ai-image-placeholder-load{align-self:flex-start;font-size:12px;padding:4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.04);color:inherit;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.ai-image-placeholder-load:hover:not(:disabled){color:var(--accent-fg);border-color:var(--accent-fg)}.ai-image-placeholder-load:disabled{cursor:wait;opacity:.7}.ai-image-placeholder-error{font-size:11px;color:var(--danger)}.ai-image-placeholder-unavailable{font-size:11px;opacity:.6;font-style:italic}[data-theme=light] .ai-image-placeholder{border-color:rgba(0,0,0,.12);background:rgba(0,0,0,.02)}.ai-lightbox-overlay{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;padding:20px;animation:lb-fade-in .2s ease}@keyframes lb-fade-in{0%{opacity:0}to{opacity:1}}.ai-lightbox-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;animation:lb-scale-in .25s ease}@keyframes lb-scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.ai-lightbox-content img{max-width:100%;max-height:78vh;border-radius:12px;object-fit:contain;box-shadow:0 8px 40px rgba(0,0,0,.5)}.ai-lightbox-close{position:absolute;top:-12px;right:-12px;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;z-index:1}.ai-lightbox-close:hover{background:rgba(255,255,255,.3)}.ai-lightbox-caption{color:#d1d5db;margin:12px 0 0;text-align:center;max-width:600px;font-size:14px;line-height:1.4}.ai-lightbox-download{margin-top:12px;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 20px;font-size:14px;cursor:pointer;transition:opacity .15s ease;text-decoration:none;display:inline-flex;align-items:center}.ai-lightbox-download:hover{opacity:.85}[data-theme=light] .ai-image-card{box-shadow:0 2px 12px rgba(0,0,0,.08)}@media (max-width:768px){.ai-image-shimmer{width:100%}.ai-image-card{max-width:100%}.ai-lightbox-content{max-width:95vw}.ai-lightbox-close{top:-8px;right:-8px;width:32px;height:32px}}.chat-input-row,.chat-name-row{display:flex;gap:6px}.chat-input-row{align-items:end}.chat-ai-modes{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.chat-ai-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent-fg) 40%,transparent);background:color-mix(in srgb,var(--accent-fg) 14%,transparent);color:var(--accent-fg);font-weight:600;cursor:pointer;line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.chat-ai-chip,.chat-ai-chip i{font-size:12px}.chat-ai-chip:hover{background:color-mix(in srgb,var(--accent-fg) 22%,transparent);border-color:color-mix(in srgb,var(--accent-fg) 55%,transparent)}.chat-ai-chip.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 1px 4px color-mix(in srgb,var(--accent) 35%,transparent)}.chat-ai-chip.active:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.chat-ai-chip-context .chat-ai-chip-caret{font-size:9px;margin-left:2px;opacity:.85}.chat-ai-chip-context.open{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent-fg) 70%,transparent)}.chat-ai-chip-context.open.active{background:var(--accent)}.chat-ai-context-menu{position:fixed;z-index:1100;width:290px;max-width:calc(100vw - 16px);max-height:min(440px,calc(100vh - 16px));background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px var(--border);display:flex;flex-direction:column;overflow:hidden;animation:chat-settings-pop .14s ease}.chat-ai-context-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border-bottom:1px solid var(--border)}.chat-ai-context-clear{font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--accent-fg);background:transparent;border:0;padding:2px 6px;border-radius:5px;cursor:pointer}.chat-ai-context-clear:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.chat-ai-context-rows{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.chat-ai-context-row{display:grid;grid-template-columns:22px 22px 1fr;align-items:center;grid-gap:10px;gap:10px;padding:10px 12px;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--text);border-bottom:1px solid color-mix(in srgb,var(--border) 50%,transparent);transition:background .12s}.chat-ai-context-row:last-of-type{border-bottom:0}.chat-ai-context-row:hover{background:color-mix(in srgb,var(--accent-fg) 8%,transparent)}.chat-ai-context-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.chat-ai-context-row.on{background:color-mix(in srgb,var(--accent) 10%,transparent)}.chat-ai-context-check{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border);background:var(--surface2);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;flex-shrink:0;transition:background .12s,border-color .12s}.chat-ai-context-check.on{background:var(--accent);border-color:var(--accent)}.chat-ai-context-icon{color:var(--accent-fg);font-size:14px;width:22px;text-align:center}.chat-ai-context-row.on .chat-ai-context-icon{color:var(--accent)}.chat-ai-context-text{display:flex;flex-direction:column;gap:1px;min-width:0}.chat-ai-context-name{font-size:13px;font-weight:600;line-height:1.2}.chat-ai-context-desc{font-size:11px;color:var(--text-muted);line-height:1.3}.chat-ai-context-footer{padding:8px 12px;font-size:10.5px;color:var(--text-muted);background:color-mix(in srgb,var(--surface2) 70%,transparent);border-top:1px solid var(--border);text-align:center}@media (max-width:600px){.chat-ai-context-menu{width:min(280px,calc(100vw - 12px))}.chat-ai-context-row{padding:9px 10px;grid-template-columns:20px 22px 1fr;gap:8px}.chat-ai-context-name{font-size:12.5px}.chat-ai-context-desc{font-size:10.5px}}@media (max-width:420px){.chat-ai-chip{padding:5px 9px;gap:5px}.chat-ai-chip span{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.chat-ai-attachment{display:flex;align-items:center;gap:10px;padding:6px 10px 6px 6px;margin-bottom:6px;border-radius:10px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface2) 70%,transparent);min-width:0}.chat-ai-attachment-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0;background:var(--surface)}.chat-ai-attachment-meta{display:flex;flex-direction:column;min-width:0;flex:1 1;line-height:1.2}.chat-ai-attachment-name{font-size:12px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-ai-attachment-size{font-size:11px;color:var(--text-muted)}.chat-ai-attachment-remove{flex-shrink:0;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s}.chat-ai-attachment-remove:hover{background:rgba(127,127,127,.15);color:var(--text)}.chat-ai-attachment-error{font-size:12px;color:var(--danger);margin-bottom:6px;padding:0 2px}.chat-md-table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:6px 0;font-size:12.5px;line-height:1.4}.chat-md-table td,.chat-md-table th{border:1px solid var(--border);padding:4px 8px;text-align:left;vertical-align:top;white-space:nowrap}.chat-md-table th{background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:600}.chat-md-table tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface2) 40%,transparent)}.chat-input-row .chat-textarea,.chat-input-row input{flex:1 1;transition:border-color .18s ease,box-shadow .18s ease}.chat-textarea{resize:none;overflow-y:auto;min-height:34px;max-height:120px;line-height:1.4;font-family:inherit;overscroll-behavior:contain;scrollbar-width:none}.chat-textarea::-webkit-scrollbar{width:0;height:0;display:none}.chat-mode-selector{position:relative;flex-shrink:0}.chat-mode-toggle{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:42px;height:34px;padding:0 6px;flex-shrink:0;border-radius:8px;border:1px solid var(--border);background:var(--surface,var(--card));color:var(--text-muted);font-size:13px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.chat-mode-toggle:hover{color:color-mix(in srgb,var(--accent) 45%,var(--text) 55%);border-color:var(--accent)}.chat-mode-toggle.mode-ask,.chat-mode-toggle.mode-imagine{color:#fff;border-color:transparent;background:linear-gradient(135deg,#7c3aed,#ec4899)}.chat-mode-toggle.mode-ask:hover,.chat-mode-toggle.mode-imagine:hover{filter:brightness(1.08)}.chat-mode-caret{font-size:10px;opacity:.8}@keyframes chat-mode-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-mode-menu{position:fixed;top:0;left:0;min-width:200px;max-width:calc(100vw - 16px);max-height:min(70vh,380px);overflow-y:auto;overscroll-behavior:contain;padding:6px;background:var(--surface,var(--card));border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 20px rgba(0,0,0,.18);z-index:40;animation:chat-mode-pop .15s ease}.chat-mode-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:var(--text);font-size:13px;font-weight:600;cursor:pointer;text-align:left;transition:background .12s}.chat-mode-option i{width:16px;text-align:center;opacity:.85}.chat-mode-option:hover{background:rgba(127,127,127,.1)}.chat-mode-option.active{background:var(--accent);color:#fff}.chat-mode-option.ai.active{background:linear-gradient(135deg,#7c3aed,#ec4899)}.chat-mode-menu-section{margin-top:6px;padding-top:8px;border-top:1px solid var(--border)}.chat-mode-reset{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:var(--text);cursor:pointer;text-align:left;transition:background .12s}.chat-mode-reset:hover{background:rgba(168,85,247,.12)}.chat-mode-reset i{width:16px;text-align:center;color:#a855f7;font-size:13px}.chat-mode-reset-text{display:flex;flex-direction:column;gap:2px;min-width:0}.chat-mode-reset-title{font-size:13px;font-weight:600}.chat-mode-reset-sub{font-size:11px;opacity:.65;line-height:1.25}.chat-thread-divider{display:flex;align-items:center;gap:10px;margin:10px 2px 6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chat-thread-divider-line{flex:1 1;height:1px;background:linear-gradient(90deg,transparent 0,rgba(168,85,247,.35) 50%,transparent)}.chat-thread-divider-label{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:rgba(168,85,247,.12);color:#a855f7;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.chat-thread-divider-label i{font-size:10px}.chat-thread-divider-time{opacity:.6;font-weight:500;font-size:10px;margin-left:4px}.chat-system-event{display:flex;justify-content:center;margin:6px 2px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chat-system-event-pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--surface2);color:var(--text-muted);font-size:11px;font-weight:500;white-space:nowrap;max-width:90%}.chat-system-event-pill i{font-size:10px;opacity:.7}.chat-system-event-text{color:var(--text);font-weight:500;overflow:hidden;text-overflow:ellipsis}.chat-system-event-time{opacity:.55;font-size:10px;margin-left:2px}.chat-system-event-call-missed .chat-system-event-pill i{color:var(--danger-fg,#d97757);opacity:.9}@media (max-width:520px){.chat-thread-divider{margin:8px 0 4px;gap:6px}.chat-thread-divider-label{padding:2px 8px;font-size:10px}}.chat-resume-prompt{display:flex;justify-content:center;margin:10px 8px 6px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chat-resume-prompt-card{display:flex;flex-direction:column;gap:8px;padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));max-width:min(440px,92%)}.chat-resume-prompt-header{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--accent-fg)}.chat-resume-prompt-header i{font-size:11px}.chat-resume-prompt-subtitle{font-size:12px;color:var(--text);font-weight:500;font-style:italic;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-resume-prompt-actions{display:flex;gap:8px;flex-wrap:wrap}.chat-resume-prompt-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.chat-resume-prompt-btn:hover{background:var(--surface2)}.chat-resume-prompt-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.chat-resume-prompt-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.chat-resume-prompt-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.chat-resume-prompt-btn i{font-size:11px}@media (max-width:520px){.chat-resume-prompt{margin:8px 4px 4px}.chat-resume-prompt-card{padding:8px 10px;gap:6px}.chat-resume-prompt-header,.chat-resume-prompt-subtitle{font-size:11px}.chat-resume-prompt-btn{padding:4px 10px;font-size:11px}}.chat-input-row.mode-ask .chat-textarea:focus,.chat-input-row.mode-ask input:focus,.chat-input-row.mode-imagine .chat-textarea:focus,.chat-input-row.mode-imagine input:focus{border-color:#a855f7;box-shadow:0 0 0 3px rgba(168,85,247,.18)}.chat-send{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;flex-shrink:0;height:34px}.chat-send .chat-send-icon{display:none;font-size:13px}.chat-send.ai{background:linear-gradient(135deg,#7c3aed,#ec4899);border:0;color:#fff}.chat-send.ai:disabled{opacity:.5;cursor:not-allowed}@media (max-width:520px){.chat-send .chat-send-label{display:none}.chat-send .chat-send-icon{display:inline-block}.chat-send{min-width:46px;padding:6px 12px}.chat-mode-toggle{width:38px}}.chat-settings-wrap{position:relative}.chat-settings-btn{width:34px;height:34px;padding:0;border-radius:6px;font-size:14px;display:flex;align-items:center;justify-content:center;background:var(--surface,var(--card));border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.chat-settings-btn:hover{color:var(--accent-fg);border-color:var(--accent-fg)}.chat-settings-popover{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 12px;box-shadow:0 4px 20px rgba(0,0,0,.2);z-index:100;min-width:180px;animation:settings-pop .15s ease}@keyframes settings-pop{0%{opacity:0;transform:translateX(-50%) translateY(4px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.chat-settings-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.chat-settings-pills{display:flex;gap:4px}.chat-settings-pill{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border-radius:8px;border:1px solid var(--border);background:var(--surface,var(--card));cursor:pointer;transition:all .15s ease}.chat-settings-pill:hover{border-color:var(--accent)}.chat-settings-pill.active{background:var(--accent);border-color:var(--accent);color:#fff}.chat-settings-pill .pill-label{font-size:12px;font-weight:600}.chat-settings-pill .pill-desc{font-size:10px;opacity:.7}.chat-settings-pill.active .pill-desc{opacity:.9}.emoji-btn{width:34px;height:34px;padding:0;border-radius:6px;font-size:18px;display:flex;align-items:center;justify-content:center;min-width:unset;flex-shrink:0;line-height:1}.emoji-picker{display:flex;flex-wrap:wrap;gap:2px;padding:6px;background:var(--surface2);border:1px solid var(--border);border-radius:8px}.emoji-item{width:32px;height:32px;padding:0;border:none;border-radius:4px;background:transparent;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;min-width:unset}.emoji-item:hover{background:var(--border)}.notepad{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;flex:1 1;min-width:120px;min-height:0;overflow:visible}.notepad-header{align-items:center}.notepad-header,.notepad-tabbar{display:flex;justify-content:space-between}.notepad-tabbar{align-items:flex-start;gap:6px;min-width:0}.notepad-tabbar-tabs{display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;gap:3px;min-width:0}.notepad-tab{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 6px 0 9px;border:1px solid var(--border);border-bottom:1px solid transparent;border-top-left-radius:6px;border-top-right-radius:6px;background:var(--surface2);color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;max-width:160px;transition:background .12s,color .12s,border-color .12s}.notepad-tab:hover:not(.active){color:var(--text);background:color-mix(in srgb,var(--surface2) 70%,var(--surface))}.notepad-tab.active{color:var(--text);background:var(--surface);border-color:var(--border);border-bottom-color:var(--surface)}.notepad-tab.renaming{cursor:text}.notepad-tab-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.notepad-tab-name-input{background:transparent;border:none;outline:none;color:var(--text);font:inherit;width:120px;min-width:0;padding:0;border-bottom:1px dashed var(--accent)}.notepad-tab-close{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;font-size:10px;opacity:0;transition:opacity .12s,background .12s,color .12s}.notepad-tab.active .notepad-tab-close,.notepad-tab:focus-within .notepad-tab-close,.notepad-tab:hover .notepad-tab-close{opacity:1}.notepad-tab-close:hover{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.notepad-tab-rename{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-muted);border-radius:4px;cursor:pointer;font-size:9px;transition:background .12s,color .12s}.notepad-tab-rename:hover{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent-fg)}.notepad-tab-add{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px dashed var(--border);border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:11px;transition:background .12s,color .12s,border-color .12s}.notepad-tab-add:hover:not(:disabled){background:var(--surface2);color:var(--text);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));border-style:solid}.notepad-tab-add:disabled{opacity:.4;cursor:not-allowed}.notepad-expand-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:3px 5px;border-radius:4px;font-size:12px;line-height:1;display:flex;align-items:center;min-width:unset}.notepad-expand-btn:hover{color:var(--text);background:var(--surface2)}.notepad-expanded{position:fixed;inset:16px;z-index:1000;width:auto;height:auto;max-height:none;min-height:0;border-radius:10px!important;padding:16px 20px;box-shadow:0 20px 60px rgba(0,0,0,.45),0 0 0 1px var(--border);animation:chat-expand-pop .18s ease}.notepad-expanded .notepad-editor{max-height:none!important;min-height:0}@media (max-width:640px){.notepad-expanded{inset:0;border-radius:0!important}}.notepad h3{font-size:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.notepad-toolbar{display:flex;align-items:center;gap:3px;flex-wrap:wrap}.notepad-toolbar button{width:28px;height:26px;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text);font-size:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;min-width:unset}.notepad-toolbar button:hover{background:var(--surface2)}.notepad-toolbar button.active{background:var(--accent);color:#fff}@media (max-width:768px){.notepad-toolbar button{width:27px;height:25px}}.notepad-toolbar-sep{width:1px;height:18px;background:var(--border);margin:0 2px;flex-shrink:0}.notepad-color-picker{position:absolute;top:100%;left:0;margin-top:6px;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:6px;gap:6px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.28);z-index:20}.notepad-color-swatch{width:22px;height:22px;border-radius:50%;padding:0;min-width:unset;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.notepad-color-swatch:hover{transform:scale(1.12);box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--border)}.notepad-color-swatch.active{outline:2px solid var(--accent);outline-offset:2px}.notepad-editor{flex:1 1;min-height:0;overflow-y:auto;font-size:13px;padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);outline:none;word-break:break-word;line-height:1.5;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.notepad-editor::-webkit-scrollbar{width:6px}.notepad-editor::-webkit-scrollbar-track{background:transparent}.notepad-editor::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.notepad-editor::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.notepad-editor:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-glow)}.notepad-editor:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}.file-transfer{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.file-transfer h3{font-size:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.file-pick-row{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.file-pick-row input[type=file]{width:100%;min-width:0}.received-files{display:flex;flex-direction:column;gap:6px}.received-file{display:flex;align-items:center;justify-content:space-between;background:var(--surface2);border-radius:8px;padding:8px 12px;font-size:13px}.received-file a{color:var(--accent-fg);text-decoration:none}.received-file a:hover{text-decoration:underline}.theme-toggle{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;font-size:18px;background:var(--surface2);border:1px solid var(--border);line-height:1;z-index:20}body:has(.video-wrapper-expanded,.whiteboard.whiteboard-expanded,.chat.chat-expanded,.notepad-expanded),html:has(.video-wrapper-expanded,.whiteboard.whiteboard-expanded,.chat.chat-expanded,.notepad-expanded){overflow:hidden;height:100%;min-height:0;overscroll-behavior:none}.chat.chat-expanded .messages,.notepad-expanded .notepad-editor,.whiteboard.whiteboard-expanded .canvas-container{overscroll-behavior:contain}.media-controls{position:absolute;top:8px;bottom:8px;right:8px;display:flex;flex-direction:column;gap:6px;z-index:10}.media-controls>.device-picker-container>button,.media-controls>button{width:36px;height:36px;padding:0;border-radius:50%;font-size:14px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);border-color:transparent;color:#fff;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.media-controls>.device-picker-container>button:hover:not(:disabled),.media-controls>button:hover:not(:disabled){background:rgba(0,0,0,.7)}.media-controls>.device-picker-container>button.off,.media-controls>button.off{background:var(--danger-deep);border-color:transparent;color:#fff}.media-controls>.device-picker-container>button.active,.media-controls>button.active{background:var(--accent);border-color:transparent;color:#fff}.media-controls .hangup-control{margin-top:auto}.media-controls.media-controls-preview-only{position:static;flex-direction:row;gap:0;z-index:auto}.media-controls.media-controls-preview-only .device-picker{right:0;left:auto;bottom:auto;transform:none;width:max-content;max-width:min(320px,calc(100vw - 24px))}@media (max-width:768px){.media-controls.media-controls-preview-only .device-picker{min-width:200px;max-width:min(240px,calc(100vw - 32px))}}.media-controls.media-controls-preview-only .device-picker.device-picker-bottom{top:calc(100% + 6px)}.media-controls.media-controls-preview-only .device-picker.device-picker-top{top:auto;bottom:calc(100% + 6px)}.device-preview-gear-slot .media-controls.media-controls-preview-only .device-picker{left:auto;right:0;top:auto;bottom:calc(100% + 8px);transform:none}.cancel-call-btn,.copy-link-btn,.hangup-btn,.leave-btn,.more-menu-btn,.start-call-btn{height:26px;box-sizing:border-box}.copy-link-btn{font-size:13px;padding:4px 12px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.copy-link-btn .copy-label{display:inline}.copy-link-btn:disabled{opacity:.6;cursor:not-allowed}.copy-link-btn.success{background:var(--accent);color:#fff;border-color:transparent}.copy-link-btn.error{background:linear-gradient(135deg,var(--danger) 0,var(--danger-hover) 100%);color:#fff;border-color:transparent}.copy-link-split{position:relative;display:inline-flex;align-items:stretch}.copy-link-split .copy-link-btn.split-main{border-top-right-radius:0;border-bottom-right-radius:0;border-right:0}.copy-link-split .copy-link-btn.split-caret{border-top-left-radius:0;border-bottom-left-radius:0;padding:4px 8px;gap:0;position:relative}.copy-link-split .copy-link-btn.split-caret:before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:1px;background:currentColor;opacity:.25}.copy-link-split .copy-link-btn.split-main.error+.copy-link-btn.split-caret,.copy-link-split .copy-link-btn.split-main.success+.copy-link-btn.split-caret{background:transparent}.share-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:260px;padding:6px;display:flex;flex-direction:column;gap:2px;z-index:50;animation:share-menu-pop .14s ease}@keyframes share-menu-pop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.share-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--text);text-align:left;cursor:pointer;transition:background .12s}.share-menu-item:focus-visible,.share-menu-item:hover{background:rgba(127,127,127,.1);outline:none}.share-menu-item.featured:focus-visible .share-menu-badge,.share-menu-item.featured:focus-visible>i,.share-menu-item.featured:hover .share-menu-badge,.share-menu-item.featured:hover>i{color:color-mix(in srgb,var(--accent) 45%,var(--text) 55%)}.share-menu-item>i{width:18px;text-align:center;font-size:14px;opacity:.85;flex-shrink:0}.share-menu-item.featured{position:relative;padding-left:14px}.share-menu-item.featured:before{content:"";position:absolute;left:4px;top:10px;bottom:10px;width:3px;border-radius:2px;background:var(--accent)}.share-menu-item.featured>i{color:var(--accent-fg);opacity:1}.share-menu-text{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1}.share-menu-title{font-size:13px;font-weight:600;line-height:1.2;color:var(--text)}.share-menu-sub{font-size:11.5px;opacity:.65;line-height:1.3}.share-menu-badge{flex-shrink:0;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 7px;border-radius:10px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent-fg);line-height:1}@media (max-width:520px){.share-menu{min-width:240px}}.hangup-btn,.leave-btn{font-size:13px;padding:4px 12px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.hangup-btn{background:var(--danger-deep);border-color:var(--danger-deep);color:#fff}.hangup-btn:hover:not(:disabled){background:var(--danger-deep-hover);border-color:var(--danger-deep-hover)}@media (max-width:1300px){.copy-link-btn .copy-label,.hangup-label,.leave-label,.start-call-label,.video-panel.vp-header-call .copy-link-btn,.video-panel.vp-header-call .copy-link-split,.video-panel.vp-header-call .leave-btn,.video-panel.vp-header-call .more-menu-container,.video-panel.vp-header-call .notif-bell-btn{display:none}}@media (min-width:769px) and (max-width:1300px){.cancel-call-btn,.copy-link-btn,.hangup-btn,.leave-btn,.more-menu-btn,.start-call-btn{padding:4px 8px}}@media (max-width:768px){.theme-toggle{right:5px}.cancel-call-btn,.copy-link-btn,.hangup-btn,.leave-btn,.more-menu-btn,.start-call-btn{height:22px;padding:2px 8px}}.copy-link-icon{width:32px;height:32px;padding:0;border-radius:6px;font-size:13px;display:flex;align-items:center;justify-content:center}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.image-overlay{position:absolute;background:transparent;border:2px solid transparent;cursor:-webkit-grab;cursor:grab;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.image-overlay:hover{border-color:var(--accent)}.image-overlay-delete{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;border:none;border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font-size:11px;line-height:1;display:none;align-items:center;justify-content:center;cursor:pointer;min-width:unset}.image-overlay:hover .image-overlay-delete{display:flex}.image-resize-handle{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize;background:var(--accent);border-radius:2px 0;opacity:0;touch-action:none}.image-overlay:hover .image-resize-handle{opacity:1}.toggle-switch{display:flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toggle-switch input{display:none}.toggle-slider{position:relative;width:34px;height:18px;background:var(--border);border-radius:9px;transition:background .2s;flex-shrink:0}.toggle-slider:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .2s}.toggle-switch input:checked+.toggle-slider{background:var(--accent)}.toggle-switch input:checked+.toggle-slider:after{transform:translateX(16px)}.toggle-label{font-size:12px;color:var(--text-muted)}.toggle-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;width:90%;max-width:400px;display:flex;flex-direction:column;gap:12px}.modal.modal-wide{max-width:520px}.modal h3{font-size:16px;margin:0}.modal form{display:flex;flex-direction:column;gap:10px}.modal-error{background:#2a0f12;border:1px solid #5e1620;color:#ff6b73;padding:6px 10px;border-radius:6px;font-size:13px}.modal-actions{display:flex;gap:8px;justify-content:flex-end}.password-prompt{display:flex;flex-direction:column;gap:8px;font-size:13px;padding:10px;background:var(--surface2);border-radius:8px}.password-prompt input{width:100%}.password-prompt-actions{display:flex;gap:8px}.saved-states-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.save-mode-toggle{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:8px;overflow:hidden}.save-mode-toggle button{border:0;border-radius:0;background:var(--surface2);color:var(--text-muted);padding:8px 10px;font-size:13px}.save-mode-toggle button.active{background:var(--accent);color:#fff}.save-existing-row{display:flex;gap:8px}.save-existing-row select{flex:1 1;min-width:0}.saved-state-row{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface2);border-radius:8px;padding:8px 12px}.saved-state-info{display:flex;flex-direction:column;gap:2px;min-width:0}.saved-state-name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.saved-state-date{font-size:11px;color:var(--text-muted)}.saved-state-actions{display:flex;gap:6px;flex-shrink:0}.saved-state-actions button{padding:4px 10px;font-size:12px}.accept-call-btn,.cancel-call-btn,.decline-call-btn,.start-call-btn{font-size:13px;padding:4px 12px;border-radius:6px;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;color:#fff;font-weight:600}.accept-call-btn,.start-call-btn{background:var(--success);border-color:var(--success)}.accept-call-btn:hover:not(:disabled),.start-call-btn:hover:not(:disabled){background:#16a34a;border-color:#16a34a}.start-call-btn.video{background:var(--accent);border-color:var(--accent)}.start-call-btn.video:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.cancel-call-btn,.decline-call-btn{background:var(--danger-deep);border-color:var(--danger-deep)}.cancel-call-btn:hover:not(:disabled),.decline-call-btn:hover:not(:disabled){background:var(--danger-deep-hover);border-color:var(--danger-deep-hover)}@media (prefers-reduced-motion:no-preference){.start-call-btn{animation:cta-ring-success 2s ease-out infinite}.start-call-btn.video{animation:cta-ring-accent 2s ease-out infinite}.start-call-btn:active,.start-call-btn:hover{animation:none}}@keyframes cta-ring-success{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--success) 55%,transparent)}to{box-shadow:0 0 0 10px color-mix(in srgb,var(--success) 0%,transparent)}}@keyframes cta-ring-accent{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}to{box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 0%,transparent)}}.call-requesting{display:flex;align-items:center;gap:8px}.video-panel:not(.section-collapsed) .call-requesting{display:none}.call-requesting-text{font-size:13px;color:var(--text-muted);animation:pulse-text 1.5s ease-in-out infinite}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.4}}.call-incoming{display:flex;align-items:center;gap:8px}.call-incoming-text{font-size:13px;font-weight:600;color:var(--success);animation:pulse-text 1.5s ease-in-out infinite}.call-placeholder{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:clamp(448px,calc(76vh + 8px),688px);background:var(--surface2);border-radius:8px;color:var(--text-muted);font-size:14px}.call-incoming-actions{display:flex;gap:12px;margin-top:4px}.incoming-call-modal-overlay{position:fixed;inset:0;z-index:60;background:rgba(2,6,23,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px}.incoming-call-modal{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 48px rgba(0,0,0,.35);padding:20px 18px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.call-countdown-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:none;animation:call-countdown-bg-in .25s ease-out}.call-countdown-digit{font-size:clamp(140px,24vw,260px);font-weight:800;color:#fff;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1;text-shadow:0 8px 42px rgba(0,0,0,.55);animation:call-countdown-digit 1s ease forwards;transform-origin:center;will-change:transform,opacity}@keyframes call-countdown-bg-in{0%{opacity:0}to{opacity:1}}@keyframes call-countdown-digit{0%{transform:scale(1.55);opacity:0}15%{transform:scale(1);opacity:1}70%{transform:scale(1);opacity:1}to{transform:scale(.75);opacity:0}}@media (prefers-reduced-motion:reduce){.call-countdown-digit,.call-countdown-overlay{animation:none}}.incoming-call-modal h3{margin:0;font-size:20px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px}.incoming-call-modal h3 strong{color:var(--accent);font-weight:700}.incoming-call-modal p{margin:0;color:var(--text-muted);font-size:14px}.incoming-call-modal-actions{display:flex;gap:10px;width:100%;justify-content:center;margin-top:2px}.call-state-text{font-size:15px;letter-spacing:.01em}.call-state-text strong{color:var(--text);font-weight:600}.call-pulse{width:48px;height:48px;border-radius:50%;background:var(--accent);animation:call-ring 1.5s ease-in-out infinite}.call-pulse.incoming{background:var(--success)}@keyframes call-ring{0%{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.5}to{transform:scale(1);opacity:1}}@media (max-width:768px){.call-placeholder{height:38vh}.incoming-call-modal{padding:18px 14px;border-radius:12px}.incoming-call-modal h3{font-size:18px}.incoming-call-modal-actions .accept-call-btn,.incoming-call-modal-actions .decline-call-btn{min-width:120px}}.chat.disabled,.file-transfer.disabled{opacity:.45;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.attach-btn{width:34px;height:34px;padding:0;border-radius:6px;font-size:16px;display:flex;align-items:center;justify-content:center;min-width:unset;flex-shrink:0}.file-message .file-bubble{display:block;padding:10px 12px;font-size:13px}.file-message .file-bubble:has(.ai-image-card){display:block;padding:0;overflow:hidden;background:transparent;border-radius:12px}.file-bubble-content{display:flex;flex-direction:column;gap:8px;min-width:0}.file-row{display:flex;align-items:center;gap:10px;min-width:0}.file-row-icon{color:var(--text-muted);flex-shrink:0;font-size:18px}.file-row-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1}.file-row-name{font-weight:600}.file-row-meta,.file-row-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-row-meta{font-size:11px;color:var(--text-muted)}.file-action-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:6px;border:1px solid var(--border);background:none;color:var(--text-muted);font-size:12px;font-weight:500;cursor:pointer;flex-shrink:0;text-decoration:none;transition:color .12s,border-color .12s}.file-action-btn:hover{color:var(--accent-fg);border-color:var(--accent-fg)}.file-action-btn.danger{border-color:transparent;padding:5px 8px}.file-action-btn.danger>span{display:none}.file-action-btn.danger:hover{color:var(--danger);border-color:var(--danger)}.file-message.self .file-action-btn{color:rgba(255,255,255,.85);border-color:rgba(255,255,255,.3)}.file-message.self .file-action-btn:hover{color:#fff;border-color:#fff}.file-message.self .file-row-icon,.file-message.self .file-row-meta{color:rgba(255,255,255,.8)}.file-message.self .file-progress{background:rgba(255,255,255,.22)}.file-message.self .file-progress-fill{background:#fff}.file-progress{width:100%;height:4px;background:var(--border);border-radius:2px;overflow:hidden}.file-progress-fill{height:100%;background:var(--accent);transition:width .15s ease-out}.file-history-menu{position:fixed;z-index:1100;width:360px;max-width:calc(100vw - 16px);max-height:min(460px,calc(100vh - 16px));background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px var(--border);display:flex;flex-direction:column;overflow:hidden;animation:chat-settings-pop .14s ease}.file-history-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600}.file-history-count{color:var(--text-muted);font-weight:500;font-size:12px}.file-history-empty{padding:24px 14px;text-align:center;color:var(--text-muted);font-size:12px}.file-history-list{list-style:none;margin:0;padding:6px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.file-history-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;transition:background .12s}.file-history-row:hover{background:rgba(127,127,127,.08)}.file-history-icon{color:var(--text-muted);flex-shrink:0}.file-history-info{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-history-name{font-size:13px;font-weight:600}.file-history-meta,.file-history-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-history-meta{font-size:11px;color:var(--text-muted)}.file-history-row .file-action-btn{padding:5px 8px}.file-history-row .file-action-btn>span{display:none}.image-history-menu{position:fixed;z-index:1100;width:380px;max-width:calc(100vw - 16px);max-height:min(500px,calc(100vh - 16px));background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px var(--border);display:flex;flex-direction:column;overflow:hidden;animation:chat-settings-pop .14s ease}.image-history-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600}.image-history-count{color:var(--text-muted);font-weight:500;font-size:12px}.image-history-empty{padding:24px 14px;text-align:center;color:var(--text-muted);font-size:12px;line-height:1.4}.image-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-gap:8px;gap:8px;padding:10px;overflow-y:auto;align-content:start}.image-history-item{display:flex;flex-direction:column;gap:4px;min-width:0}.image-history-thumb{position:relative;width:100%;aspect-ratio:1/1;padding:0;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s,transform .15s}.image-history-thumb:hover{border-color:var(--accent);transform:scale(1.02)}.image-history-thumb:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.image-history-thumb img{width:100%;height:100%;object-fit:cover;display:block}.image-history-thumb-empty{color:var(--text-muted);font-size:24px;flex-direction:column;gap:6px;cursor:default}.image-history-thumb-empty:hover{border-color:var(--border);transform:none}.image-history-thumb-loading{color:var(--text-muted);font-size:22px;cursor:default}.image-history-thumb-loading:hover{border-color:var(--border);transform:none}.image-history-download{font-size:11px;font-weight:600;padding:4px 8px;border-radius:5px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.image-history-download:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.image-history-badge{position:absolute;top:4px;left:4px;font-size:10px;font-weight:700;letter-spacing:.04em;padding:2px 6px;border-radius:999px;background:var(--accent);color:#fff;box-shadow:0 1px 4px rgba(0,0,0,.35);pointer-events:none}.image-history-meta{display:flex;flex-direction:column;gap:1px;min-width:0}.image-history-name{font-size:11.5px;font-weight:600}.image-history-name,.image-history-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-history-sub{font-size:10.5px;color:var(--text-muted)}@media (max-width:600px){.image-history-menu{width:min(340px,calc(100vw - 12px))}.image-history-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px;padding:8px}}.investing-widget{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;flex:1 1;overflow:hidden}.investing-widget h3{font-size:14px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin:0}.market-header{justify-content:flex-end;flex-wrap:wrap}.market-header,.market-header-controls{display:flex;align-items:center;gap:6px;min-width:0}.symbol-picker-anchor{position:relative;flex-shrink:0}.range-switcher{display:flex;gap:2px;background:var(--surface2);border-radius:6px;padding:2px;flex-shrink:0}.range-btn{padding:2px 8px;border:none;border-radius:4px;font-size:11px;font-weight:600;background:transparent;color:var(--text-muted);min-width:unset;cursor:pointer}.range-btn.active{background:var(--accent);color:#fff}.range-btn:hover:not(.active){color:var(--text)}.market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(105px,1fr));grid-gap:6px;gap:6px;flex:1 1;min-height:0;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.market-grid::-webkit-scrollbar{width:6px}.market-grid::-webkit-scrollbar-track{background:transparent}.market-grid::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.market-grid::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.market-loading{grid-column:1/-1;color:var(--text-muted);text-align:center;padding:16px;font-size:13px}.market-card{background:var(--surface2);border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;gap:2px;min-width:0;min-height:72px;overflow:hidden;cursor:-webkit-grab;cursor:grab;position:relative}.market-card:active{cursor:-webkit-grabbing;cursor:grabbing}.market-card.drag-over{outline:2px solid var(--accent);outline-offset:-2px}.market-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:3px}.market-card-grip{flex-shrink:0;color:var(--text-muted);opacity:.35;font-size:10px;line-height:1;cursor:-webkit-grab;cursor:grab;padding:0 1px;align-self:center;transition:opacity .15s}.market-card:hover .market-card-grip{opacity:.75}.market-card:active .market-card-grip{cursor:-webkit-grabbing;cursor:grabbing}.market-card-reorder{display:none;flex-shrink:0;align-items:center;gap:2px}.market-card-reorder-btn{background:transparent;border:1px solid var(--border);border-radius:4px;color:var(--text-muted);width:22px;height:22px;padding:0;font-size:10px;line-height:1;display:flex;align-items:center;justify-content:center;min-width:0;cursor:pointer}.market-card-reorder-btn:active:not(:disabled){background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent-fg);color:var(--text)}.market-card-reorder-btn:disabled{opacity:.3;cursor:default}@media (hover:none) and (pointer:coarse){.market-card-grip{display:none}.market-card{cursor:default}.market-card-reorder{display:inline-flex;position:absolute;bottom:3px;right:3px;z-index:2;padding:1px;border-radius:5px;background:color-mix(in srgb,var(--surface) 60%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transform:translateY(2px);transition:opacity .16s ease,transform .16s ease}.market-card.reorder-revealed .market-card-reorder{opacity:.95;pointer-events:auto;transform:translateY(0)}.market-card-reorder-btn{width:20px;height:20px;border-color:transparent;font-size:9px}.market-grid:has(.market-card.reorder-revealed) .market-card:not(.reorder-revealed){opacity:.7}}.market-label{flex:1 1 auto;min-width:0;font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:none;border:none;padding:0;margin:0;text-align:left;cursor:pointer;font-family:inherit;transition:color .12s}.market-label:hover:not(:disabled){color:var(--text);background:none;text-decoration:underline;text-underline-offset:2px}.market-label:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.market-price{font-size:13px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.market-change{font-size:10px;font-weight:600;white-space:nowrap}.price-up{color:var(--success)}.price-down{color:var(--danger)}.sparkline{display:block;width:100%;height:20px;margin-top:2px}.market-chart-overlay{position:fixed;inset:0;z-index:1500;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:market-chart-overlay-fade .16s ease-out}@keyframes market-chart-overlay-fade{0%{opacity:0}to{opacity:1}}.market-chart-modal{background:var(--bg);border:1px solid var(--border);border-radius:14px;width:100%;max-width:720px;padding:20px 22px 16px;box-shadow:0 24px 70px rgba(0,0,0,.5);display:flex;flex-direction:column;gap:14px;animation:market-chart-modal-pop .18s ease-out;transform-origin:center}@keyframes market-chart-modal-pop{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.market-chart-header{display:flex;align-items:flex-start;gap:16px}.market-chart-title{flex:1 1;min-width:0}.market-chart-title h3{margin:0;font-size:18px;font-weight:700;color:var(--text)}.market-chart-subtitle{font-size:12px;color:var(--text-muted);letter-spacing:.03em}.market-chart-summary{text-align:right;flex-shrink:0}.market-chart-price{font-size:20px;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.market-chart-change{font-size:12px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.market-chart-close{background:transparent;border:1px solid transparent;color:var(--text-muted);width:32px;height:32px;padding:0;border-radius:8px;font-size:16px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}.market-chart-close:hover{background:var(--surface2);color:var(--text);border-color:var(--border)}.market-chart-ranges{display:flex;gap:4px;flex-wrap:wrap;padding:0;margin:-4px 0 0}.market-chart-range-btn{padding:4px 12px;font-size:11px;font-weight:600;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:999px;cursor:pointer;letter-spacing:.04em;line-height:1.4;min-width:36px;transition:color .12s,background .12s,border-color .12s}.market-chart-range-btn:hover:not(.active){color:var(--text);background:color-mix(in srgb,var(--text) 6%,transparent)}.market-chart-range-btn.active{color:#fff;background:var(--accent);border-color:var(--accent)}.market-chart-host{position:relative;width:100%;height:260px}.market-chart-svg{display:block;width:100%;height:260px;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.market-chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px}.market-chart-tooltip{position:absolute;transform:translate(-50%,calc(-100% - 14px));background:rgba(15,18,28,.94);color:#fff;border:1px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px;pointer-events:none;white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.35);line-height:1.35}.market-chart-tooltip-price{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.market-chart-tooltip-date{font-size:10px;color:#cbd5e1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:640px){.market-chart-overlay{padding:10px}.market-chart-modal{max-width:100%;padding:14px 14px max(16px,env(safe-area-inset-bottom));gap:10px}.market-chart-title h3{font-size:16px}.market-chart-price{font-size:17px}.market-chart-host,.market-chart-svg{height:220px}}.template-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:2px;z-index:20;min-width:160px;box-shadow:0 4px 12px rgba(0,0,0,.2)}.template-menu button{display:flex;align-items:center;gap:8px;text-align:left;padding:6px 10px;border:none;border-radius:6px;font-size:13px;white-space:nowrap;background:transparent;color:var(--text);transition:background .12s ease,color .12s ease}.template-menu button>i{width:16px;flex-shrink:0;text-align:center;opacity:.85}.template-menu button:hover:not(:disabled){background:var(--surface2);color:var(--text)}.template-menu button.active{background:var(--accent,#2e45ad);color:#fff}.remote-cursor{position:absolute;pointer-events:none;z-index:15;transform:translate(-4px,-4px);transition:left .05s linear,top .05s linear}.remote-cursor-dot{width:8px;height:8px;border-radius:50%;background:#f59e0b;border:1.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.3)}.remote-cursor-label{position:absolute;left:12px;top:-2px;background:#f59e0b;color:#000;font-size:10px;font-weight:600;padding:1px 5px 1px 3px;border-radius:3px;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.2);display:inline-flex;align-items:center;gap:4px}.screen-cursors-layer{inset:0;z-index:6}.screen-cursor,.screen-cursors-layer{position:absolute;pointer-events:none}.screen-cursor{transform:translate(-5px,-5px);transition:left .05s linear,top .05s linear}.screen-cursor-dot{width:10px;height:10px;border-radius:50%;background:#f59e0b;border:1.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.45)}.screen-cursor-avatar{position:absolute;left:14px;top:-2px;display:inline-flex;align-items:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}.device-picker-container{position:relative}.device-picker{position:absolute;right:calc(100% + 8px);bottom:0;left:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:10px;min-width:220px;max-width:min(300px,calc(100vw - 24px));max-height:min(70vh,420px);overflow:auto;box-shadow:0 4px 16px rgba(0,0,0,.3);z-index:200}.device-picker-label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.device-picker-label select{margin-top:2px;padding:5px 8px;border-radius:5px;border:1px solid var(--border);background:var(--surface2);color:var(--text);font-size:12px;cursor:pointer;width:100%}.device-picker-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 0}.device-picker-toggle .toggle-switch{position:relative;width:32px;height:18px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;cursor:pointer;flex-shrink:0;transition:background .2s}.device-picker-toggle .toggle-switch.on{background:var(--accent);border-color:var(--accent)}.device-picker-toggle .toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s}.device-picker-toggle .toggle-switch.on:after{transform:translateX(14px)}@media (max-width:768px){.device-picker{max-width:min(280px,calc(100vw - 20px));max-height:min(65vh,380px)}}.device-picker-preview-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:7px 10px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;min-height:34px;white-space:nowrap}.device-picker-preview-btn:hover{border-color:var(--accent-fg);background:color-mix(in srgb,var(--accent) 10%,var(--surface2))}.device-picker-preview-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.device-picker-grant{display:flex;flex-direction:column;gap:8px;padding:4px 0}.device-picker-grant-text{font-size:11px;color:var(--text-muted);line-height:1.35}.device-picker-grant-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:600;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;min-height:36px;white-space:nowrap}.device-picker-grant-btn:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.device-picker-grant-btn.secondary{background:var(--surface2);color:var(--text);border-color:var(--border)}.device-picker-grant-btn.secondary:hover:not(:disabled){border-color:var(--accent-fg);background:var(--surface)}.device-picker-grant-text.device-picker-grant-denied{color:var(--text);line-height:1.45}.device-picker-grant-text.device-picker-grant-denied strong{color:var(--accent-fg);font-weight:700}.device-picker-grant-btn:disabled{opacity:.7;cursor:wait}.device-preview-inline{width:100%;height:100%;display:flex;flex-direction:column;gap:8px;padding:8px;box-sizing:border-box}.device-preview-inline.error{align-items:center;justify-content:center}.device-preview-video-wrap{flex:1 1;height:auto;min-height:0}.device-preview-video{width:100%;height:100%;object-fit:cover;display:block}.device-preview-video-wrap.mirror .device-preview-video{transform:scaleX(-1)}.device-preview-badge{left:8px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:4px;display:inline-flex;gap:5px}.device-preview-badge,.device-preview-stop-btn{position:absolute;top:8px;background:rgba(0,0,0,.55);color:#fff;align-items:center;z-index:5}.device-preview-stop-btn{right:8px;width:32px;height:32px;padding:0;border-radius:50%;border:1px solid transparent;display:flex;justify-content:center;cursor:pointer;font-size:13px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.device-preview-stop-btn:hover{background:rgba(0,0,0,.75)}.device-preview-inline.error .device-preview-stop-btn{position:static;width:auto;height:auto;border-radius:6px;padding:8px 14px;background:var(--surface2);color:var(--text);border:1px solid var(--border);margin-top:12px;gap:6px}.device-preview-gear-slot{position:absolute;bottom:8px;right:8px;z-index:5}.device-preview-bottom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 4px}.device-preview-meter{flex:1 1 200px;min-width:140px;display:flex;align-items:center;gap:8px;color:var(--text-muted)}.device-preview-meter-icon{font-size:14px;flex-shrink:0}.device-preview-nomic-text{font-size:12px;white-space:nowrap}.device-preview-meter-bar{flex:1 1;height:8px;background:var(--surface2);border-radius:4px;overflow:hidden;border:1px solid var(--border)}.device-preview-meter-fill{height:100%;background:linear-gradient(90deg,var(--accent-fg),var(--success));transition:width 60ms linear}.device-preview-error{font-size:13px;color:var(--danger);text-align:center;padding:16px}.device-preview-acquiring{position:absolute;inset:0;gap:8px;font-size:13px;color:var(--text-muted);background:rgba(0,0,0,.35);z-index:4;pointer-events:none}.call-placeholder-actions,.device-preview-acquiring{display:flex;align-items:center;justify-content:center}.call-placeholder-actions{gap:10px;flex-wrap:wrap;margin-top:8px;position:relative;z-index:1}.preview-cta-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:600;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;min-height:38px}.preview-cta-btn:hover{border-color:var(--accent-fg);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}.preview-cta-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.call-placeholder.previewing{padding:0;gap:0;justify-content:stretch;align-items:stretch;overflow:hidden}.call-placeholder-call-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;padding:0 10px;box-sizing:border-box;margin-top:2px}.call-placeholder-call-btn{flex:0 1 auto;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:84px;height:70px;padding:0;font-size:13px;font-weight:600;letter-spacing:.01em;border:none;border-radius:14px;color:#fff;cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:transform .16s ease,box-shadow .2s ease}.call-placeholder-call-btn i{font-size:19px;opacity:.95}.call-placeholder-call-btn:hover{transform:translateY(-2px)}.call-placeholder-call-btn:active{transform:translateY(0)}.call-placeholder-call-btn.audio{--cta-bg:linear-gradient(155deg,#34d399,#10b981 55%,#059669);--cta-glow:rgba(16,185,129,0.6)}.call-placeholder-call-btn.video{--cta-bg:linear-gradient(155deg,#6172dd,#3f5fc7 55%,#2e45ad);--cta-glow:rgba(46,69,173,0.6)}.call-placeholder-call-btn.audio,.call-placeholder-call-btn.video{background:var(--cta-bg);box-shadow:0 8px 20px -8px var(--cta-glow)}.call-placeholder-call-btn.audio:hover,.call-placeholder-call-btn.video:hover{background:var(--cta-bg);box-shadow:0 13px 28px -8px var(--cta-glow)}@media (prefers-reduced-motion:no-preference){.call-placeholder-call-btn.audio,.call-placeholder-call-btn.video{animation:cta-ring-square 2s ease-out infinite}.call-placeholder-call-btn:active,.call-placeholder-call-btn:hover{animation:none}}@keyframes cta-ring-square{0%{box-shadow:0 8px 20px -8px var(--cta-glow),0 0 0 0 var(--cta-glow)}70%{box-shadow:0 8px 20px -8px var(--cta-glow),0 0 0 11px transparent}to{box-shadow:0 8px 20px -8px var(--cta-glow),0 0 0 11px transparent}}@media (prefers-reduced-motion:reduce){.call-placeholder-call-btn{transition:none}.call-placeholder-call-btn:active,.call-placeholder-call-btn:hover{transform:none}}.video-panel:not(.vp-previewing):not(.section-collapsed) .start-call-btn{display:none}.device-preview-test{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.device-preview-test-btn{flex:1 1;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;border-radius:6px;border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;min-height:38px}.device-preview-test-btn:hover:not(:disabled){border-color:var(--accent-fg)}.device-preview-test-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.device-preview-test-btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.device-preview-test-btn.recording{background:color-mix(in srgb,var(--danger) 18%,var(--surface2));border-color:color-mix(in srgb,var(--danger) 60%,var(--border));color:var(--text)}.device-preview-rec-dot{width:10px;height:10px;border-radius:50%;background:var(--danger);animation:device-preview-rec-pulse 1s ease-in-out infinite}@keyframes device-preview-rec-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}@media (max-width:768px){.notepad{width:100%;flex:none}.file-pick-row{flex-direction:row;align-items:center}.file-pick-row input[type=file]{flex:1 1;width:0}}.participant-selector{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;flex-shrink:0}.participant-pill{display:flex;align-items:center;gap:5px;padding:6px 10px;border:none;border-radius:0;background:var(--surface2);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;min-width:unset;transition:background .15s,color .15s}.participant-pill+.participant-pill{border-left:1px solid var(--border)}.participant-pill:hover:not(.active){background:var(--border)}.participant-pill.active{background:var(--accent);color:#fff}.participant-icons{display:flex;gap:2px;font-size:10px}.videos-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.video-cell{position:relative;transition:transform .25s ease,z-index 0s}.video-cell.speaking{transform:scale(1.03);z-index:2}.video-cell:has(.video-wrapper-expanded).speaking{transform:none;z-index:auto}.video-cell .audio-placeholder,.video-cell .no-remote,.video-cell .video-wrapper:not(.video-wrapper-expanded){height:300px}.video-cell.empty{border:2px dashed var(--border);border-radius:8px}.video-cell.empty .no-remote{background:transparent}@media (max-width:768px){.videos-grid{grid-template-columns:1fr}.video-cell .audio-placeholder,.video-cell .no-remote,.video-cell .video-wrapper:not(.video-wrapper-expanded){height:250px}.video-cell.speaking{transform:scale(1.02)}}@media (min-width:769px) and (max-height:900px){.toolbar-row{flex-wrap:wrap}.toolbar-group{min-height:32px;padding:3px;gap:3px}.color-swatch{width:18px;height:18px}.tool-btn,.width-btn{width:26px;height:26px}.tool-btn{font-size:13px}.font-size-btn{min-width:24px}.pip-bubble .pip-bubble-agent,.pip-bubble .pip-bubble-initial,.pip-bubble .pip-bubble-video{width:84px;height:84px}.pip-bubble .pip-bubble-initial{font-size:28px}.pip-bubble .pip-bubble-agent i{font-size:30px}.pip-bubble-name{max-width:76px;font-size:10px}}.peer-status-chip{position:absolute;bottom:8px;right:8px;display:flex;flex-direction:column;gap:1px;font-size:11px;background:rgba(0,0,0,.55);border-radius:6px;padding:4px 8px;color:#fff;z-index:5}.more-menu-container{display:block}.more-menu-btn{font-size:13px;padding:4px 12px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.more-menu-dropdown{position:absolute;top:100%;right:0;margin-top:4px;display:flex;flex-direction:column;min-width:150px;background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 4px 12px rgba(0,0,0,.25);z-index:30;overflow:hidden}.more-menu-dropdown button{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border:none;border-radius:0;background:none;color:var(--text);font-size:13px;white-space:nowrap;cursor:pointer;text-align:left}.more-menu-dropdown button:hover{background:var(--surface2)}.more-menu-divider{height:1px;background:var(--border);margin:4px 0}.more-menu-danger{color:var(--danger,#ef4444)!important}.more-menu-danger:hover{background:color-mix(in srgb,var(--danger,#ef4444) 12%,transparent)!important}.more-menu-toggle{justify-content:space-between!important}.more-menu-checkmark{font-size:16px;color:var(--text-muted);margin-left:8px}.more-menu-checkmark.on{color:var(--accent,#3b82f6)}.room-info-modal{width:min(520px,100%);max-height:min(80vh,720px);align-items:stretch;text-align:left;padding:18px 18px 14px;gap:12px}.room-info-tabs{display:flex;gap:4px;padding-bottom:2px;border-bottom:1px solid var(--border);padding-right:36px}.room-info-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:color .12s ease,border-color .12s ease;margin-bottom:-1px}.room-info-tab:hover{color:var(--text)}.room-info-tab.active{color:var(--text);border-bottom-color:var(--accent,#6366f1)}.room-info-body{display:flex;flex-direction:column;gap:14px;overflow-y:auto;max-height:56vh;padding-right:4px}.room-info-section{display:flex;flex-direction:column;gap:8px}.room-info-section h4{margin:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.room-info-grid{display:grid;grid-template-columns:minmax(110px,auto) 1fr;grid-gap:6px 14px;gap:6px 14px;width:100%;margin:0;font-size:13px}.room-info-grid dt{color:var(--text-muted);text-align:left;align-self:center}.room-info-grid dd{margin:0;color:var(--text);align-self:center;word-break:break-word}.room-info-sub{color:var(--text-muted);font-size:12px}.room-info-pill{display:inline-block;margin-left:6px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;background:color-mix(in srgb,var(--accent,#6366f1) 35%,transparent);color:color-mix(in srgb,var(--accent,#6366f1) 30%,#ffffff);border:1px solid color-mix(in srgb,var(--accent,#6366f1) 55%,transparent);padding:2px 8px;border-radius:999px;font-weight:600}[data-theme=light] .room-info-pill{background:color-mix(in srgb,var(--accent,#6366f1) 14%,#fff);color:color-mix(in srgb,var(--accent,#6366f1) 75%,#000);border-color:color-mix(in srgb,var(--accent,#6366f1) 40%,transparent)}.room-info-share-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.room-info-share-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:6px;font-size:12.5px;color:var(--text);cursor:pointer;transition:background .12s ease,border-color .12s ease}.room-info-share-btn:hover{background:color-mix(in srgb,var(--accent,#6366f1) 10%,var(--surface2));border-color:color-mix(in srgb,var(--accent,#6366f1) 40%,var(--border))}.room-info-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;cursor:pointer;position:relative}.room-info-toggle input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}.room-info-toggle-label{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.room-info-toggle-label strong{font-size:13px;font-weight:600;color:var(--text)}.room-info-toggle-hint{font-size:11.5px;color:var(--text-muted);line-height:1.4}.room-info-toggle-switch{flex-shrink:0;width:36px;height:20px;background:var(--border);border-radius:999px;position:relative;transition:background .18s ease}.room-info-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:left .18s ease;box-shadow:0 1px 3px rgba(0,0,0,.25)}.room-info-toggle input[type=checkbox]:checked~.room-info-toggle-switch{background:var(--accent,#6366f1)}.room-info-toggle input[type=checkbox]:checked~.room-info-toggle-switch:after{left:18px}.room-info-empty{margin:0;color:var(--text-muted);font-size:12.5px;font-style:italic}.welcome-tour-root{position:fixed;inset:0;z-index:10000;pointer-events:none}.welcome-tour-mask{position:fixed;left:0;background:rgba(2,6,23,.78);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);pointer-events:auto}.welcome-tour-mask-full{inset:0;display:flex;align-items:center;justify-content:center}.welcome-tour-mask-top{top:0;right:0;width:100%}.welcome-tour-mask-bottom{right:0;width:100%}.welcome-tour-mask-right{right:0}.welcome-tour-spotlight{position:fixed;z-index:10001;border-radius:12px;box-shadow:0 0 0 3px rgba(99,102,241,.7),0 0 30px rgba(99,102,241,.55);pointer-events:none;animation:welcomeTourPulse 2.4s ease-in-out infinite}@keyframes welcomeTourPulse{0%,to{box-shadow:0 0 0 3px rgba(99,102,241,.7),0 0 30px rgba(99,102,241,.55)}50%{box-shadow:0 0 0 4px rgba(99,102,241,.85),0 0 50px rgba(99,102,241,.75)}}.welcome-tour-callout{z-index:10002;pointer-events:auto;max-height:calc(100vh - 32px);overflow-y:auto}.welcome-tour-center-layer{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:16px}.welcome-tour-center-layer .welcome-tour-callout{pointer-events:auto}.welcome-tour-callout-centered{position:relative;width:min(440px,calc(100vw - 32px))}.welcome-tour-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.5);padding:22px 22px 18px;display:flex;flex-direction:column;gap:10px;text-align:center;color:var(--text)}.welcome-tour-skip{position:absolute;top:8px;right:8px;background:transparent;border:none;color:var(--text-muted);font-size:16px;padding:6px 8px;cursor:pointer;opacity:.75}.welcome-tour-skip:hover{opacity:1;color:var(--text)}.welcome-tour-icon{width:48px;height:48px;margin:0 auto;border-radius:50%;background:linear-gradient(135deg,rgba(99,102,241,.25),rgba(59,130,246,.15));border:1px solid rgba(99,102,241,.4);color:#a5b4fc;display:flex;align-items:center;justify-content:center;font-size:20px}.welcome-tour-card h3{margin:0;font-size:18px;font-weight:600}.welcome-tour-card p{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-muted)}.welcome-tour-progress{display:flex;justify-content:center;gap:6px;margin:6px 0 2px}.welcome-tour-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background .2s ease,transform .2s ease}.welcome-tour-dot.past{background:var(--text-muted)}.welcome-tour-dot.active{background:var(--accent,#6366f1);transform:scale(1.5)}.welcome-tour-actions{display:flex;justify-content:center;gap:10px;margin-top:6px}.welcome-tour-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .15s ease,transform .06s ease}.welcome-tour-btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.welcome-tour-btn.ghost:hover{background:var(--surface2)}.welcome-tour-btn.primary{background:var(--accent,#6366f1);border:1px solid var(--accent,#6366f1);color:#fff}.welcome-tour-btn.primary:hover{background:color-mix(in srgb,var(--accent,#6366f1) 85%,white)}.welcome-tour-btn:active{transform:translateY(1px)}@media (max-width:640px){.welcome-tour-callout{left:16px!important;right:16px;width:auto!important}.welcome-tour-callout.welcome-tour-callout-centered{left:auto!important;right:auto;width:min(440px,calc(100vw - 32px))!important}.welcome-tour-card{padding:18px 16px 14px}}.room-password-input{padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px;outline:none}.room-password-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-glow)}.room-lock-card{width:100%;max-width:400px;margin:0 auto;padding:36px 32px 28px;background:var(--surface,var(--card));border:1px solid var(--border);border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.18);display:flex;flex-direction:column;align-items:center;text-align:center;animation:room-lock-pop .28s cubic-bezier(.2,.9,.3,1.1)}@keyframes room-lock-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.room-lock-badge{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent) 0,var(--accent-hover) 100%);color:#fff;font-size:22px;margin-bottom:18px;box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 35%,transparent)}.room-lock-badge.error{background:linear-gradient(135deg,var(--danger) 0,#f97316 100%);box-shadow:0 6px 20px color-mix(in srgb,var(--danger) 35%,transparent)}.room-lock-title{font-size:20px;font-weight:700;margin:0 0 6px;color:var(--text);letter-spacing:-.01em}.room-lock-subtitle{font-size:14px;color:var(--text-muted);margin:0 0 22px;line-height:1.5}.room-lock-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;padding:2px 8px;border-radius:4px;background:rgba(127,127,127,.12);color:var(--text);margin-left:4px}.room-lock-form{width:100%;display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.room-lock-input{width:100%;height:44px;padding:0 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg,var(--surface));color:var(--text);font-size:15px;outline:none;transition:border-color .18s,box-shadow .18s;box-sizing:border-box}.room-lock-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-glow)}.room-lock-input.has-error{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 15%,transparent)}.room-lock-error{display:flex;align-items:center;gap:6px;color:var(--danger);font-size:13px;text-align:left;padding:0 2px}.room-lock-submit{width:100%;height:44px;border:0;border-radius:10px;background:linear-gradient(135deg,var(--accent) 0,var(--accent-hover) 100%);color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:filter .15s,transform .08s,opacity .15s}.room-lock-submit:hover:not(:disabled){filter:brightness(1.08)}.room-lock-submit:active:not(:disabled){transform:scale(.99)}.room-lock-submit:disabled{opacity:.5;cursor:not-allowed}.room-lock-back{margin-top:10px;background:transparent;border:0;color:var(--text-muted);font-size:13px;cursor:pointer;padding:8px 12px;border-radius:6px;display:inline-flex;align-items:center;gap:6px;transition:color .15s,background .15s}.room-lock-back:hover{color:var(--text);background:rgba(127,127,127,.08)}@media (max-width:480px){.room-lock-card{max-width:none;margin:12px;padding:28px 20px 22px;border-radius:14px}.room-lock-title{font-size:18px}.room-lock-subtitle{font-size:13px}}.room-lock-icon{color:var(--text-muted)}.room-lock-icon,.room-pin-icon{margin-right:6px;font-size:12px}.room-pin-icon{color:var(--accent-fg)}.room-owned-badge{display:inline-flex;align-items:center;gap:5px;margin-left:8px;padding:2px 8px;border-radius:999px;background:rgba(124,58,237,.18);border:1px solid rgba(167,139,250,.4);color:rgba(232,220,255,.92);font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.room-owned-badge i{font-size:9px;color:rgba(167,139,250,.95)}.right-panel{display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.panel-tabs-row{display:flex;align-items:center;border-bottom:1px solid var(--border);padding:0 8px 2px;flex-shrink:0}.panel-tabs{display:flex;gap:2px}.panel-tab{padding:7px 14px;font-size:13px;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;display:flex;align-items:center;gap:5px;transition:color .15s,border-color .15s}.panel-tab:hover{color:var(--text)}.panel-tab.active{color:var(--text);border-bottom-color:var(--accent)}.panel-tab.has-activity:after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--danger);margin-left:6px;box-shadow:0 0 6px color-mix(in srgb,var(--danger) 65%,transparent);animation:activity-dot-pulse 1.6s ease-in-out infinite}@keyframes activity-dot-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.panel-tab-content{flex:1 1;min-height:0;flex-direction:column;padding-top:8px;overflow:hidden;position:relative}.kanban-board{display:flex;gap:10px;padding:10px;height:100%;overflow-x:auto}.kanban-column{flex:1 1;min-width:0;background:var(--bg-secondary,rgba(255,255,255,.03));border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:6px}.kanban-column-header{display:flex;justify-content:space-between;align-items:center;padding:4px 6px;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.kanban-count{background:var(--border);color:var(--text-muted);border-radius:10px;padding:1px 7px;font-size:11px;font-weight:500}.kanban-cards{display:flex;flex-direction:column;gap:5px;flex:1 1;min-height:30px}.kanban-card{background:var(--surface);border-left:1px solid var(--border);border:1px solid var(--border);border-left-width:3px;border-radius:6px;padding:8px 10px;cursor:-webkit-grab;cursor:grab;transition:box-shadow .15s,transform .1s;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.kanban-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.15)}.kanban-card:active{cursor:-webkit-grabbing;cursor:grabbing;transform:scale(.98)}.kanban-card.editing{cursor:default;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none}.kanban-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.kanban-card-title{font-size:13px;color:var(--text);word-break:break-word;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.kanban-card-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s}.kanban-card:hover .kanban-card-actions{opacity:1}.kanban-card-actions button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 4px;font-size:11px;border-radius:3px}.kanban-card-actions button:hover{color:var(--text);background:var(--border)}.kanban-card-assignee{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-muted);margin-top:5px}.kanban-card-assignee i{font-size:10px}.kanban-mobile-move{display:none}@media (max-width:768px){.panel-tabs-row{flex-wrap:wrap;gap:4px}.kanban-mobile-move{display:block;margin-top:6px;font-size:11px;padding:3px 6px;border-radius:4px;border:1px solid var(--border);background:var(--bg);color:var(--text);width:100%}.kanban-board{flex-direction:column}}.kanban-add-btn{background:none;border:1px dashed var(--border);border-radius:6px;padding:6px;color:var(--text-muted);cursor:pointer;font-size:12px;transition:color .15s,border-color .15s}.kanban-add-btn:hover{color:color-mix(in srgb,var(--accent) 40%,var(--text) 60%);border-color:var(--accent)}.kanban-card-form{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px}.kanban-card-form input[type=text]{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:13px;transition:border-color .15s}.kanban-card-form input[type=text]:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-glow);outline:none}.kanban-card-description-input{padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:13px;font-family:inherit;resize:vertical;min-height:60px;width:100%;box-sizing:border-box;transition:border-color .15s}.kanban-card-description-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-glow);outline:none}.kanban-add-desc-btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:4px 8px;border:1px dashed var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:12px;cursor:pointer}.kanban-add-desc-btn:hover{color:var(--text);border-color:var(--text-muted)}.modal-x-btn{position:absolute;top:10px;right:10px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--text-muted);cursor:pointer;font-size:14px;transition:background .15s ease,color .15s ease}.kanban-card-description,.modal-x-btn:hover{background:var(--surface2);color:var(--text)}.kanban-card-description{margin:6px 0 4px;padding:8px 10px;border-radius:6px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.kanban-card-description p{margin:0 0 6px}.kanban-card-description p:last-child{margin-bottom:0}.kanban-card-expand{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:4px;padding:4px 8px;background:transparent;border:none;color:var(--text-muted);font-size:11px;font-weight:500;cursor:pointer;border-radius:4px;transition:background .12s ease,color .12s ease}.kanban-card-expand:focus-visible,.kanban-card-expand:hover{background:var(--surface2);color:var(--text)}.kanban-card-expand i{font-size:10px}.kanban-card.is-expanded{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent,#6366f1) 35%,transparent)}.kanban-desc-actions{display:flex;justify-content:flex-end;gap:8px;width:100%;margin-top:8px}.kanban-desc-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease}.kanban-desc-btn.ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.kanban-desc-btn.ghost:hover{background:var(--surface2)}.kanban-desc-btn.primary{background:var(--accent,#6366f1);border:1px solid var(--accent,#6366f1);color:#fff}.kanban-desc-btn.primary:hover{background:color-mix(in srgb,var(--accent,#6366f1) 88%,white)}.kanban-desc-btn.danger{background:var(--danger-deep,#b91c1c);border:1px solid var(--danger-deep,#b91c1c);color:#fff}.kanban-desc-btn.danger:hover{background:var(--danger-deep-hover,#991b1b)}.nb-confirm-modal{width:min(420px,100%);align-items:stretch;text-align:left}.nb-confirm-modal h3{margin:0;font-size:16px;font-weight:600}.nb-confirm-modal p{margin:0;color:var(--text);font-size:14px;line-height:1.5}.kanban-card-form select{border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:13px;flex:1 1;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding:7px 28px 7px 10px;cursor:pointer;transition:border-color .15s}.kanban-card-form select:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-glow);outline:none}.kanban-card-form select option{background:var(--surface);color:var(--text)}.kanban-form-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kanban-color-picker{display:flex;gap:4px;align-items:center}.kanban-color-swatch{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:border-color .15s,transform .1s}.kanban-color-swatch:hover{transform:scale(1.15)}.kanban-color-swatch.active{border-color:var(--text)}.kanban-form-actions{display:flex;gap:6px;padding-top:2px}.kanban-form-actions button{padding:6px 14px;font-size:12px;border-radius:6px;cursor:pointer;font-weight:500}.kanban-form-actions button:not(.primary){background:var(--surface2);border:1px solid var(--border);color:var(--text-muted)}.kanban-form-actions button:not(.primary):hover{color:var(--text);border-color:var(--text-muted)}.kanban-error{background:var(--danger);color:white;padding:6px 12px;font-size:12px;border-radius:4px;margin:6px 10px 0;cursor:pointer}.join-password-input{padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);font-size:13px;outline:none;width:140px}.join-password-input:focus{border-color:var(--focus-ring);box-shadow:0 0 0 3px var(--focus-glow)}.room-password-prompt{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:10px}.room-password-prompt .room-password-input{width:260px;max-width:100%;text-align:center}.peer-mic-off{position:absolute;bottom:10px;left:10px;background:rgba(0,0,0,.6);border-radius:50%;width:28px;height:28px;justify-content:center;font-size:13px;z-index:5}.peer-mic-off,.peer-mic-off-inline{color:var(--danger);display:flex;align-items:center}.peer-mic-off-inline{gap:4px;font-size:12px;margin-top:4px;opacity:.8}body:has(.app.lobby){background:#07071a}.app.lobby{color-scheme:dark;--bg:#0f172a;--surface:#1e293b;--surface2:#334155;--border:#475569;--text:#f1f5f9;--text-muted:#94a3b8;--accent-fg:#6b86e8;display:grid;grid-template-columns:260px minmax(0,1fr);grid-template-rows:64px 1fr;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);grid-gap:0;gap:0;background:radial-gradient(90% 60% at 100% 0,rgba(124,58,237,.25),transparent 55%),radial-gradient(80% 60% at 0 100%,rgba(67,56,202,.22),transparent 55%),radial-gradient(120% 80% at 50% 50%,rgba(76,29,149,.15),transparent 70%),linear-gradient(180deg,#0b0a23,#07071a 60%,#050513);color:#f1ecff;isolation:isolate}.app.lobby.lobby-boot{display:flex;flex-direction:column;padding:16px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));gap:16px}.lobby-topbar{grid-column:1/-1;grid-row:1;display:flex;align-items:center;gap:16px;padding:0 24px;background:rgba(15,12,42,.45);border-bottom:1px solid rgba(167,139,250,.12);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);position:-webkit-sticky;position:sticky;top:0;z-index:10}.lobby-sidebar{grid-column:1;padding:28px 18px;border-right:1px solid rgba(167,139,250,.1);background:rgba(11,10,35,.35);backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);gap:22px}.lobby-main,.lobby-sidebar{grid-row:2;display:flex;flex-direction:column;overflow-y:auto;min-height:0}.lobby-main{grid-column:2;padding:32px 36px 80px;gap:16px}@media (max-width:880px){.app.lobby{grid-template-columns:minmax(0,1fr);grid-template-rows:56px 1fr}.lobby-sidebar{display:none}.lobby-topbar{grid-column:1;padding:0 14px;gap:10px}.lobby-main{grid-column:1;padding:10px 14px 40px;gap:10px}}.lobby-nebula{background:radial-gradient(38% 30% at 78% 18%,rgba(167,139,250,.2) 0,rgba(124,58,237,.1) 32%,transparent 65%),radial-gradient(35% 26% at 14% 78%,rgba(99,102,241,.18) 0,rgba(56,189,248,.08) 32%,transparent 65%),radial-gradient(50% 35% at 50% 55%,rgba(124,58,237,.08) 0,transparent 70%),linear-gradient(108deg,transparent 30%,rgba(196,181,253,.05) 45%,rgba(196,181,253,.05) 55%,transparent 70%)}.lobby-nebula,.lobby-starfield{position:fixed;inset:0;pointer-events:none;z-index:-1}.lobby-star{position:absolute;background:#ffffff;border-radius:50%;opacity:.55}.lobby-star.bright{opacity:.9;box-shadow:0 0 4px rgba(255,255,255,.6)}.lobby-star.violet{background:#c4b5fd}@keyframes lobby-star-twinkle{0%{opacity:.15;transform:scale(.6)}to{opacity:1;transform:scale(1.25)}}.lobby-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;grid-gap:28px;gap:28px;padding:22px 28px;background:rgba(30,27,75,.6);border:1px solid rgba(167,139,250,.16);border-radius:18px;margin:0 auto;max-width:580px;width:100%;position:relative;overflow:hidden}.lobby-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.08) 50%,transparent 65%);transform:translateX(-100%);animation:lobby-hero-light-sweep 8s ease-in-out infinite;pointer-events:none;will-change:transform}@keyframes lobby-hero-light-sweep{0%,30%{transform:translateX(-100%)}60%,to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.lobby-hero:after{animation:none}}.lobby-magical-moon{position:relative;width:168px;height:178px}.lobby-moon-float,.lobby-moon-tilt{width:100%;height:100%;will-change:transform}.lobby-moon-float{animation:lobby-moon-float 6s ease-in-out infinite alternate}.lobby-magical-moon svg{position:relative;z-index:1;width:100%;height:100%;overflow:visible}.lobby-magical-moon:before{content:"";position:absolute;inset:-22%;border-radius:50%;background:radial-gradient(circle,rgba(167,139,250,.48) 0,rgba(124,58,237,.24) 35%,transparent 70%);filter:blur(22px);z-index:0}@keyframes lobby-moon-float{0%{transform:translateY(-4px)}to{transform:translateY(4px)}}.lobby-moon-orbital{position:absolute;top:50%;left:50%;width:83.6%;height:83.6%;border:1px dashed rgba(167,139,250,.45);border-radius:50%;pointer-events:none;z-index:0;animation:lobby-moon-orbital-spin 80s linear infinite;will-change:transform}@keyframes lobby-moon-orbital-spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(-1turn)}}.lobby-moon-sparks{position:absolute;inset:0;pointer-events:none;z-index:2;animation:lobby-moon-sparks-spin 55s linear infinite;will-change:transform;opacity:.65}@keyframes lobby-moon-sparks-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.lobby-moon-spark{position:absolute;width:2px;height:2px;border-radius:50%;background:#ffffff}.lobby-moon-spark-1{top:26.4%;left:78.2%}.lobby-moon-spark-2{top:73.6%;left:21.8%;background:#c4b5fd}.lobby-moon-spark-3{top:78.2%;left:72.7%;background:#a78bfa;width:1.5px;height:1.5px}.lobby-hero-text{position:relative;z-index:1}.lobby-hero-title{margin:0;font-family:var(--font-hero),Georgia,"Times New Roman",serif;font-size:clamp(22px,3vw,32px);font-weight:400;letter-spacing:.06em;line-height:1.2;text-transform:uppercase;color:#f5f3ff}@supports ((-webkit-background-clip:text) or (background-clip:text)){.lobby-hero-title{background:linear-gradient(180deg,#f5f3ff,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent}}.lobby-hero-tertiary{margin:6px 0 0;font-size:11px;color:rgba(196,181,253,.55);letter-spacing:.14em;text-transform:uppercase}.lobby-feature-pills{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px}.lobby-feature-pill{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;padding:4px 10px;border-radius:999px;background:rgba(99,102,241,.14);border:1px solid rgba(167,139,250,.22);color:rgba(232,220,255,.9);white-space:nowrap}.lobby-feature-pill i{font-size:10px;opacity:.85}.lobby-feature-pill-accent{background:rgba(56,189,248,.15);border-color:rgba(56,189,248,.35);color:#e0f2fe}@media (max-width:880px){.lobby-feature-pills{margin-top:10px;gap:4px}.lobby-feature-pill{font-size:10px;padding:3px 8px}.lobby-hero{grid-template-columns:auto 1fr;padding:12px 14px;gap:12px;border-radius:14px}.lobby-magical-moon{width:96px;height:104px}.lobby-hero-title{font-size:clamp(16px,4.4vw,22px);line-height:1.2}}@media (max-width:540px){.lobby-magical-moon{width:78px;height:86px}.lobby-hero{padding:10px 12px;gap:10px}.lobby-hero-title{font-size:clamp(14px,4.2vw,18px)}}.app.lobby .participant-selector{border-color:rgba(167,139,250,.2)}.app.lobby .participant-pill{background:rgba(15,12,42,.65);color:rgba(196,181,253,.75)}.app.lobby .participant-pill+.participant-pill{border-left-color:rgba(167,139,250,.2)}.app.lobby .participant-pill:hover:not(.active){background:rgba(124,58,237,.22);color:#f1ecff}.app.lobby .participant-pill.active{background:var(--accent);color:#fff}.app.lobby .room-occupancy{color:rgba(196,181,253,.7)}.app.lobby .room-detail{color:rgba(196,181,253,.6)}.app.lobby .room-detail-idle{color:#fbbf24}.app.lobby .room-detail-active,.app.lobby .room-occupancy-live{color:#34d399}.app.lobby .room-pulse{background:#34d399}.app.lobby .join-password-input{background:rgba(15,12,42,.65);border:1px solid rgba(167,139,250,.18);color:#f1ecff}.app.lobby .join-password-input::placeholder{color:rgba(196,181,253,.45)}.app.lobby .join-password-input:focus{border-color:rgba(167,139,250,.55);box-shadow:0 0 0 3px rgba(124,58,237,.18)}.app.lobby .lobby-card .room-tooltip{background:rgba(20,16,50,.96);border-color:rgba(167,139,250,.3);box-shadow:0 12px 30px rgba(0,0,0,.45)}.app.lobby .lobby-card .room-tooltip:after{border-top-color:rgba(167,139,250,.3)}.app.lobby .lobby-card .room-tooltip:before{border-top-color:rgba(20,16,50,.96)}.lobby-brand{display:flex;align-items:center;gap:10px;color:#e9d5ff;min-width:0;flex-shrink:1}.lobby-brand-text-block{display:flex;flex-direction:column;line-height:1.1;gap:2px;min-width:0}.lobby-brand-text{font-family:var(--font-brand),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.08em;text-transform:uppercase;font-weight:700;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby-brand-sub{font-size:9px;color:rgba(196,181,253,.55);text-transform:uppercase;letter-spacing:2.4px;font-weight:300}.lobby-brand-mark{width:24px;height:24px;flex-shrink:0;filter:drop-shadow(0 0 6px rgba(167,139,250,.4))}.lobby-search{flex:1 1;max-width:420px;display:flex;align-items:center;gap:10px;padding:8px 14px;background:rgba(15,12,42,.65);border:1px solid rgba(167,139,250,.18);border-radius:8px;color:rgba(196,181,253,.85)}.lobby-search:focus-within{border-color:rgba(167,139,250,.55);box-shadow:0 0 0 3px rgba(124,58,237,.18)}.lobby-search input{flex:1 1;background:transparent;border:0;outline:0;color:#f1ecff;font-family:inherit;font-size:14px;line-height:1.4;min-width:0;padding:0 0 0 2px}.lobby-search input::placeholder{color:rgba(196,181,253,.45)}.lobby-search input:focus{border:0;box-shadow:none}.lobby-topbar-right{margin-left:auto;display:flex;align-items:center;gap:10px;flex-shrink:0}.lobby-identity-wrap{position:relative}.lobby-identity{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;background:rgba(30,27,75,.55);border:1px solid rgba(167,139,250,.2);border-radius:999px;font-size:12px;color:#e9d5ff;cursor:pointer;transition:background .15s,border-color .15s}.lobby-identity:hover{background:rgba(124,58,237,.25);border-color:rgba(167,139,250,.45)}.lobby-identity-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-identity-chevron{font-size:9px;opacity:.7}.lobby-identity-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:260px;padding:14px;z-index:20;display:flex;flex-direction:column;gap:10px;background:rgba(20,16,50,.96);border:1px solid rgba(167,139,250,.3);box-shadow:0 20px 50px rgba(0,0,0,.45)}.lobby-identity-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:rgba(196,181,253,.7)}.lobby-identity-popover input{background:rgba(15,12,42,.65);border:1px solid rgba(167,139,250,.2);color:#f1ecff;padding:8px 10px;border-radius:6px;font-size:13px}.lobby-identity-popover input:focus{border-color:rgba(167,139,250,.55);box-shadow:0 0 0 3px rgba(124,58,237,.18);outline:none}.lobby-identity-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.lobby-identity-random{background:none;border:0;color:rgba(196,181,253,.85);cursor:pointer;font-size:12px;text-decoration:underline;padding:0}.lobby-identity-random:hover{color:#f5f3ff}.lobby-identity-avatar-section{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding-top:12px;border-top:1px solid rgba(167,139,250,.12)}.lobby-identity-avatar-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:4px;gap:4px}.lobby-identity-avatar-cell{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;padding:0;background:rgba(15,12,42,.5);border:1px solid rgba(167,139,250,.14);border-radius:7px;font-size:16px;cursor:pointer;transition:background .12s,border-color .12s,transform .12s;line-height:1}.lobby-identity-avatar-cell:hover{background:rgba(124,58,237,.22);border-color:rgba(167,139,250,.45);transform:scale(1.05)}.lobby-identity-avatar-cell.active{background:rgba(124,58,237,.3);border-color:rgba(167,139,250,.85);box-shadow:0 0 0 1px rgba(167,139,250,.5)}.lobby-rail-heading,.lobby-rail-section h3.lobby-rail-heading{margin:0 0 10px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(196,181,253,.55)}.lobby-quickstart{display:flex;flex-direction:column;gap:6px}.lobby-template-tile{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(30,27,75,.45);border:1px solid rgba(167,139,250,.14);border-radius:10px;color:#e9d5ff;font-size:13px;font-weight:500;text-align:left;transition:background .15s,border-color .15s,transform .15s;cursor:pointer;width:100%;white-space:nowrap;-webkit-tap-highlight-color:transparent}.lobby-template-tile:active:not(:disabled),.lobby-template-tile:focus-visible,.lobby-template-tile:hover:not(:disabled){background:rgba(124,58,237,.22);border-color:rgba(167,139,250,.45);transform:translateX(2px);outline:none}.lobby-template-tile-icon{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-size:14px;background:linear-gradient(135deg,rgba(99,102,241,.35),rgba(167,139,250,.25));border:1px solid rgba(167,139,250,.3);flex-shrink:0}.lobby-template-tile-label{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis}.lobby-saved-list{display:flex;flex-direction:column;gap:2px}.lobby-saved-link{display:flex;align-items:center;gap:10px;padding:7px 12px;border-radius:7px;color:rgba(232,220,255,.78);font-size:13px;transition:background .15s,color .15s;text-decoration:none}.lobby-saved-link:hover{background:rgba(124,58,237,.18);color:#f5f3ff}.lobby-saved-icon{color:rgba(167,139,250,.7);font-size:10px;flex-shrink:0;transition:color .15s}.lobby-saved-link:hover .lobby-saved-icon{color:rgba(196,181,253,.95)}.lobby-saved-link.live .lobby-saved-icon{color:#34d399;filter:drop-shadow(0 0 4px rgba(52,211,153,.55))}.lobby-saved-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-saved-since{font-size:10px;color:rgba(196,181,253,.4)}.lobby-saved-empty{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:7px;border:1px dashed rgba(167,139,250,.22);background:rgba(124,58,237,.06);color:rgba(196,181,253,.6);font-size:12px;line-height:1.35}.lobby-saved-empty i{color:rgba(167,139,250,.55);font-size:11px;flex-shrink:0}.lobby-admin-link{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:rgba(15,12,42,.6);border:1px solid rgba(167,139,250,.18);border-radius:10px;font-size:12px;color:rgba(232,220,255,.85);text-decoration:none;transition:background .15s}.lobby-sidebar .copyright-area{margin-top:auto;align-items:center;padding:16px 0 0;border-top:1px solid rgba(167,139,250,.1)}.lobby-sidebar .copyright{margin-top:0;font-size:10px;color:rgba(232,220,255,.7);letter-spacing:.02em;text-align:center;flex-direction:column;gap:6px}.lobby-sidebar .copyright .admin-badge{align-self:center}.lobby-sidebar .copyright-area .admin-key-input{margin-top:6px}.lobby-mobile-copyright{display:none;text-align:center;font-size:10px;color:rgba(232,220,255,.6);padding:24px 8px 8px;margin-top:auto}@media (max-width:880px){.lobby-mobile-copyright{display:block}}.lobby-admin-link:hover{background:rgba(124,58,237,.2)}.lobby-admin-live-badge{font-size:9px;font-weight:700;color:#fca5a5;letter-spacing:.08em}.lobby-mobile-search{display:none;align-items:center;gap:10px;padding:8px 14px;background:rgba(15,12,42,.65);border:1px solid rgba(167,139,250,.18);border-radius:8px;color:rgba(196,181,253,.85)}.lobby-mobile-search:focus-within{border-color:rgba(167,139,250,.55);box-shadow:0 0 0 3px rgba(124,58,237,.18)}.lobby-mobile-search i{font-size:12px;color:rgba(196,181,253,.6);flex-shrink:0}.lobby-mobile-search input{flex:1 1;background:transparent;border:0;outline:0;color:#f1ecff;font-family:inherit;font-size:14px;line-height:1.4;min-width:0;padding:0 0 0 2px}.lobby-mobile-search input::placeholder{color:rgba(196,181,253,.45)}.lobby-mobile-search input:focus{border:0;box-shadow:none}.lobby-mobile-templates-section{display:none}.lobby-mobile-templates-heading{margin:0 0 10px 8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.18em;color:rgba(196,181,253,.55)}.lobby-mobile-templates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.lobby-mobile-templates .lobby-template-tile{width:100%;min-width:0;padding:8px 12px;gap:8px}@media (max-width:540px){.lobby-mobile-templates{grid-template-columns:repeat(2,minmax(0,1fr))}}.lobby-mobile-templates .lobby-template-tile-icon{width:24px;height:24px;font-size:12px;border-radius:6px}@media (max-width:880px){.lobby-mobile-templates-section{display:block}.lobby-mobile-search{display:flex}}.lobby-grid-section+.lobby-grid-section{margin-top:20px}.lobby-grid-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(167,139,250,.12)}.lobby-grid-section-title{font-size:14px;font-weight:600;letter-spacing:.04em;color:#e9d5ff;margin:0;display:flex;align-items:center;gap:8px;text-transform:uppercase}.lobby-grid-section-count{font-size:11px;color:rgba(196,181,253,.55)}.lobby-grid-pulse{display:inline-block;width:8px;height:8px;border-radius:50%;background:#34d399;box-shadow:0 0 8px rgba(52,211,153,.6);animation:lobby-grid-pulse 2s ease-in-out infinite}@keyframes lobby-grid-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.lobby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:880px){.lobby-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}@media (max-width:540px){.lobby-grid{grid-template-columns:1fr}}.lobby-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:14px 16px 12px;background:rgba(30,27,75,.55);border:1px solid rgba(167,139,250,.18);border-radius:12px;min-height:116px;transition:border-color .2s,box-shadow .2s,opacity .2s}.lobby-card:hover{border-color:rgba(167,139,250,.55);box-shadow:0 0 0 1px rgba(167,139,250,.18)}.lobby-card-alive{border-left:3px solid #34d399;padding-left:14px}.lobby-card-dormant{opacity:.7}.lobby-card-dormant.room-tooltip-open,.lobby-card-dormant:hover{opacity:1}.lobby-card-full{opacity:.45}.lobby-card-full.room-tooltip-open{opacity:1}.lobby-card-full:hover{border-color:rgba(167,139,250,.18)}.lobby-card-name{font-weight:600;font-size:14px;color:#f5f3ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;width:100%}.lobby-card-meta{display:flex;align-items:center;gap:8px}.lobby-card-meta-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.lobby-card-meta-right{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.lobby-card-actions{display:flex;align-items:center;gap:6px;margin-top:auto}.lobby-card-join{margin-left:auto;min-width:56px}.lobby-section-create{margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:rgba(30,27,75,.35);border:1px dashed rgba(167,139,250,.5);border-radius:999px;color:rgba(232,220,255,.9);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.lobby-section-create i{font-size:10px}.lobby-section-create:hover{background:rgba(124,58,237,.2);border-color:rgba(167,139,250,.8);color:#f5f3ff}.lobby-card .copy-link-icon{width:28px;height:28px;background:transparent;border:0;color:rgba(196,181,253,.55);padding:0;border-radius:6px;transition:color .15s,background .15s}.lobby-card .copy-link-icon:hover{color:#f5f3ff;background:rgba(124,58,237,.18)}.lobby-grid-empty{color:rgba(196,181,253,.65);text-align:center;padding:40px 16px;display:flex;flex-direction:column;align-items:center;gap:8px}.lobby-grid-empty i{font-size:28px;color:rgba(196,181,253,.4)}.lobby-grid-empty p{margin:0;font-size:13px}.lobby-grid-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:48px 24px;gap:14px;border:1px dashed rgba(167,139,250,.25);border-radius:16px;background:rgba(30,27,75,.3)}.lobby-grid-welcome-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,rgba(99,102,241,.28),rgba(167,139,250,.18));border:1px solid rgba(167,139,250,.35);display:grid;place-items:center;font-size:28px;color:rgba(196,181,253,.9)}.lobby-grid-welcome-title{margin:4px 0 0;font-size:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#f5f3ff}.lobby-grid-welcome-sub{margin:0;max-width:420px;font-size:13px;line-height:1.55;color:rgba(196,181,253,.7)}.lobby-grid-welcome-sub strong{color:rgba(232,220,255,.95);font-weight:600}.lobby-grid-welcome-cta{margin-top:6px;padding:8px 18px;font-size:13px}.lobby-modal-overlay{position:fixed;inset:0;z-index:100;background:rgba(2,6,23,.65);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;animation:lobby-modal-fade .22s ease-out}body.lobby-modal-open,html:has(body.lobby-modal-open){overflow:hidden}@keyframes lobby-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes lobby-modal-rise{0%{opacity:0;transform:translate3d(0,14px,0) scale(.96)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes lobby-modal-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes lobby-modal-fade-up{0%{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:translateZ(0)}}.lobby-modal{width:min(460px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;overscroll-behavior:contain;background:rgba(20,16,50,.96);border:1px solid rgba(167,139,250,.3);border-radius:16px;padding:20px 22px 18px;display:flex;flex-direction:column;gap:14px;box-shadow:0 24px 60px rgba(0,0,0,.5);color:#f1ecff;transform-origin:center;animation:lobby-modal-rise .34s cubic-bezier(.16,1,.3,1)}.lobby-modal-icon{animation:lobby-modal-pop .38s cubic-bezier(.34,1.56,.64,1) .08s both}.lobby-modal-title-block{animation:lobby-modal-fade-up .34s ease-out .12s both}.lobby-modal-actions,.lobby-modal-fields,.lobby-modal-included{animation:lobby-modal-fade-up .34s ease-out .16s both}.lobby-modal-included{animation-delay:.2s}.lobby-modal-actions{animation-delay:.22s}@media (prefers-reduced-motion:reduce){.lobby-modal,.lobby-modal-actions,.lobby-modal-fields,.lobby-modal-icon,.lobby-modal-included,.lobby-modal-overlay,.lobby-modal-title-block{animation:none}}@media (max-width:540px){.lobby-modal-overlay{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);align-items:stretch}.lobby-modal{border-radius:18px;max-height:100%;height:auto;width:100%;padding:18px 16px 16px}}.lobby-modal-head{display:flex;align-items:center;gap:12px}.lobby-modal-icon{width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,rgba(99,102,241,.4),rgba(167,139,250,.28));border:1px solid rgba(167,139,250,.35);display:grid;place-items:center;font-size:18px;flex-shrink:0}.lobby-modal-title-block{flex:1 1;min-width:0}.lobby-modal-title{margin:0;font-size:16px;font-weight:700;color:#f5f3ff}.lobby-modal-subtitle{margin:2px 0 0;font-size:11px;color:rgba(196,181,253,.6);letter-spacing:.04em}.lobby-modal-close{background:none;border:0;color:rgba(196,181,253,.7);width:32px;height:32px;padding:0;border-radius:999px;cursor:pointer;display:grid;place-items:center;font-size:14px;flex-shrink:0;transition:background .15s,color .15s}.lobby-modal-close:hover{background:rgba(124,58,237,.2);color:#f5f3ff}.lobby-modal-fields{display:flex;flex-direction:column;gap:12px}.lobby-modal-field{display:flex;flex-direction:column;gap:6px}.lobby-modal-field-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgba(196,181,253,.7);display:flex;align-items:center;gap:6px}.lobby-modal-field-optional{text-transform:none;letter-spacing:0;font-weight:400;color:rgba(196,181,253,.4)}.lobby-modal-fields input{background:rgba(15,12,42,.65);border:1px solid rgba(167,139,250,.2);border-radius:7px;color:#f1ecff;padding:9px 12px;font-size:13px}.lobby-modal-fields input::placeholder{color:rgba(196,181,253,.45)}.lobby-modal-fields input:focus{border-color:rgba(167,139,250,.55);box-shadow:0 0 0 3px rgba(124,58,237,.18);outline:none}.lobby-modal-field-toggle{flex-direction:row;align-items:flex-start;gap:12px;padding:10px 12px;background:rgba(15,12,42,.4);border:1px solid rgba(167,139,250,.14);border-radius:10px}.lobby-modal-toggle-text{display:flex;flex-direction:column;gap:2px}.lobby-modal-toggle-text strong{font-size:12px;font-weight:600;color:#f1ecff}.lobby-modal-toggle-text span{font-size:11px;color:rgba(196,181,253,.55);line-height:1.4}.lobby-modal-included{display:flex;flex-direction:column;gap:10px;padding:12px;background:rgba(15,12,42,.4);border:1px solid rgba(167,139,250,.14);border-radius:10px}.lobby-modal-included-row{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}.lobby-modal-included-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(196,181,253,.55);width:80px;flex-shrink:0;padding-top:4px}.lobby-modal-chips{display:flex;flex-wrap:wrap;gap:5px;flex:1 1;min-width:0}.lobby-modal-chip{display:inline-flex;align-items:center;font-size:11px;padding:3px 9px;border-radius:999px;background:rgba(99,102,241,.18);border:1px solid rgba(167,139,250,.3);color:#e9d5ff;white-space:nowrap}.lobby-modal-chip-shortcut{background:rgba(56,189,248,.12);border-color:rgba(56,189,248,.3)}@media (max-width:540px){.lobby-modal-included-label{width:auto;padding-top:0}.lobby-modal-included-row{flex-direction:column;gap:6px}}.lobby-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:auto}.lobby-modal-error{display:flex;align-items:center;gap:8px;margin:0;padding:8px 12px;background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.32);border-radius:8px;color:#fca5a5;font-size:12px;line-height:1.35}.lobby-modal-error i{font-size:12px;opacity:.85;flex-shrink:0}.lobby-modal-cancel{background:none;border:1px solid rgba(167,139,250,.25);color:rgba(196,181,253,.85);padding:8px 18px;border-radius:8px;cursor:pointer;font-size:13px;transition:background .15s,border-color .15s}.lobby-modal-cancel:hover{background:rgba(124,58,237,.15);border-color:rgba(167,139,250,.45);color:#f5f3ff}.lobby-modal-create{padding:8px 18px;font-size:13px}.lobby-main .lobby-hero{max-width:none;margin:0}@media (max-width:880px){.lobby-brand-text{font-size:12.5px}.lobby-brand-sub{font-size:8.5px;letter-spacing:2.2px}.lobby-search{display:none}.lobby-identity-name{max-width:90px}.lobby-identity-popover{min-width:0;width:min(260px,calc(100vw - 16px));right:4px}}@media (max-width:540px){.lobby-identity-name{max-width:70px}.lobby-brand-text{font-size:12px}.lobby-brand-sub{font-size:8px;letter-spacing:2px}}@media (prefers-reduced-motion:reduce){.lobby-moon-float,.lobby-moon-orbital,.lobby-moon-sparks,.lobby-star.twinkle{animation:none!important}.lobby-moon-tilt{transition:none!important}}.lobby-error{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 16px;background:#2a0f12;border:1px solid #5e1620;color:#ff6b73;border-radius:8px;font-size:13px;margin:8px auto;max-width:480px}.lobby-error button{background:none;border:none;color:#ff6b73;padding:2px 6px;font-size:14px;cursor:pointer;min-width:unset;opacity:.7}.lobby-error button:hover{opacity:1}.lobby-hub-pill{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 16px;border-radius:8px;font-size:13px;margin:8px auto;max-width:480px;border:1px solid}.lobby-hub-pill.reconnecting{background:#78350f;border-color:#f59e0b;color:#fde68a}.lobby-hub-pill.disconnected{background:#7f1d1d;border-color:var(--danger);color:#fecaca}.lobby-hub-reconnect{background:#fecaca;color:#7f1d1d;border:none;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.lobby-hub-reconnect:hover:not(:disabled){background:#fff}.lobby-hub-reconnect:disabled{opacity:.7;cursor:wait}.confirm-modal-overlay{position:fixed;inset:0;z-index:60;background:rgba(2,6,23,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:16px}.confirm-modal{width:min(380px,100%);background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 48px rgba(0,0,0,.35);padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.confirm-modal h3{margin:0;font-size:20px}.confirm-modal p{margin:0;color:var(--text-muted);font-size:14px;line-height:1.5}.confirm-modal-actions{display:flex;gap:10px;width:100%;justify-content:center;margin-top:4px}.confirm-cancel-btn{border-radius:8px;background:var(--surface2);border:1px solid var(--border);color:var(--text)}.confirm-cancel-btn,.confirm-close-btn{padding:10px 24px;font-size:14px;font-weight:600}.confirm-close-btn{border-radius:8px;background:var(--danger-deep);border:1px solid var(--danger-deep);color:#fff}.confirm-close-btn:hover:not(:disabled){background:var(--danger-deep-hover);border-color:var(--danger-deep-hover)}.leave-btn.close-room{background:var(--danger-deep);border-color:var(--danger-deep);color:#fff}.leave-btn.close-room:hover:not(:disabled){background:var(--danger-deep-hover);border-color:var(--danger-deep-hover)}@media (max-width:768px){.confirm-modal{padding:20px 16px;border-radius:12px}.confirm-modal-actions{flex-direction:column}.confirm-cancel-btn,.confirm-close-btn{width:100%;padding:12px}}.call-duration{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text-muted)}.chat-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:1200;padding:5px 11px;border-radius:999px;background:rgba(15,18,28,.88);color:#fff;font-size:11px;font-weight:500;letter-spacing:.01em;box-shadow:0 2px 10px rgba(0,0,0,.25);animation:chat-toast-rise .18s ease-out;border:1px solid rgba(255,255,255,.08);font-family:inherit;line-height:1.35}@keyframes chat-toast-rise{0%{opacity:0;transform:translateX(-50%) translateY(6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.chat-toast.chat-toast-clickable{cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease}.chat-toast.chat-toast-clickable:hover:not(:disabled){background:rgba(25,30,45,.94);border-color:rgba(255,255,255,.14);transform:translateX(-50%) translateY(-1px)}.chat-toast.chat-toast-clickable:active{transform:translateX(-50%) translateY(0)}@media (max-width:640px){.chat-toast{bottom:14px;padding:4px 10px;font-size:10.5px}}@keyframes toast-slide-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.3}}.rec-btn{color:#94a3b8}.rec-btn .fa-circle{font-size:10px}.rec-btn.pending{color:#f59e0b}.rec-btn.pending,.rec-btn.recording{animation:rec-pulse 1.2s ease-in-out infinite}.rec-btn.recording{color:var(--danger)}.recording-indicator{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--danger);padding:2px 8px;border-radius:4px;background:color-mix(in srgb,var(--danger) 10%,transparent)}.recording-indicator.pending{color:#f59e0b;background:rgba(245,158,11,.1)}.rec-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:rec-pulse 1.2s ease-in-out infinite}.rec-duration{font-weight:400;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.recording-consent-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.recording-consent-modal{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:28px 32px;text-align:center;max-width:340px;width:90%;box-shadow:0 12px 40px rgba(0,0,0,.3)}.recording-consent-icon{font-size:28px;color:var(--danger);margin-bottom:12px;animation:rec-pulse 1.2s ease-in-out infinite}.recording-consent-modal h3{margin:0 0 8px;font-size:18px}.recording-consent-modal p{margin:0 0 20px;color:var(--text-muted);font-size:14px}.recording-consent-actions{display:flex;gap:10px;justify-content:center}.recording-consent-actions button{padding:8px 24px;font-size:14px;border-radius:6px;min-width:100px}.message.call-summary-message .bubble{border-left:3px solid #a4b4ff}.call-summary-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#a4b4ff;letter-spacing:.02em;text-transform:uppercase;margin-bottom:6px}.call-summary-header i{font-size:11px}.video-name-badge{position:absolute;bottom:8px;left:8px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:2px 8px;border-radius:4px;z-index:5;pointer-events:auto;max-width:calc(100% - 56px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-flex;align-items:center;gap:5px}.video-name-badge.local{cursor:pointer}.video-name-badge.local:hover{background:rgba(0,0,0,.8)}.call-placeholder:has(.media-controls-preview-only button.active) .video-name-badge,.device-preview-video-wrap:has(.media-controls-preview-only button.active) .video-name-badge{display:none}.video-name-badge.local .video-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.video-name-badge.local .video-name-self-tag{margin-left:6px;padding:1px 5px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:rgba(255,255,255,.18);border-radius:3px;line-height:1.4;flex-shrink:0}.peer-mic-icon{margin-left:6px;font-size:11px;color:var(--danger)}.video-name-input{background:transparent;border:none;color:#fff;font-size:12px;width:100px;outline:none;padding:0}.widget-container{display:flex;flex-direction:column;gap:0;min-height:0;overflow:hidden}.widget-slot{flex:1 1;flex-direction:column;min-height:0;min-width:0}.widget-slot>.github-widget,.widget-slot>.hn-widget,.widget-slot>.investing-widget,.widget-slot>.news-widget,.widget-slot>.odds-widget,.widget-slot>.reddit-widget{flex:1 1;min-height:0}.widget-switcher{display:flex;align-items:stretch;gap:6px;margin-bottom:4px}.widget-switcher-tabs{display:flex;flex:1 1;min-width:0}.widget-picker-toggle{flex-shrink:0;width:28px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;font-size:12px;transition:background .15s,color .15s,border-color .15s}.widget-picker-toggle:hover{color:var(--text);background:var(--surface2)}.widget-picker-toggle.open{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent-fg) 70%,transparent);color:var(--accent-fg)}.widget-picker-menu{position:fixed;z-index:1100;width:240px;max-width:calc(100vw - 16px);max-height:min(360px,calc(100vh - 16px));background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px var(--border);padding:6px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;animation:chat-settings-pop .14s ease}.widget-picker-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;font-size:11px;font-weight:600;color:var(--text);text-transform:uppercase;letter-spacing:.05em}.widget-picker-count{font-weight:500;color:var(--text-muted);text-transform:none;letter-spacing:0}.widget-picker-sub{padding:0 8px 6px;font-size:11px;color:var(--text-muted);line-height:1.4}.widget-picker-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text);text-align:left;transition:background .12s,border-color .12s}.widget-picker-row:hover:not(.disabled){background:var(--surface2)}.widget-picker-row.on{background:color-mix(in srgb,var(--accent) 10%,transparent);border-color:color-mix(in srgb,var(--accent) 24%,var(--border))}.widget-picker-row.disabled{opacity:.55;cursor:not-allowed}.widget-picker-check{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:4px;flex-shrink:0;font-size:9px;color:transparent}.widget-picker-check.on{background:var(--accent);border-color:var(--accent);color:#fff}.widget-picker-icon{width:16px;text-align:center;color:var(--text-muted)}.widget-picker-row.on .widget-picker-icon{color:var(--accent-fg)}.widget-picker-name{flex:1 1;min-width:0}.widget-picker-divider{height:1px;background:var(--border);margin:6px -6px 4px;opacity:.6}.widget-picker-sync-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;text-align:left;transition:background .12s,border-color .12s}.widget-picker-sync-row:hover{background:var(--surface2)}.widget-picker-sync-label{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.widget-picker-sync-title{font-size:13px;color:var(--text);font-weight:500}.widget-picker-sync-sub{font-size:10.5px;color:var(--text-muted);line-height:1.35}.widget-picker-sync-toggle{flex-shrink:0;width:32px;height:18px;border-radius:999px;background:var(--surface2);border:1px solid var(--border);position:relative;transition:background .18s,border-color .18s}.widget-picker-sync-toggle.on{background:var(--accent);border-color:color-mix(in srgb,var(--accent-fg) 60%,transparent)}.widget-picker-sync-knob{position:absolute;top:1px;left:1px;width:14px;height:14px;border-radius:50%;background:var(--text);transition:transform .18s,background .18s}.widget-picker-sync-toggle.on .widget-picker-sync-knob{transform:translateX(14px);background:#fff}.widget-picker-toggle.widgets-private{position:relative;border-color:color-mix(in srgb,var(--text-muted) 40%,var(--border));color:var(--text)}.widget-picker-toggle.widgets-private:after{content:"\f023";font-family:Font Awesome\ 6 Free,Font Awesome\ 5 Free,sans-serif;font-weight:900;position:absolute;top:-4px;right:-4px;width:12px;height:12px;border-radius:50%;background:var(--surface);font-size:7px;line-height:1;pointer-events:none}.widget-picker-toggle.widgets-private:after,.widget-tab{border:1px solid var(--border);color:var(--text-muted);display:flex;align-items:center;justify-content:center}.widget-tab{flex:1 1;padding:5px 10px;font-size:12px;background:var(--bg);cursor:pointer;gap:4px;transition:background .15s,color .15s;border-radius:0;min-width:0}.widget-tab-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.widget-tab--hackernews .widget-tab-label{font-size:9px;letter-spacing:-.1px}.widget-tab+.widget-tab{border-left-width:0}.widget-tab:first-child{border-radius:6px 0 0 6px}.widget-tab:last-child{border-radius:0 6px 6px 0}.widget-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.widget-tab.active,.widget-tab.active+.widget-tab{border-left-width:1px}@media (max-width:600px){.widget-tab{padding:5px 6px;font-size:11px}}.widget-tab i{font-size:11px}.symbol-selector-btn{padding:4px 8px!important;font-size:12px}.symbol-selector-dropdown{position:fixed;z-index:1100;width:280px;max-width:calc(100vw - 16px);max-height:min(440px,calc(100vh - 16px));background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px var(--border);display:flex;flex-direction:column;overflow:hidden;animation:chat-settings-pop .14s ease}.symbol-selector-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.symbol-selector-count{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent-fg);font-weight:700;letter-spacing:0;text-transform:none}.symbol-selector-sub{padding:0 12px 8px;font-size:11px;color:var(--text-muted);line-height:1.35;border-bottom:1px solid var(--border)}.symbol-selector-body{flex:1 1;overflow-y:auto;padding:8px 0}.symbol-group{margin-bottom:6px}.symbol-group-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:4px 12px;background:color-mix(in srgb,var(--surface2) 50%,transparent)}.symbol-option{display:grid;grid-template-columns:22px 1fr;align-items:center;grid-gap:10px;gap:10px;padding:7px 12px;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--text);font-size:12px;width:100%;transition:background .12s}.symbol-option:hover:not(.disabled){background:color-mix(in srgb,var(--accent-fg) 8%,transparent)}.symbol-option:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.symbol-option.on{background:color-mix(in srgb,var(--accent) 10%,transparent)}.symbol-option.disabled{cursor:not-allowed;opacity:.45}.symbol-option-check{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border);background:var(--surface2);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;flex-shrink:0;transition:background .12s,border-color .12s}.symbol-option-check.on{background:var(--accent);border-color:var(--accent)}.symbol-option-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.news-widget{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;flex-direction:column;flex:1 1;min-height:0;overflow:hidden}.news-header,.news-widget{display:flex;gap:8px;min-width:0}.news-header,.news-header-controls{align-items:center;justify-content:flex-end}.news-header-controls{display:flex;gap:6px;min-width:0;flex:1 1}.news-categories{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;min-width:0}.news-categories::-webkit-scrollbar{display:none}.news-categories .range-btn{flex-shrink:0;white-space:nowrap}.news-picker-toggle{flex-shrink:0;width:26px;height:26px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:12px;transition:background .15s,color .15s,border-color .15s}.news-picker-toggle:hover{background:var(--surface2);color:var(--text)}.news-picker-toggle.open{background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:color-mix(in srgb,var(--accent-fg) 70%,transparent);color:var(--accent-fg)}.news-picker-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.news-picker-menu{position:fixed;z-index:1100;width:260px;max-width:calc(100vw - 16px);max-height:min(420px,calc(100vh - 16px));background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px var(--border);display:flex;flex-direction:column;overflow-y:auto;animation:chat-settings-pop .14s ease}.news-picker-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.news-picker-count{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--accent-fg);font-weight:700;letter-spacing:0;text-transform:none}.news-picker-sub{padding:0 12px 8px;font-size:11px;color:var(--text-muted);line-height:1.35;border-bottom:1px solid var(--border)}.news-picker-row{display:grid;grid-template-columns:22px 22px 1fr;align-items:center;grid-gap:10px;gap:10px;padding:9px 12px;border:0;background:transparent;text-align:left;cursor:pointer;color:var(--text);font-size:13px;transition:background .12s}.news-picker-row:hover:not(.disabled){background:color-mix(in srgb,var(--accent-fg) 8%,transparent)}.news-picker-row:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.news-picker-row.on{background:color-mix(in srgb,var(--accent) 10%,transparent)}.news-picker-row.disabled{cursor:not-allowed;opacity:.45}.news-picker-check{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--border);background:var(--surface2);display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:10px;flex-shrink:0;transition:background .12s,border-color .12s}.news-picker-check.on{background:var(--accent);border-color:var(--accent)}.news-picker-icon{color:var(--accent-fg);font-size:13px;width:22px;text-align:center}.news-picker-row.on .news-picker-icon{color:var(--accent)}.news-picker-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;flex-direction:column;min-width:0}.news-picker-name-sub{font-weight:400;font-size:10px;color:var(--text-muted);letter-spacing:.02em;margin-top:1px}@media (max-width:600px){.news-picker-menu{width:min(260px,calc(100vw - 12px))}.news-picker-row{padding:10px 12px}}.news-list{display:flex;flex-direction:column;gap:4px;flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.news-list::-webkit-scrollbar{width:6px}.news-list::-webkit-scrollbar-track{background:transparent}.news-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.news-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.news-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:13px}.news-item{display:flex;flex-direction:column;gap:2px;padding:6px 8px;border-radius:6px;color:var(--text);border:1px solid var(--border)}.news-title{font-size:12px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.news-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-muted)}a.news-source{font-weight:600;color:var(--accent-fg);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--accent-fg) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--accent-fg) 40%,transparent);text-underline-offset:2px;transition:color .12s,-webkit-text-decoration-color .12s;transition:color .12s,text-decoration-color .12s;transition:color .12s,text-decoration-color .12s,-webkit-text-decoration-color .12s}a.news-source:hover{color:var(--accent);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.news-source:not(a){font-weight:600}.news-time{opacity:.7}.reddit-widget{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;flex:1 1;min-width:0;min-height:0;overflow:hidden}.reddit-header{gap:8px}.reddit-header,.reddit-header-controls{display:flex;align-items:center;justify-content:flex-end;min-width:0}.reddit-header-controls{gap:6px;flex:1 1}.reddit-subs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.reddit-subs::-webkit-scrollbar{display:none}.reddit-subs .range-btn{flex-shrink:0;white-space:nowrap}.reddit-list{display:flex;flex-direction:column;gap:4px;flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.reddit-list::-webkit-scrollbar{width:6px}.reddit-list::-webkit-scrollbar-track{background:transparent}.reddit-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.reddit-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.reddit-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:13px}.reddit-item{display:flex;align-items:stretch;gap:8px;padding:6px 8px;border-radius:6px;color:var(--text);border:1px solid var(--border);background:var(--bg)}.reddit-score{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:36px;padding:2px 4px;font-size:10px;font-weight:600;color:var(--accent-fg);background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:4px;flex-shrink:0}.reddit-score i{font-size:10px;opacity:.85}.reddit-body{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.reddit-title{font-size:12px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.reddit-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--text-muted);flex-wrap:wrap}a.reddit-domain{font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-fg);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--accent-fg) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--accent-fg) 40%,transparent);text-underline-offset:2px;transition:color .12s,-webkit-text-decoration-color .12s;transition:color .12s,text-decoration-color .12s;transition:color .12s,text-decoration-color .12s,-webkit-text-decoration-color .12s}a.reddit-domain:hover{color:var(--accent);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.reddit-domain:not(a){font-weight:600;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reddit-time{opacity:.7}.reddit-comments{display:inline-flex;align-items:center;gap:3px;color:var(--text-muted);text-decoration:none;padding:1px 4px;font-size:10px;border-radius:3px;transition:background .15s,color .15s}.reddit-comments:hover{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}@media (max-width:768px){.reddit-title{font-size:11px}.reddit-score{min-width:32px;font-size:9px}}.github-widget,.hn-widget{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px;flex:1 1;min-width:0;min-height:0;overflow:hidden}.github-header,.hn-header{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}.github-header-controls,.hn-header-controls{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1;justify-content:flex-end}.github-langs,.hn-feeds{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;min-width:0}.github-langs::-webkit-scrollbar,.hn-feeds::-webkit-scrollbar{display:none}.github-langs .range-btn,.hn-feeds .range-btn{flex-shrink:0;white-space:nowrap}.github-list,.hn-list{display:flex;flex-direction:column;gap:4px;flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.github-list::-webkit-scrollbar,.hn-list::-webkit-scrollbar{width:6px}.github-list::-webkit-scrollbar-track,.hn-list::-webkit-scrollbar-track{background:transparent}.github-list::-webkit-scrollbar-thumb,.hn-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.github-list::-webkit-scrollbar-thumb:hover,.hn-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.github-empty,.hn-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:13px}.feed-row{display:flex;align-items:stretch;gap:8px;padding:6px 8px;border-radius:6px;color:var(--text);border:1px solid var(--border);background:var(--bg)}.feed-score{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:36px;padding:2px 4px;font-size:10px;font-weight:600;color:var(--accent-fg);background:color-mix(in srgb,var(--accent) 10%,transparent);border-radius:4px;flex-shrink:0}.feed-score i{font-size:10px;opacity:.85}.feed-body{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.feed-title{font-size:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.feed-sub,.feed-title{line-height:1.3;overflow:hidden}.feed-sub{font-size:11px;white-space:nowrap;text-overflow:ellipsis}.feed-meta,.feed-sub{color:var(--text-muted)}.feed-meta{display:flex;align-items:center;gap:8px;font-size:10px;flex-wrap:wrap}a.feed-link{font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-fg);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--accent-fg) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--accent-fg) 40%,transparent);text-underline-offset:2px;transition:color .12s,-webkit-text-decoration-color .12s;transition:color .12s,text-decoration-color .12s;transition:color .12s,text-decoration-color .12s,-webkit-text-decoration-color .12s}a.feed-link:hover{color:var(--accent);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.feed-link:not(a){font-weight:600;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-time{opacity:.7}.feed-tag{font-weight:600;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--text) 8%,transparent)}.feed-comments{display:inline-flex;align-items:center;gap:3px;color:var(--text-muted);text-decoration:none;padding:1px 4px;font-size:10px;border-radius:3px;transition:background .15s,color .15s}a.feed-comments:hover{color:var(--text);background:color-mix(in srgb,var(--text) 8%,transparent)}@media (max-width:768px){.feed-title{font-size:11px}.feed-score{min-width:32px;font-size:9px}}.odds-widget{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px;flex-direction:column;flex:1 1;min-height:0;overflow:hidden}.odds-header,.odds-widget{display:flex;gap:8px;min-width:0}.odds-header{align-items:center}.odds-header-summary{flex:1 1;min-width:0;display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none}.odds-header-summary::-webkit-scrollbar{display:none}.odds-summary-empty{font-size:11px;color:var(--text-muted);font-style:italic}.odds-summary-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:10px;font-weight:600;color:var(--accent-fg);background:color-mix(in srgb,var(--accent) 12%,transparent);border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:999px;flex-shrink:0;letter-spacing:.02em}.odds-summary-badge i{font-size:9px;opacity:.85}.odds-summary-badge-label{white-space:nowrap}.odds-picker-footer{margin-top:4px;padding:8px 10px 4px;border-top:1px solid var(--border);font-size:10px;color:var(--text-muted);display:flex;align-items:center;gap:6px;line-height:1.4}.odds-picker-footer i{opacity:.7}.odds-picker-clear{background:none;border:none;padding:0;color:var(--accent-fg);font:inherit;cursor:pointer;text-decoration:underline}.odds-picker-clear:hover{color:var(--accent)}.odds-list{display:flex;flex-direction:column;gap:6px;flex:1 1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.odds-list::-webkit-scrollbar{width:6px}.odds-list::-webkit-scrollbar-track{background:transparent}.odds-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.odds-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.odds-empty{color:var(--text-muted);text-align:center;padding:16px;font-size:13px}.odds-card{display:flex;flex-direction:column;gap:6px;padding:8px 10px;border-radius:6px;color:var(--text);border:1px solid var(--border);background:var(--bg)}.odds-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px}.odds-card-more{background:transparent;border:none;padding:2px 0;font-size:10px;font-weight:600;color:var(--text-muted);cursor:pointer;letter-spacing:.02em;transition:color .12s}.odds-card-more:hover{color:var(--text);text-decoration:underline;text-underline-offset:2px}.odds-card-link{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--accent-fg);text-decoration:none;padding:2px 0;letter-spacing:.02em;transition:color .12s}.odds-card-link i{font-size:9px;opacity:.85}.odds-card-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.odds-card-header{display:flex;align-items:flex-start;gap:8px;justify-content:space-between}.odds-card-title{font-size:12px;font-weight:600;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1 1;min-width:0}.odds-card-meta{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--text-muted);flex-shrink:0}.odds-card-volume{font-weight:600;color:var(--accent-fg)}.odds-card-time{display:inline-flex;align-items:center;gap:3px;opacity:.85}.odds-card-outcomes{display:flex;flex-direction:column;gap:3px}.odds-outcome{display:grid;grid-template-columns:minmax(60px,1fr) minmax(40px,80px) 32px;align-items:center;grid-gap:8px;gap:8px;font-size:11px;line-height:1.2}.odds-outcome-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.odds-outcome-bar{position:relative;height:6px;background:var(--surface2);border-radius:3px;overflow:hidden}.odds-outcome-fill{height:100%;background:linear-gradient(90deg,var(--accent) 0,var(--accent-fg) 100%);border-radius:3px;transition:width .3s ease}.odds-outcome-pct{font-weight:600;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}@media (max-width:768px){.odds-outcome{grid-template-columns:minmax(50px,1fr) minmax(30px,60px) 28px;font-size:10px}.odds-card-title{font-size:11px}}.vp-container{position:absolute;inset:0;z-index:6;pointer-events:none;will-change:transform}.video-paint-canvas{inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;border-radius:8px;transform:translateZ(0)}.video-paint-canvas,.vp-clear-btn{position:absolute;pointer-events:auto}.vp-clear-btn{top:6px;left:6px;z-index:1;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;border-radius:6px;color:var(--danger);cursor:pointer;padding:4px 6px;font-size:12px;min-width:unset;opacity:.5;transition:opacity .15s}.vp-clear-btn:hover{opacity:1;color:#fca5a5}.vp-active-badge{position:absolute;top:6px;left:40px;z-index:1;pointer-events:none;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:4px;padding:2px 5px;font-size:10px;color:var(--accent-fg);opacity:.6}.vp-clear-all-btn{background:none;border:1px solid var(--border);border-radius:5px;color:var(--danger);cursor:pointer;padding:2px 6px;font-size:11px;min-width:unset;opacity:.7;transition:opacity .15s;margin-left:4px}.vp-clear-all-btn:hover{opacity:1;background:color-mix(in srgb,var(--danger) 10%,transparent)}@media (max-width:1000px){.vp-container{display:none}}.pip-container{position:fixed;z-index:1000;display:flex;gap:12px;align-items:flex-end;pointer-events:auto;touch-action:manipulation;transition:inset .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:pip-fade-in .25s ease}.pip-container.pip-br{inset:auto max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) auto}.pip-container.pip-bl{inset:auto auto max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.pip-container.pip-tl{inset:max(16px,env(safe-area-inset-top)) auto auto max(16px,env(safe-area-inset-left))}.pip-container.pip-tr{inset:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) auto auto}@media (max-width:768px){body.msl-input-focused .pip-container.pip-br{inset:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) auto auto}body.msl-input-focused .pip-container.pip-bl{inset:max(16px,env(safe-area-inset-top)) auto auto max(16px,env(safe-area-inset-left))}}@keyframes pip-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.pip-bubble{pointer-events:auto;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:5px;transition:transform .22s cubic-bezier(.2,.9,.3,1.2);touch-action:manipulation;-webkit-touch-callout:none;will-change:transform}.pip-bubble:hover{transform:scale(1.06)}.pip-bubble:active{transform:scale(.96)}.pip-bubble .pip-bubble-agent,.pip-bubble .pip-bubble-initial,.pip-bubble .pip-bubble-video{width:104px;height:104px;border-radius:50%;object-fit:cover;border:2px solid var(--border);box-shadow:0 4px 18px rgba(0,0,0,.4);transition:border-color .22s ease,box-shadow .22s ease,width .25s ease,height .25s ease;background:var(--surface2)}.pip-bubble .pip-bubble-initial{display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:700;color:var(--text-muted);letter-spacing:-.02em}.pip-bubble.speaking{transform:scale(1.1);z-index:2}.pip-bubble.speaking:hover{transform:scale(1.14)}.pip-bubble.speaking .pip-bubble-agent,.pip-bubble.speaking .pip-bubble-initial,.pip-bubble.speaking .pip-bubble-video{border-color:var(--success);box-shadow:0 0 0 3px rgba(34,197,94,.28),0 0 18px rgba(34,197,94,.55),0 4px 18px rgba(0,0,0,.4)}.pip-bubble-name{font-size:11px;font-weight:600;color:#fff;background:rgba(0,0,0,.62);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);padding:2px 8px;border-radius:8px;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;letter-spacing:.01em}.pip-bubble{position:relative}.pip-bubble-mic-off{position:absolute;bottom:24px;right:2px;width:22px;height:22px;border-radius:50%;background:var(--danger-deep);color:#fff;font-size:10px;border:2px solid var(--bg);box-shadow:0 2px 6px rgba(0,0,0,.35);pointer-events:none;z-index:2}.pip-bubble .pip-bubble-agent,.pip-bubble-mic-off{display:flex;align-items:center;justify-content:center}.pip-bubble .pip-bubble-agent{position:relative;background:radial-gradient(circle at 50% 50%,#2a1a4a 0,#150a2e 100%);overflow:hidden}.pip-bubble .pip-bubble-agent .live-orb{width:100%;height:100%;display:block;transform-origin:center center;will-change:transform;transition:transform 80ms ease-out}@media (prefers-reduced-motion:reduce){.pip-bubble .pip-bubble-agent .live-orb{transform:scale(1)!important}}.pip-bubble-hangup{position:absolute;top:2px;right:2px;width:22px;height:22px;border-radius:50%;background:var(--danger-deep);color:#fff;border:2px solid var(--bg);font-size:10px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.35);transition:background-color .12s ease,transform .12s ease}.pip-bubble-hangup:focus-visible,.pip-bubble-hangup:hover{background:#b91c1c;transform:scale(1.08);outline:none}@media (max-width:768px){.pip-bubble-hangup{width:20px;height:20px;font-size:9px}}@media (max-width:480px){.pip-bubble-hangup{width:18px;height:18px;font-size:8.5px}}.pip-bubble-thinking{position:absolute;bottom:24px;left:2px;width:22px;height:22px;border-radius:50%;background:color-mix(in srgb,#a78bfa 85%,#6d28d9);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg);box-shadow:0 2px 6px rgba(0,0,0,.35);pointer-events:none;z-index:2;animation:pip-thinking-pulse 1.6s ease-in-out infinite}@keyframes pip-thinking-pulse{0%,to{transform:scale(1);box-shadow:0 2px 6px rgba(0,0,0,.35),0 0 0 0 rgba(167,139,250,.6)}50%{transform:scale(1.08);box-shadow:0 2px 8px rgba(0,0,0,.4),0 0 0 6px rgba(167,139,250,0)}}.pip-bubble.is-agent.is-thinking .pip-bubble-agent{box-shadow:0 0 0 2px rgba(167,139,250,.55),0 4px 18px rgba(0,0,0,.4)}@media (max-width:768px){.pip-bubble-thinking{width:20px;height:20px;bottom:20px;font-size:9px}}@media (max-width:480px){.pip-bubble-thinking{width:18px;height:18px;bottom:18px;font-size:8.5px}}@media (prefers-reduced-motion:reduce){.pip-bubble-thinking{animation:none}}.pip-bubble-role-chip{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text);background:color-mix(in srgb,var(--accent) 22%,transparent);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);padding:1px 6px;border-radius:999px;white-space:nowrap;pointer-events:none}.pip-bubble-speaker{position:absolute;bottom:24px;left:2px;width:22px;height:22px;border-radius:50%;background:var(--surface);color:var(--text);border:2px solid var(--bg);font-size:10px;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.3);transition:background-color .12s ease,color .12s ease}.pip-bubble-speaker:focus-visible,.pip-bubble-speaker:hover{background:color-mix(in srgb,var(--text) 12%,var(--surface));outline:none}.pip-bubble-speaker.is-muted{background:var(--danger-deep);color:#fff;border-color:var(--bg)}@media (max-width:768px){.pip-bubble-speaker{bottom:22px;width:20px;height:20px;font-size:9px}}@media (max-width:480px){.pip-bubble-speaker{bottom:20px;width:18px;height:18px;font-size:8.5px}}@media (max-width:768px){.pip-bubble-mic-off{bottom:22px;width:20px;height:20px;font-size:9px}}@media (max-width:480px){.pip-bubble-mic-off{bottom:20px;width:18px;height:18px;font-size:8.5px}}@media (max-width:900px){.pip-bubble .pip-bubble-agent,.pip-bubble .pip-bubble-initial,.pip-bubble .pip-bubble-video{width:92px;height:92px}.pip-bubble .pip-bubble-initial{font-size:30px}.pip-bubble .pip-bubble-agent i{font-size:34px}}@media (max-width:600px){.pip-container{gap:10px}.pip-bubble .pip-bubble-agent,.pip-bubble .pip-bubble-initial,.pip-bubble .pip-bubble-video{width:96px;height:96px;border-width:2px}.pip-bubble .pip-bubble-initial{font-size:30px}.pip-bubble .pip-bubble-agent i{font-size:34px}.pip-bubble-name{font-size:10px;max-width:76px;padding:1px 6px}}.fullscreen-pip-overlay{position:absolute;z-index:12;cursor:pointer;pointer-events:auto;transition:inset .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:pip-fade-in .25s ease}.fullscreen-pip-overlay.fs-pip-br{inset:auto max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) auto}.fullscreen-pip-overlay.fs-pip-bl{inset:auto auto max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}.fullscreen-pip-overlay.fs-pip-tl{inset:max(20px,env(safe-area-inset-top)) auto auto max(20px,env(safe-area-inset-left))}.fullscreen-pip-overlay.fs-pip-tr{inset:max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) auto auto}.fullscreen-pip-overlay.fs-pip-stack{display:flex;flex-direction:row-reverse;align-items:center;flex-wrap:wrap-reverse;justify-content:flex-start;gap:10px;pointer-events:none;max-width:calc(100vw - 80px)}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble{pointer-events:auto}@media (max-width:600px){.fullscreen-pip-overlay.fs-pip-stack{flex-direction:column;flex-wrap:nowrap;max-width:none;max-height:calc(100vh - 80px)}}.fullscreen-pip-overlay.swappable .pip-bubble{transition:transform .18s ease}.fullscreen-pip-overlay.swappable:hover .pip-bubble{transform:scale(1.05)}.fullscreen-pip-overlay.swappable:active .pip-bubble{transform:scale(.96)}.fullscreen-pip-overlay.swappable:focus-visible{outline:2px solid var(--focus-ring);outline-offset:4px;border-radius:50%}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble.clickable{transition:transform .18s ease,filter .18s ease}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble.clickable:hover{transform:scale(1.06);filter:brightness(1.08)}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble.clickable:active{transform:scale(.96)}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble.clickable:focus{outline:none}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble.clickable:focus-visible .pip-bubble-initial,.fullscreen-pip-overlay.fs-pip-stack .pip-bubble.clickable:focus-visible .pip-bubble-video{outline:3px solid var(--focus-ring);outline-offset:3px}@media (prefers-reduced-motion:reduce){.fullscreen-pip-overlay.fs-pip-stack .pip-bubble.clickable{transition:none}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble.clickable:active,.fullscreen-pip-overlay.fs-pip-stack .pip-bubble.clickable:hover{transform:none}}.fullscreen-pip-swap-hint{position:absolute;top:0;right:0;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;border:2px solid rgba(255,255,255,.85);box-shadow:0 2px 8px rgba(0,0,0,.4);opacity:0;transform:scale(.8);transition:opacity .18s ease,transform .18s ease;pointer-events:none;z-index:3}.fullscreen-pip-overlay.swappable:focus-visible .fullscreen-pip-swap-hint,.fullscreen-pip-overlay.swappable:hover .fullscreen-pip-swap-hint{opacity:1;transform:scale(1)}@media (hover:none) and (pointer:coarse){.fullscreen-pip-overlay.swappable .fullscreen-pip-swap-hint{opacity:.85;transform:scale(1)}}.video-wrapper.fs-swapped .label,.video-wrapper.fs-swapped video{animation:fs-swap-fade-in .22s ease}@keyframes fs-swap-fade-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}.fullscreen-pip-overlay .pip-bubble .pip-bubble-initial,.fullscreen-pip-overlay .pip-bubble .pip-bubble-video{width:180px;height:180px;border-width:3px}.fullscreen-pip-overlay .pip-bubble .pip-bubble-initial{font-size:56px}.fullscreen-pip-overlay .pip-bubble-name{font-size:13px;max-width:160px;padding:3px 10px}.fullscreen-pip-overlay .pip-bubble-mic-off{bottom:32px;right:4px;width:26px;height:26px;font-size:12px}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble .pip-bubble-initial,.fullscreen-pip-overlay.fs-pip-stack .pip-bubble .pip-bubble-video{width:110px;height:110px;border-width:2px}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble .pip-bubble-initial{font-size:36px}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble-name{font-size:11px;max-width:96px;padding:2px 8px}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble-mic-off{bottom:22px;width:20px;height:20px;font-size:10px}@media (max-width:900px){.fullscreen-pip-overlay .pip-bubble .pip-bubble-initial,.fullscreen-pip-overlay .pip-bubble .pip-bubble-video{width:140px;height:140px}.fullscreen-pip-overlay .pip-bubble .pip-bubble-initial{font-size:44px}.fullscreen-pip-overlay .pip-bubble-name{font-size:12px;max-width:124px}.fullscreen-pip-overlay .pip-bubble-mic-off{bottom:28px;width:22px;height:22px;font-size:10px}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble .pip-bubble-initial,.fullscreen-pip-overlay.fs-pip-stack .pip-bubble .pip-bubble-video{width:84px;height:84px}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble .pip-bubble-initial{font-size:28px}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble-name{font-size:10px;max-width:76px}.fullscreen-pip-overlay.fs-pip-stack .pip-bubble-mic-off{bottom:18px;width:18px;height:18px;font-size:9px}.fullscreen-pip-overlay.fs-pip-stack{gap:8px}}@media (max-width:600px){.fullscreen-pip-overlay.fs-pip-br{inset:auto max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) auto}.fullscreen-pip-overlay.fs-pip-bl{inset:auto auto max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.fullscreen-pip-overlay.fs-pip-tl{inset:max(12px,env(safe-area-inset-top)) auto auto max(12px,env(safe-area-inset-left))}.fullscreen-pip-overlay.fs-pip-tr{inset:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) auto auto}.fullscreen-pip-overlay .pip-bubble .pip-bubble-initial,.fullscreen-pip-overlay .pip-bubble .pip-bubble-video{width:96px;height:96px;border-width:2px}.fullscreen-pip-overlay .pip-bubble .pip-bubble-initial{font-size:30px}.fullscreen-pip-overlay .pip-bubble-name{font-size:10px;max-width:92px;padding:2px 8px}.fullscreen-pip-overlay .pip-bubble-mic-off{bottom:22px;width:20px;height:20px;font-size:9px}}@media (max-width:360px){.pip-container{gap:8px}.pip-bubble .pip-bubble-initial,.pip-bubble .pip-bubble-video{width:84px;height:84px}.pip-bubble .pip-bubble-initial{font-size:28px}.pip-bubble-name{font-size:10px;max-width:68px}}@media (prefers-reduced-motion:reduce){.pip-container{animation:none}.pip-bubble,.pip-container{transition:none}.pip-bubble.speaking,.pip-bubble.speaking:hover,.pip-bubble:active,.pip-bubble:hover{transform:none}}.chess-widget{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:10px;padding:0 12px 12px;top:8px;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-sizing:border-box}.chess-widget>.chess-active,.chess-widget>.chess-card,.chess-widget>.chess-error{width:100%;max-width:480px}@media (max-width:768px){.chess-widget{position:static;inset:auto;width:100%}}.chess-error{background:color-mix(in srgb,var(--danger) 18%,var(--surface) 82%);border:1px solid var(--danger);color:var(--text);padding:8px 30px 8px 12px;border-radius:6px;font-size:12px;position:relative;cursor:pointer;display:flex;align-items:center;gap:8px}.chess-error i{color:var(--danger)}.chess-error-dismiss{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:18px;line-height:1;color:var(--text-muted)}.chess-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;display:flex;flex-direction:column;gap:12px;align-items:center;text-align:center}.chess-card-title{font-size:15px;font-weight:600;color:var(--text)}.chess-card-sub{font-size:13px;color:var(--text-muted)}.chess-stats{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.notif-bell-btn{position:relative}.notif-bell-badge{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:#d9534f;color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--surface);pointer-events:none}.notif-bell-menu{position:fixed;z-index:1100;width:360px;max-width:calc(100vw - 16px);max-height:min(460px,calc(100vh - 16px));background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.28),0 0 0 1px var(--border);display:flex;flex-direction:column;overflow:hidden;animation:chat-settings-pop .14s ease}.notif-bell-header{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);font-size:13px;font-weight:600}.notif-bell-title{flex:1 1;min-width:0}.notif-bell-count{color:var(--text-muted);font-weight:500;font-size:12px}.notif-bell-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:-4px -6px -4px 0;border:none;background:transparent;color:var(--text-muted);font-size:15px;border-radius:6px;cursor:pointer;transition:background .12s,color .12s}.notif-bell-close:hover{background:rgba(127,127,127,.12);color:var(--text)}.notif-bell-empty{padding:36px 14px;text-align:center;color:var(--text-muted);font-size:13px;display:flex;flex-direction:column;align-items:center;gap:10px}.notif-bell-empty i{font-size:24px;opacity:.4}.notif-bell-list{list-style:none;margin:0;padding:6px;flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.notif-bell-row{margin:0}.notif-bell-row-inner{position:relative;display:flex;align-items:flex-start;gap:10px;padding:8px 10px 8px 14px;border-radius:8px;width:100%;text-align:left;background:transparent;border:none;color:inherit;font:inherit;cursor:default;transition:background .12s}button.notif-bell-row-inner{cursor:pointer}.notif-bell-row-inner:hover{background:rgba(127,127,127,.08)}.notif-bell-row-inner.unread{background:color-mix(in srgb,var(--accent-fg,#5b8cff) 8%,transparent)}.notif-bell-row-inner.unread:hover{background:color-mix(in srgb,var(--accent-fg,#5b8cff) 14%,transparent)}.notif-bell-row-inner.unread:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:var(--accent-fg,#5b8cff)}.notif-bell-row-inner.unread .notif-bell-row-title{font-weight:600}.notif-bell-row-icon{color:var(--text-muted);flex-shrink:0;margin-top:2px;width:14px;text-align:center}.notif-bell-row-body{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.notif-bell-row-title{font-size:13px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notif-bell-row-subtitle{font-size:11px;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notif-bell-row-time{font-size:11px;color:var(--text-muted);flex-shrink:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.notif-bell-footer{display:flex;justify-content:flex-end;padding:8px 10px;border-top:1px solid var(--border)}.notif-bell-clear{background:transparent;border:1px solid var(--border);border-radius:6px;padding:5px 12px;font-size:12px;color:var(--text-muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.notif-bell-clear:hover{background:rgba(127,127,127,.08);color:var(--text);border-color:var(--text-muted)}@media (max-width:768px){.notif-bell-menu{position:fixed!important;top:auto!important;left:0!important;right:0;bottom:0;width:100%;max-width:100%;max-height:70vh;border-radius:14px 14px 0 0;padding-bottom:env(safe-area-inset-bottom,0);animation:notif-sheet-slide-up .18s ease}}@keyframes notif-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chess-stat{font-weight:600}.chess-stat-w{color:var(--success)}.chess-stat-l{color:var(--danger,#ef4444)}.chess-stat-d,.chess-stat-sep{color:var(--text-muted)}.chess-stat-sep{opacity:.5}.chess-color-row{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.chess-color-btn{background:var(--surface2);border:1px solid var(--border);border-radius:6px;padding:6px 12px;font-size:12px;color:var(--text);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:border-color .15s,background .15s}.chess-color-btn.active,.chess-color-btn:hover{border-color:var(--accent)}.chess-color-btn.active{background:color-mix(in srgb,var(--accent) 25%,var(--surface2) 75%)}.chess-color-swatch{width:14px;height:14px;border-radius:50%;border:1px solid var(--border);display:inline-block}.chess-color-w{background:#f0d9b5}.chess-color-b{background:#2c2417}.chess-danger-btn,.chess-primary-btn,.chess-secondary-btn{border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s;border:1px solid transparent}.chess-primary-btn{background:var(--accent);color:#fff}.chess-primary-btn:hover:not(:disabled){background:var(--accent-hover)}.chess-secondary-btn{background:var(--surface2);color:var(--text);border-color:var(--border)}.chess-secondary-btn:hover:not(:disabled){border-color:var(--accent)}.chess-danger-btn{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 50%,var(--border) 50%)}.chess-danger-btn:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:var(--danger)}.chess-danger-btn:disabled,.chess-primary-btn:disabled,.chess-secondary-btn:disabled{opacity:.5;cursor:not-allowed}.chess-action-tight{padding:6px 12px;font-size:12px}@media (prefers-reduced-motion:no-preference){.chess-primary-btn-pulse{animation:cta-ring-accent 2s ease-out infinite}.chess-primary-btn-pulse:active,.chess-primary-btn-pulse:hover{animation:none}}.chess-icon-btn{background:var(--surface2);border:1px solid var(--border);border-radius:6px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-muted);transition:color .15s,border-color .15s}.chess-icon-btn:hover{color:var(--text);border-color:var(--accent)}.chess-active{display:flex;flex-direction:column;gap:8px}.chess-player-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);padding:4px 8px;border-radius:6px;transition:background .15s}.chess-player-label.on-move{background:color-mix(in srgb,var(--accent) 18%,transparent)}.chess-player-dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--border);flex-shrink:0}.chess-player-dot-w{background:#f0d9b5}.chess-player-dot-b{background:#2c2417}.chess-player-name{font-weight:500}.chess-player-color{color:var(--text-muted);font-size:11px}.chess-player-turn{margin-left:auto;font-size:11px;color:var(--accent-fg);font-weight:500}.chess-board-container{position:relative;width:100%;max-width:480px;margin:0 auto}.chess-board-wrapper{width:100%;aspect-ratio:1/1}.chess-end-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 55%,transparent);border-radius:6px;pointer-events:none}.chess-end-card{pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px 24px;display:flex;flex-direction:column;gap:10px;align-items:center;box-shadow:0 8px 24px rgba(0,0,0,.35)}.chess-end-title{font-size:15px;font-weight:600;color:var(--text);text-align:center}.chess-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;align-items:center}.chess-pending-msg{font-size:12px;color:var(--text-muted);padding:6px 12px;font-style:italic}.chess-move-list{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:12px;color:var(--text);padding:8px 10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;max-height:96px;overflow-y:auto;font-family:Consolas,SF Mono,Menlo,monospace}.chess-move-list-empty{color:var(--text-muted);font-style:italic;font-family:inherit}.chess-move-pair{display:inline-flex;gap:4px;white-space:nowrap}.chess-move-num{color:var(--text-muted)}.chess-move-san{color:var(--text)}@media (max-width:600px){.chess-widget{padding:8px;gap:8px}.chess-board-container{max-width:100%}.chess-card{padding:12px}.chess-actions{gap:6px}.chess-action-tight{padding:5px 10px;font-size:11px}.chess-move-list{max-height:64px;font-size:11px}}.voice-control-wrap{display:inline-flex;align-items:end;flex-shrink:0}.voice-btn{width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:14px;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.voice-btn:hover:not(:disabled){background:var(--surface2);color:var(--text)}.voice-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.voice-btn:disabled{opacity:.5;cursor:not-allowed}.voice-btn.is-listening{background:color-mix(in srgb,#ef4444 14%,transparent);border-color:color-mix(in srgb,#ef4444 60%,transparent);color:#ef4444;animation:voice-listening-pulse 1.2s ease-in-out infinite}@keyframes voice-listening-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,#ef4444 45%,transparent)}70%{box-shadow:0 0 0 8px color-mix(in srgb,#ef4444 0%,transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb,#ef4444 0%,transparent)}}.voice-status-pill{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:500;line-height:1.2;max-width:min(86vw,420px);white-space:normal;text-align:center;pointer-events:none;z-index:1220;background:var(--surface);border:1px solid var(--border);color:var(--text);box-shadow:0 4px 14px color-mix(in srgb,var(--text) 18%,transparent);animation:voice-pill-in .18s ease-out}.voice-status-pill i{font-size:11px}.voice-status-pill.is-success{background:color-mix(in srgb,var(--success) 18%,var(--surface));border-color:color-mix(in srgb,var(--success) 55%,transparent);color:#bbf7d0}.voice-status-pill.is-error{background:color-mix(in srgb,#ef4444 18%,var(--surface));border-color:color-mix(in srgb,#ef4444 55%,transparent);color:#fecaca}.voice-status-pill.is-info{color:var(--text)}[data-theme=light] .voice-status-pill.is-success{color:#166534}[data-theme=light] .voice-status-pill.is-error{color:#991b1b}@keyframes voice-pill-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:520px){.chat-input-row.text-empty .voice-control-wrap~.chat-send,.chat-input-row:not(.text-empty) .voice-control-wrap{display:none}.chat-input-row{gap:4px}}.live-wrap{position:relative;display:inline-flex;align-items:center}.live-btn{position:relative;overflow:visible}.live-btn.is-active{background:color-mix(in srgb,#ef4444 14%,transparent);border-color:color-mix(in srgb,#ef4444 60%,transparent);color:#ef4444;animation:live-listening-pulse 1.6s ease-in-out infinite}@keyframes live-listening-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,#ef4444 40%,transparent)}70%{box-shadow:0 0 0 6px color-mix(in srgb,#ef4444 0%,transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb,#ef4444 0%,transparent)}}.live-btn.state-connecting,.live-btn.state-stopping{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 50%,transparent);color:var(--accent-fg);animation:none}.live-btn.state-speaking{background:color-mix(in srgb,var(--accent) 22%,transparent);border-color:color-mix(in srgb,var(--accent) 70%,transparent);color:var(--accent-fg);animation:none}.live-pip-bubble{position:fixed;width:min(360px,calc(100vw - 32px));display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);color:var(--text);box-shadow:0 10px 28px color-mix(in srgb,#000 30%,transparent);z-index:1300;cursor:pointer;animation:live-pip-in .18s ease-out}.live-pip-bubble.pip-corner-br{bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right))}.live-pip-bubble.pip-corner-bl{bottom:max(20px,env(safe-area-inset-bottom));left:max(20px,env(safe-area-inset-left))}.live-pip-bubble.pip-corner-tl{top:max(20px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left))}.live-pip-bubble.pip-corner-tr{top:max(20px,env(safe-area-inset-top));right:max(20px,env(safe-area-inset-right))}@media (max-width:640px){.live-pip-bubble.pip-corner-br{bottom:max(14px,env(safe-area-inset-bottom));right:max(14px,env(safe-area-inset-right))}.live-pip-bubble.pip-corner-bl{bottom:max(14px,env(safe-area-inset-bottom));left:max(14px,env(safe-area-inset-left))}.live-pip-bubble.pip-corner-tl{top:max(14px,env(safe-area-inset-top));left:max(14px,env(safe-area-inset-left))}.live-pip-bubble.pip-corner-tr{top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right))}}.live-pip-bubble:hover{background:color-mix(in srgb,var(--accent) 20%,var(--surface))}[data-theme=light] .live-pip-bubble{background:color-mix(in srgb,var(--accent) 8%,#fff);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);box-shadow:0 12px 32px color-mix(in srgb,var(--accent) 22%,transparent),0 2px 8px rgba(15,23,42,.12)}[data-theme=light] .live-pip-bubble:hover{background:color-mix(in srgb,var(--accent) 14%,#fff);border-color:color-mix(in srgb,var(--accent) 60%,transparent)}[data-theme=light] .live-pip-bubble--idle{background:#fff;border-color:color-mix(in srgb,var(--text) 25%,transparent);color:var(--text);box-shadow:0 6px 18px rgba(15,23,42,.18)}[data-theme=light] .live-pip-bubble--idle:hover{background:color-mix(in srgb,var(--accent) 10%,#fff);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}@keyframes live-pip-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.live-pip-bubble--compact{width:max-content!important;min-width:0;max-width:max-content;flex-direction:row;align-items:center;gap:8px;padding:10px 14px;font-size:14px}.live-pip-bubble--compact i{font-size:16px}.live-pip-bubble--compact .pip-bubble-speaker{position:static;bottom:auto;left:auto}.live-pip-orb{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;position:relative}.live-pip-orb .live-orb{width:100%;height:100%;display:block;transform-origin:center center;will-change:transform;transition:transform 80ms ease-out}.live-pip-bubble--idle .live-pip-orb{width:28px;height:28px}@media (prefers-reduced-motion:reduce){.live-pip-orb .live-orb{transform:scale(1)!important}}.live-pip-bubble--idle{background:color-mix(in srgb,var(--text) 8%,var(--surface));border-color:color-mix(in srgb,var(--text) 18%,transparent);color:var(--text-muted);box-shadow:0 4px 14px color-mix(in srgb,#000 18%,transparent)}.live-pip-bubble--idle:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface));border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent-fg)}.live-pip-bubble--idle.live-pip-bubble--invite{border-color:color-mix(in srgb,#a78bfa 60%,transparent);animation:live-btn-invite-pulse 2.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.live-pip-bubble--idle.live-pip-bubble--invite{animation:none}}.live-pip-bubble--idle .live-pip-idle-dismiss,.live-pip-idle-dismiss{position:absolute;top:-6px;right:-6px;width:16px!important;height:16px!important;min-width:0;font-size:9px;line-height:1;margin:0;padding:0;border-radius:50%;background:var(--surface);border:1px solid var(--border);color:var(--text-muted);opacity:.7;z-index:1;display:inline-flex;align-items:center;justify-content:center}.live-pip-bubble--idle .live-pip-idle-dismiss:hover,.live-pip-idle-dismiss:hover{opacity:1;background:color-mix(in srgb,#ef4444 16%,var(--surface));border-color:color-mix(in srgb,#ef4444 50%,transparent);color:#ef4444}.live-pip-bubble--idle .live-pip-idle-dismiss i,.live-pip-idle-dismiss i{font-size:9px}.live-ai-icon{color:#c4b5fd;text-shadow:0 0 6px color-mix(in srgb,#a78bfa 75%,transparent),0 0 14px color-mix(in srgb,#a78bfa 35%,transparent);animation:live-ai-icon-pulse 3.4s ease-in-out infinite;transform-origin:center}@keyframes live-ai-icon-pulse{0%,to{color:#c4b5fd;text-shadow:0 0 5px color-mix(in srgb,#a78bfa 50%,transparent),0 0 12px color-mix(in srgb,#a78bfa 25%,transparent);transform:scale(1) rotate(0deg)}45%{color:#ddd6fe;text-shadow:0 0 10px color-mix(in srgb,#a78bfa 90%,transparent),0 0 22px color-mix(in srgb,#a78bfa 55%,transparent);transform:scale(1.08) rotate(-4deg)}60%{color:#c4b5fd;text-shadow:0 0 8px color-mix(in srgb,#a78bfa 70%,transparent),0 0 18px color-mix(in srgb,#a78bfa 40%,transparent);transform:scale(1.04) rotate(3deg)}}.live-pip-bubble.state-listening .live-ai-icon,.state-listening .live-ai-icon{animation-duration:2.2s;color:#ddd6fe;text-shadow:0 0 8px color-mix(in srgb,#a78bfa 85%,transparent),0 0 18px color-mix(in srgb,#a78bfa 50%,transparent)}@media (prefers-reduced-motion:reduce){.live-ai-icon{animation:none}}.live-pip-mic-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 4px color-mix(in srgb,var(--success) 70%,transparent);transition:opacity .12s linear;flex-shrink:0}.live-pip-mic-dot--header{width:8px;height:8px;box-shadow:0 0 6px color-mix(in srgb,var(--success) 80%,transparent)}.live-pip-mic-dot-slot{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;flex-shrink:0}.live-pip-header{display:flex;align-items:center;gap:8px}.live-pip-title{flex:1 1 auto;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.live-pip-role-badge{display:inline-flex;align-items:center;padding:2px 8px;margin-right:4px;border-radius:999px;background:color-mix(in srgb,var(--accent) 22%,transparent);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);color:var(--text);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;pointer-events:none}.live-pip-bubble.has-role{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 55%,transparent),0 6px 16px rgba(0,0,0,.18)}.live-pip-icon-btn{width:24px;height:24px;border-radius:6px;border:1px solid transparent;background:transparent;color:var(--text-muted);cursor:pointer;font-size:12px;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease,color .12s ease,border-color .12s ease}.live-pip-icon-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}.live-pip-icon-btn--end:hover{background:color-mix(in srgb,#ef4444 18%,transparent);color:#ef4444;border-color:color-mix(in srgb,#ef4444 40%,transparent)}.live-pip-icon-btn--silent.is-on{color:var(--accent-fg);background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.live-pip-icon-btn--silent.is-on:hover{background:color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent-fg)}.live-pip-bubble.is-silent{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 8px 24px rgba(0,0,0,.18)}.live-pip-indicator{display:inline-flex;align-items:center;gap:3px;padding-top:4px;flex:0 0 auto}.live-pip-indicator span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:live-pip-dot 1.2s ease-in-out infinite}.live-pip-indicator span:nth-child(2){animation-delay:.18s}.live-pip-indicator span:nth-child(3){animation-delay:.36s}@keyframes live-pip-dot{0%,80%,to{opacity:.3;transform:scale(.85)}40%{opacity:1;transform:scale(1.15)}}.live-pip-body{font-size:13px;line-height:1.45;max-height:130px;overflow-y:auto;display:flex;flex-direction:column;justify-content:flex-end;word-break:break-word;touch-action:none}.live-pip-hint{margin-top:4px;font-size:11px;color:var(--text-muted);opacity:.85;letter-spacing:.01em}.live-pip-bubble.state-listening{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.live-pip-bubble.state-listening .live-pip-indicator span{animation:none;opacity:.5}.live-error-pill{position:fixed;left:50%;bottom:56px;right:auto;top:auto;transform:translateX(-50%);max-width:min(86vw,420px);white-space:normal;z-index:1250;text-align:center;animation:live-tool-toast-rise .18s ease-out}@media (max-width:640px){.live-error-pill{bottom:90px}}.live-tool-toast{position:fixed;left:50%;bottom:56px;right:auto;top:auto;transform:translateX(-50%);max-width:min(86vw,420px);white-space:normal;z-index:1250;text-align:center;animation:live-tool-toast-rise .18s ease-out}@keyframes live-tool-toast-rise{0%{opacity:0;transform:translateX(-50%) translateY(8px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:640px){.live-tool-toast{bottom:90px}}.live-thinking-pill{position:fixed;left:50%;bottom:56px;right:auto;top:auto;transform:translateX(-50%);max-width:min(86vw,420px);white-space:normal;z-index:1250;text-align:center;animation:live-thinking-pill-pulse 1.8s ease-in-out infinite}@keyframes live-thinking-pill-pulse{0%,to{opacity:.85;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.03)}}@media (max-width:640px){.live-thinking-pill{bottom:90px}}@media (prefers-reduced-motion:reduce){.live-thinking-pill{animation:none;opacity:1}}.live-btn.is-invite{box-shadow:0 0 0 2px color-mix(in srgb,#a78bfa 60%,transparent);animation:live-btn-invite-pulse 2.4s ease-in-out infinite}@keyframes live-btn-invite-pulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb,#a78bfa 55%,transparent)}50%{box-shadow:0 0 0 4px color-mix(in srgb,#a78bfa 35%,transparent),0 0 14px color-mix(in srgb,#a78bfa 50%,transparent)}}@media (prefers-reduced-motion:reduce){.live-btn.is-invite{animation:none}}.live-mic-dot{position:absolute;right:-1px;bottom:0;width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 4px color-mix(in srgb,var(--success) 70%,transparent);pointer-events:none;transition:opacity .12s linear}.live-section-flash{animation:live-section-flash 1.8s ease-out;border-radius:10px;position:relative}@keyframes live-section-flash{0%{box-shadow:0 0 0 4px var(--accent),0 0 32px color-mix(in srgb,var(--accent) 65%,transparent);background-color:color-mix(in srgb,var(--accent) 14%,transparent)}35%{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent),0 0 8px color-mix(in srgb,var(--accent) 20%,transparent);background-color:color-mix(in srgb,var(--accent) 4%,transparent)}60%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 75%,transparent),0 0 20px color-mix(in srgb,var(--accent) 40%,transparent);background-color:color-mix(in srgb,var(--accent) 9%,transparent)}to{box-shadow:0 0 0 0 transparent,0 0 0 transparent;background-color:transparent}}@media (prefers-reduced-motion:reduce){.live-section-flash{animation:none;box-shadow:0 0 0 2px var(--accent)}}.live-find-flash{animation:live-find-flash 2.4s ease-out;border-radius:8px}@keyframes live-find-flash{0%{background:color-mix(in srgb,var(--accent) 30%,transparent);box-shadow:0 0 0 2px var(--accent)}60%{background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 40%,transparent)}to{background:transparent;box-shadow:0 0 0 0 transparent}}@media (prefers-reduced-motion:reduce){.live-find-flash{animation:none;background:color-mix(in srgb,var(--accent) 18%,transparent)}}@media (max-width:520px){.live-pip-bubble{width:min(86vw,360px)}}@media (prefers-reduced-motion:reduce){.live-btn.is-active,.live-pip-bubble{animation:none}.live-pip-indicator span{animation:none;opacity:.7}}.kanban-card{animation:kanban-card-in .22s ease-out}@keyframes kanban-card-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.kanban-card,.voice-btn.is-listening,.voice-status-pill{animation:none}}@media (min-width:769px) and (max-width:1200px){.tool-btn,.width-btn{width:26px;height:26px;font-size:12px}.color-swatch{width:18px;height:18px}.font-size-btn{font-size:10px;min-width:22px;padding:0 4px}.toolbar-group{gap:3px;padding:3px;min-height:34px}}@media (orientation:landscape) and (max-height:500px){.tool-btn,.width-btn{width:24px;height:24px;font-size:11px}.color-swatch{width:16px;height:16px}.font-size-btn{font-size:10px;min-width:22px;padding:0 4px}.toolbar{gap:4px}.toolbar-group{gap:2px;padding:3px;min-height:30px}.toolbar-row{flex-wrap:wrap}.notepad-color-picker{left:auto;right:0}.kanban-column-header{font-size:10px;letter-spacing:.3px;padding:3px 5px}.kanban-column-header>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.kanban-count{font-size:9px;padding:1px 5px;flex-shrink:0}.room-container>.video-panel{align-self:start}.no-remote,.video-wrapper{height:min(340px,calc(100dvh - 120px))}}.lobby-install{position:relative;display:flex;align-items:stretch;margin:12px 0 6px}.lobby-install-label-mobile,.lobby-install-sub-mobile{display:none}.lobby-install-label-desktop,.lobby-install-sub-desktop{display:inline}.lobby-install-icon .lobby-install-glyph-mobile{display:none}.lobby-install-icon .lobby-install-glyph-desktop{display:inline-block}@media (hover:none) and (pointer:coarse),(max-width:879px){.lobby-install-label-desktop,.lobby-install-sub-desktop{display:none}.lobby-install-label-mobile,.lobby-install-sub-mobile{display:inline}.lobby-install-icon .lobby-install-glyph-desktop{display:none}.lobby-install-icon .lobby-install-glyph-mobile{display:inline-block}}.lobby-install .lobby-install-cta,.lobby-install .lobby-install-cta:hover{background:transparent;border:none}.lobby-install-cta{flex:1 1;display:inline-flex;align-items:center;gap:10px;padding:10px 2px 10px 4px;color:var(--text);cursor:pointer;font:inherit;text-align:left;min-width:0}.lobby-install-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 90%,transparent),color-mix(in srgb,var(--accent) 50%,transparent));color:#fff;flex-shrink:0;font-size:15px;box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 22%,transparent),0 2px 6px -2px color-mix(in srgb,var(--accent) 60%,transparent)}.lobby-install-body{display:flex;flex-direction:column;gap:2px;min-width:0}.lobby-install-title{font-size:13px;font-weight:600;color:var(--text)}.lobby-install-sub,.lobby-install-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby-install-sub{font-size:11px;color:var(--text-muted);line-height:1.35}.lobby-install-cta:hover .lobby-install-title{color:var(--accent-fg)}.lobby-install-info-wrap{display:inline-flex;align-self:center}.lobby-install-close,.lobby-install-info{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:999px;font-size:11px;line-height:1;opacity:.55;transition:opacity .15s ease,color .15s ease,background .15s ease;flex-shrink:0;align-self:center}.lobby-install:hover .lobby-install-close,.lobby-install:hover .lobby-install-info{opacity:1}.lobby-install .lobby-install-close:hover,.lobby-install .lobby-install-info:focus-visible,.lobby-install .lobby-install-info:hover,.lobby-install-info-wrap:hover .lobby-install-info{color:var(--accent-fg);background:color-mix(in srgb,var(--accent-fg) 12%,transparent);outline:none}.lobby-install-tooltip{position:absolute;bottom:calc(100% + 8px);right:0;width:240px;padding:10px 12px;font-size:12px;line-height:1.5;color:var(--text);pointer-events:none;opacity:0;transform:translateY(4px);visibility:hidden;transition:opacity .14s ease,transform .14s ease,visibility .14s;z-index:30;background:rgba(20,16,50,.96);border-color:rgba(167,139,250,.3);box-shadow:0 12px 30px rgba(0,0,0,.45)}.lobby-install-info-wrap:hover .lobby-install-tooltip,.lobby-install-info:focus-visible+.lobby-install-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.lobby-install-tooltip:after,.lobby-install-tooltip:before{content:"";position:absolute;border-style:solid;border-color:transparent}.lobby-install-tooltip:after{top:100%;right:31px;border-width:6px;border-top-color:rgba(167,139,250,.3)}.lobby-install-tooltip:before{top:calc(100% - 1px);right:32px;border-width:5px;border-top-color:rgba(20,16,50,.96);z-index:1}.lobby-install-mobile-slot{display:none}@media (max-width:879px){.lobby-install-mobile-slot{display:block;height:0;margin:0}.lobby-install-mobile-slot .lobby-install{position:fixed;left:50%;bottom:calc(12px + env(safe-area-inset-bottom, 0px));transform:translateX(-50%);animation:lobby-install-nudge 6s ease-in-out infinite;margin:0;z-index:50;background:rgba(30,27,75,.78);border:1px solid rgba(167,139,250,.35);border-radius:999px;padding:4px 4px 4px 6px;gap:0;box-shadow:0 12px 28px -10px rgba(0,0,0,.55);max-width:calc(100vw - 32px)}.lobby-install-mobile-slot .lobby-install-cta{padding:4px 6px;gap:8px}.lobby-install-mobile-slot .lobby-install-icon{width:28px;height:28px;border-radius:8px;font-size:13px}.lobby-install-mobile-slot .lobby-install-sub{display:none}.lobby-install-mobile-slot .lobby-install-title{font-size:13px}.lobby-install-mobile-slot .lobby-install-close{width:26px;height:26px;opacity:.85}}@media (hover:none) and (pointer:coarse),(max-width:879px){.lobby-install-info-wrap{display:none}}@keyframes lobby-install-nudge{0%,92%,to{transform:translateX(-50%) rotate(0deg)}93%{transform:translateX(calc(-50% - 2px)) rotate(-1.5deg)}95%{transform:translateX(calc(-50% + 2px)) rotate(1.5deg)}97%{transform:translateX(calc(-50% - 1.5px)) rotate(-1deg)}99%{transform:translateX(calc(-50% + 1px)) rotate(.5deg)}}@media (prefers-reduced-motion:reduce){.lobby-install-mobile-slot .lobby-install{animation:none}}.lobby-install-ios-modal{max-width:380px;text-align:left}.lobby-install-ios-title{font-size:18px;font-weight:600;margin:0 0 12px}.lobby-install-ios-steps{margin:0 0 12px;padding-left:20px;font-size:14px;line-height:1.55;color:var(--text)}.lobby-install-ios-steps li{margin-bottom:8px}.lobby-install-ios-share-glyph{display:inline-block;margin:0 4px;padding:2px 4px;border-radius:4px;background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent-fg);font-size:12px;vertical-align:-1px}.lobby-install-ios-note{font-size:12px;color:var(--text-muted);margin:0 0 16px;line-height:1.45}.lobby-install-ios-actions{display:flex;justify-content:space-between;align-items:center;gap:8px}.lobby-install-ios-dismiss{background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:12px;text-decoration:underline;padding:0}.lobby-install-ios-dismiss:hover{color:var(--text)}.push-auto-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;margin:0 0 4px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:8px;font-size:13px;color:var(--text)}.push-auto-prompt-text{display:flex;align-items:center;gap:8px;min-width:0}.push-auto-prompt-text i{color:var(--accent-fg);flex-shrink:0}.push-auto-prompt-actions{display:flex;gap:6px;flex-shrink:0}.push-auto-prompt-enable{background:var(--accent-fg);color:#fff;border:none;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600;cursor:pointer}.push-auto-prompt-enable:hover:not(:disabled){filter:brightness(1.1)}.push-auto-prompt-enable:disabled{opacity:.6;cursor:wait}.push-auto-prompt-dismiss{background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;padding:5px 10px;font-size:12px;cursor:pointer}.push-auto-prompt-dismiss:hover{color:var(--text);border-color:var(--text-muted)}@media (max-width:520px){.push-auto-prompt{flex-direction:column;align-items:stretch;gap:8px}.push-auto-prompt-actions{justify-content:flex-end}}@media (max-width:1024px){.bottom-right .notepad{min-height:200px}}