@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#0b1020;--panel:#10182a;--panel2:#141f33;--line:#25314a;--muted:#8795ad;--text:#eef2ff;--purple:#a998ff;--purple2:#7968e8;--mint:#65d9b0}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif}
body{min-height:100vh;background:radial-gradient(ellipse at 70% -20%,#27224c 0,transparent 43%),var(--bg)}
button,textarea{font:inherit}
button{cursor:pointer}
.app{min-height:100vh;display:grid;grid-template-columns:68px 270px minmax(0,1fr);max-width:1600px;margin:auto}
.rail{background:#0b1120;border-right:1px solid #202b40;display:flex;align-items:center;flex-direction:column;padding:18px 0;gap:17px}
.brand{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#b09cff,#7167e9);color:white;text-decoration:none;font-size:23px;box-shadow:0 8px 24px #7968e833;margin-bottom:18px}
.brand span:last-child{display:none}
.rail-button{width:40px;height:40px;border:0;border-radius:12px;background:transparent;color:#7887a1;font-size:20px}
.rail-button.active,.rail-button:hover{background:#211f3e;color:#c5baff}
.rail-spacer{flex:1}
.you-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#e6bd9b,#a86c66);color:#251b24;font-weight:800}
.members-panel{background:rgba(15,23,39,.92);border-right:1px solid #202b40;padding:27px 18px 16px;display:flex;flex-direction:column;min-height:100vh}
.panel-heading{display:flex;justify-content:space-between;align-items:center;margin:0 3px 23px}
.eyebrow{font-size:9px;letter-spacing:1.8px;color:#8290aa;font-weight:700}
h1{font:800 22px 'Manrope',sans-serif;margin:5px 0 0;letter-spacing:-.8px}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px #65d9b077}
.new-chat{height:43px;border:1px solid #39355e;border-radius:11px;background:linear-gradient(100deg,#28244a,#211f3b);color:#e5e0ff;text-align:left;padding:0 13px;font-weight:600;font-size:12px}
.new-chat span{font-size:19px;vertical-align:-2px;margin-right:8px;color:#bcaeff}
.section-title{display:flex;justify-content:space-between;margin:29px 4px 12px;color:#8794aa;font-size:9px;letter-spacing:1.5px;font-weight:700}
.count{color:#626f87}
.members-list{display:flex;flex-direction:column;gap:6px}
.member{display:flex;align-items:center;gap:11px;padding:10px 9px;border-radius:11px;transition:.15s}
.member:hover{background:#19243a}
.member-avatar{width:37px;height:37px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:14px;flex-shrink:0}
.member-info{min-width:0;flex:1}
.member-info strong{display:block;font-size:12px;font-weight:700}
.member-info small{display:block;color:#8190a8;font-size:10px;margin-top:3px}
.member-state{width:7px;height:7px;border-radius:50%;background:#66738a}
.member-state.demo{background:#e4b96f}
.panel-bottom{margin-top:auto}
.mode-card{display:flex;gap:10px;padding:12px;background:#1a1c35;border:1px solid #343252;border-radius:12px;margin-bottom:15px}
.mode-icon{width:29px;height:29px;border-radius:9px;background:#302a56;display:grid;place-items:center;color:#c6baff}
.mode-card strong{font-size:11px}
.mode-card p{margin:4px 0 0;color:#a2a9be;font-size:10px;line-height:1.45}
.user-row{display:flex;align-items:center;gap:10px;padding:10px 3px;border-top:1px solid #263148}
.you-avatar.small{width:31px;height:31px;font-size:12px}
.user-row strong{display:block;font-size:11px}.user-row small{display:block;color:#8390a6;font-size:10px;margin-top:2px}.more{margin-left:auto;color:#77849b;letter-spacing:2px}
.main{min-width:0;display:flex;flex-direction:column;min-height:100vh;position:relative}
.topbar{height:76px;flex-shrink:0;border-bottom:1px solid #202b40;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:#0d1424cc;backdrop-filter:blur(16px)}
.room-title{display:flex;align-items:center;gap:11px;margin-right:auto}
.room-icon{width:35px;height:35px;border-radius:11px;background:#1b2440;color:#c0b3ff;display:grid;place-items:center;font-size:16px}
.room-title strong{display:block;font-size:12px}.room-title small{display:block;color:#8491a7;font-size:10px;margin-top:3px}
.top-actions{display:flex;align-items:center;gap:13px}
.demo-chip{font-size:9px;letter-spacing:1.2px;font-weight:700;color:#e6c17d;background:#332b20;border:1px solid #55442c;border-radius:20px;padding:6px 9px}
.demo-chip i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#e8bd69;margin-right:5px}
.icon-button{width:34px;height:34px;border:1px solid #2a3650;border-radius:10px;background:#151f32;color:#98a5bb;font-size:17px}
.mobile-brand{display:none}
.conversation{width:100%;max-width:920px;margin:0 auto;flex:1;min-height:300px;padding:35px 48px 28px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}
.welcome{margin:auto;width:100%;max-width:620px;text-align:center;padding:20px 0}
.welcome-symbol{width:58px;height:58px;border-radius:19px;margin:0 auto 20px;display:grid;place-items:center;background:linear-gradient(145deg,#302957,#1d2440);border:1px solid #4b4277;color:#d1c4ff;font-size:28px;box-shadow:0 12px 35px #6f5bd51c}
.welcome h2{font:800 clamp(30px,4vw,43px)/1.13 'Manrope',sans-serif;letter-spacing:-1.7px;margin:13px 0 12px}
.welcome h2 span{color:#b4a6ff}
.welcome>p{max-width:430px;margin:0 auto;color:#99a6bd;font-size:13px;line-height:1.7}
.suggestions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:32px;text-align:left}
.suggestion{min-height:100px;padding:13px;border:1px solid #2a3650;border-radius:13px;background:linear-gradient(145deg,#172239,#111a2b);color:#e9edfa;text-align:left}
.suggestion:hover{border-color:#655a9a;transform:translateY(-2px)}
.suggestion>span{display:block;color:#b9aaff;font-size:19px;margin-bottom:12px}
.suggestion b{display:block;font-size:11px}
.suggestion small{display:block;color:#8c9ab1;font-size:10px;margin-top:4px}
.message{max-width:min(82%,680px);padding:14px 16px;border:1px solid #2b3852;background:#151f32;border-radius:4px 15px 15px 15px;align-self:flex-start;box-shadow:0 5px 18px #00000012}
.message.user{align-self:flex-end;background:linear-gradient(135deg,#322b5c,#27264d);border-color:#4d447b;border-radius:15px 4px 15px 15px}
.message-head{display:flex;align-items:center;gap:9px;margin-bottom:8px}
.message-avatar{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;font-size:11px;font-weight:800}
.message-name{font-size:11px;font-weight:700}
.message-tag{font-size:8px;color:#e4bc76;letter-spacing:.8px;font-weight:700}
.message-body{font-size:13px;line-height:1.65;color:#dce4f3;white-space:pre-wrap;overflow-wrap:anywhere}
.composer-area{width:100%;max-width:920px;margin:0 auto;padding:0 48px 19px}
.composer{border:1px solid #3b4562;border-radius:17px;background:#121c2e;box-shadow:0 14px 40px #0003;padding:13px 14px 10px;transition:border-color .2s}
.composer:focus-within{border-color:#7569b4;box-shadow:0 0 0 3px #8c7af21a,0 14px 40px #0003}
.composer textarea{display:block;width:100%;min-height:43px;max-height:160px;resize:none;border:0;outline:0;background:transparent;color:#f0f3ff;font:400 14px/1.5 'DM Sans',sans-serif;padding:3px 2px 9px}
.composer textarea::placeholder{color:#77859d}
.composer-tools{display:flex;align-items:center;justify-content:space-between}
.composer-hint{font-size:9px;color:#78869d}.composer-hint span:first-child{display:inline-grid;place-items:center;border:1px solid #45516a;border-radius:4px;width:15px;height:15px;margin-right:4px;color:#b0bbce}.hint-divider{margin:0 5px}
.send-button{height:35px;padding:0 11px 0 14px;border:0;border-radius:10px;background:linear-gradient(135deg,#a18bff,#7669e9);color:white;font-size:11px;font-weight:700;display:flex;align-items:center;gap:12px;box-shadow:0 5px 15px #7669e944}
.send-button b{width:21px;height:21px;border-radius:7px;background:#ffffff26;display:grid;place-items:center;font-size:15px}
.send-button:disabled{opacity:.55;cursor:wait}
.disclaimer{text-align:center;color:#687790;font-size:9px;margin-top:10px}
.typing{display:flex;align-items:center;gap:5px;color:#a6b2c8;font-size:11px;padding:5px 2px}
.typing i{width:5px;height:5px;background:#a998ff;border-radius:50%;animation:pulse .8s infinite alternate}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}
@keyframes pulse{to{opacity:.25;transform:translateY(-3px)}}
@media(max-width:850px){.app{grid-template-columns:58px 220px minmax(0,1fr)}.members-panel{padding:22px 12px}.conversation{padding-left:25px;padding-right:25px}.composer-area{padding-left:25px;padding-right:25px}}
@media(max-width:650px){.app{display:flex;flex-direction:column;min-height:100dvh}.rail{display:none}.members-panel{min-height:auto;border-right:0;border-bottom:1px solid #202b40;padding:13px 14px 11px}.panel-heading{display:none}.new-chat{display:none}.section-title{margin:0 2px 8px}.members-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.member{display:flex;flex-direction:column;gap:5px;padding:7px 2px;text-align:center;background:#151f32;border:1px solid #27334a;border-radius:10px}.member-avatar{width:31px;height:31px;border-radius:10px}.member-info strong{font-size:9px;white-space:nowrap}.member-info small{display:none}.member-state{display:none}.panel-bottom{display:none}.main{min-height:calc(100dvh - 123px);flex:1}.topbar{height:57px;padding:0 14px}.room-icon{width:30px;height:30px}.room-title strong{font-size:11px}.room-title small{font-size:9px}.top-actions{gap:8px}.mobile-brand{display:flex;align-items:center;gap:8px;margin-right:12px}.mobile-brand .brand-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(145deg,#b09cff,#7167e9)}.mobile-brand strong{font:800 12px 'Manrope',sans-serif}.conversation{padding:22px 13px 15px;min-height:300px}.welcome{padding:12px 0}.welcome-symbol{width:48px;height:48px;margin-bottom:16px}.welcome h2{font-size:31px}.welcome>p{font-size:12px;max-width:310px}.suggestions{grid-template-columns:1fr;gap:7px;margin-top:22px}.suggestion{min-height:0;display:grid;grid-template-columns:27px 1fr;column-gap:8px;align-items:center;padding:10px 12px}.suggestion>span{grid-row:span 2;margin:0;font-size:17px}.suggestion b{font-size:10px}.suggestion small{font-size:9px;margin-top:2px}.message{max-width:94%;padding:11px 12px}.message-body{font-size:12px}.composer-area{padding:0 10px 9px}.composer{padding:10px 11px 8px;border-radius:14px}.composer textarea{font-size:14px;min-height:42px}.composer-hint{font-size:8px}.disclaimer{font-size:8px;margin-top:7px}}
@media(max-width:370px){.member-info strong{font-size:8px}.demo-chip{font-size:8px}.mobile-brand strong{display:none}.composer-hint{max-width:175px}}

.member-state.live{background:#65d9b0;box-shadow:0 0 10px #65d9b077}
.demo-chip.live{color:#8ee5c4;background:#17382f;border-color:#285d4c}
.message-tag.live{color:#75e0b8}
.message.system{border-color:#68434b;background:#2a1c28}

.demo-chip{font:inherit;font-size:9px;letter-spacing:1.2px;font-weight:700;cursor:pointer}
.demo-chip:hover{filter:brightness(1.15);border-color:#7569b4}
.setup-backdrop{position:fixed;inset:0;z-index:50;background:#050914cc;display:grid;place-items:center;padding:16px}
.setup-backdrop[hidden]{display:none}
.setup-dialog{width:min(100%,480px);max-height:90dvh;overflow:auto;background:#111b2d;border:1px solid #394663;border-radius:18px;padding:22px;box-shadow:0 25px 80px #0009}
.setup-head{display:flex;align-items:center;justify-content:space-between}
.setup-head h2{font:800 24px 'Manrope',sans-serif;margin:5px 0 0}
.setup-close{width:34px;height:34px;border:1px solid #35425c;border-radius:10px;background:#1a263b;color:#dce4f3;font-size:23px}
.setup-intro{font-size:12px;line-height:1.6;color:#aab6cb;margin:16px 0}
.setup-provider{display:flex;align-items:center;gap:12px;padding:13px 11px;border:1px solid #2d3a54;border-radius:12px;background:#172238;margin-top:9px;cursor:pointer}
.setup-provider input{width:17px;height:17px;accent-color:#a18bff}
.setup-provider input:disabled{opacity:.4}
.setup-provider-copy{min-width:0;flex:1}
.setup-provider-copy strong{display:block;font-size:12px}
.setup-provider-copy small{display:block;font-size:10px;line-height:1.4;color:#8e9cb4;margin-top:4px}
.setup-state{font-size:9px;color:#d8b97e;white-space:nowrap}
.setup-state.ready{color:#79dfb8}
.setup-note{font-size:10px;line-height:1.55;color:#9aa8bf;background:#0d1627;border:1px solid #283650;border-radius:10px;padding:11px;margin-top:14px}
.setup-save{width:100%;height:42px;border:0;border-radius:11px;margin-top:15px;background:linear-gradient(135deg,#a18bff,#7669e9);color:white;font-weight:700}
