:root{--font-body:"Segoe UI", "Aptos", sans-serif;--font-heading:"Segoe UI Semibold", "Aptos", sans-serif;--font:var(--font-body);--accent-contrast:#041118;--badge-on-accent-text:var(--accent-contrast);--text:var(--ink);--border:var(--line);--input-bg:#030a11d1;--button-subtle-bg:#ffffff0a;--button-subtle-bg-2:#ffffff0f;--overlay-backdrop:#01060cb8;--empty-surface-bg:#0000003d;--error-text:#ffb0a4;--success-text:#b9f0c7;--accent-soft-1:#57c7b81a;--accent-soft-2:#57c7b829;--accent-soft-3:#57c7b838;--accent-soft-4:#57c7b847;--accent-border-soft:#57c7b861}*{box-sizing:border-box}html,body,#root{min-height:100%}body{min-height:100vh;margin:0}a{color:inherit;text-decoration:none}body{font-family:var(--font,var(--font-body));font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.5}input,textarea,select{background:var(--input-bg);border:1px solid var(--line);color:var(--text);border-radius:8px}:root,:root[data-theme=classic-dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1720;--surface:#101823e6;--ink:#ecf2fb;--muted:#9fb1c7;--line:#97b1ce29;--accent:#63b3ed;--accent-strong:#d4ecff;--danger:#f66;--success:#4c8;--warning:#f99;--accent-contrast:#0d121b;--badge-on-accent-text:var(--accent-contrast);--text:var(--ink);--border:var(--line);--input-bg:#060b11cc;--accent-soft-1:#63b3ed14;--accent-soft-2:#63b3ed1f;--accent-soft-3:#63b3ed29;--accent-soft-4:#63b3ed2e;--accent-border-soft:#63b3ed59;--danger-soft-bg:#ff505033;--danger-soft-border:#ff505066;--error-text:#f99;--success-text:#aef3be;--success-soft-bg:#3caa5a2e;--success-soft-border:#6edc8c4d;--button-subtle-bg:#ffffff0a;--button-subtle-bg-2:#ffffff0f;--incoming-message-bg:#ffffff0f;--overlay-backdrop:#03080ea8;--empty-surface-bg:#00000040;--call-stage-bg:#050507;--call-stream-bg:#000;--call-pin-border:#fff6;--call-pin-bg:#000000b8;--call-pin-text:#fff;--call-pinned-border:#63b3edcc;--call-pinned-bg:#63b3ed33;--call-pinned-text:#d8ecff;--call-pin-active-bg:#63b3edf2;--call-pin-active-text:#05121c;--call-clear-border:#ff80808c;--call-clear-text:#ffd6d6;--call-clear-hover-bg:#ff5a5a1f;--call-overlay-gradient:linear-gradient(180deg, transparent, #000c);--focus-hint-text:#8ea3b7;--highlight-ring:#63b3ed47;--highlight-border:#63b3edf2;--shadow-strong:-2px 0 12px #0006;--tile-name-shadow:0 2px 4px #000c;--bg-gradient:radial-gradient(circle at top right, #63b3ed26, transparent 30%), linear-gradient(180deg, #101825 0%, #0d121b 100%);--shadow:0 8px 32px #0006}:root[data-theme=classic-light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f8fc;--surface:#ffffffe6;--ink:#1d2a3a;--muted:#5e7287;--line:#5f7d9842;--accent:#2f78d6;--accent-strong:#1b4f8f;--danger:#cc4545;--success:#2f9a63;--warning:#c7812d;--accent-contrast:#fff;--badge-on-accent-text:var(--accent-contrast);--text:var(--ink);--border:var(--line);--input-bg:#ffffffe6;--accent-soft-1:#2f78d61a;--accent-soft-2:#2f78d624;--accent-soft-3:#2f78d62e;--accent-soft-4:#2f78d633;--accent-border-soft:#2f78d666;--danger-soft-bg:#cc45451f;--danger-soft-border:#cc454547;--error-text:#b54444;--success-text:#246e48;--success-soft-bg:#2f9a6326;--success-soft-border:#2f9a634d;--button-subtle-bg:#1d2a3a0f;--button-subtle-bg-2:#1d2a3a14;--incoming-message-bg:#1d2a3a14;--overlay-backdrop:#1c2a3b40;--empty-surface-bg:#1d2a3a14;--call-stage-bg:#e9f1fb;--call-stream-bg:#d3dfef;--call-pin-border:#1d2a3a59;--call-pin-bg:#ffffffe6;--call-pin-text:#1d2a3a;--call-pinned-border:#2f78d6a6;--call-pinned-bg:#2f78d626;--call-pinned-text:#1e5eab;--call-pin-active-bg:#2f78d6eb;--call-pin-active-text:#fff;--call-clear-border:#cc454573;--call-clear-text:#b54444;--call-clear-hover-bg:#cc45451f;--call-overlay-gradient:linear-gradient(180deg, transparent, #1d2a3a8c);--focus-hint-text:#5e7287;--highlight-ring:#2f78d638;--highlight-border:#2f78d6cc;--shadow-strong:-2px 0 12px #1d2a3a40;--tile-name-shadow:0 1px 2px #1d2a3a40;--bg-gradient:radial-gradient(circle at top right, #2f78d61a, transparent 35%), linear-gradient(180deg, #f8fbff 0%, #eef4fb 100%);--shadow:0 10px 30px #1e37541f}:root,:root[data-theme=new-dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111c;--surface:#0a131ef0;--ink:#f2f7ff;--muted:#8ea8bc;--line:#769cbc2e;--accent:#8eb0da;--accent-strong:#eaf4ff;--danger:#ff7f7f;--success:#7ca8c8;--warning:#ffbf6b;--accent-contrast:#041118;--badge-on-accent-text:var(--accent-contrast);--text:var(--ink);--border:var(--line);--input-bg:#030910d6;--accent-soft-1:#8eb0da1f;--accent-soft-2:#8eb0da2e;--accent-soft-3:#8eb0da3d;--accent-soft-4:#8eb0da4d;--accent-border-soft:#8eb0da6b;--danger-soft-bg:#ff7f7f33;--danger-soft-border:#ff7f7f6b;--error-text:#ffb0a4;--success-text:#b9f0c7;--success-soft-bg:#57d28a2e;--success-soft-border:#78e4a252;--button-subtle-bg:#ffffff0a;--button-subtle-bg-2:#ffffff0f;--incoming-message-bg:#ffffff12;--overlay-backdrop:#01060cb8;--empty-surface-bg:#0000003d;--call-stage-bg:#03070d;--call-stream-bg:#000;--call-pin-border:#ffffff61;--call-pin-bg:#000000bd;--call-pin-text:#fff;--call-pinned-border:#8eb0dacc;--call-pinned-bg:#8eb0da33;--call-pinned-text:#eaf4ff;--call-pin-active-bg:#8eb0daf0;--call-pin-active-text:#03161b;--call-clear-border:#ff7f7f8f;--call-clear-text:#ffd9d9;--call-clear-hover-bg:#ff7f7f24;--call-overlay-gradient:linear-gradient(180deg, transparent, #000000d1);--focus-hint-text:#86a2b8;--highlight-ring:#8eb0da3d;--highlight-border:#8eb0daf5;--shadow-strong:-2px 0 12px #0000006b;--tile-name-shadow:0 2px 4px #000c;--bg-gradient:radial-gradient(circle at top right, #8eb0da29, transparent 28%), linear-gradient(180deg, #0b1623 0%, #07111c 100%);--shadow:0 8px 32px #0006}:root[data-theme=new-light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4efe8;--surface:#fcfaf7f0;--ink:#223443;--muted:#647584;--line:#5f788f33;--accent:#6f93bb;--accent-strong:#2e4f6f;--danger:#c95d5d;--success:#6a8cab;--warning:#b97a22;--accent-contrast:#fff;--badge-on-accent-text:var(--accent-contrast);--text:var(--ink);--border:var(--line);--input-bg:#fffffff5;--accent-soft-1:#6f93bb1f;--accent-soft-2:#6f93bb29;--accent-soft-3:#6f93bb33;--accent-soft-4:#6f93bb3d;--accent-border-soft:#6f93bb57;--danger-soft-bg:#c95d5d24;--danger-soft-border:#c95d5d47;--error-text:#a64545;--success-text:#2c6f4f;--success-soft-bg:#2e8f5f26;--success-soft-border:#2e8f5f47;--button-subtle-bg:#2433440f;--button-subtle-bg-2:#24334414;--incoming-message-bg:#24334414;--overlay-backdrop:#1c2a3b3d;--empty-surface-bg:#24334412;--call-stage-bg:#eef3f8;--call-stream-bg:#dfe8f2;--call-pin-border:#24334452;--call-pin-bg:#ffffffeb;--call-pin-text:#223443;--call-pinned-border:#6f93bb9e;--call-pinned-bg:#6f93bb24;--call-pinned-text:#2e4f6f;--call-pin-active-bg:#6f93bbeb;--call-pin-active-text:#fff;--call-clear-border:#c95d5d6b;--call-clear-text:#a64545;--call-clear-hover-bg:#c95d5d1f;--call-overlay-gradient:linear-gradient(180deg, transparent, #24334494);--focus-hint-text:#6b7d8f;--highlight-ring:#6e90b42e;--highlight-border:#6e90b4d6;--shadow-strong:-2px 0 12px #24334433;--tile-name-shadow:0 1px 2px #2433442e;--bg-gradient:radial-gradient(circle at top right, #6e90b424, transparent 34%), linear-gradient(180deg, #f9f4e9 0%, #efe6d7 100%);--shadow:0 10px 30px #2433441f}:root,:root[data-theme=premium-dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#060815;--surface:#0c1023f0;--ink:#f4f4ff;--muted:#8d93b8;--line:#9092d633;--accent:#7c7cff;--accent-strong:#d9dcff;--danger:#ff8f8f;--success:#5fe3b8;--warning:#ffc97a;--accent-contrast:#060815;--badge-on-accent-text:var(--accent-contrast);--text:var(--ink);--border:var(--line);--input-bg:#060812db;--accent-soft-1:#7c7cff1f;--accent-soft-2:#7c7cff29;--accent-soft-3:#7c7cff38;--accent-soft-4:#7c7cff47;--accent-border-soft:#7c7cff70;--danger-soft-bg:#ff8f8f33;--danger-soft-border:#ff8f8f6b;--error-text:#ffb9b9;--success-text:#baf5e4;--success-soft-bg:#5fe3b829;--success-soft-border:#7defc452;--button-subtle-bg:#ffffff0d;--button-subtle-bg-2:#ffffff14;--incoming-message-bg:#ffffff12;--overlay-backdrop:#02040cc2;--empty-surface-bg:#00000047;--call-stage-bg:#02040b;--call-stream-bg:#000;--call-pin-border:#ffffff57;--call-pin-bg:#000000bd;--call-pin-text:#fff;--call-pinned-border:#7c7cffcc;--call-pinned-bg:#7c7cff33;--call-pinned-text:#e6e8ff;--call-pin-active-bg:#7c7cfff0;--call-pin-active-text:#060815;--call-clear-border:#ff8f8f8f;--call-clear-text:#ffd3d3;--call-clear-hover-bg:#ff8f8f24;--call-overlay-gradient:linear-gradient(180deg, transparent, #000000db);--focus-hint-text:#9ca1c8;--highlight-ring:#7c7cff47;--highlight-border:#7c7cfff5;--shadow-strong:-2px 0 12px #0000006b;--tile-name-shadow:0 2px 4px #000c;--bg-gradient:radial-gradient(circle at top right, #7c7cff29, transparent 30%), linear-gradient(180deg, #0b1024 0%, #060815 100%);--shadow:0 8px 32px #0006}:root[data-theme=premium-light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5ff;--surface:#fffffff0;--ink:#24284d;--muted:#68708f;--line:#636aa238;--accent:#5b65e9;--accent-strong:#2f3ea5;--danger:#c95d5d;--success:#2d9f7b;--warning:#b9831f;--accent-contrast:#fff;--badge-on-accent-text:var(--accent-contrast);--text:var(--ink);--border:var(--line);--input-bg:#fffffff5;--accent-soft-1:#5b65e91f;--accent-soft-2:#5b65e929;--accent-soft-3:#5b65e933;--accent-soft-4:#5b65e93d;--accent-border-soft:#5b65e95c;--danger-soft-bg:#c95d5d24;--danger-soft-border:#c95d5d47;--error-text:#a64545;--success-text:#2a6f58;--success-soft-bg:#2d9f7b26;--success-soft-border:#2d9f7b47;--button-subtle-bg:#24284d0f;--button-subtle-bg-2:#24284d14;--incoming-message-bg:#24284d14;--overlay-backdrop:#24284d3d;--empty-surface-bg:#24284d12;--call-stage-bg:#eef2ff;--call-stream-bg:#dde4ff;--call-pin-border:#24284d4d;--call-pin-bg:#fffffff0;--call-pin-text:#24284d;--call-pinned-border:#5b65e999;--call-pinned-bg:#5b65e924;--call-pinned-text:#2f3ea5;--call-pin-active-bg:#5b65e9eb;--call-pin-active-text:#fff;--call-clear-border:#c95d5d6b;--call-clear-text:#a64545;--call-clear-hover-bg:#c95d5d1f;--call-overlay-gradient:linear-gradient(180deg, transparent, #24284d8c);--focus-hint-text:#6f7692;--highlight-ring:#5b65e933;--highlight-border:#5b65e9d1;--shadow-strong:-2px 0 12px #24284d38;--tile-name-shadow:0 1px 2px #24284d38;--bg-gradient:radial-gradient(circle at top right, #5b65e924, transparent 33%), linear-gradient(180deg, #fcfaff 0%, #f2f3ff 100%);--shadow:0 10px 30px #24284d1f}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#06111c;--surface:#0a131ff0;--ink:#edf7ff;--muted:#8ca8bf;--line:#7aa4c52e;--accent:#57c7b8;--accent-strong:#bff7f0;--danger:#ff7f7f;--success:#57d28a;--warning:#ffbf6b;--danger-soft-bg:#ff7f7f33;--danger-soft-border:#ff7f7f6b;--error-text:#ffb0a4;--success-text:#b9f0c7;--success-soft-bg:#57d28a2e;--success-soft-border:#78e4a252;--incoming-message-bg:#ffffff12;--call-stage-bg:#03070c;--call-stream-bg:#000;--call-pin-border:#ffffff61;--call-pin-bg:#000000bd;--call-pin-text:#fff;--call-pinned-border:#57c7b8c7;--call-pinned-bg:#57c7b833;--call-pinned-text:#d8f8f3;--call-pin-active-bg:#57c7b8f0;--call-pin-active-text:#02161b;--call-clear-border:#ff7f7f8f;--call-clear-text:#ffd9d9;--call-clear-hover-bg:#ff7f7f24;--call-overlay-gradient:linear-gradient(180deg, transparent, #000000d1);--focus-hint-text:#86a2b8;--highlight-ring:#57c7b842;--highlight-border:#57c7b8f5;--shadow-strong:-2px 0 12px #0000006b;--tile-name-shadow:0 2px 4px #000c;--bg-gradient:radial-gradient(circle at top right, #57c7b82e, transparent 28%), linear-gradient(180deg, #091826 0%, #06111c 100%);--icon-size-nav:18px;--icon-size-action:16px;--icon-size-call-control:16px;--icon-size-inline:14px;--scrollbar-track:color-mix(in srgb, var(--surface) 86%, transparent);--scrollbar-thumb:color-mix(in srgb, var(--accent) 46%, var(--line));--scrollbar-thumb-hover:color-mix(in srgb, var(--accent) 62%, var(--line));--shadow:0 8px 32px #0006;color:var(--ink);background:var(--bg-gradient)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f2e9;--surface:#ffffffeb;--ink:#243344;--muted:#678;--line:#60788e38;--accent:#4d74c4;--accent-strong:#214b8e;--danger:#c95d5d;--success:#2e8f5f;--warning:#b97a22;--accent-contrast:#fff;--badge-on-accent-text:var(--accent-contrast);--text:var(--ink);--border:var(--line);--input-bg:#fffffff5;--accent-soft-1:#4d74c41f;--accent-soft-2:#4d74c429;--accent-soft-3:#4d74c433;--accent-soft-4:#4d74c43d;--accent-border-soft:#4d74c45c;--danger-soft-bg:#c95d5d24;--danger-soft-border:#c95d5d47;--error-text:#a64545;--success-text:#2c6f4f;--success-soft-bg:#2e8f5f26;--success-soft-border:#2e8f5f47;--button-subtle-bg:#2433440f;--button-subtle-bg-2:#24334414;--incoming-message-bg:#24334414;--overlay-backdrop:#1c2a3b3d;--empty-surface-bg:#24334412;--call-stage-bg:#eef3f9;--call-stream-bg:#dfe8f3;--call-pin-border:#24334452;--call-pin-bg:#ffffffeb;--call-pin-text:#243344;--call-pinned-border:#4d74c49e;--call-pinned-bg:#4d74c424;--call-pinned-text:#214b8e;--call-pin-active-bg:#4d74c4eb;--call-pin-active-text:#fff;--call-clear-border:#c95d5d6b;--call-clear-text:#a64545;--call-clear-hover-bg:#c95d5d1f;--call-overlay-gradient:linear-gradient(180deg, transparent, #24334494);--focus-hint-text:#6b7d8f;--highlight-ring:#4d74c433;--highlight-border:#4d74c4d1;--shadow-strong:-2px 0 12px #24334438;--tile-name-shadow:0 1px 2px #24334438;--bg-gradient:radial-gradient(circle at top right, #4d74c41f, transparent 33%), linear-gradient(180deg, #fcfaf6 0%, #f2ebe1 100%);--shadow:0 10px 30px #2433441f}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{min-height:100svh;color:var(--ink);background:var(--bg-gradient);margin:0;overflow:hidden}body.settings-route,html.settings-route,body.settings-route #root,html.settings-route #root{height:auto;min-height:100%;overflow:auto}button,input,textarea,select{font:inherit}button,a,[role=button]{-webkit-tap-highlight-color:transparent}button:focus:not(:focus-visible),a:focus:not(:focus-visible),[role=button]:focus:not(:focus-visible){box-shadow:none;outline:none}input,textarea,select{background:var(--input-bg);border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:8px 12px}input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:none}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.theme-picker{align-items:center;display:inline-flex;position:relative}.theme-picker .theme-menu-trigger{border:0}.theme-menu-trigger{border:1px solid var(--line);background:linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--surface) 82%, var(--accent-soft-2)));color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex;box-shadow:inset 0 1px #ffffff0f}.theme-menu-preview{border:1px solid var(--line);border-radius:999px;flex-shrink:0;width:12px;height:12px}.theme-menu{border:1px solid var(--line);background:var(--surface);min-width:140px;box-shadow:var(--shadow);z-index:20;border-radius:12px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.theme-picker--actions .theme-menu{left:50%;right:auto;transform:translate(-50%)}.theme-picker--theme .theme-menu{min-width:230px;left:0;right:auto}.theme-picker--topbar .theme-menu{min-width:230px;left:auto;right:0}.theme-menu-item{color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}.theme-menu-item--active{border-color:var(--accent-border-soft);background:var(--accent-soft-2)}.theme-menu-item-label{white-space:nowrap;flex:1}.theme-menu-accent{border-radius:999px;flex-shrink:0;width:10px;height:10px}.btn{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-weight:600;transition:opacity .15s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-contrast)}.btn-danger{background:var(--danger-soft-bg);color:var(--danger);border:1px solid var(--danger-soft-border)}.btn-full{width:100%}.auth-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--surface);border:1px solid var(--line);width:100%;max-width:380px;box-shadow:var(--shadow);border-radius:16px;padding:32px}.auth-card h1{color:var(--accent-strong);margin:0 0 4px;font-size:2rem}.auth-card h2{margin:0 0 12px}.auth-subtitle{color:var(--muted);margin:0 0 24px;font-size:.9rem}.form-group{gap:6px;margin-bottom:16px;display:grid}.form-group label{color:var(--muted);font-size:.85rem;font-weight:600}.form-group input{width:100%}.auth-notice{color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 45%, transparent);background:color-mix(in srgb, var(--warning) 12%, transparent);border-radius:12px;margin:8px 0;padding:10px 12px;font-size:.92rem}.error-text{color:var(--error-text);margin:8px 0;font-size:.9rem}.status-card{max-width:900px}.status-page{-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;max-height:100svh;overflow-y:auto}.status-section{margin-top:20px}.status-section h3{margin:0 0 10px;font-size:1rem}.status-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto}.status-table{min-width:520px}.status-table th{text-align:left;vertical-align:top;width:40%;color:var(--muted);text-transform:none;letter-spacing:normal;font-weight:600}.status-table td{word-break:break-word}.status-ok{color:#4caf50;margin:10px 0 0;font-size:.9rem}.status-report-wrap{border:1px solid var(--line);background:#0003;border-radius:12px;max-height:280px;padding:10px;overflow:auto}.status-report{white-space:pre;margin:0;font-family:Consolas,Courier New,monospace;font-size:.82rem;line-height:1.45}.chat-shell{flex-direction:column;height:100svh;display:flex;overflow:hidden}.chat-topbar{border-bottom:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 94%, transparent), var(--surface));z-index:1300;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;display:flex;position:relative}.chat-topbar-brand{align-items:center;gap:0;min-width:0;display:flex}.chat-topbar-brand-text{color:var(--accent-strong);font-size:1rem;font-weight:700}.chat-topbar-status{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;display:inline-flex}.chat-topbar-status-text{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.chat-topbar-actions{align-items:center;gap:10px;min-width:0;display:flex}.chat-topbar-user{text-overflow:ellipsis;white-space:nowrap;max-width:240px;color:var(--muted);font-size:.84rem;overflow:hidden}.chat-layout{flex:1;grid-template-columns:minmax(260px,min(34vw,340px)) minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.chat-layout--sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.chat-layout--sidebar-collapsed .sidebar{width:0;min-width:0;display:none}.chat-layout--sidebar-collapsed .chat-main{grid-column:1/-1;width:100%}.sidebar-backdrop{display:none}.chat-layout--in-call{grid-template-columns:1fr}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex;overflow:visible}.sidebar--hidden,.sidebar--collapsed{display:none}.sidebar-header{padding:calc(16px + env(safe-area-inset-top)) 16px 16px;border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;display:flex}.sidebar-header .sidebar-header-brand{align-items:center;gap:0;min-width:0;display:flex}.brand{color:var(--accent-strong);margin-right:auto;font-size:1.1rem;font-weight:700}.brand-mark{align-items:center;gap:0;min-width:0;display:inline-flex}.brand-logo{flex-shrink:0;width:40px;height:auto;display:block}.brand-logotext{flex-shrink:0;width:55px;height:auto;display:block}[data-theme$=-dark] .brand-logotext{filter:brightness(0)invert()}.icon-btn{cursor:pointer;opacity:.75;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:inline-flex}.icon-btn:hover{opacity:1}.icon-btn svg{width:var(--icon-size-nav);height:var(--icon-size-nav);display:block}.icon-btn--active{opacity:1}.icon-btn--dimmed{opacity:.65}.settings-link{text-decoration:none;position:relative}.settings-action-badge{background:var(--accent);min-width:16px;height:16px;color:var(--badge-on-accent-text);text-align:center;pointer-events:none;border-radius:999px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:16px;position:absolute;top:-3px;right:-4px}.sidebar-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:auto;display:flex}.sidebar-user{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8rem;overflow:hidden}.sidebar-user-info{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.sidebar-view-label{letter-spacing:.03em;text-transform:uppercase;opacity:.72;margin:0;font-size:11px}.sidebar-view-row{justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.sidebar-view-toggle{align-items:center;gap:8px;display:inline-flex}.sidebar-view-buttons{align-items:center;gap:4px;display:inline-flex}.sidebar-plus{font-size:18px;font-weight:600;line-height:1}.theme-menu-trigger--icon{justify-content:center;width:34px;height:34px;padding:0}.theme-menu--actions{min-width:220px}.theme-menu--actions .theme-menu-item{gap:10px}.conv-list{flex:1;margin:0;padding:8px;list-style:none;overflow-y:auto}.conv-item{cursor:pointer;isolation:isolate;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px 10px 8px;transition:background .1s,box-shadow .1s,border-color .1s;display:flex;position:relative}.conv-item:hover{background:var(--accent-soft-1)}.conv-item.active{background:radial-gradient(circle at 4% 6%, color-mix(in srgb, var(--accent-soft-2) 54%, transparent) 0%, transparent 26%), linear-gradient(135deg, color-mix(in srgb, var(--accent-soft-3) 36%, transparent) 0%, color-mix(in srgb, var(--accent-soft-1) 14%, transparent) 100%);border:1px solid color-mix(in srgb, var(--accent-border-soft) 36%, var(--line));box-shadow:inset 2px 2px 0 0 color-mix(in srgb, var(--accent-soft-2) 28%, transparent)}:root[data-theme*=dark] .conv-item.active,html[data-theme*=dark] .conv-item.active,body[data-theme*=dark] .conv-item.active{background:radial-gradient(circle at 4% 6%, color-mix(in srgb, var(--accent-soft-2) 76%, transparent) 0%, transparent 24%), linear-gradient(135deg, color-mix(in srgb, var(--accent-soft-3) 54%, transparent) 0%, color-mix(in srgb, var(--accent-soft-1) 18%, transparent) 100%);border-color:color-mix(in srgb, var(--accent-border-soft) 60%, var(--line));box-shadow:inset 2px 2px 0 0 color-mix(in srgb, var(--accent-soft-2) 44%, transparent)}.conv-item.active .conv-title{color:var(--accent-strong);font-weight:700}.conv-item.active .conv-preview{color:var(--text)}.conv-avatar{border:1px solid var(--line);background:var(--accent-soft-1);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;overflow:hidden}.conv-avatar img{object-fit:cover;width:100%;height:100%}.conv-avatar-fallback{color:var(--accent-strong);justify-content:center;align-items:center;display:inline-flex}.conv-avatar-fallback svg{width:18px;height:18px}.conv-avatar--direct{background:color-mix(in srgb, var(--accent-soft-2) 80%, transparent)}.conv-avatar--group,.conv-avatar--room,.conv-avatar--broadcast{background:color-mix(in srgb, var(--button-subtle-bg-2) 75%, transparent)}.conv-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.conv-top-row{align-items:center;gap:8px;display:flex}.conv-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.9rem;overflow:hidden}.conv-preview{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.conv-unread-badge{background:var(--accent);min-width:18px;height:18px;color:var(--badge-on-accent-text);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-size:.7rem;font-weight:700;display:inline-flex}.conv-list-empty{color:var(--muted);text-align:center;padding:16px;font-size:.9rem}.directory-search{border-bottom:1px solid var(--line);padding:8px 16px}.directory-input{width:100%}.directory-results{margin:8px 0 0;padding:0;list-style:none}.directory-item{cursor:pointer;border-radius:8px;flex-direction:column;gap:2px;padding:8px 12px;font-size:.9rem;display:flex}.directory-item:hover{background:var(--accent-soft-1)}.directory-item.selected{background:var(--accent-soft-4);border:1px solid var(--accent-border-soft)}.directory-item span{color:var(--muted);font-size:.8rem}.directory-loading{color:var(--muted);padding:4px 0;font-size:.85rem}.group-create{border-bottom:1px solid var(--line);gap:8px;padding:8px 16px 12px;display:grid}.group-create-header{gap:8px;display:flex}.group-title-input{flex:1}.group-selected-list{flex-wrap:wrap;gap:6px;display:flex}.group-selected-item{border:1px solid var(--line);background:var(--accent-soft-2);color:var(--ink);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:.75rem}.guest-status-badge{letter-spacing:.02em;background:var(--danger-soft-bg);color:var(--danger);border:1px solid var(--danger-soft-border);border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.65rem;font-weight:700;display:inline-flex}.group-create-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.group-count{color:var(--muted);font-size:.8rem}.overlay-backdrop{background:var(--overlay-backdrop);z-index:1000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.overlay-dialog{background:var(--surface);border:1px solid var(--line);width:min(720px,100%);max-height:80vh;box-shadow:var(--shadow);border-radius:14px;overflow:auto}.overlay-dialog .group-create{border-bottom:none;padding:16px}.overlay-dialog--directory{width:min(680px,100%)}.overlay-dialog-title{border-bottom:1px solid var(--line);letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:14px 16px 10px;font-size:.9rem;font-weight:600}.overlay-dialog--directory .directory-search:last-of-type{border-bottom:none;padding-bottom:14px}.chat-main{flex-direction:column;width:100%;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.mobile-sidebar-toggle{display:none}.empty-state{color:var(--muted);flex:1;justify-content:center;align-items:center;display:flex}.chat-window{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.chat-header{padding:calc(14px + env(safe-area-inset-top)) 20px 14px;border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:6px;display:flex}.chat-header-main{flex:1;min-width:0;display:block}.chat-header-content-row{align-items:flex-start;gap:14px;min-width:0;display:flex}.chat-primary-block{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-title-row{align-items:flex-start;gap:10px;min-width:0;display:flex}.chat-title-stack{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat-title-avatar{border:1px solid var(--line);background:var(--accent-soft-1);width:40px;min-width:40px;height:40px;color:var(--accent-strong);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chat-title-avatar svg{width:20px;height:20px}.chat-title{font-size:1rem;font-weight:600;line-height:1.2}.chat-conversation-id{color:var(--muted);word-break:break-all;font-size:.75rem}.chat-members{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.chat-members-row{align-items:center;gap:10px;min-width:0;margin-top:0;margin-left:auto;display:flex}.chat-members-row .chat-header-actions{white-space:nowrap;flex-wrap:nowrap;margin-left:10px}.chat-members-row .btn-icon{justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;padding:0;display:inline-flex}.chat-members-row .btn-icon svg{width:18px;height:18px}.chat-header-meta-row{align-items:center;gap:8px;margin-top:4px;display:flex}.chat-header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.btn-icon .chat-header-back{border:1px solid var(--line);background:var(--button-subtle-bg);width:36px;min-width:36px;height:36px;color:var(--ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-right:8px;padding:0;display:inline-flex}.chat-header .chat-header-back svg{width:25px;height:25px}.chat-type{color:var(--muted);background:var(--accent-soft-1);border-radius:4px;padding:2px 8px;font-size:.75rem}.chat-error{color:var(--error-text);background:var(--danger-soft-bg);padding:8px 20px;font-size:.9rem}.chat-success{color:var(--success-text);background:var(--success-soft-bg);border-top:1px solid var(--success-soft-border);padding:8px 20px;font-size:.9rem}.message-list{flex-direction:column;flex:1;gap:8px;padding:16px 20px;display:flex;overflow-y:auto}.message-list-empty{color:var(--muted);flex:1;justify-content:center;align-items:center;display:flex}.message{flex-direction:column;max-width:70%;display:flex}.message.outgoing{align-self:flex-end;align-items:flex-end}.message.incoming{align-self:flex-start;align-items:flex-start}.message-sender{color:var(--muted);margin-bottom:2px;font-size:.75rem}.message-bubble{border-radius:12px;padding:8px 12px;font-size:.95rem}.outgoing .message-bubble{background:var(--accent-soft-3);border-bottom-right-radius:4px}.incoming .message-bubble{background:var(--incoming-message-bg);border-bottom-left-radius:4px}.message-no-key,.message-error{color:var(--muted);font-size:.85rem}.message-no-key-reduced{border:1px dashed var(--line);max-width:80%;color:var(--muted);background:var(--button-subtle-bg);border-radius:999px;align-self:center;align-items:center;gap:8px;margin:2px 0;padding:4px 8px;font-size:.72rem;display:inline-flex}.message-no-key-reduced-group{align-self:center;max-width:80%}.message-no-key-reduced-group--outgoing{align-self:flex-end}.message-no-key-reduced-group--incoming{align-self:flex-start}.message-no-key-reduced--button{border:1px dashed var(--line);cursor:pointer;justify-content:space-between;width:100%}.message-no-key-reduced--button:hover{border-color:var(--accent)}.message-no-key-reduced-toggle{color:var(--accent-strong);margin-left:4px;font-weight:600}.message-no-key-expanded-list{gap:4px;margin-top:6px;display:grid}.message-no-key-expanded-item{border:1px solid var(--line);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:5px 8px;display:inline-flex}.message-error,.attachment-name,.call-invite-title{align-items:center;gap:6px;display:inline-flex}.message-error svg,.attachment-name svg,.call-invite-title svg{width:var(--icon-size-inline);height:var(--icon-size-inline)}.message-retry{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;margin-top:6px;padding:2px 10px;font-size:.75rem}.message-retry:hover{color:var(--text);border-color:var(--accent)}.message-time{color:var(--muted);margin-top:2px;font-size:.7rem}.chat-composer{padding:12px 20px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);gap:8px;display:flex}.chat-composer--in-call-sidebar{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.composer-file-input{display:none}.composer-attach{background:var(--accent-soft-2);color:var(--ink);border:1px solid var(--line);border-radius:8px;width:40px;padding:0;font-size:1rem}.composer-attach:hover{border-color:var(--accent)}.composer-call{border:1px solid var(--border);background:var(--button-subtle-bg);color:var(--text);border-radius:10px;width:40px;height:40px}.composer-call:hover{border-color:var(--accent)}.composer-input{resize:none;flex:1;min-height:40px;max-height:120px;overflow-y:auto}.attachment-item{flex-direction:column;gap:2px;display:flex}.attachment-thumb{border:1px solid var(--line);border-radius:8px;width:120px;max-width:100%;height:auto;margin-bottom:6px}.attachment-name{font-weight:600}.attachment-meta{color:var(--muted);font-size:.75rem}.attachment-download{border:1px solid var(--line);background:var(--accent-soft-2);color:var(--ink);cursor:pointer;border-radius:6px;align-self:flex-start;margin-top:6px;padding:3px 8px;font-size:.75rem}.attachment-download:hover{border-color:var(--accent)}.call-invite-item{flex-direction:column;gap:4px;display:flex}.call-invite-title{font-weight:700}.call-invite-meta{color:var(--muted);font-size:.82rem}.call-invite-join{border:1px solid var(--border);background:var(--button-subtle-bg);color:var(--muted);cursor:pointer;border-radius:8px;align-self:flex-start;margin-top:6px;padding:4px 10px}.call-invite-join:hover{color:var(--ink);border-color:var(--accent)}.call-invite-join:disabled{opacity:.55;cursor:not-allowed;border-color:var(--line);color:var(--muted)}.call-invite-warning{color:var(--warning);font-size:.78rem}.in-call-bar{border-bottom:1px solid var(--line);background:var(--accent-soft-1);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 20px;display:flex}.in-call-status{margin-right:auto;font-weight:600}.in-call-meta{color:var(--muted);font-size:.8rem}.in-call-btn{border:1px solid var(--line);background:var(--button-subtle-bg-2);min-height:36px;color:var(--ink);align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.in-call-btn-label{white-space:nowrap}.status-icon-stack{width:var(--icon-size-call-control);height:var(--icon-size-call-control);flex:0 0 var(--icon-size-call-control);justify-content:center;align-items:center;display:inline-flex;position:relative}.status-icon-stack>svg{width:var(--icon-size-call-control);height:var(--icon-size-call-control);position:absolute;inset:0}.status-icon-slash{stroke-width:2.4px}.in-call-btn>svg,.call-layout-btn>svg{width:var(--icon-size-call-control);height:var(--icon-size-call-control)}.btn-icon svg,.composer-attach svg,.composer-call svg,.settings-offers-visibility-btn svg,.sync-indicator svg{width:var(--icon-size-action);height:var(--icon-size-action)}.mobile-sidebar-toggle svg{width:var(--icon-size-nav);height:var(--icon-size-nav)}.in-call-btn:hover{border-color:var(--accent)}.in-call-btn.is-active{background:var(--accent-soft-2);border-color:var(--accent-border-soft)}.in-call-btn--leave{margin-left:auto}.chat-window--in-call{grid-template-rows:minmax(0,1fr) auto;display:grid}.call-main-layout{flex-direction:row;flex:1;gap:0;min-height:0;display:flex}.call-chat-sidebar{background:var(--surface);border-left:1px solid var(--line);flex-direction:column;width:320px;min-height:0;animation:.2s ease-out slideInRight;display:flex}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.call-chat-header{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.call-chat-header h3{margin:0;font-size:.95rem;font-weight:600}.btn-icon{color:var(--text);cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px 8px;font-size:1.4rem;line-height:1}.btn-icon:hover{opacity:1}.call-chat-sidebar .message-list{flex:1;gap:6px;padding:12px 16px;font-size:.9rem}.call-chat-sidebar .chat-composer{border-top:1px solid var(--line);margin-top:auto}.call-chat-sidebar .message{max-width:100%}@media (width<=1100px){.call-chat-sidebar{z-index:10;box-shadow:var(--shadow-strong);border-left:none;position:absolute;top:0;bottom:0;right:0}}@media (width<=640px){.call-chat-sidebar{width:min(100vw,360px)}.call-chat-header,.call-chat-sidebar .message-list{padding:10px 12px}}@media (width<=980px){:root{--icon-size-nav:19px;--icon-size-action:18px;--icon-size-call-control:18px;--icon-size-inline:15px}.chat-layout{grid-template-columns:minmax(260px,min(34vw,340px)) minmax(0,1fr);height:100%}.chat-layout--in-call{grid-template-columns:minmax(0,1fr)}.chat-header{align-items:flex-start;padding:12px 14px 10px}.chat-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.chat-type{white-space:nowrap}.chat-members{white-space:normal;text-overflow:clip;overflow:visible}.message-list{padding:12px}.message{max-width:86%}.chat-composer{padding:10px 12px calc(10px + env(safe-area-inset-bottom));align-items:flex-end}.composer-attach,.composer-call{width:44px;height:44px}.composer-input{min-height:44px}.in-call-bar{gap:6px;padding:8px 12px}.in-call-btn{justify-content:center;min-width:34px;min-height:34px;padding:6px 8px}.in-call-btn>svg,.call-layout-btn>svg{width:var(--icon-size-action);height:var(--icon-size-action)}.status-icon-stack{width:var(--icon-size-call-control);height:var(--icon-size-call-control);flex-basis:var(--icon-size-call-control)}.in-call-btn-label,.in-call-meta--blur-status{display:none}.settings-page{max-width:none;padding:20px 12px calc(20px + env(safe-area-inset-bottom))}.settings-header{align-items:flex-start;gap:10px;margin-bottom:18px}.settings-section{border-radius:10px;padding:14px}.info-row{flex-direction:column;align-items:flex-start;gap:4px}.settings-toggle-row{flex-direction:column;align-items:flex-start}.settings-inline-select{width:100%;min-width:0}.overlay-backdrop{padding:12px}.overlay-dialog{border-radius:12px;max-height:92dvh}}@media (width<=640px){.chat-topbar{padding:max(8px, env(safe-area-inset-top)) 10px 8px;flex-wrap:wrap;gap:10px;display:flex}.chat-topbar-brand,.chat-topbar-status,.chat-topbar-actions{min-width:0}.chat-topbar-user{max-width:140px;display:none}.chat-topbar-actions .settings-link{display:none}.theme-picker--topbar{z-index:1310}.theme-picker--topbar .theme-menu{z-index:1320}.sidebar-header{display:none}.chat-layout{grid-template-columns:minmax(0,1fr);height:100%;position:relative}.chat-main{will-change:transform, opacity;transition:transform .22s,opacity .22s}.sidebar{z-index:1200;border-right:1px solid var(--line);will-change:transform;width:min(88vw,360px);transition:transform .18s;position:absolute;top:0;bottom:0;left:0;transform:translate(-105%)}.chat-layout--sidebar-open .sidebar{transform:translate(0)}.chat-layout--sidebar-open .chat-main{opacity:.12;pointer-events:none;-webkit-user-select:none;user-select:none;transform:translate(12%)}.chat-layout--sidebar-open .mobile-sidebar-toggle{opacity:0;pointer-events:none}.sidebar--hidden,.sidebar-backdrop{display:none}.sidebar-backdrop--visible{z-index:1100;background:var(--overlay-backdrop);display:block;position:absolute;inset:0}.mobile-sidebar-toggle{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));z-index:20;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:absolute}.chat-header{padding-left:58px}.chat-header--with-back{padding-left:14px}.empty-state{padding-top:56px}}@media (width>=641px){.sidebar-header,.sidebar-footer{display:none}}@media (width>=900px){.chat-header-back{display:none}}@media (prefers-reduced-motion:reduce){.chat-main,.sidebar,.mobile-sidebar-toggle{transition:none!important}}@media (width<=640px){.auth-page{min-height:100dvh;padding:12px}.auth-card{border-radius:12px;padding:20px 16px}.auth-card h1{font-size:1.6rem}.sidebar{width:100vw}.brand-logo{max-width:112px}.theme-menu-trigger--icon{width:30px;height:30px}.sidebar-plus{font-size:16px}.sidebar-footer{padding:10px 12px calc(10px + env(safe-area-inset-bottom))}.conv-item{padding:8px 10px 8px 6px}.conv-preview{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.chat-error,.chat-success{padding-left:12px;padding-right:12px}.ephemeral-shell{min-height:100dvh;padding:12px}.ephemeral-card{border-radius:12px;padding:14px}}@media (width<=560px){:root{--icon-size-nav:20px;--icon-size-action:17px;--icon-size-call-control:19px;--icon-size-inline:14px}.chat-header{gap:8px;padding-right:12px}.chat-title{font-size:.92rem}.chat-conversation-id{font-size:.7rem}.chat-header-actions{gap:4px}.chat-header-actions .icon-btn{padding:3px}.chat-header-actions .icon-btn svg{width:var(--icon-size-action);height:var(--icon-size-action)}.chat-type{padding:1px 6px;font-size:.68rem}.in-call-status{width:100%;margin-right:0;font-size:.8rem}.in-call-meta{font-size:.72rem}.message{max-width:92%}.settings-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.settings-tab{white-space:nowrap;flex:none;padding:5px 10px}}@media (width<=420px){.chat-header{padding-left:12px}.mobile-sidebar-toggle{width:36px;height:36px}.chat-header-actions{justify-content:flex-end;max-width:46%}.chat-members{font-size:.7rem}.chat-composer{gap:6px;padding-left:10px;padding-right:10px}.composer-attach,.composer-call,.composer-input{min-height:42px}.settings-page{padding-left:10px;padding-right:10px}.settings-section{padding:12px}}@media (hover:none){button:focus,a:focus,[role=button]:focus{box-shadow:none;outline:none}.icon-btn:hover{opacity:.75}.conv-item:hover,.directory-item:hover{background:0 0}.message-no-key-reduced--button:hover,.message-retry:hover,.composer-attach:hover,.composer-call:hover,.attachment-download:hover,.call-invite-join:hover,.in-call-btn:hover,.call-layout-btn--danger:hover{border-color:inherit;color:inherit;background:inherit}.btn-icon:hover{opacity:.7}.call-pin-btn:hover{filter:none}}.sync-indicator{opacity:.7;justify-content:center;align-items:center;font-size:.7rem;display:inline-flex}.sync-indicator svg{width:var(--icon-size-nav);height:var(--icon-size-nav)}.sync-idle{color:var(--muted)}.sync-ok{color:var(--success)}.icon-gallery-page{gap:20px;min-height:100vh;padding:28px;display:grid}.icon-gallery-header h1{margin:0;font-size:1.6rem}.icon-gallery-header p{color:var(--muted);margin:6px 0 0}.icon-gallery-content{gap:18px;display:grid}.icon-gallery-section h2{color:var(--muted);letter-spacing:.02em;margin:0 0 8px;font-size:.95rem}.icon-gallery-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.icon-gallery-card{border:1px solid var(--line);background:var(--button-subtle-bg);border-radius:10px;align-items:center;gap:12px;padding:12px;display:flex}.icon-gallery-preview{border:1px solid var(--line);border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.icon-gallery-meta{gap:2px;display:grid}.icon-gallery-meta strong{font-size:.9rem}.icon-gallery-meta span{color:var(--muted);font-size:.78rem}.sync-syncing{color:var(--accent);animation:1s infinite pulse}.sync-error{color:var(--warning)}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.settings-page{width:100%;max-width:none;padding:calc(32px + env(safe-area-inset-top)) 24px calc(32px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;min-height:100%;max-height:none;margin:0 auto;overflow:visible}.settings-header{align-items:center;gap:16px;margin-bottom:32px;display:flex}.settings-header a{color:var(--accent);text-decoration:none}.settings-header h1{margin:0}.settings-tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.settings-tab{border:1px solid var(--line);background:var(--button-subtle-bg);color:var(--text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;display:inline-flex}.settings-tab--active{background:var(--accent-soft-2);border-color:var(--accent-border-soft);color:var(--accent-strong)}.settings-tab-badge{background:var(--accent);min-width:16px;height:16px;color:var(--badge-on-accent-text);text-align:center;border-radius:999px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:16px}.settings-section{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-bottom:20px;padding:20px}.settings-section h2{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 16px;font-size:.8rem}.info-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 0;font-size:.9rem;display:flex}.info-row:last-child{border-bottom:none}.info-row code{color:var(--accent);background:var(--accent-soft-1);border-radius:4px;padding:2px 6px;font-size:.8rem}.settings-section .table-wrap{overflow-x:auto}.settings-section .table{border-collapse:collapse;width:100%;font-size:.85rem}.settings-section .table th,.settings-section .table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:8px 10px}.settings-section .table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:600}.settings-section .table td code{word-break:break-all}.settings-section .form-group{gap:8px;margin-bottom:12px}.settings-section .form-group label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.78rem}.settings-section .form-group input,.settings-section .form-group select{border:1px solid var(--line);background:var(--button-subtle-bg);width:100%;color:var(--text);border-radius:10px;padding:10px 12px}.settings-section .form-group select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:30px}.settings-section .form-group select:focus,.settings-section .form-group input:focus{border-color:var(--accent-border-soft);box-shadow:0 0 0 3px var(--highlight-ring);outline:none}.history-transfer-controls{border:1px solid var(--line);background:var(--button-subtle-bg);border-radius:10px;margin-top:12px;margin-bottom:14px;padding:12px}.history-transfer-controls .btn{margin-top:6px}.history-transfer-controls select{color:var(--text);background-color:var(--button-subtle-bg)}.history-transfer-controls select option{color:var(--text);background-color:var(--surface)}:root[data-theme$=-dark] .history-transfer-controls select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.settings-offers-block{border:1px solid var(--line);background:var(--button-subtle-bg);border-radius:10px;margin-top:14px;padding:12px}.settings-offers-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.settings-offers-header h3{margin:0}.settings-offers-visibility-btn{border:1px solid var(--line);background:0 0;border-radius:8px;padding:4px}.settings-offers-list+.settings-offers-list{margin-top:14px}.settings-offers-list h4{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;margin:6px 0 10px;font-size:.86rem}.settings-toggle-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:.92rem;display:flex}.settings-toggle-row:last-child{border-bottom:none}.settings-toggle-row input[type=checkbox]{width:18px;height:18px}.settings-inline-select{border:1px solid var(--line);background:var(--button-subtle-bg);min-width:260px;color:var(--text);border-radius:8px;padding:6px 10px}.settings-date-preview{color:var(--muted);margin-top:8px;font-size:.84rem}.settings-date-preview strong{color:var(--text);letter-spacing:.03em;text-transform:uppercase;margin-bottom:6px;font-size:.8rem;display:block}.settings-date-preview-list{gap:4px;display:grid}.settings-date-preview-list span{display:block}.invite-hint{color:var(--muted);margin:0 0 12px;font-size:.85rem}.ephemeral-shell{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.ephemeral-card{border:1px solid var(--line);background:var(--surface);width:min(560px,100%);box-shadow:var(--shadow);border-radius:14px;padding:20px}.ephemeral-card h1{margin:0 0 10px;font-size:1.4rem}.ephemeral-note{color:var(--muted);font-size:.88rem}.ephemeral-note--top-4{margin-top:4px}.ephemeral-note--top-2{margin-top:2px}.btn-stack-gap{margin-top:10px}.ephemeral-invite-card{gap:12px;display:grid}.ephemeral-invite-field{gap:6px;display:grid}.ephemeral-invite-field label{color:var(--muted);font-size:.82rem}.ephemeral-invite-field small{color:var(--muted);font-size:.78rem}.ephemeral-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.ephemeral-meta-grid div{border:1px solid var(--line);border-radius:8px;gap:4px;padding:8px;display:grid}.ephemeral-meta-grid span{color:var(--muted);font-size:.75rem}.ephemeral-meta-grid code{word-break:break-all;display:block}@media (width<=780px){.invite-form-grid,.ephemeral-meta-grid{grid-template-columns:1fr}}.spinner{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:32px;height:32px;margin:16px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.call-session-shell{flex-direction:column;flex:1;min-height:0;display:flex}.call-view{background:var(--call-stage-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.call-audio-hidden{display:none}.call-error{color:var(--danger);padding:10px}.call-layout-toolbar{z-index:6;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 0;display:flex}.call-layout-buttons{flex-wrap:wrap;gap:8px;display:inline-flex}.call-layout-btn{border:1px solid var(--line);background:var(--button-subtle-bg-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.call-layout-btn.is-active{background:var(--accent-soft-3);border-color:var(--accent-border-soft);color:var(--accent-strong)}.call-focus-status{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.call-focus-meta{flex-direction:column;align-items:flex-end;gap:2px;min-width:260px;max-width:min(55vw,420px);display:flex}.call-stage{flex:1;grid-template-columns:minmax(0,1fr) 300px;gap:12px;min-height:0;padding:12px;display:grid;overflow:hidden}.call-stage--single{grid-template-columns:minmax(0,1fr)}.call-focus-panel{height:100%;min-height:0;position:relative;overflow:hidden}.call-sidebar{flex-direction:column;gap:10px;min-height:0;display:flex;overflow-y:auto}.call-sidebar-item{all:unset;cursor:pointer;display:block}.call-sidebar-item:focus-visible .call-stream-card{outline:2px solid var(--accent);outline-offset:2px}.call-sidebar-spacer{pointer-events:none}.call-stream-card--spacer{visibility:hidden;background:0 0;border-style:dashed;border-color:#0000}.call-stream-card{background:var(--call-stream-bg);border:1px solid var(--line);border-radius:12px;position:relative;overflow:hidden}.call-stream-card--focus{width:100%;height:100%;min-height:0;max-height:100%}.call-stream-card--sidebar,.call-stream-card--grid{aspect-ratio:16/9;width:100%}.call-stream-card--local{aspect-ratio:16/9;width:clamp(160px,18vw,260px)}.call-stream-media{width:100%;height:100%;display:block}.call-stream-card--camera .call-stream-media{object-fit:cover}.call-stream-card--screen .call-stream-media{object-fit:contain}.call-local-dock{z-index:5;flex-direction:row;gap:10px;display:flex;position:absolute;bottom:16px;right:16px}.call-video{object-fit:cover;width:100%;height:100%}.call-tile-overlay{background:linear-gradient(#0000,#0000009e);flex-direction:column;align-items:flex-start;padding:18px 12px 10px;display:flex;position:absolute;bottom:0;left:0;right:0}.call-tile-name{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;max-width:100%;text-shadow:none;white-space:nowrap;text-overflow:ellipsis;background:#080a0e80;border-radius:999px;align-items:center;padding:3px 7px;font-size:.78rem;font-weight:550;line-height:1.2;display:inline-flex;overflow:hidden}.call-sidebar-empty,.call-empty-state{border:1px dashed var(--line);min-height:120px;color:var(--muted);background:var(--empty-surface-bg);border-radius:12px;justify-content:center;align-items:center;font-size:.9rem;display:flex}.call-grid-view{flex:1;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-content:start;gap:12px;min-height:0;padding:12px;display:grid;overflow-y:auto}.call-grid-view--single{grid-template-columns:minmax(0,1fr);justify-items:center}.call-grid-view--single .call-grid-item{width:min(100%,1200px)}.call-grid-view--two{grid-template-columns:repeat(2,minmax(0,1fr))}.call-grid-view--two .call-grid-item{min-width:0}.call-grid-item{all:unset;cursor:pointer;border-radius:12px;width:100%;min-width:0;display:block}.call-grid-item.is-highlighted .call-stream-card{border-color:var(--highlight-border);box-shadow:0 0 0 2px var(--highlight-ring)}.call-grid-item:focus-visible .call-stream-card{outline:2px solid var(--accent);outline-offset:2px}@media (width<=1200px){.in-call-btn-label,.in-call-meta--blur-status{display:none}.in-call-btn{justify-content:center}}@media (width<=1100px){.in-call-bar{gap:6px;padding:8px 12px}.in-call-btn{justify-content:center;min-width:34px;min-height:34px;padding:6px 8px}.call-layout-toolbar{flex-direction:column;align-items:flex-start}.call-focus-status{white-space:normal}.call-focus-meta{align-items:flex-start;min-width:0}.call-stage{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr)}.call-grid-view--two{grid-template-columns:minmax(0,1fr)}.call-sidebar{-webkit-overflow-scrolling:touch;flex-flow:row;align-items:stretch;padding-bottom:6px;overflow:auto hidden}.call-sidebar-item{flex:0 0 clamp(190px,30vw,240px);min-width:clamp(190px,30vw,240px)}.call-local-dock{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;gap:10px;padding:0 0 6px;position:static;overflow:auto hidden}.call-stream-card--local{width:clamp(190px,30vw,240px)}.call-stream-card--sidebar,.call-stream-card--local{aspect-ratio:16/9}}@media (width<=1100px) and (width>=768px) and (orientation:portrait) and (pointer:coarse){.call-local-dock{right:max(12px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));z-index:7;justify-content:flex-end;padding:0;position:absolute;overflow:visible}.call-stream-card--local{width:clamp(180px,24vw,220px)}}@media (width<=1100px) and (height<=520px) and (orientation:landscape) and (pointer:coarse){.call-stage{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) clamp(170px,26vw,230px);align-items:stretch}.call-sidebar{flex-flow:column;min-height:0;padding-bottom:0;padding-right:2px;overflow:hidden auto}.call-sidebar-item{flex:none;width:100%;min-width:0}.call-local-dock{right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));z-index:7;justify-content:flex-end;padding:0;position:absolute;overflow:visible}.call-stream-card--local{width:min(32vw,170px)}}@media (width<=640px){.call-layout-toolbar{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));right:max(10px, env(safe-area-inset-right));pointer-events:none;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;padding:0;position:absolute}.call-layout-buttons,.call-focus-meta{pointer-events:auto}.call-layout-buttons{gap:6px}.call-layout-btn{background:var(--button-subtle-bg-2);width:36px;height:36px;min-height:36px;padding:0}.call-focus-status{font-size:.76rem}.call-focus-meta{border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#05070cd1;border-radius:12px;min-width:0;max-width:52vw;padding:8px 10px}.call-stage{padding:calc(max(10px, env(safe-area-inset-top)) + 40px) 8px 8px;gap:8px}.call-stream-card--focus{min-height:240px}.call-sidebar{gap:8px;padding-bottom:4px}.call-sidebar-item{min-width:170px}.call-local-dock{right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));z-index:7;justify-content:flex-end;gap:8px;padding:0;position:absolute}.call-stream-card--local{width:min(42vw,180px)}.call-grid-view{-webkit-overflow-scrolling:touch;grid-template-columns:minmax(0,1fr);gap:8px;padding:8px;overflow-y:auto}}@media (width<=420px){.call-layout-btn{min-height:36px;padding:5px 9px;font-size:.76rem}.call-stream-card--focus{min-height:200px}.call-tile-overlay{background:linear-gradient(#0000,#00000075);padding:10px 8px 8px}.call-tile-name{max-width:calc(100% - 4px);padding:3px 7px;font-size:.68rem}.call-local-dock{flex-wrap:wrap;justify-content:flex-end}.call-stream-card--local{width:min(46vw,160px)}.call-sidebar-item{min-width:150px}}.invite-dialog-overlay{z-index:1000;background:#03080ea8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.invite-dialog{background:var(--surface);border:1px solid var(--line);width:min(720px,100%);max-height:80vh;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;display:flex;overflow:auto}.invite-dialog-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px;display:flex}.invite-dialog-header h2{color:var(--text);margin:0;font-size:1.25rem}.close-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:1.5rem;transition:background .2s;display:flex}.close-button:hover{background:var(--surface);color:var(--text)}.invite-dialog-tabs{border-bottom:1px solid var(--line);background:#0000001a;display:flex}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;flex:1;padding:12px 16px;font-size:.95rem;font-weight:500;transition:all .2s}.tab:hover{color:var(--text);background:#63b3ed0d}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.invite-dialog-content{flex:1;padding:16px;overflow-y:auto}.invite-create-view{flex-direction:column;gap:16px;display:flex}.invite-hint{color:var(--muted);margin:0;font-size:.9rem;line-height:1.4}.invite-form{flex-direction:column;gap:12px;display:flex}.invite-form label{flex-direction:column;gap:6px;display:flex}.invite-radio-group{border:1px solid var(--line);border-radius:6px;flex-wrap:wrap;gap:12px;margin:0;padding:10px 12px;display:flex}.invite-radio-group legend{color:var(--muted);padding:0 4px;font-size:.85rem;font-weight:500}.invite-form .invite-radio-option{color:var(--text);flex-direction:row;align-items:center;gap:8px;min-width:120px;font-size:.92rem;display:flex}.invite-radio-option input{width:16px;height:16px}.invite-radio-group:disabled{background:var(--surface)}.invite-form label span{color:var(--muted);font-size:.85rem;font-weight:500}.invite-form input,.invite-form select{border:1px solid var(--line);background:var(--background);color:var(--text);border-radius:6px;padding:10px 12px;font-size:.95rem}.invite-form input:focus,.invite-form select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #63b3ed1a}.invite-form input:disabled,.invite-form select:disabled{background:var(--surface);color:var(--muted);cursor:not-allowed}.invite-success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e4d;border-radius:6px;padding:12px 16px;font-weight:500}.invite-details{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:12px;padding:16px;display:flex}.invite-detail-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.invite-detail-row span:first-child{min-width:80px;color:var(--muted);font-size:.85rem;font-weight:500}.invite-detail-row code{background:var(--background);color:var(--accent);word-break:break-all;border:1px solid var(--line);border-radius:4px;flex:1;padding:8px 10px;font-family:monospace;font-size:.85rem}.invite-history-view{flex-direction:column;gap:16px;display:flex}.history-controls{justify-content:flex-end;display:flex}.history-controls label{color:var(--muted);align-items:center;gap:8px;font-size:.9rem;display:flex}.history-controls select{min-width:160px}.invite-table-wrap{overflow:auto}.invite-table{border-collapse:collapse;width:100%}.invite-table th,.invite-table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 8px}.invite-table th{color:var(--muted);font-size:.82rem;font-weight:600}.invite-table tbody tr:hover{background:#ffffff05}.status-badge{border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.status-badge.status-active{color:#4ade80;background:#22c55e1f}.status-badge.status-expired,.status-badge.status-revoked,.status-badge.status-consumed{color:#cbd5e1;background:#94a3b81f}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.invite-meta-summary{color:var(--muted);margin:10px 0;font-size:.82rem}.invite-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.invite-form-grid label{color:var(--muted);gap:6px;font-size:.82rem;display:grid}.invite-form-grid input{width:100%}.invite-form-wide{grid-column:1/-1}.invite-list{gap:10px;margin-top:12px;display:grid}.invite-card{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:10px;padding:12px;display:grid}.invite-card-header{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.invite-row{gap:6px;margin-bottom:8px;display:grid}.invite-row code{word-break:break-all;background:var(--accent-soft-2);border:1px solid var(--line);color:var(--accent-strong);border-radius:6px;padding:6px 8px;display:block}.invite-actions{justify-content:flex-end;display:flex}@media (width<=780px){.invite-form-grid{grid-template-columns:1fr}.invite-dialog{max-height:90vh}}
