:root{color-scheme:dark;--bg:#081716;--panel:#102524;--panel2:#152e2c;--line:#28433e;--text:#eef6ed;--muted:#97aca4;--accent:#b8e67f;--danger:#f28a80;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 20% 0%,#254137 0,transparent 45%),var(--bg);color:var(--text);min-height:100dvh}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}a{color:var(--muted)}h1,h2,p{margin:0}button{border:0;color:inherit}input,textarea{background:#0b1e1b;border:1px solid var(--line);border-radius:12px;padding:13px;color:var(--text);width:100%;resize:none}label{display:block;font-size:13px;color:var(--muted);margin:16px 0 0}label input{display:block;margin-top:7px}button.primary{background:var(--accent);color:#18301b;font-weight:650;border-radius:12px;padding:13px 20px}button.secondary{background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 18px}button.danger{background:#6b3532;border-radius:10px;padding:10px;color:#ffe8e4}.small-btn{padding:9px 14px!important;font-size:13px}.icon-btn{width:40px;height:40px;display:inline-grid;place-items:center;background:transparent;border-radius:12px;font-size:24px;color:var(--muted);flex:none}.icon-btn:hover{background:#254339;color:var(--text)}.eyebrow{display:block;color:var(--accent);font-size:10px;font-weight:700;letter-spacing:2px}.hint{color:var(--muted);font-size:13px;line-height:1.65}.error{color:var(--danger);font-size:13px;line-height:1.6;min-height:20px;margin-top:12px}.small{font-size:11px;color:var(--muted);line-height:1.8}.text-btn{background:none;color:var(--accent);font-size:13px}
.auth-screen{display:grid;place-items:center;min-height:100dvh;padding:28px}.auth-card{width:380px;max-width:100%;padding:36px;background:linear-gradient(160deg,#18382e,#102524);border:1px solid #365141;border-radius:26px;box-shadow:0 28px 100px #0005}.brand-icon{width:52px;height:52px;margin-bottom:24px}.auth-card h1{font-size:44px;font-weight:650;letter-spacing:-2px;margin:7px 0 12px}.intro{font-size:18px;line-height:1.5;color:#cbdacb;margin-bottom:24px}.auth-card #authSubmit{width:100%;margin-top:24px}.auth-footer{border-top:1px solid var(--line);padding-top:20px;margin-top:14px;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:9px}.mini-dot{width:6px;height:6px;background:var(--accent);border-radius:50%}
.shell{max-width:1220px;margin:36px auto;display:grid;grid-template-columns:280px 1fr;height:calc(100dvh - 72px);min-height:500px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--panel);box-shadow:0 25px 100px #0004}.sidebar{display:flex;flex-direction:column;background:#0e211f;border-right:1px solid var(--line)}.brand{padding:26px 20px 24px;display:flex;align-items:center;gap:12px}.brand img{width:36px;height:36px}.brand strong{font-size:21px}.brand span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.brand .icon-btn{margin-left:auto}.sidebar-label{padding:12px 20px 8px;display:flex;align-items:center;justify-content:space-between}.sidebar-label>span{font-size:10px;letter-spacing:1.8px;color:#718a7e}.room-item{width:calc(100% - 20px);margin:3px 10px;padding:13px 12px;display:flex;align-items:center;gap:13px;background:transparent;text-align:left;border-radius:13px}.room-item.selected{background:#254136}.room-item:hover{background:#1b342d}.room-item strong{display:block;font-size:14px;font-weight:600}.room-item small{color:var(--muted);font-size:11px;display:block;margin-top:4px}.avatar{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:#345139;color:#d1e8b5;font-size:17px;font-weight:650;flex:none}.room-item:nth-child(3n) .avatar{background:#35444c;color:#cadfec}.room-item:nth-child(3n+2) .avatar{background:#554437;color:#e4cfb2}.sidebar-bottom{margin-top:auto;padding:24px 22px;display:flex;flex-direction:column;gap:10px;font-size:11px;border-top:1px solid #1c352b}.connection{display:flex;align-items:center;gap:8px;color:var(--muted)}.connection:before{content:'';width:6px;height:6px;background:#d8a963;border-radius:50%}.connection.online:before{background:var(--accent)}.conversation{min-width:0;min-height:0;background:radial-gradient(ellipse at 70% 30%,#1e38252b,transparent 65%),#102321}.welcome{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px}.welcome-mark{height:90px;width:90px;border:1px solid #385445;border-radius:30px;display:grid;place-items:center;font-size:58px;color:var(--accent);background:#19382b;margin-bottom:28px}.welcome h2{font-size:28px;letter-spacing:-.6px}.welcome p{color:var(--muted);font-size:14px;line-height:1.9;margin:14px 0 24px}.welcome .small{max-width:300px;margin-top:22px}.chat{height:100%;display:flex;flex-direction:column;min-height:0}.chat-header{padding:18px 24px;display:flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);flex:none;background:#132c25}.chat-title{flex:1;min-width:0}.chat-title h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-title p{font-size:11px;color:var(--muted);margin-top:5px}.messages{flex:1;min-height:0;overflow:auto;padding:26px;scroll-behavior:smooth}.message-row{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:14px;max-width:100%}.message-row.mine{align-items:flex-end}.bubble{max-width:min(480px,88%);padding:12px 15px;background:#1e3830;border:1px solid #294538;border-radius:15px 15px 15px 3px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.65}.mine .bubble{background:#315035;border-color:#436341;border-radius:15px 15px 3px 15px}.sender{font-size:10px;font-weight:600;color:var(--accent);display:block;margin-bottom:5px}.message-meta{font-size:10px;color:#718b79;margin:5px 4px 0}.bubble audio{max-width:100%;width:265px;display:block;margin-top:7px}.voice-download{font-size:12px;color:var(--accent);background:#254738;border-radius:8px;padding:8px 12px;margin-top:5px}.date-label{text-align:center;font-size:10px;color:#879a87;margin:6px 0 24px}.composer{display:flex;gap:7px;align-items:flex-end;padding:14px 20px 18px;border-top:1px solid var(--line);background:#10251f}.composer textarea{flex:1;background:#193228;border-color:#304c37;min-height:44px;max-height:140px;padding:12px 14px;font-size:14px}.composer .icon-btn{height:44px;width:36px}.composer .mic{font-size:19px}.send-btn{height:44px;width:44px;border-radius:14px;background:var(--accent);color:#24402a;font-size:27px;flex:none}.notice{font-size:12px;padding:13px 22px;background:#3e3526;color:#e9d6ac;line-height:1.6}.call-panel{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:16px 24px;background:#254235;border-bottom:1px solid #3a5840}.call-panel>div{flex:1;min-width:130px}.call-panel strong,.call-panel span{display:block}.call-panel strong{font-size:13px}.call-panel #callStatus{font-size:11px;color:var(--muted);margin-top:5px}.call-pulse{width:10px;height:10px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 6px #b8e67f15}.record-panel{display:flex;align-items:center;gap:12px;background:#362b25;padding:15px 24px;font-size:12px;color:#e6beb1}.record-panel .text-btn{margin-left:auto}.record-dot{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:blink 1s infinite}.voice-preview{display:flex;gap:10px;align-items:center;padding:12px 20px;background:#213b2f}.voice-preview audio{flex:1;min-width:100px;width:100%}.voice-preview .primary{flex:none}
dialog{width:420px;max-width:calc(100% - 32px);border:1px solid #446341;border-radius:22px;background:#163024;color:var(--text);padding:30px;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#04100dbb;backdrop-filter:blur(4px)}dialog h2{font-size:25px;margin:10px 0 18px}dialog p{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:18px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}dialog textarea{font-size:12px;line-height:1.65}#callPeople button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px;background:#244332;border-radius:12px;margin-bottom:9px}#callPeople small{display:block;color:var(--muted);font-size:11px;margin-top:3px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);max-width:90%;background:#355239;border:1px solid #637d51;color:var(--text);padding:13px 20px;border-radius:14px;font-size:13px;z-index:20;box-shadow:0 10px 40px #0008}.mobile-only{display:none}.diagnostic{max-width:650px;margin:60px auto;padding:32px;line-height:1.8}.diagnostic h1{margin:12px 0;font-size:32px}.diagnostic p{color:var(--muted);margin:12px 0 24px}.diagnostic pre{white-space:pre-wrap;font-size:13px;background:#11271e;padding:20px;border:1px solid var(--line);border-radius:14px;margin-top:24px}.diagnostic button{margin:0 8px 12px 0}@keyframes blink{50%{opacity:.3}}
@media(max-width:1260px){.shell{margin:20px;height:calc(100dvh - 40px)}}@media(max-width:720px){body{background:var(--panel)}.shell{margin:0;height:100dvh;min-height:0;border:0;border-radius:0;display:block}.sidebar{height:100%;border:0}.conversation{height:100%;display:none}.shell.show-chat .sidebar{display:none}.shell.show-chat .conversation{display:block}.brand{padding:24px 22px}.mobile-only{display:inline-grid}.chat-header{padding:14px 10px;gap:8px}.chat-header .avatar{height:36px;width:36px;border-radius:12px}.chat-header .icon-btn{width:34px}.messages{padding:18px 14px}.composer{padding:11px 9px max(12px,env(safe-area-inset-bottom));gap:4px}.composer textarea{font-size:16px}.bubble{max-width:90%}.call-panel{padding:13px 14px;gap:8px}.voice-preview{padding:12px 9px;gap:5px}.auth-card{padding:30px}.toast{bottom:85px}.diagnostic{padding:24px;margin:24px auto}}
.chat-connection{font-size:10px;margin-top:5px}.chat-title p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:720px){.chat-header{padding-top:max(14px,env(safe-area-inset-top))}}
