@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font: "Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;--bg: #f6f6f8;--surface: #ffffff;--surface-2: #f1f1f4;--surface-hover: #ececf0;--border: #e3e3e8;--border-strong: #d0d0d8;--text: #17171c;--text-2: #5c5e6a;--text-3: #8d8f9b;--accent: #5b5bd6;--accent-hover: #4b4bc4;--accent-soft: rgba(91, 91, 214, .1);--accent-text: #ffffff;--danger: #d43c3c;--danger-soft: rgba(212, 60, 60, .1);--success: #1f9a57;--success-soft: rgba(31, 154, 87, .12);--warning: #b7791f;--warning-soft: rgba(183, 121, 31, .12);--mark: rgba(250, 204, 21, .45);--mine: #5b5bd6;--mine-text: #ffffff;--shadow-sm: 0 1px 2px rgba(16, 16, 24, .06);--shadow: 0 1px 3px rgba(16, 16, 24, .06), 0 6px 16px rgba(16, 16, 24, .06);--shadow-lg: 0 12px 40px rgba(16, 16, 24, .18);--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--sidebar: 248px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0d0e12;--surface: #15171c;--surface-2: #1c1f26;--surface-hover: #232731;--border: #262a33;--border-strong: #343945;--text: #ececf1;--text-2: #a4a7b4;--text-3: #6e7281;--accent: #7c7cf2;--accent-hover: #8f8ff5;--accent-soft: rgba(124, 124, 242, .14);--accent-text: #ffffff;--danger: #f06363;--danger-soft: rgba(240, 99, 99, .12);--success: #3ccf7f;--success-soft: rgba(60, 207, 127, .12);--warning: #e5a93b;--warning-soft: rgba(229, 169, 59, .14);--mark: rgba(250, 204, 21, .3);--mine: #5b5bd6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 3px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .25);--shadow-lg: 0 16px 48px rgba(0, 0, 0, .55);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:1.25;letter-spacing:-.015em}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.05rem;font-weight:600}h3{font-size:.95rem;font-weight:600}p{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}small,.muted{color:var(--text-3);font-size:.82rem}.text-2{color:var(--text-2)}mark{background:var(--mark);color:inherit;border-radius:3px;padding:0 1px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stack{display:grid;gap:16px}.stack-sm{display:grid;gap:8px}label.field{display:grid;gap:6px;font-size:.85rem;font-weight:500;color:var(--text-2)}input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}input::placeholder,textarea::placeholder{color:var(--text-3)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled{color:var(--text-3);background:var(--surface-2)}textarea{resize:vertical}.input-icon{position:relative}.input-icon>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-3);pointer-events:none}.input-icon input{padding-left:38px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border:1px solid transparent;border-radius:var(--radius-sm);background:var(--accent);color:var(--accent-text);font:inherit;font-size:.9rem;font-weight:550;line-height:1.2;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s,color .15s,transform .05s}.btn:hover{background:var(--accent-hover);text-decoration:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default;transform:none}.btn.secondary{background:var(--surface);border-color:var(--border);color:var(--text);box-shadow:var(--shadow-sm)}.btn.secondary:hover:not(:disabled){background:var(--surface-hover)}.btn.ghost{background:transparent;color:var(--text-2)}.btn.ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn.danger{background:var(--danger);color:#fff}.btn.danger:hover:not(:disabled){filter:brightness(1.08)}.btn.sm{padding:6px 10px;font-size:.82rem}.btn.lg{padding:12px 22px;font-size:1rem;border-radius:var(--radius)}.btn.block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:32px;height:32px;flex:none;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-3);cursor:pointer;transition:background .15s,color .15s}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-btn.danger:hover:not(:disabled){background:var(--danger-soft);color:var(--danger)}.icon-btn:disabled{opacity:.45;cursor:default}.icon-btn.toggled{background:var(--accent-soft);color:var(--accent)}.link-btn{padding:0;border:0;background:none;color:var(--accent);font:inherit;cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card.pad{padding:20px}.card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.section{display:grid;gap:14px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-title a{font-size:.85rem}.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.spacer{flex:1}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;background:var(--surface-2);color:var(--text-2);font-size:.75rem;font-weight:550;white-space:nowrap}.badge.success{background:var(--success-soft);color:var(--success)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.warning{background:var(--warning-soft);color:var(--warning)}.badge.accent{background:var(--accent-soft);color:var(--accent)}.alert{display:flex;gap:10px;align-items:flex-start;padding:10px 14px;border-radius:var(--radius-sm);font-size:.88rem;overflow-wrap:anywhere}.alert>svg{flex:none;margin-top:2px}.alert.error{background:var(--danger-soft);color:var(--danger)}.alert.success{background:var(--success-soft);color:var(--success)}.error-text{color:var(--danger)}.ok-text{color:var(--success)}.danger-text{color:var(--danger)}.push-right{margin-left:auto}.empty{display:grid;justify-items:center;gap:8px;padding:48px 24px;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--radius);color:var(--text-2)}.empty .empty-icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:4px;border-radius:14px;background:var(--accent-soft);color:var(--accent)}.empty h3{color:var(--text)}.empty p{max-width:360px;font-size:.9rem}.empty .btn{margin-top:8px}.skeleton{border-radius:var(--radius);background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-hover) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.spinner{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.center-screen{display:grid;place-items:center;min-height:100vh;color:var(--text-3)}.shell{display:grid;grid-template-columns:var(--sidebar) 1fr;min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;gap:4px;height:100vh;padding:20px 14px;border-right:1px solid var(--border);background:var(--surface)}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 18px;color:var(--text);font-size:1.1rem;font-weight:700;letter-spacing:-.02em}.brand:hover{text-decoration:none}.nav{display:grid;gap:2px}.nav-label{padding:14px 10px 6px;color:var(--text-3);font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.nav a,.nav button{display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;border:0;border-radius:var(--radius-sm);background:none;color:var(--text-2);font:inherit;font-size:.92rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.nav a:hover,.nav button:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.nav a.active{background:var(--accent-soft);color:var(--accent)}.sidebar-footer{margin-top:auto;display:grid;gap:2px;padding-top:12px;border-top:1px solid var(--border)}.user-chip{display:flex;align-items:center;gap:10px;padding:8px 10px;min-width:0}.user-chip>div{display:grid;min-width:0}.user-chip strong,.user-chip small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.user-chip strong{font-size:.88rem;font-weight:600}.avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;color:#fff;font-size:.8rem;font-weight:650}.avatar.sm{width:28px;height:28px;font-size:.7rem}.content{width:100%;max-width:1120px;margin:0 auto;padding:36px 40px 56px;display:grid;gap:28px;align-content:start;min-width:0}.page-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.page-header p{margin-top:4px;color:var(--text-2)}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:.88rem}.topbar,.tabbar{display:none}@media(max-width:800px){.shell{grid-template-columns:1fr}.sidebar{display:none}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar .brand{padding:0}.tabbar{position:fixed;inset:auto 0 0 0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tabbar a{display:grid;justify-items:center;gap:2px;padding:4px 0;color:var(--text-3);font-size:.68rem;font-weight:550}.tabbar a:hover{text-decoration:none}.tabbar a.active{color:var(--accent)}.content{padding:20px 16px 96px;gap:22px}h1{font-size:1.45rem}}.greeting h1{font-size:2rem}.quick-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.quick-action{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.quick-action:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px);text-decoration:none}.quick-action strong{display:block;font-size:.93rem;font-weight:600}.quick-action small{display:block}.tile-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:11px}.tile-icon.violet{background:#7c5cfc21;color:#7c5cfc}.tile-icon.blue{background:#3884ff21;color:#3884ff}.tile-icon.amber{background:#f0a02026;color:#e0901a}.tile-icon.green{background:#22b46e24;color:#1fae6a}@media(max-width:800px){.quick-actions{grid-template-columns:repeat(2,1fr);gap:10px}.quick-action{flex-direction:column;align-items:flex-start;gap:10px;padding:14px}.quick-action small{display:none}}.dash-grid{display:grid;grid-template-columns:3fr 2fr;gap:24px;align-items:start}@media(max-width:1000px){.dash-grid{grid-template-columns:1fr}}.list{list-style:none;margin:0;padding:0}.list>li{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--border);min-width:0}.list>li:first-child{border-top:0}.list .grow{flex:1;min-width:0}.list .title{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-weight:550}.file-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:9px;background:var(--surface-2);color:var(--text-2);overflow:hidden}.file-icon img{width:100%;height:100%;object-fit:cover}.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.toolbar .input-icon{flex:1;min-width:220px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.note-card{position:relative;display:flex;flex-direction:column;gap:8px;min-height:150px;padding:16px 16px 12px;transition:border-color .15s,box-shadow .15s,transform .15s}.note-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-1px)}.note-card h3 a{color:var(--text);overflow-wrap:anywhere}.note-card h3 a:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit}.note-card h3 a:hover{text-decoration:none}.note-card .preview{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;color:var(--text-2);font-size:.88rem;white-space:pre-line;overflow-wrap:anywhere}.note-card .preview.empty-note{color:var(--text-3);font-style:italic}.note-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:4px}.note-card .icon-btn{position:relative;z-index:1;opacity:0}.note-card:hover .icon-btn,.note-card .icon-btn:focus-visible{opacity:1}@media(hover:none){.note-card .icon-btn{opacity:1}}.search-hit{display:grid;gap:4px;padding:14px 16px}.search-hit+.search-hit{border-top:1px solid var(--border)}.search-hit a{color:var(--text);font-weight:600}.search-hit .snippet{color:var(--text-2);font-size:.88rem;overflow-wrap:anywhere}.editor{display:grid;gap:4px;padding:28px 32px}.editor input.title-input{padding:0;border:0;background:none;font-size:1.9rem;font-weight:700;letter-spacing:-.02em;box-shadow:none}.editor textarea.body-input{min-height:55vh;padding:12px 0 0;border:0;background:none;font-size:1rem;line-height:1.7;box-shadow:none;resize:none}@media(max-width:800px){.editor{padding:18px}.editor input.title-input{font-size:1.45rem}}.save-state{display:inline-flex;align-items:center;gap:6px;font-size:.83rem;color:var(--text-3)}.save-state.dirty{color:var(--warning)}.dropzone{position:relative;display:grid;gap:28px}.dropzone.dragging:after{content:"Drop to upload";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;z-index:5;display:grid;place-items:center;border:2px dashed var(--accent);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--accent-soft) 70%,var(--bg));color:var(--accent);font-weight:600}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}.file-card{display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s,box-shadow .15s}.file-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.file-thumb{display:grid;place-items:center;aspect-ratio:4 / 3;width:100%;padding:0;border:0;border-bottom:1px solid var(--border);background:var(--surface-2);color:var(--text-3);font:inherit;overflow:hidden}button.file-thumb{cursor:zoom-in}.file-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s}button.file-thumb:hover img{transform:scale(1.03)}.file-thumb .thumb-state{display:grid;justify-items:center;gap:6px;padding:0 12px;font-size:.78rem;text-align:center}.file-body{display:grid;gap:2px;padding:10px 8px 10px 14px;min-width:0}.file-body .row{flex-wrap:nowrap;gap:2px}.file-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:550}.fingerprint{font-family:var(--mono);font-size:.72rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:24px;background:#08080c99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade .15s ease-out}.modal{display:grid;gap:16px;width:min(100%,920px);max-height:calc(100vh - 48px);padding:20px;overflow:auto;border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-lg)}.modal .preview{display:block;max-width:100%;max-height:62vh;margin:0 auto;border-radius:var(--radius-sm)}@keyframes fade{0%{opacity:0}}.ai-layout{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:start}@media(max-width:1000px){.ai-layout{grid-template-columns:1fr}}.list>li.doc-row{display:grid;gap:8px}.doc-row .doc-head{display:flex;align-items:center;gap:10px;min-width:0}.doc-row .doc-actions{display:flex;flex-wrap:wrap;gap:6px;padding-left:46px}.conversation{display:flex;flex-direction:column;min-height:540px}.thread{display:grid;gap:18px;flex:1;align-content:start;padding:20px}.question{justify-self:end;max-width:85%;padding:10px 14px;border-radius:14px 14px 4px;background:var(--accent);color:var(--accent-text);white-space:pre-wrap;overflow-wrap:anywhere}.reply{display:flex;gap:12px;align-items:flex-start}.reply-avatar{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,#7c5cfc,#3884ff);color:#fff}.reply-body{display:grid;gap:10px;min-width:0;flex:1}.answer{white-space:pre-wrap;overflow-wrap:anywhere}.reply-label{color:var(--text-3);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.sources{display:grid;gap:8px;margin:0;padding:0;list-style:none}.source{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.excerpt{margin:0;color:var(--text-2);font-size:.86rem;white-space:pre-wrap;overflow-wrap:anywhere}.excerpt.clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}.composer{display:grid;gap:10px;padding:14px;border-top:1px solid var(--border)}.composer-box{display:flex;align-items:flex-end;gap:8px;padding:6px 6px 6px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .15s,box-shadow .15s}.composer-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.composer-box textarea{flex:1;min-height:24px;max-height:180px;padding:6px 0;border:0;background:none;box-shadow:none;resize:none}.composer-box .btn{padding:8px 10px}.composer select{width:auto;max-width:100%;padding:5px 10px;font-size:.82rem}.typing-dots{display:inline-flex;gap:4px;padding:6px 0}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:blink 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.25}40%{opacity:1}}.chat-layout{display:grid;grid-template-columns:250px 1fr;height:calc(100vh - 170px);min-height:460px;overflow:hidden}.chat-side{display:flex;flex-direction:column;gap:4px;padding:14px 10px;border-right:1px solid var(--border);background:var(--surface-2);overflow-y:auto}.chat-side .nav-label{padding-top:6px}.room-link{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);color:var(--text-2);font-size:.9rem;font-weight:500}.room-link:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.room-link.current{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.new-room{display:flex;gap:6px;padding:6px 4px}.new-room input{padding:6px 10px;font-size:.85rem}.online-list{display:grid;gap:8px;margin:0;padding:0 8px;list-style:none}.online-list li{display:flex;align-items:center;gap:8px;font-size:.86rem;min-width:0}.online-list li span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.members-modal{width:min(100%,460px)}.members-modal h2{display:flex;align-items:center;gap:8px;margin:0;font-size:1.15rem}.add-member{display:flex;gap:8px}.add-member input{flex:1;min-width:0}.member-list{display:grid;gap:4px;margin:6px 0 0;padding:0;list-style:none}.member-list li{display:flex;align-items:center;gap:10px;min-height:36px;padding:2px 4px}.member-name{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem}.presence{width:8px;height:8px;flex:none;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.presence.off{background:var(--text-3);box-shadow:none}.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--border)}.messages{flex:1;display:flex;flex-direction:column;gap:3px;margin:0;padding:16px 18px;overflow-y:auto;list-style:none}.msg{display:flex;gap:10px;align-items:flex-end;max-width:78%}.msg.first{margin-top:12px}.msg .avatar-slot{width:28px;flex:none}.msg .bubble{display:grid;gap:2px;padding:8px 12px;border-radius:16px;background:var(--surface-2);overflow-wrap:anywhere;white-space:pre-wrap}.msg .meta{display:flex;gap:8px;align-items:baseline;font-size:.74rem;color:var(--text-3)}.msg .meta strong{color:var(--text-2);font-weight:600}.msg.mine{align-self:flex-end;flex-direction:row-reverse}.msg.mine .bubble{background:var(--mine);color:var(--mine-text)}.msg.mine .meta{color:#ffffffb8}.chat-footer{padding:4px 18px 16px}.typing-line{min-height:22px;color:var(--text-3);font-size:.8rem}@media(max-width:800px){.chat-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:calc(100vh - 210px)}.chat-side{flex-direction:row;flex-wrap:nowrap;align-items:center;overflow-x:auto;border-right:0;border-bottom:1px solid var(--border);padding:8px}.chat-side .nav-label,.chat-side .online-list,.chat-side .new-room{display:none}.room-link{white-space:nowrap}.msg{max-width:90%}}.settings{display:grid;gap:20px;max-width:640px}.danger-zone{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}dl.facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0;font-size:.9rem}dl.facts dt{color:var(--text-3)}dl.facts dd{margin:0;overflow-wrap:anywhere}.landing{min-height:100vh;display:flex;flex-direction:column;overflow-x:clip;background:radial-gradient(60% 50% at 50% 0%,rgba(124,92,252,.16),transparent 70%),radial-gradient(40% 40% at 90% 20%,rgba(56,132,255,.1),transparent 70%),var(--bg)}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(100% - 32px,1120px);margin:0 auto;padding:20px 0}.landing-nav .brand{padding:0}.hero{position:relative;isolation:isolate;display:grid;justify-items:center;gap:22px;width:min(100% - 32px,820px);margin:0 auto;padding:120px 0 112px;text-align:center}.hero-globe{position:absolute;z-index:-2;top:-60px;bottom:-40px;left:50%;width:min(100vw,1300px);transform:translate(-50%);pointer-events:none;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);mask-image:radial-gradient(closest-side,#000 55%,transparent 100%);animation:globe-in 1.6s ease-out both}.hero-globe canvas{display:block;width:100%;height:100%}.hero:after{content:"";position:absolute;z-index:-1;top:18%;right:8%;bottom:18%;left:8%;background:radial-gradient(closest-side,color-mix(in srgb,var(--bg) 78%,transparent),transparent);pointer-events:none}@keyframes globe-in{0%{opacity:0;transform:translate(-50%) scale(.94)}}@media(prefers-reduced-motion:reduce){.hero-globe{animation:none}}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-2);font-size:.82rem;font-weight:500;box-shadow:var(--shadow-sm)}.hero h1{font-size:clamp(2.6rem,7vw,4.4rem);font-weight:800;line-height:1.05;letter-spacing:-.04em}.gradient-text{background:linear-gradient(120deg,#7c5cfc 10%,#3884ff 90%);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p.lead{max-width:600px;color:var(--text-2);font-size:1.15rem;line-height:1.6}.hero .row{justify-content:center;margin-top:6px}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;width:min(100% - 32px,1120px);margin:0 auto;padding-bottom:72px}.feature{display:grid;gap:10px;align-content:start;padding:22px}.feature p{color:var(--text-2);font-size:.9rem}.landing-footer{margin-top:auto;padding:24px 16px;border-top:1px solid var(--border);color:var(--text-3);font-size:.82rem;text-align:center}.auth-page{display:grid;place-items:center;align-content:center;gap:24px;min-height:100vh;padding:32px 16px;background:radial-gradient(50% 40% at 50% 0%,rgba(124,92,252,.14),transparent 70%),var(--bg)}.auth-page>.brand{padding:0}.auth-card{display:grid;gap:22px;width:min(100%,400px);padding:32px;box-shadow:var(--shadow)}.auth-card header{display:grid;gap:6px}.auth-card header p{color:var(--text-2)}.auth-alt{color:var(--text-2);font-size:.9rem;text-align:center}.verify-card header{justify-items:center;gap:10px;text-align:center}.verify-card h1{margin:0}.accent-icon{color:var(--accent)}.resend-line{margin:0;color:var(--text-2);font-size:.86rem;text-align:center}.resend-line .link-btn{display:inline-flex;align-items:center;gap:4px;font-size:inherit}.resend-line .link-btn:disabled{color:var(--text-3);cursor:default}
