:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eef3ff;background:#0e1320;--bg:#0e1320;--surface:#151c2c;--surface-2:#1c263a;--border:rgba(255,255,255,.09);--text:#eef3ff;--muted:#8c9ab6;--accent:#7b6cff;--accent-2:#42d6ff;--shadow:0 22px 60px rgba(0,0,0,.28)}
:root[data-theme="light"]{--bg:#f5f7fb;--surface:#fff;--surface-2:#f0f3f9;--border:#e2e7f0;--text:#172033;--muted:#73809a;--accent:#635bff;--accent-2:#0ea5e9;--shadow:0 18px 45px rgba(38,52,86,.12)}
:root[data-theme="ocean"]{--bg:#071d2b;--surface:#0b2a3b;--surface-2:#103a4d;--border:rgba(116,225,255,.16);--text:#e5fbff;--muted:#8cb4c1;--accent:#18c7c0;--accent-2:#55d8ff;--shadow:0 22px 60px rgba(0,0,0,.36)}
:root[data-theme="galaxy"]{--bg:#100d24;--surface:#1b1538;--surface-2:#292052;--border:rgba(195,157,255,.17);--text:#f5efff;--muted:#a99cc9;--accent:#b56cff;--accent-2:#ff77b7;--shadow:0 22px 60px rgba(0,0,0,.42)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% -10%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 36%),var(--bg);color:var(--text);transition:background .25s,color .25s}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:12px;padding:.7rem 1rem;background:var(--accent);color:#fff;transition:transform .18s,filter .18s,background .18s}button:hover{filter:brightness(1.1);transform:translateY(-1px)}button:disabled{opacity:.55;cursor:not-allowed}.auth{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--accent) 28%,transparent),transparent 48%),var(--bg)}.auth-card{width:min(430px,100%);padding:42px;background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow);backdrop-filter:blur(20px)}.brand{font-size:1.45rem;font-weight:850;letter-spacing:-.03em}.brand small{font-size:.65rem;color:var(--accent-2);margin-left:.4rem;letter-spacing:.05em}.auth h1{font-size:2rem;letter-spacing:-.04em;margin:28px 0 22px}.auth form{display:grid;gap:16px}.auth label{display:grid;gap:8px;color:var(--muted);font-size:.86rem;font-weight:650}.auth input,.composer input{background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:14px;padding:.9rem 1rem;outline:none}.auth input:focus,.composer input:focus{border-color:var(--accent-2);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-2) 18%,transparent)}.link{display:block;background:none;color:var(--accent-2);margin:18px auto 0}.error{color:#ff9b9b}.loading-screen{min-height:100vh;display:grid;place-items:center;color:var(--muted);background:var(--bg)}.app{min-height:100vh;display:flex;flex-direction:column}header{height:76px;display:flex;align-items:center;gap:20px;padding:0 clamp(18px,4vw,56px);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(18px);position:sticky;top:0;z-index:10}.user{margin-left:auto;display:flex;align-items:center;gap:12px;color:var(--text);font-weight:700}.user button{padding:.55rem .85rem;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.presence{color:var(--muted);font-size:.8rem}.presence.on{color:#56e2a0}.theme-toggle{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);font-size:.78rem;padding:.5rem .75rem}nav:not(.bottom-nav){display:flex;gap:8px;padding:14px clamp(18px,4vw,56px);border-bottom:1px solid var(--border);background:var(--surface)}nav:not(.bottom-nav) button{background:transparent;color:var(--muted);font-weight:700}nav:not(.bottom-nav) button.selected{background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text)}.chat-layout{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);height:calc(100vh - 135px);max-width:1500px;width:100%;margin:0 auto;background:var(--surface);box-shadow:var(--shadow)}aside{border-right:1px solid var(--border);overflow:auto;background:color-mix(in srgb,var(--surface) 92%,var(--bg))}.section-title,.thread-head{padding:24px 26px;font-weight:800;font-size:1.05rem}.conv{display:grid;grid-template-columns:48px 1fr;gap:12px;align-items:center;text-align:left;width:100%;border-radius:0;background:transparent;color:var(--text);border-top:1px solid var(--border);padding:16px 22px}.conv small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv b{font-size:.94rem}.conv.active{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 22%,transparent),transparent)}.conv-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-size:.8rem;font-weight:850}.conversation-filters{display:flex;gap:7px;padding:0 22px 17px;overflow:auto}.conversation-filters button{white-space:nowrap;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);padding:.48rem .72rem;font-size:.74rem}.conversation-filters button.active{background:var(--accent);color:#fff;border-color:transparent}.thread{display:flex;flex-direction:column;min-width:0;background:var(--bg)}.thread-head{border-bottom:1px solid var(--border);background:var(--surface)}.thread-head span{float:right;color:#56e2a0;font-size:.8rem;font-weight:500}.messages{flex:1;overflow:auto;padding:clamp(22px,4vw,46px);display:flex;flex-direction:column;gap:14px;overscroll-behavior:contain}.bubble{max-width:min(70%,620px);align-self:flex-start;background:var(--surface-2);padding:13px 17px;border-radius:18px 18px 18px 6px;overflow-wrap:anywhere;box-shadow:0 8px 24px rgba(0,0,0,.08)}.bubble.mine{align-self:flex-end;background:linear-gradient(135deg,var(--accent),#4b8df8);border-radius:18px 18px 6px}.bubble small{display:block;color:var(--muted);font-size:.7rem;margin-top:7px}.composer{display:flex;gap:12px;padding:18px 22px;border-top:1px solid var(--border);padding-bottom:max(18px,env(safe-area-inset-bottom));background:var(--surface)}.composer input{flex:1}.empty,.empty-list{color:var(--muted)}.empty{margin:auto}.empty-list{padding:24px 22px;line-height:1.5}.panel{padding:clamp(24px,5vw,56px);max-width:860px;width:100%;margin:0 auto}.row{display:flex;gap:10px;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}.row small{color:var(--muted);margin-left:auto}.toast{position:fixed;right:20px;top:90px;padding:13px 17px;background:#3b2024;border:1px solid #863f49;z-index:20;border-radius:14px}.toast button{background:none;padding:0;margin-left:12px}.bottom-nav{display:none}.back-mobile{display:none;background:transparent;color:var(--accent-2);text-align:left;padding:10px 16px;border-radius:0}@media(max-width:650px){header{height:64px;padding:0 16px;gap:10px}.user{font-size:0}.user button{font-size:.78rem}.theme-toggle{font-size:0;width:36px;height:36px;padding:0}.theme-toggle::before{content:'◐';font-size:1rem}.chat-layout{grid-template-columns:1fr;height:calc(100dvh - 128px);box-shadow:none}.chat-layout aside{max-height:none;border-right:0;border-bottom:0}.thread{min-height:0}.bubble{max-width:88%}.row{align-items:flex-start;flex-direction:column;gap:4px}.row small{font-size:.7rem;margin-left:0}.chat-layout.show-list .thread{display:none}.chat-layout.show-thread aside{display:none}.chat-layout.show-thread .thread{display:flex}.back-mobile{display:block}nav:not(.bottom-nav){display:none}.messages{padding:20px 14px 28px}.composer{position:sticky;bottom:0;padding:12px 14px}.section-title{padding:20px 18px}.conversation-filters{padding:0 18px 16px}.conv{padding:15px 18px}.bottom-nav{display:flex!important;position:fixed;z-index:30;left:0;right:0;bottom:0;height:70px;padding:8px max(12px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom));justify-content:space-around;background:color-mix(in srgb,var(--surface) 92%,transparent);border-top:1px solid var(--border);backdrop-filter:blur(18px)}.bottom-nav button{display:grid;place-items:center;gap:2px;background:transparent;color:var(--muted);padding:4px 10px;font-size:.68rem}.bottom-nav button.active{color:var(--accent-2)}.bottom-icon{font-size:1.1rem;line-height:1.2}.panel{padding:26px 18px 100px}.empty{padding:28px}.composer{padding-bottom:calc(12px + 70px)}.auth-card{padding:32px 24px;border-radius:24px}}
