@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:Manrope,system-ui,sans-serif;color:#e9ecf5;background:#11131a;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,textarea{font:inherit}.app{display:grid;grid-template-columns:330px 1fr;height:100vh;height:100dvh;background:#171923;overflow:hidden}aside{background:#11131a;border-right:1px solid #292c38;display:flex;flex-direction:column;min-width:0}.side-head{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #242631}.brand{font-size:32px;font-weight:800;letter-spacing:-1.5px}.brand span{color:#8b5cf6}.brand.small{font-size:24px}.icon{border:0;background:#242631;color:#aaaec0;width:38px;height:38px;border-radius:12px;font-size:22px;cursor:pointer}.icon:hover{background:#323543;color:#fff}.room-list{padding:14px 10px;overflow:auto;flex:1}.room{border:0;width:100%;display:flex;gap:12px;text-align:left;background:transparent;color:#e9ecf5;padding:10px 12px;border-radius:14px;cursor:pointer;margin:2px 0}.room:hover,.room.selected{background:#242631}.room.selected{box-shadow:inset 3px 0 #8b5cf6}.room>b,.avatar{width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,#8b5cf6,#5b35c7);display:grid;place-items:center;flex:none}.room span{min-width:0;display:flex;flex-direction:column;justify-content:center}.room strong,.room small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room small{color:#858a9c;margin-top:3px}.profile{display:flex;align-items:center;gap:10px;padding:16px 18px;border-top:1px solid #242631}.profile .avatar{width:36px;height:36px;border-radius:50%}.profile span{font-weight:600;flex:1}.chat{display:flex;flex-direction:column;min-width:0;min-height:0;background:radial-gradient(circle at 70% -20%,#272039 0,transparent 45%),#191b25}.chat header{height:82px;flex:none;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2a2c38;background:#191b25cc;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.chat-title{min-width:0}.mobile-back{display:none}h2,h1,p{margin-top:0}.chat header h2{font-size:18px;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat header p{margin:0;color:#858a9c;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.actions{display:flex;gap:8px;flex:none}.actions button,.modal-actions>button,.copy-field button{border:1px solid #383b49;background:#242631;color:#d9dce8;padding:9px 13px;border-radius:10px;cursor:pointer}.messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:30px max(30px,calc((100% - 850px)/2))}.message{margin:18px 0;max-width:75%;display:flex;flex-direction:column;align-items:flex-start}.message.mine{margin-left:auto;align-items:flex-end}.meta{font-size:12px;color:#858a9c;margin:0 5px 5px}.meta time{margin-left:8px}.bubble{background:#2a2d39;padding:11px 15px;border-radius:6px 17px 17px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.mine .bubble{background:#7450d5;border-radius:17px 6px 17px 17px}.bubble.failed{color:#e9a2a7;border:1px solid #693f47;background:#2c242b;font-size:13px}.composer{display:flex;flex:none;gap:10px;padding:18px max(30px,calc((100% - 850px)/2));padding-bottom:max(18px,env(safe-area-inset-bottom));border-top:1px solid #2a2c38}.composer input{flex:1;min-width:0;border:1px solid #363946;background:#22242f;color:#fff;padding:13px 17px;border-radius:14px;outline:none}.composer input:focus{border-color:#7958d2}.send{width:48px;flex:none;border:0;border-radius:14px;background:#8058e8;color:#fff;cursor:pointer;font-size:18px}.empty{text-align:center;color:#858a9c;margin:auto;padding:40px}.empty>div{font-size:48px;color:#8b5cf6}.empty h2,.empty h3{color:#e9ecf5;margin-bottom:8px}.empty.full{display:grid;place-items:center;align-content:center;height:100%}.empty.full>*{margin:5px}.auth-shell,.center{min-height:100vh;min-height:100dvh;display:grid;place-items:center;background:radial-gradient(circle at 50% 0,#30204e,transparent 46%),#11131a}.auth-card{width:min(440px,calc(100% - 32px));background:#1a1c26;border:1px solid #30323e;border-radius:24px;padding:40px;box-shadow:0 24px 70px #07080d80}.auth-card .brand{margin-bottom:34px}.auth-card h1{margin-bottom:8px}.muted{color:#8f94a6}form{display:flex;flex-direction:column;gap:18px;margin-top:28px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#b6bac8;font-weight:600}input,textarea{width:100%;border:1px solid #3a3d4b;background:#22242e;color:#f4f5fa;border-radius:11px;padding:12px 13px;outline:none}textarea{resize:vertical;min-height:85px}input:focus,textarea:focus{border-color:#8b5cf6}.primary{border:0;background:linear-gradient(135deg,#8b5cf6,#7044dc);color:#fff;padding:13px;border-radius:11px;font-weight:700;cursor:pointer}.primary:disabled{opacity:.45}.primary.compact{padding:11px 17px;margin-top:14px}.link{border:0;color:#a887ff;background:none;margin:20px auto 0;display:block;cursor:pointer}.ok{color:#74d5a4;margin-top:-13px}.bad,.error{color:#f08c94}.error{background:#38252b;border:1px solid #63363e;padding:10px;border-radius:9px;font-size:13px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#07080db8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(510px,100%);max-height:calc(100dvh - 40px);overflow-y:auto;background:#1c1e28;border:1px solid #383b49;border-radius:20px;padding:28px;box-shadow:0 25px 80px #0008}.modal h2{margin-bottom:8px}.modal form{margin-top:22px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px}.modal-actions .primary{padding:10px 17px}.key-field,.copy-field{display:flex;gap:7px;min-width:0}.wand{width:46px;flex:none;border:1px solid #3a3d4b;background:#292c38;border-radius:11px;cursor:pointer;font-size:18px}.copy-field button{white-space:nowrap}.notice{margin-top:17px;padding:12px;background:#282435;border:1px solid #443762;color:#bfb0e5;border-radius:11px;font-size:13px}.invite-room{background:#242631;border-radius:12px;padding:15px;margin:20px 0}.invite-room p{color:#989daf;margin:6px 0}.invite-room small{color:#777c8d}@media(max-width:700px){.app{display:block;position:relative}.app aside,.app .chat{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transition:transform .25s ease,opacity .2s ease}.app aside{z-index:2;transform:translate(0)}.app .chat{z-index:3;transform:translate(100%)}.app.room-open aside{transform:translate(-25%);opacity:0;pointer-events:none}.app.room-open .chat{transform:translate(0)}.side-head{height:68px;padding:0 16px;padding-top:env(safe-area-inset-top)}.brand.small{font-size:25px}.room-list{padding:10px 8px}.room{padding:10px;border-radius:15px;margin:3px 0}.room>b{width:48px;height:48px;border-radius:15px}.room strong{font-size:15px}.room small{font-size:12px}.profile{padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.chat header{height:68px;padding:env(safe-area-inset-top) 10px 0 8px;gap:6px}.mobile-back{display:grid;place-items:center;width:38px;height:42px;flex:none;border:0;background:transparent;color:#c9b8fb;font-size:38px;line-height:1;cursor:pointer}.chat-title{flex:1}.chat header h2{font-size:16px}.chat header p{font-size:11px}.actions{gap:5px}.actions button{font-size:0;width:38px;height:38px;padding:0}.actions button:first-child:after{content:"＋";font-size:22px}.actions button:last-child:after{content:"⚙";font-size:17px}.messages{padding:16px 12px}.message{max-width:88%;margin:13px 0}.meta{font-size:11px}.bubble{padding:9px 12px;font-size:14px;border-radius:5px 15px 15px}.mine .bubble{border-radius:15px 5px 15px 15px}.composer{padding:10px 10px max(10px,env(safe-area-inset-bottom));gap:7px;background:#191b25}.composer input{padding:11px 13px;font-size:16px}.send{width:44px;height:44px;border-radius:13px}.empty{padding:24px}.empty>div{font-size:42px}.overlay{align-items:end;padding:0}.modal{width:100%;max-height:min(88dvh,720px);border-radius:22px 22px 0 0;border-bottom:0;padding:24px 18px max(20px,env(safe-area-inset-bottom))}.modal-actions{position:sticky;bottom:0;background:#1c1e28;padding-top:10px}.copy-field{flex-direction:column}.copy-field button{width:100%}.auth-shell{align-items:center;padding:16px}.auth-card{width:100%;padding:28px 22px;border-radius:20px}.auth-card .brand{margin-bottom:25px}}@media(max-width:380px){.chat header p{display:none}.message{max-width:94%}.modal{padding-left:14px;padding-right:14px}.key-field input{min-width:0}}@media(prefers-reduced-motion:reduce){.app aside,.app .chat{transition:none}}
