@charset "UTF-8";
:root{color-scheme:dark;--bg:#10131c;--surface:#171b27;--line:#292d3e;--muted:#9397ac;--text:#f4f3fc;--accent:#a599fa;--mint:#a2dcc3}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.5}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:transparent}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input,textarea{color:var(--text);border:1px solid #333749;background:#141824;border-radius:10px;padding:13px 15px;outline:none;width:100%}input:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #a599fa16}input::placeholder,textarea::placeholder{color:#676d83}[hidden]{display:none!important}.brand{display:flex;align-items:center;gap:11px;font-weight:700;font-size:24px;letter-spacing:-1px}.logo{width:42px;height:42px;display:grid;place-items:center;background:var(--accent);color:#151725;border-radius:13px;font-size:31px;letter-spacing:-3px;padding-right:4px}.brand-dot{font-size:9px;color:var(--mint);margin-left:-3px}.welcome{min-height:100dvh;display:grid;grid-template-columns:1.12fr 1fr}.story{padding:42px 7vw 26px;background:radial-gradient(ellipse at 10% 40%,#35314f44,transparent 65%),#141721;display:flex;flex-direction:column;border-right:1px solid var(--line)}.story-body{max-width:560px;margin:auto 0;padding:60px 0}.eyebrow{font-size:10px;letter-spacing:2px;color:#aaa7c0;display:flex;align-items:center;gap:9px}.eyebrow i,.live-dot,.composer-meta i{width:6px;height:6px;border-radius:50%;background:var(--mint);display:inline-block}.story h1{font-size:clamp(40px,4.3vw,64px);letter-spacing:-3px;line-height:1.13;font-weight:600;margin:26px 0 22px}.story h1 em{color:var(--accent);font-style:normal}.story-body>p{color:#aaaec2;font-size:16px;line-height:1.8}.preview{margin-top:32px;max-width:400px;background:#1b1e2c;border:1px solid #353449;border-radius:17px;padding:19px;box-shadow:0 24px 70px #0003;transform:rotate(-2deg)}.preview-title{display:flex;align-items:center;gap:10px;border-bottom:1px solid #303344;padding-bottom:16px}.preview-title small{display:block;color:#8b90a5;font-size:11px}.preview-title .live-dot{margin-left:auto}.avatar{flex-shrink:0;width:36px;height:36px;border-radius:12px;display:inline-grid;place-items:center;font-weight:600}.purple{color:#c6bdff;background:#a599fa26}.mint{color:var(--mint);background:#a2dcc31c}.sample{display:flex;gap:10px;margin:20px 0 14px}.sample small{font-size:10px;color:#a4a9bc}.sample p{margin:5px 0 0;font-size:12px;padding:12px;background:#272b3c;border-radius:0 12px 12px}.sample.right{justify-content:flex-end}.sample.right p{background:#8d7cf833;border-radius:12px 0 12px 12px;color:#d7d1ff}.preview-bottom{display:flex;align-items:center;gap:10px;color:#71788d;font-size:11px;border:1px solid #333748;border-radius:9px;padding:10px;margin-top:20px}.preview-bottom b{margin-left:auto;color:var(--accent);font-size:20px}.feature-row{display:flex;gap:22px;color:#8c91a6;font-size:11px;margin-top:35px;flex-wrap:wrap}footer{display:flex;justify-content:space-between;gap:15px;color:#72788e;font-size:10px}.auth-area{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.auth-card{width:100%;max-width:355px}.tiny-logo{display:block;font-size:40px;color:var(--accent);margin-bottom:24px}.auth-card h2{font-size:30px;letter-spacing:-1px;margin:0 0 8px}.auth-card>p{color:var(--muted);margin:0 0 26px}.auth-tabs{display:flex;padding:4px;background:#1b1f2d;border:1px solid #2a2e40;border-radius:10px;margin-bottom:27px}.auth-tabs button{width:50%;padding:9px;font-size:12px;color:var(--muted);border-radius:7px}.auth-tabs .selected{background:#353149;color:#d8d2ff}label{display:block;margin-bottom:18px;font-size:12px;font-weight:500}label input,label textarea{margin-top:8px}.password-field{position:relative}.password-field input{padding-right:45px}.password-field button{position:absolute;right:8px;top:16px;color:#8c90a6;padding:8px}.primary{background:var(--accent);color:#171326;width:100%;border-radius:10px;padding:13px;font-weight:600;display:flex;justify-content:center;gap:16px;align-items:center}.primary:hover{background:#b7adff}.primary span{margin-left:auto;font-size:20px;line-height:1}.auth-card .primary{margin-top:23px}.error{color:#f7a4b2;font-size:12px;min-height:18px;margin:10px 0}.privacy-note{display:flex;align-items:center;justify-content:center;gap:12px;border-top:1px solid var(--line);padding-top:18px;color:#8b90a6}.privacy-note>span{color:var(--mint);font-size:27px}.privacy-note p{font-size:10px;line-height:1.8;margin:0}.auth-card .terms{text-align:center;font-size:10px;line-height:1.9;margin-top:23px;color:#73798f}.text-button{padding:0;text-decoration:underline;color:#ada5dd;font-size:inherit}.auth-footer{margin-top:50px;color:#5f667c;font-size:10px}#password-help{color:var(--muted);display:block;font-size:11px}#toast{position:fixed;z-index:1000;bottom:28px;left:50%;transform:translateX(-50%);background:#303246;border:1px solid #70678e;box-shadow:0 12px 40px #0006;padding:13px 24px;border-radius:12px;max-width:90vw}.chat-shell{display:grid;grid-template-columns:250px minmax(0,1fr) 265px;height:100dvh}.sidebar{border-right:1px solid var(--line);padding:27px 18px 0;display:flex;flex-direction:column;background:#141721;min-height:0}.sidebar .brand{font-size:23px;margin-bottom:31px}.new-chat{background:#a599fa15;border:1px solid #a599fa30;color:#c8c0ff;border-radius:10px;padding:11px;text-align:left;font-size:12px;margin-bottom:28px}.section-label{font-size:9px;letter-spacing:1.5px;color:#737b94;padding:0 11px;margin-bottom:13px}.direct-label{margin-top:32px;display:flex;justify-content:space-between}nav{display:flex;flex-direction:column;gap:5px}nav button{display:flex;gap:12px;align-items:center;border-radius:10px;text-align:left;padding:12px;font-size:12px;color:#a6abc0}nav button .nav-icon{font-size:18px;color:#79809b;width:23px}nav button.active{background:#a599fa1c;color:#e0d9ff}nav button.active .nav-icon{color:var(--accent)}nav button:hover{background:#ffffff07}#direct-list{overflow:auto;max-height:35vh}#direct-list .avatar{width:29px;height:29px;border-radius:9px;font-size:11px}.empty-direct{font-size:11px;line-height:1.8;color:#626a83;padding:0 11px}.sidebar-bottom{margin-top:auto;padding-top:20px}.sidebar-bottom>button{font-size:11px;color:#969cb2;display:block;margin:0 0 15px 9px}.profile{border-top:1px solid var(--line);display:flex;gap:10px;align-items:center;padding:20px 0}.profile>div{min-width:0}.profile strong{display:block;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:135px}.profile small{font-size:10px;color:#777f98}.profile>button{margin-left:auto;color:#848ba3;font-size:20px}.conversation{display:flex;flex-direction:column;min-height:0;min-width:0}.chat-header{height:91px;flex-shrink:0;border-bottom:1px solid var(--line);padding:0 30px;display:flex;gap:13px;align-items:center}.room-icon{display:grid;place-items:center;width:39px;height:39px;background:#a599fa14;color:var(--accent);border-radius:12px;font-size:23px}.room-heading{min-width:0}.room-heading h2{font-size:16px;margin:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.room-heading p{margin:3px 0 0;font-size:10px;color:#8890a7}.header-actions{margin-left:auto;display:flex;align-items:center;gap:15px}.secure-badge{font-size:10px;color:#8fbaa9;background:#a2dcc30a;border:1px solid #a2dcc316;border-radius:6px;padding:6px 9px;white-space:nowrap}.room-banner{background:#a599fa08;border-bottom:1px solid #a599fa10;padding:12px 28px;display:flex;align-items:center;gap:12px;color:#b1a8d6}.room-banner>span{font-size:24px}.room-banner p{font-size:10px;margin:0}.room-banner strong{font-weight:500;color:#d6cefa}.messages{overflow-y:auto;flex:1;padding:28px 30px;scroll-behavior:smooth}.chat-empty{height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#7b839f}.chat-empty>span{color:#a599fa;font-size:52px;background:#a599fa0a;width:97px;height:97px;display:grid;place-items:center;border-radius:30px;margin-bottom:22px}.chat-empty h3{color:#d4d3e5;font-size:18px;font-weight:500;margin:0 0 7px}.chat-empty p{font-size:12px;margin:0;text-align:center}.message{display:flex;gap:11px;margin-bottom:24px;max-width:85%}.message.mine{margin-left:auto;flex-direction:row-reverse}.message .avatar{width:32px;height:32px;font-size:12px;border-radius:10px;margin-top:20px}.message-content{min-width:0}.message-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:#8f97af;margin-bottom:6px}.mine .message-meta{justify-content:flex-end}.message-meta strong{font-weight:500;color:#bac0d7}.message-meta time{font-size:9px;color:#666f89}.message-bubble{padding:12px 15px;background:#202533;border:1px solid #2b3143;border-radius:0 13px 13px 13px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#dedfee}.mine .message-bubble{background:#a599fa1c;border-color:#a599fa29;border-radius:13px 0 13px 13px}.message-tools{display:flex;gap:8px;margin-top:4px;justify-content:flex-end}.message-tools button{font-size:9px;color:#707993;padding:2px}.message-tools button:hover{color:var(--accent)}.attachment{display:block;margin-top:8px;white-space:normal}.attachment img{max-width:100%;max-height:280px;border-radius:9px;object-fit:contain}.attachment audio{max-width:100%;width:260px;height:37px}.attachment video{max-width:100%;max-height:300px;border-radius:9px}.file-card{display:flex;gap:10px;align-items:center;padding:9px;background:#ffffff05;border-radius:8px;color:#c6c0eb}.file-card b{font-size:24px;font-weight:400}.file-card small{color:#878ca5;display:block;font-size:9px}.file-card span{word-break:break-word}.composer-area{padding:15px 27px 20px;position:relative}.composer{display:flex;gap:5px;align-items:center;border:1px solid #353a4f;background:#191e2b;border-radius:14px;padding:9px}.composer textarea{flex:1;padding:9px 3px;background:none;border:0;border-radius:0;resize:none;font-size:12px;max-height:120px;box-shadow:none}.icon-button{width:32px;height:34px;color:#939bb7;font-size:22px;flex-shrink:0;border-radius:8px}.icon-button:hover{background:#ffffff09;color:#cfc8ff}.send-button{background:var(--accent);color:#191625;border-radius:9px;width:37px;height:37px;font-size:23px;margin-left:5px;flex-shrink:0}.composer-meta{display:flex;justify-content:space-between;margin:10px 5px 0;font-size:9px;color:#69748e}.composer-meta i{width:5px;height:5px;margin-right:5px}.people-panel{border-left:1px solid var(--line);padding:32px 23px;background:#121620}.panel-heading{display:flex;justify-content:space-between;align-items:center}.panel-heading h3{font-size:13px;margin:0;font-weight:500}.panel-heading>span{background:#a2dcc316;color:var(--mint);font-size:9px;padding:3px 7px;border-radius:5px}.panel-subtitle{font-size:10px;color:#6d7690;margin:7px 0 26px}.person{display:flex;align-items:center;gap:10px;width:100%;padding:9px 0;text-align:left}.person .avatar{width:32px;height:32px;font-size:11px}.person strong{display:block;font-size:11px;font-weight:500}.person small{color:#737c95;font-size:9px}.person .status{margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--mint)}.community-card{margin-top:35px;border:1px solid #a599fa23;background:linear-gradient(145deg,#a599fa13,#a599fa03);border-radius:12px;padding:20px}.community-card>span{color:var(--accent);font-size:32px}.community-card h3{font-size:15px;line-height:1.5;font-weight:500;margin:13px 0}.community-card p{font-size:10px;line-height:1.9;color:#858da7}.community-card button{font-size:10px;color:#c1b8fa;margin-top:10px;padding:0}.panel-note{display:flex;gap:10px;color:#626d88;margin-top:25px}.panel-note>span{font-size:20px}.panel-note p{font-size:9px;margin:0;line-height:1.8}.upload-preview{display:flex;justify-content:space-between;align-items:center;background:#a599fa12;padding:10px 15px;border:1px solid #a599fa25;border-radius:9px;margin-bottom:8px;color:#c2b9ef;font-size:11px}.emoji-picker{position:absolute;bottom:110px;left:30px;display:grid;grid-template-columns:repeat(8,1fr);background:#252939;border:1px solid #45405b;padding:12px;border-radius:12px;box-shadow:0 10px 30px #0005;z-index:5}.emoji-picker button{font-size:23px;padding:5px;border-radius:7px}.emoji-picker button:hover{background:#ffffff12}dialog{background:#1b2030;border:1px solid #3b4055;border-radius:18px;color:var(--text);width:min(500px,calc(100vw - 30px));padding:28px;max-height:85dvh;overflow:auto;box-shadow:0 20px 90px #0008}dialog::backdrop{background:#070912b8;backdrop-filter:blur(7px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.dialog-header h2{font-size:22px;margin:0;letter-spacing:-.5px}.dialog-header button{font-size:28px;color:#939bb4}dialog p{font-size:12px;color:#9ba3bd;line-height:1.8}dialog h3{font-size:13px;margin-top:24px}dialog .person{padding:12px 0;border-bottom:1px solid var(--line)}dialog .person .status{margin-right:12px}dialog input{margin-bottom:15px}#record-dialog{text-align:center}#camera-preview{max-height:300px;width:100%;border-radius:12px;background:#0c1019}.record-indicator{display:flex;justify-content:center;gap:10px;align-items:center;font-size:30px;margin:20px}.record-indicator i{width:10px;height:10px;background:#f08f9a;border-radius:50%;animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.3}}#call-dialog{text-align:center}.call-orb{border-radius:50%;display:grid;place-items:center;background:#a599fa1a;color:var(--accent);font-size:40px;width:95px;height:95px;margin:15px auto 25px}.call-actions{display:flex;gap:10px;margin:25px 0}.call-actions>*{flex:1;border-radius:10px;padding:12px;font-size:12px}.danger{background:#e77d8c;color:#251018}.secondary{background:#36364d}.call-actions .primary{width:auto}#call-dialog small{color:#737e98;font-size:9px}.report-card{border:1px solid var(--line);border-radius:10px;margin:14px 0;padding:15px}.report-card strong{font-size:12px}.report-card button{font-size:11px;border:1px solid #4a4564;padding:7px;border-radius:7px;margin-right:6px;color:#c4bbef}#menu-button{display:none}.date-separator{text-align:center;color:#65708b;font-size:10px;margin:15px 0 25px}
@media(min-width:1600px){.chat-shell{grid-template-columns:280px minmax(0,1fr) 300px}.story{padding-left:10vw}.messages{padding-left:50px;padding-right:50px}}
@media(max-width:1150px){.chat-shell{grid-template-columns:230px minmax(0,1fr)}.people-panel{display:none}.story{padding:35px 5vw}.feature-row{gap:13px}.secure-badge{display:none}}
@media(max-width:760px){.welcome{grid-template-columns:1fr}.story{padding:24px;border-right:0;border-bottom:1px solid var(--line)}.story-body{padding:30px 0 15px}.story h1{font-size:40px;letter-spacing:-2px;margin:17px 0 15px}.story-body>p{font-size:13px}.preview{display:none}.feature-row{margin-top:20px;font-size:10px}.story footer{display:none}.auth-area{padding:32px 24px}.tiny-logo,.auth-footer{display:none}.auth-card h2{font-size:25px}.chat-shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;z-index:20;box-shadow:20px 0 60px #0008;transform:translateX(-110%);transition:transform .2s}.sidebar.open{transform:translateX(0)}#menu-button{display:block;font-size:17px}.chat-header{height:74px;padding:0 13px;gap:9px}.room-heading p{max-width:230px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.room-heading h2{font-size:14px}.room-icon{width:30px;height:30px;font-size:19px}.room-banner{padding:10px 15px}.room-banner p{font-size:9px}.messages{padding:20px 14px}.message{max-width:94%;gap:7px}.message .avatar{width:27px;height:27px;font-size:10px}.composer-area{padding:10px 12px 12px}.composer{gap:0;padding:6px}.icon-button{width:28px;font-size:21px}.composer textarea{font-size:12px;min-width:0}.composer-meta{font-size:8px}.composer-meta span:last-child{display:none}.chat-empty h3{font-size:16px}.chat-empty p{font-size:11px}.emoji-picker{left:12px;bottom:90px}dialog{padding:22px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:9px;padding:8px 11px;font-size:12px;white-space:nowrap;color:var(--text);background:var(--surface);flex-shrink:0}.theme-toggle:hover{border-color:var(--accent)}.auth-area{position:relative}.auth-area>.theme-toggle{position:absolute;top:24px;right:24px}
:root[data-theme="light"]{color-scheme:light;--bg:#f6f5fb;--surface:#fff;--line:#deddea;--muted:#61677c;--text:#222538;--accent:#6950ca;--mint:#26795b}
[data-theme="light"] .story,[data-theme="light"] .sidebar,[data-theme="light"] .people-panel{background:#eeedf6}
[data-theme="light"] input,[data-theme="light"] textarea,[data-theme="light"] .composer,[data-theme="light"] .preview,[data-theme="light"] dialog,[data-theme="light"] .emoji-picker{background:#fff;border-color:var(--line)}
[data-theme="light"] .auth-tabs,[data-theme="light"] .sample p,[data-theme="light"] .secondary{background:#e8e5f3}
[data-theme="light"] .auth-tabs .selected,[data-theme="light"] nav button.active,[data-theme="light"] .mine .message-bubble,[data-theme="light"] .sample.right p{background:#e6dffb;color:#49358c}
[data-theme="light"] .message-bubble{background:#fff;color:var(--text);border-color:var(--line)}
[data-theme="light"] :is(.story-body>p,.eyebrow,.preview-title small,.sample small,.feature-row,footer,.auth-footer,.privacy-note,.terms,.section-label,nav button,.empty-direct,.profile small,.room-heading p,.message-meta,.message-meta time,.message-tools button,.composer-meta,.panel-subtitle,.person small,.community-card p,.panel-note,.chat-empty,.file-card small){color:var(--muted)}
[data-theme="light"] :is(.message-meta strong,.chat-empty h3){color:var(--text)}
[data-theme="light"] :is(.new-chat,.purple,.text-button,.file-card,.upload-preview,.community-card button,.report-card button,.room-banner,.room-banner strong){color:#59409e}
[data-theme="light"] .primary,[data-theme="light"] .send-button{color:#fff}[data-theme="light"] .primary:hover{background:#5841b5}[data-theme="light"] #toast{background:#fff;border-color:#9a88c8}[data-theme="light"] .error{color:#a92945}[data-theme="light"] .secure-badge{color:var(--mint)}[data-theme="light"] input::placeholder,[data-theme="light"] textarea::placeholder{color:#777c8c}
@media(max-width:760px){.header-actions{gap:5px}.chat-header .theme-toggle{width:32px;height:34px;padding:0;font-size:20px}.chat-header .theme-toggle span{display:none}.room-heading{flex:1}.room-heading p{max-width:100%}.auth-area>.theme-toggle{top:12px;right:16px}.auth-area{padding-top:62px}}

.unread-badge{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;border-radius:20px;background:#e45076;color:white;font-size:10px;font-weight:700;padding:0 5px;flex-shrink:0;margin-left:auto;box-shadow:0 0 0 3px #e4507612}.direct-label .unread-badge{font-size:9px}.notice-settings{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.notice-settings .secondary{padding:11px 16px;border-radius:9px}.notice-settings .primary{margin-top:4px}.notice-help,#notice-status{font-size:12px;color:var(--muted);line-height:1.8}

/* History action: touch targets and compact, accessible mobile confirmation. */
.history-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:12px;color:var(--muted)}.history-button:hover{background:var(--surface);color:var(--text)}#history-dialog #history-explanation,#history-dialog .history-peer{color:var(--text)}#history-dialog .history-note,#history-dialog .history-warning{color:var(--muted)}
#history-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;border-radius:22px;color:var(--text)}#history-dialog .dialog-header h2{font-size:20px}#history-dialog .dialog-header button{min-width:44px;min-height:44px}.history-symbol{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#a599fa18;color:var(--accent);font-size:30px;margin:12px 0}.history-peer{font-weight:700;overflow-wrap:anywhere}#history-explanation,.history-note{font-size:14px;line-height:1.7}.history-note{padding:14px;border:1px solid var(--line);border-radius:14px;color:var(--muted)}.history-warning{font-size:13px;color:var(--muted)}.history-actions{display:flex;gap:10px;margin-top:20px}.history-actions button{min-height:48px;padding:12px 16px;border-radius:12px;font-size:14px}.history-actions .danger{flex:1;font-weight:600}
@media(max-width:760px){.chat-header{padding-left:10px;padding-right:10px;gap:8px}.chat-header .room-icon{display:none}.chat-header .room-heading{min-width:0}.chat-header .room-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header .header-actions{gap:2px;flex-shrink:0}.chat-header .header-actions .icon-button,.chat-header .theme-toggle,#menu-button{min-width:44px;min-height:44px}.chat-header .secure-badge{display:none}#history-dialog{padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom));}.history-actions{flex-direction:column-reverse}.history-actions button{width:100%}.history-actions .secondary{background:var(--surface);border:1px solid var(--line)}}

#history-error:empty{margin:0;min-height:0}
@media(max-width:760px) and (max-height:650px){#history-dialog{padding:16px}.history-symbol{display:none}#history-dialog .history-peer{margin:8px 0}#history-dialog #history-explanation{font-size:13px;line-height:1.6}.history-note{font-size:12px;line-height:1.6;padding:10px}#history-dialog .history-warning{margin:8px 0}.history-actions{margin-top:12px}}

@media(max-width:760px){.sidebar{overflow-y:auto;padding-bottom:env(safe-area-inset-bottom)}.sidebar>*{flex-shrink:0}#direct-list{max-height:none;overflow:visible}}

.typing-indicator{color:var(--accent);font-size:12px;padding:0 4px 8px;line-height:20px}

/* Private groups and invitations: touch controls, safe viewport dialogs. */
.invites-button{margin:0 0 14px;background:var(--accent);color:#fff;border:0;border-radius:12px;padding:14px;text-align:left;min-height:48px;font-weight:700;width:100%}
.chat-list-info{min-width:0;flex:1;text-align:left}.chat-list-info strong,.chat-list-info small,.pending-group strong,.pending-group small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-list-info strong{font-size:13px}.chat-list-info small,.pending-group small{font-size:11px;opacity:.7;margin-top:5px}
#pending-group-list{margin-bottom:10px}.pending-group{width:100%;display:flex;gap:12px;align-items:center;min-height:64px;text-align:left;background:transparent;color:inherit;border:1px dashed var(--line);border-radius:12px;padding:10px;margin-bottom:8px}.pending-group>span:last-child{min-width:0}
.home-start{margin:auto;padding:24px}.home-actions,.group-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.home-actions button{min-height:48px}.new-chat-options{display:grid;gap:12px}.new-chat-options button{text-align:left;padding:20px;min-height:80px}.new-chat-options span{display:block;font-size:12px;opacity:.7;margin-top:8px}
#group-picker-dialog,#group-info-dialog,#invitations-dialog{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box}dialog .dialog-header{gap:12px}dialog .dialog-header h2{overflow-wrap:anywhere}dialog .dialog-header button{min-width:44px;min-height:44px}
.group-note{font-size:12px;line-height:1.6;opacity:.7}.group-person{display:flex;align-items:center;gap:12px;padding:10px 4px;min-height:58px;border-bottom:1px solid var(--line);cursor:pointer}.group-person input{width:20px;height:20px;min-width:20px;margin:0;accent-color:var(--accent)}.group-person strong,.group-person small,.group-member small{display:block}.group-person small,.group-member small{font-size:11px;opacity:.65;margin-top:5px}.group-person>span:last-child{min-width:0;overflow-wrap:anywhere}
#group-person-list{max-height:32dvh;overflow:auto;margin-top:10px}#group-selected{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.selected-person{color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:8px 12px;min-height:44px}#group-selection-count{font-size:12px}#group-create-submit{width:100%;min-height:48px}
.invitation-card{border:1px solid var(--line);border-radius:16px;padding:18px;margin:14px 0}.invitation-card h3{overflow-wrap:anywhere}.invitation-card small{display:block;font-size:12px;line-height:1.6;opacity:.7;margin-bottom:16px}.group-actions button{flex:1;min-width:90px;min-height:44px}.group-rename{display:flex;gap:8px;margin:18px 0}.group-rename input{min-width:0;flex:1}.group-rename button{min-width:100px}.group-member{display:flex;gap:10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.group-member>div:first-of-type{flex:1;min-width:100px;overflow-wrap:anywhere}.member-actions{display:flex;gap:12px;flex-wrap:wrap}.member-actions button{min-height:44px}.group-leave{width:100%;margin-top:22px;min-height:48px}#group-info-content>.secondary{min-height:44px;width:100%}
@media(max-width:600px){#group-picker-dialog input,#group-info-dialog input{font-size:16px}.group-rename{flex-wrap:wrap}.group-rename button{width:100%}.member-actions{width:100%;justify-content:flex-end}.home-actions{flex-direction:column}.room-heading{min-width:0}.room-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-header{gap:8px}.header-actions{gap:2px}.header-actions .icon-button{width:40px;min-width:40px}.home-start h3{font-size:22px}}

#group-picker-dialog p,#group-info-dialog p,#invitations-dialog p,#invitations-dialog small{color:var(--muted);opacity:1}#group-selection-count{color:var(--muted)}.home-actions .secondary,.group-actions .secondary,.new-chat-options .secondary,.group-rename .secondary,#group-info-content>.secondary{border-radius:12px;padding:12px;background:var(--surface);border:1px solid var(--line);color:var(--text)}

@media(max-width:600px){#message-input{font-size:16px}.message-bubble{font-size:14px}.invites-button{color:#fff}.group-person{margin-bottom:0}#group-picker-dialog{padding:22px}}

.chat-list-row{display:flex;align-items:center;min-width:0;gap:3px}.chat-list-row>button:first-child{flex:1;min-width:0}.chat-list-row .chat-more,.chat-more{display:grid;place-items:center;min-width:44px;min-height:44px;font-size:22px;padding:0;border-radius:10px;color:var(--muted)}.chat-more:hover{background:var(--surface);color:var(--text)}.archives-button{color:var(--muted);text-align:left;min-height:44px;margin-top:14px;font-size:12px}.chat-menu-actions{display:grid;gap:10px}.chat-menu-actions>button{min-height:60px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:14px;font-size:14px}.chat-menu-actions small{display:block;font-size:12px;color:var(--muted);margin-top:6px}.chat-menu-actions .delete-chat-option{color:#e45076}#chat-menu-peer,#chat-delete-peer{color:var(--text);overflow-wrap:anywhere}.archive-item{display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid var(--line);padding:15px 0}.archive-item>div{flex:1;min-width:120px;overflow-wrap:anywhere}.archive-item small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.archive-item .secondary{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);min-height:44px}#archives-dialog p,#chat-delete-dialog p{color:var(--muted)}#chat-delete-dialog .error{color:#e45076}#chat-menu-dialog,#archives-dialog,#chat-delete-dialog{max-height:calc(100dvh - 32px);width:min(480px,calc(100vw - 24px))}

.upload-media:empty{display:none}.upload-media{padding:8px 0}.upload-media img,.upload-media video{max-width:100%;max-height:150px;border-radius:12px;display:block}.upload-media audio{max-width:100%}.upload-transfer{padding:12px;border:1px solid var(--line);border-radius:14px;margin:6px 0 10px}.upload-transfer progress{width:100%;height:8px;accent-color:#a28af5}.upload-transfer p{font-size:13px;overflow-wrap:anywhere;margin:8px 0}.upload-transfer small{font-size:11px;line-height:1.5;display:block;opacity:.75;margin-top:8px}.transfer-actions{display:flex;gap:8px}.transfer-actions button,.attachment-options button{background:var(--surface);color:inherit;border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-height:44px}.attachment-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.attachment-options button{text-align:left;font-size:14px}.attachment-options small{display:block;font-size:11px;opacity:.7;margin-top:7px}.media-fallback{font-size:12px;opacity:.8}.upload-preview{overflow-wrap:anywhere;min-width:0}.upload-preview span{min-width:0;overflow:hidden;text-overflow:ellipsis}.upload-transfer[hidden]{display:none}@media(max-width:480px){.upload-media img,.upload-media video{max-height:120px}.attachment-options{grid-template-columns:1fr}.upload-transfer{padding:9px}.upload-transfer small{font-size:10px}}


.install-card{display:flex;align-items:center;gap:14px;width:100%;max-width:400px;text-align:left;border:1px solid var(--line);border-radius:18px;padding:17px;margin:20px 0 10px;background:linear-gradient(125deg,var(--surface),var(--bg));color:var(--text);box-shadow:0 8px 30px #0000000a}.install-card>span:nth-child(2){flex:1}.install-card strong,.install-card small{display:block}.install-card small{font-size:12px;color:var(--muted);margin-top:4px}.install-mark{display:grid;place-items:center;border-radius:14px;width:44px;height:44px;background:var(--accent);color:var(--bg);font-weight:800}.install-options{display:grid;gap:12px;margin:22px 0}.install-option{display:flex;align-items:center;gap:14px;width:100%;min-height:76px;text-align:left;text-decoration:none;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:16px;padding:16px}.install-option>span{font-size:26px;color:var(--accent)}.install-option>div{flex:1}.install-option small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.install-note,#ios-guide{color:var(--muted);font-size:13px;line-height:1.8}#install-dialog{width:min(460px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}#ios-guide li{margin:10px 0}.brand .logo{font-size:18px;letter-spacing:-1px}.install-card:focus-visible,.install-option:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:600px){.install-card{max-width:none;margin:16px 0}.install-option{min-height:80px}}

/* AS Chat 2: accessible system theme and mobile-first account/conversation flow. */
.logo,.brand .logo,.install-mark{color:#fff!important;background:#6950ca!important}input,select,textarea{font-size:16px}select{width:100%;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:13px;margin:8px 0 16px}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.person strong{font-size:14px}.person small{font-size:12px}.sidebar .profile strong{font-size:14px}.message-bubble{font-size:15px;line-height:1.6}.connection-card{padding:16px;border:1px solid var(--line);border-radius:14px;margin:12px 0}.connection-card button{min-height:44px;padding:12px}.connection-card strong{display:block;margin-bottom:12px}.device-item{border-bottom:1px solid var(--line);padding:15px 0;overflow-wrap:anywhere}.device-item small{display:block;color:var(--muted);margin:7px 0}#mobile-nav{display:none}#forgot-password{display:block;margin:18px auto 0;min-height:44px}#my-invite-link{font-size:13px}#contact-invites-button{margin-top:14px;background:var(--surface);color:var(--text);border:1px solid var(--line)}.sidebar{overflow-y:auto}.chat-header .room-heading{min-width:0}
@media(max-width:760px){.welcome{display:flex;flex-direction:column;min-height:100dvh}.story{padding:20px 24px 4px;border:0;background:var(--bg)!important}.story-body,.story footer{display:none}.story>.brand{font-size:22px}.auth-area{padding:64px 24px 24px;justify-content:flex-start;flex:1}.auth-area>.theme-toggle{top:12px;right:24px}.auth-card{width:100%;max-width:420px}.auth-card h2{font-size:29px}.auth-card>p{font-size:14px}.auth-card label{font-size:14px}.auth-card input{min-height:48px}.auth-tabs button{min-height:48px;font-size:15px}.privacy-note{margin-top:22px}.chat-shell{height:calc(100dvh - 66px - env(safe-area-inset-bottom))}.sidebar{position:relative;transform:none;box-shadow:none;width:100%;height:100%;z-index:1;padding:22px 18px;border:0}.conversation{display:none}.in-conversation .sidebar{display:none}.in-conversation .conversation{display:flex;flex-direction:column;height:100%}.sidebar .sidebar-bottom{margin-top:24px}.sidebar .brand{margin-bottom:18px}.sidebar #profile-button{display:none}.chat-list-info strong{font-size:16px}.chat-list-info small{font-size:13px}.chat-list-row{min-height:72px}.chat-list-row .avatar{width:44px;height:44px}.new-chat{min-height:48px;font-size:16px}.chat-header #menu-button{font-size:22px}.chat-header #menu-button::before{content:'‹';font-size:30px}.chat-header #menu-button{font-size:0}.messages{flex:1;min-height:0}.message-bubble{font-size:16px}.composer textarea{font-size:16px}.composer-area{padding-bottom:12px}.composer .icon-button{min-height:44px;width:34px}.composer .send-button{min-width:44px;min-height:44px}.header-actions .theme-toggle{display:none}body.logged-in #mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;height:calc(66px + env(safe-area-inset-bottom));padding:6px 12px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);z-index:15;justify-content:space-around}#mobile-nav button{display:flex;flex-direction:column;gap:5px;align-items:center;justify-content:center;min-width:80px;color:var(--text);font-size:21px}#mobile-nav span{font-size:12px}.community-card{display:none}dialog{max-height:calc(100dvh - 30px);width:calc(100vw - 24px)}dialog p{font-size:14px}.auth-area .install-card{margin-top:18px}.auth-area .terms{font-size:12px}.person{min-height:60px}.home-start{padding:20px}}

#call-videos{position:relative;margin-top:16px;border-radius:16px;overflow:hidden;background:#0b0d13}#remote-video{width:100%;max-height:60dvh;min-height:160px;object-fit:contain}#local-video{position:absolute;right:12px;bottom:12px;width:100px;height:130px;object-fit:cover;border:2px solid #fff;border-radius:12px;transform:scaleX(-1)}#call-dialog .call-actions{flex-wrap:wrap}#call-dialog:has(#call-videos:not([hidden])){width:min(720px,calc(100vw - 24px))}#call-dialog:has(#call-videos:not([hidden])) .call-orb{display:none}#call-dialog .call-actions button{min-height:48px;min-width:100px}#call-videos[hidden]{display:none}

#invite-qr{display:block;width:228px;height:228px;max-width:100%;margin:18px auto;background:#fff;border-radius:10px}#contact-group-invites{margin:12px 0;min-height:44px}
