@import url('/static/fonts.css');
:root{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--bg:#101419;--rail:#101419;--side:#171c22;--chat:#13181e;--surface:#1c232b;--surface2:#232c35;--input:#1c232b;--text:#eef2f5;--muted:#87939f;--line:#ffffff0d;--accent:#b8f7d1;--accent-dark:#163326;--mine:#b8f7d1;--mine-text:#133024;--shadow:#0004;--purple:#b9acf1;--header:#13181eee;color:var(--text);background:var(--bg);color-scheme:dark;font-size:14px}*{box-sizing:border-box}body{margin:0}body.light{--bg:#edf1f0;--rail:#e8edea;--side:#f5f7f5;--chat:#fcfdfb;--surface:#f0f4f0;--surface2:#e6ece7;--input:#fff;--text:#1c2b25;--muted:#738378;--line:#142b2110;--header:#fcfdfbee;--shadow:#13231b15;color-scheme:light}button,input,textarea{font:inherit}button,a,label.upload-avatar{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);padding:11px 15px;transition:background .16s,transform .16s}button:hover{background:var(--surface2)}button:active{transform:scale(.97)}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,textarea{color:var(--text);border:1px solid var(--line);background:var(--input);padding:13px 15px;border-radius:12px;outline:none;width:100%}input:focus,textarea:focus{border-color:#8ab99d}a{color:inherit;text-decoration:none}label{display:grid;gap:9px;font-size:12px;color:var(--muted)}form{display:grid;gap:16px}svg.icon{width:21px;height:21px;display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}span[data-icon]{display:inline-flex;align-items:center;justify-content:center}img{max-width:100%}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:23px;letter-spacing:-.8px}.version{font-size:10px;letter-spacing:0;color:var(--muted);border:1px solid var(--line);padding:4px;border-radius:5px;margin-top:4px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:var(--muted)}.muted{color:var(--muted);line-height:1.8;font-size:13px}.primary{background:var(--accent);color:var(--accent-dark);border:0;font-weight:650;display:flex;justify-content:center;gap:18px;align-items:center}.primary:hover{background:#cef9df}.icon-button{background:transparent;border:0;padding:10px;display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;color:var(--muted);position:relative;font-size:23px}.icon-button:hover{color:var(--text)}[hidden]{display:none!important}.workspace{height:100dvh;display:grid;grid-template-columns:76px 284px minmax(0,1fr);max-width:1920px;margin:auto;overflow:hidden}.rail{background:var(--rail);border-right:1px solid var(--line);display:flex;align-items:center;flex-direction:column;padding:25px 0 20px;gap:14px}.brand-mark{margin-bottom:28px}.rail-button{width:44px;height:44px;border:0;padding:10px;background:transparent;display:grid;place-items:center;color:var(--muted);border-radius:13px}.rail-button.active{background:#b8f7d114;color:var(--accent)}body.light .rail-button.active{color:#277946;background:#b8f7d166}.rail-bottom{margin-top:auto;display:grid;gap:15px}.my-avatar{width:38px;height:38px;border:0;border-radius:14px;padding:0;overflow:hidden;background:#3c5147;color:#d9fbe6;display:grid;place-items:center}.my-avatar img{width:100%;height:100%;object-fit:cover}.sidebar{padding:30px 20px;background:var(--side);display:flex;flex-direction:column;border-right:1px solid var(--line);min-width:0}.side-head{display:flex;align-items:center;justify-content:space-between;margin:0 4px 29px}.side-head strong{font-size:19px;font-weight:650;letter-spacing:-.5px}.small-label{font-size:11px;color:var(--muted);background:var(--surface2);padding:4px 7px;border-radius:6px}.search-box{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding-left:12px;display:flex;align-items:center;color:var(--muted);gap:3px}.search-box input{border:0;background:transparent;padding:12px 6px;font-size:11px;min-width:0}.search-box .icon{width:16px}.section-label{color:var(--muted);font-size:9px;letter-spacing:1.5px;font-weight:650;margin:29px 5px 12px}.room-card{display:flex;align-items:center;text-align:left;gap:11px;background:#b8f7d10a;border:1px solid #b8f7d11f;padding:14px 10px;border-radius:12px}.room-card>span:nth-child(2){min-width:0;flex:1}.room-card strong{font-size:13px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.room-card small{display:block;color:var(--muted);font-size:10px;margin-top:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.room-icon{width:36px;height:38px;display:grid;place-items:center;border-radius:10px;background:#b8f7d11a;color:var(--accent)}body.light .room-icon{color:#277946}.room-dot{height:6px;width:6px;background:var(--accent);border-radius:50%}.ai-card{margin-top:28px;padding:17px 14px;background:var(--surface);border:1px solid #ac9fea20;border-radius:13px}.ai-card-top{display:flex;align-items:center;gap:7px}.ai-star{color:var(--purple);font-size:23px;line-height:1}.ai-card strong{font-size:12px}.mode-pill{margin-left:auto;font-size:7px;letter-spacing:.5px;background:#ab9ae511;border:1px solid #ab9ae51c;border-radius:4px;color:var(--purple);padding:4px}.ai-card p{font-size:11px;line-height:1.9;color:var(--muted);margin:14px 0}.ai-card button{display:flex;justify-content:space-between;width:100%;background:transparent;border-top:1px solid var(--line);border-radius:0;padding:13px 0 0;border-left:0;border-right:0;border-bottom:0;font-size:11px;color:var(--purple)}.sidebar-bottom{margin-top:auto;padding:28px 5px 0}.private-label{font-size:10px;display:flex;gap:6px;align-items:center;color:var(--muted)}.private-label .icon{width:12px;height:12px}.sidebar-bottom p{font-size:10px;color:var(--muted);line-height:1.8;max-width:160px;opacity:.7}.sidebar-bottom a{display:flex;justify-content:space-between;padding-top:17px;font-size:11px;color:var(--muted)}.chat{min-width:0;display:flex;flex-direction:column;height:100dvh;background:var(--chat);position:relative}.chat-header{height:90px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:16px 32px;border-bottom:1px solid var(--line);background:var(--header);gap:10px;z-index:1}.header-group{display:flex;align-items:center;gap:12px;min-width:0}.header-group>div:last-child{min-width:0}.group-avatar{width:44px;height:44px;display:grid;place-items:center;background:var(--surface2);border-radius:15px;color:#c6d5cc;flex-shrink:0}.group-avatar .icon{width:23px;height:23px}h1{font-size:17px;margin:0 0 7px;font-weight:650;letter-spacing:-.4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-line{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--muted)}.status-dot,.banner-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.status-dot.offline{background:#eac58f}.header-actions{display:flex;gap:9px;align-items:center}.member-stack{display:flex;padding-right:15px;border-right:1px solid var(--line);margin-right:4px}.member-stack .avatar{height:29px;width:29px;border:2px solid var(--chat);margin-left:-6px;font-size:9px;border-radius:11px}.member-stack .avatar:first-child{margin-left:0}.chat-banner{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:10px;border-bottom:1px solid var(--line);padding:12px 33px;flex-shrink:0}.banner-dot{opacity:.6;width:4px;height:4px}.banner-right{font-size:8px;letter-spacing:1.3px;margin-left:auto;color:var(--muted);opacity:.7}.messages{overflow-y:auto;flex:1;padding:28px 36px 12px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--surface2) transparent;overscroll-behavior:contain}.date-divider{display:flex;align-items:center;gap:15px;color:var(--muted);font-size:9px;margin:0 0 28px;justify-content:center}.date-divider:before,.date-divider:after{content:'';width:65px;height:1px;background:var(--line)}.message{display:flex;align-items:flex-end;gap:10px;margin-bottom:24px;max-width:83%;width:fit-content;position:relative}.message.mine{margin-left:auto;flex-direction:row-reverse}.avatar{width:32px;height:32px;border-radius:12px;background:#31443d;color:#c5e1d1;display:grid;place-items:center;font-size:10px;font-weight:650;flex-shrink:0;overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover}.avatar.ai-avatar{color:var(--purple);background:#aea0ee1b;font-size:20px}.message-content{min-width:0;position:relative}.message-meta{display:flex;align-items:center;gap:10px;margin:0 3px 7px;font-size:10px}.message-name{font-weight:650;color:#a9b9b2}.mine .message-meta{justify-content:flex-end}.mine .message-name{color:var(--muted)}.ai .message-name{color:var(--purple)}.ai-label{color:var(--purple);font-size:7px;letter-spacing:.6px;border:1px solid #ab9ae526;border-radius:4px;padding:2px 4px}.message-time{color:var(--muted);font-size:9px;font-weight:400}.bubble{padding:13px 16px;background:var(--surface);border:1px solid var(--line);border-radius:16px 16px 16px 4px;box-shadow:0 2px 4px #00000005}.mine .bubble{background:var(--mine);color:var(--mine-text);border-color:transparent;border-radius:16px 16px 4px 16px}.ai .bubble{background:linear-gradient(140deg,#a395d70d,var(--surface));border:1px solid #b9acf126}.text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;font-size:13px}.bubble code{font-family:ui-monospace,monospace;background:#0002;border-radius:4px;padding:1px 4px}.bubble pre{background:#090c11;color:#d9e6df;border:1px solid #ffffff08;border-radius:10px;padding:14px;overflow:auto;max-width:100%;font-size:11px;white-space:pre;line-height:1.7}.bubble pre code{background:none;padding:0}.bubble img{max-height:300px;max-width:min(100%,340px);border-radius:11px;display:block;cursor:zoom-in;margin:4px 0 9px}.bubble video{max-width:100%;max-height:320px;border-radius:10px;margin:5px 0}.bubble audio{width:280px;max-width:100%;height:38px;margin:7px 0}.file-link{display:flex;align-items:center;gap:10px;border:1px solid #ffffff14;border-radius:10px;padding:10px 12px;margin:8px 0 1px;font-size:11px;overflow-wrap:anywhere}.mine .file-link{border-color:#13302422}.file-link .icon{width:18px}.file-link small{display:block;opacity:.65;margin-top:4px;font-size:9px}.quote{border-left:2px solid #a5c3b3;background:#00000012;padding:8px 11px;border-radius:0 7px 7px 0;margin-bottom:10px;font-size:11px;max-height:80px;overflow:hidden}.quote strong{display:block;font-size:10px;margin-bottom:4px}.quote span{opacity:.65;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-actions{position:absolute;right:3px;top:-24px;display:flex;opacity:0;pointer-events:none;transition:opacity .15s;background:var(--surface2);box-shadow:0 2px 8px var(--shadow);border:1px solid var(--line);border-radius:9px;z-index:2}.message:hover .message-actions,.message:focus-within .message-actions{opacity:1;pointer-events:auto}.message-actions button{padding:5px 7px;background:transparent;border:0;border-radius:6px;font-size:11px}.message-actions .icon{height:13px;width:13px}.reactions{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.reaction{padding:4px 8px;border-radius:16px;border:1px solid var(--line);font-size:10px;background:var(--surface)}.reaction.selected{border-color:#b8f7d166;background:#b8f7d117}.welcome{text-align:center;max-width:370px;margin:6vh auto 8vh}.welcome-mark{width:64px;height:64px;margin:0 auto 24px;filter:drop-shadow(0 12px 30px #b8f7d111)}.welcome h2{font-size:26px;letter-spacing:-1px;font-weight:550;margin:0 0 15px}.welcome p{font-size:12px;color:var(--muted);line-height:1.9}.starter-buttons{display:flex;gap:8px;justify-content:center;margin-top:24px;flex-wrap:wrap}.starter-buttons button{padding:9px 13px;font-size:10px;background:transparent}.composer-area{flex-shrink:0;padding:15px 32px 20px;background:var(--chat)}.composer{display:flex;align-items:flex-end;gap:8px;border:1px solid #ffffff0e;box-shadow:0 8px 30px #0000000a;background:var(--input);border-radius:16px;padding:9px}.composer textarea{resize:none;border:0;background:transparent;line-height:1.6;padding:11px 4px;max-height:140px;font-size:13px;min-height:43px;min-width:0;flex:1;border-radius:0}.composer .icon-button{margin-bottom:1px;min-height:41px;min-width:38px;padding:9px}.composer .attach{color:var(--text)}.send-button{height:42px;width:42px;border:0;background:var(--accent);color:var(--accent-dark);display:grid;place-items:center;border-radius:12px;flex-shrink:0}.send-button:hover{background:#d0fbdf}.send-button .icon{width:19px;height:19px}.composer-footer{display:flex;justify-content:space-between;gap:15px;margin:11px 6px 0;font-size:9px;color:var(--muted);min-height:14px;line-height:1.6}.composer-footer b{color:var(--purple);font-weight:550}.desktop-hint{opacity:.65;white-space:nowrap}.reply-preview,.selected-file{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-left:2px solid var(--purple);background:var(--surface);padding:10px 15px;border-radius:10px;margin-bottom:9px;font-size:11px}.reply-preview>div,.selected-file>div{flex:1;min-width:0}.reply-preview strong,.selected-file strong{display:block;font-size:11px}.reply-preview span,.selected-file small{display:block;font-size:10px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-file .icon{color:var(--purple)}.selected-file .icon-button,.reply-preview .icon-button{min-height:24px;height:24px}.ai-status{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--purple);margin:0 7px 13px}.thinking{display:flex;gap:3px}.thinking i{background:var(--purple);height:4px;width:4px;border-radius:50%;animation:thinking 1.3s infinite}.thinking i:nth-child(2){animation-delay:.15s}.thinking i:nth-child(3){animation-delay:.3s}@keyframes thinking{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}.load{display:block;background:transparent;color:var(--muted);padding:7px 12px;font-size:10px;margin:0 auto 25px}.no-results{text-align:center;color:var(--muted);font-size:12px}.new-messages{position:absolute;bottom:140px;left:50%;transform:translateX(-50%);padding:9px 16px;border-radius:20px;background:var(--accent);color:var(--accent-dark);font-size:11px;z-index:2;box-shadow:0 4px 20px var(--shadow)}.drawer{width:310px;position:absolute;right:0;top:0;height:100dvh;background:var(--side);border-left:1px solid var(--line);z-index:8;box-shadow:-12px 0 50px #0002;padding:25px 20px;overflow:auto}.drawer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.drawer-head h2{font-size:16px;letter-spacing:-.4px;margin:0}.drawer-tabs{display:flex;padding:4px;background:var(--surface);border-radius:11px;gap:4px;margin-bottom:24px}.drawer-tabs button{flex:1;border:0;background:transparent;font-size:11px;color:var(--muted);padding:9px}.drawer-tabs button.active{background:var(--surface2);color:var(--text)}.drawer-shade{position:fixed;inset:0;background:#0004;z-index:7;backdrop-filter:blur(2px)}.member-row{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.member-row .avatar{width:40px;height:40px;border-radius:14px}.member-row strong{font-size:12px;font-weight:550;display:block}.member-row small{font-size:10px;color:var(--muted);display:block;margin-top:5px}.member-row .me-pill{margin-left:auto;font-size:8px;padding:3px 6px;border-radius:5px;color:var(--muted);background:var(--surface2)}.drawer-file{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);font-size:11px;overflow:hidden}.drawer-file>img{width:45px;height:45px;object-fit:cover;border-radius:10px}.drawer-file>span{display:block;overflow:hidden;text-overflow:ellipsis}.drawer-file small{display:block;font-size:9px;color:var(--muted);margin-top:5px}.drawer-empty{font-size:12px;color:var(--muted);line-height:1.8}.drawer-note{color:var(--muted);font-size:10px;line-height:1.9;margin-top:25px}.mobile-account{display:none}#notify-dot{position:absolute;right:8px;top:7px;width:5px;height:5px;border-radius:50%;background:var(--accent)}dialog{background:var(--side);color:var(--text);border:1px solid var(--line);border-radius:23px;padding:28px;max-width:440px;width:calc(100% - 24px);box-shadow:0 20px 100px #0005;max-height:90dvh;overflow:auto}dialog::backdrop{background:#06090dbb;backdrop-filter:blur(6px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dialog-head h2{font-size:23px;font-weight:550;letter-spacing:-.7px;margin:6px 0 0}.dialog-head .icon-button{margin-right:-10px}.profile-hero{display:flex;align-items:center;gap:16px;margin-bottom:26px}.profile-large{width:74px;height:74px;flex-shrink:0}.profile-large .avatar{width:74px;height:74px;border-radius:24px;font-size:22px}.profile-hero strong{display:block;font-size:16px;font-weight:550;margin-bottom:8px}.profile-hero small{display:block;font-size:9px;color:var(--muted);margin-top:7px}.upload-avatar{display:block;color:var(--accent);font-size:11px;cursor:pointer}body.light .upload-avatar{color:#277946}.settings-links{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.settings-links button,.settings-links a{display:flex;align-items:center;gap:10px;width:100%;padding:14px 0;border:0;border-radius:0;background:transparent;font-size:12px;text-align:left}.settings-links svg{width:16px;height:16px;color:var(--muted)}.settings-links button>span:last-child:not([data-icon]){margin-left:auto}.settings-links .danger{color:#e5a29e}.feedback{font-size:11px;line-height:1.8;color:#d5b991;min-height:12px}.push-actions{display:grid;gap:10px}.push-checks{display:grid;gap:11px;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:13px;font-size:11px}.check-line{display:flex;justify-content:space-between;gap:15px;color:var(--muted)}.check-line strong{font-weight:500;color:var(--text);text-align:right}.text-button{background:transparent;border:0;font-size:11px;color:var(--muted)}.push-history{font-size:10px;line-height:1.7;color:var(--muted);padding-top:12px}.push-history p{border-top:1px solid var(--line);padding-top:9px}.image-dialog{max-width:1000px;background:var(--bg);padding:15px}.image-dialog>button{display:flex;margin-left:auto}.image-dialog>img{display:block;max-height:80dvh;object-fit:contain;margin:auto}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:calc(100% - 30px);background:var(--surface2);border:1px solid var(--line);box-shadow:0 6px 30px var(--shadow);padding:12px 20px;border-radius:12px;z-index:30;font-size:12px}.recording{color:#f49393!important;animation:record 1s infinite}@keyframes record{50%{opacity:.5}}.splash{display:none}.login{width:calc(100% - 32px);max-width:440px;margin:8vh auto;background:var(--side);padding:36px;border:1px solid var(--line);border-radius:26px;box-shadow:0 30px 100px #0002}.login>.eyebrow{font-size:8px;margin-top:45px}.login h1{font-size:30px;font-weight:550;letter-spacing:-1.2px;line-height:1.3;margin:18px 0;white-space:normal}.login .muted{font-size:12px}.login form{margin-top:30px}.login form button{margin-top:5px;padding:14px;justify-content:space-between}.login-foot{font-size:8px;letter-spacing:1.5px;color:var(--muted);text-align:center;margin-top:30px}.admin-shell{max-width:1100px;margin:auto;padding:30px 24px}.admin-header{padding:0 0 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.admin-header a{font-size:12px;color:var(--muted)}.admin-header .logo{display:none}.admin-header .brand:before{content:'';width:42px;height:42px;background:url('/static/logo.svg') center/contain no-repeat}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.card{padding:25px;background:var(--side);border:1px solid var(--line);border-radius:18px;margin-bottom:20px}.card h2{font-size:19px;font-weight:550;margin-top:0;letter-spacing:-.4px}.card form{display:grid;gap:15px}.card label.check{display:flex;align-items:center}.check input{width:auto;accent-color:#8fc9a6}.stats{display:flex;gap:15px;margin:24px 0}.stat{flex:1;padding:20px;background:var(--side);border:1px solid var(--line);border-radius:16px}.stat strong{font-size:26px;display:block;font-weight:550;letter-spacing:-.5px;margin-bottom:4px}.stat .muted{font-size:11px}.user{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);gap:12px;font-size:12px}.user button{font-size:10px;padding:7px}.pill{background:#b8f7d115;color:var(--accent);padding:5px 8px;border-radius:5px;font-size:8px;letter-spacing:1px}.card pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--surface);padding:12px;border-radius:10px;font-size:11px;line-height:1.7}.diagnostics{font-size:11px;line-height:1.9;color:var(--muted)}.diagnostics .good{color:var(--accent)}#error{color:#e7b3a1;font-size:12px;line-height:1.8}.card h3{font-size:14px;font-weight:550}body.light .ai .bubble{background:#eeeafa;color:#362b4d}body.light .message-name{color:#506c5b}body.light .ai .message-name{color:#8572ac}body.light .ai-card .mode-pill,body.light .ai-card button{color:#8572ac}body.light .ai-card p{color:#738378}
@media(min-width:1400px){.workspace{grid-template-columns:82px 310px minmax(0,1fr)}.messages{padding-left:max(45px,calc((100vw - 1200px)/4));padding-right:max(45px,calc((100vw - 1200px)/4))}.message{max-width:75%}.chat-header{padding-left:42px;padding-right:42px}.composer-area{padding-left:42px;padding-right:42px}}
@media(max-width:1000px){.workspace{grid-template-columns:65px 235px minmax(0,1fr)}.sidebar{padding:28px 14px}.chat-header{padding:16px 22px}.messages{padding:26px 22px}.composer-area{padding:12px 20px 18px}.member-stack{display:none}.message{max-width:93%}.desktop-hint{display:none}}
@media(max-width:760px){.workspace{grid-template-columns:minmax(0,1fr)}.rail,.sidebar{display:none}.chat-header{height:78px;padding:14px 17px;padding-top:calc(12px + env(safe-area-inset-top))}.group-avatar{height:40px;width:40px;border-radius:13px}.chat-header h1{font-size:16px;margin-bottom:6px}.status-line{font-size:9px}.header-actions{gap:0}.header-actions .icon-button{min-width:35px;padding:8px}.mobile-account{display:inline-flex}.chat-banner{font-size:9px;padding:11px 19px}.banner-right{display:none}.messages{padding:24px 16px 5px}.message{max-width:94%;gap:8px;margin-bottom:24px}.avatar{width:27px;height:27px;border-radius:10px;font-size:9px}.mine>.avatar{display:none}.bubble{padding:12px 14px}.text{font-size:13px;line-height:1.7}.message-meta{font-size:9px;margin-bottom:6px}.message-time{font-size:8px}.message-actions{top:auto;bottom:-16px;right:8px;opacity:1;pointer-events:auto;box-shadow:none;border:1px solid var(--line);border-radius:12px;background:var(--surface);gap:0}.message-actions button{padding:3px 7px;font-size:10px}.message-actions button:nth-child(3){display:none}.message .reactions{padding-top:6px}.message .message-content:has(.reactions:not(:empty)) .message-actions{bottom:auto;top:-18px;opacity:0}.message .message-content:has(.reactions:not(:empty)):focus-within .message-actions{opacity:1}.composer-area{padding:10px 12px 8px}.composer{gap:1px;padding:6px;border-radius:16px}.composer .icon-button{min-width:34px;padding:8px}.composer .icon{width:19px;height:19px}.composer textarea{font-size:16px;padding:9px 4px;min-height:42px}.send-button{width:38px;height:39px;border-radius:12px;margin-bottom:2px}.composer-footer{font-size:8px;margin-top:8px;min-height:13px}.composer-footer b{font-size:9px}.bubble audio{width:220px}.bubble img{max-width:100%;max-height:270px}.welcome{margin:8vh auto;max-width:280px}.welcome h2{font-size:24px}.welcome p{font-size:11px}.welcome-mark{width:58px;height:58px}.drawer{width:min(340px,90vw);padding-top:calc(24px + env(safe-area-inset-top))}.login{padding:28px;margin:9vh auto}.login h1{font-size:29px}.login label input,dialog input{font-size:16px}.splash{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#101419;color:#f2f6f3;transition:opacity .3s,visibility .3s;gap:28px}.splash>img{animation:splash-in .75s ease both;filter:drop-shadow(0 12px 45px #b8f7d126)}.splash strong{text-align:center;font-size:29px;font-weight:600;letter-spacing:-1px;animation:splash-in .8s .1s ease both}.splash strong span{display:block;font-size:10px;font-weight:400;color:#8f9c96;letter-spacing:.3px;margin-top:12px}.splash-line{position:absolute;bottom:15vh;background:#b8f7d114;width:95px;height:2px;overflow:hidden;border-radius:2px}.splash-line:after{content:'';display:block;background:#b8f7d1;width:100%;height:100%;transform-origin:left;animation:splash-load 1.5s ease both}.splash.finished{opacity:0;visibility:hidden;pointer-events:none}.splash.dismissed{display:none}@keyframes splash-in{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}@keyframes splash-load{from{transform:scaleX(0)}to{transform:scaleX(1)}}.admin-shell{padding:20px 14px}.grid{grid-template-columns:1fr}.admin-header{align-items:flex-start;gap:10px}.admin-header .brand{font-size:19px;gap:8px}.admin-header .pill{display:none}.stats{gap:8px}.stat{padding:14px}.stat strong{font-size:22px}.new-messages{bottom:135px}.image-dialog{padding:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.splash-line:after{transform:scaleX(1)}}
/* 2.1 — a single neon identity field, revealed password and supplied masks. */
.neon-login{position:fixed;inset:0;z-index:15;display:block;width:100%;max-width:none;height:100dvh;min-height:0;margin:0!important;padding:0!important;border:0;border-radius:0;box-shadow:none;background:#010602;color:#dcffe5;overflow-y:auto;color-scheme:dark;isolation:isolate}
.neon-login:before{content:'';position:absolute;inset:0;z-index:-1;background-image:radial-gradient(ellipse at 50% 100%,#00ff6612,transparent 60%),url('/static/default-mask.webp');background-position:center,center 28%;background-size:100% 100%,min(62vh,560px) auto;background-repeat:no-repeat;transition:background-position .35s;pointer-events:none}
.neon-login .neon-form{position:absolute;left:50%;top:70%;transform:translateX(-50%);width:min(370px,calc(100% - 52px));display:grid;gap:16px;margin:0;transition:top .25s;max-width:100%}
.neon-login.entering .neon-form{top:65%}
.neon-login .neon-form input{font-size:17px;letter-spacing:.3px;text-align:center;width:100%;height:58px;border:1px solid #00f55caa;border-radius:13px;color:#b9ffd0;background:#031108e8;box-shadow:0 0 0 1px #00ff5910,inset 0 0 20px #00ff5910,0 0 16px #00ff5928,0 0 48px #00ff5910;caret-color:#00ff60;padding:15px 22px;outline:none;transition:border-color .2s,box-shadow .2s}
.neon-login .neon-form input::placeholder{color:#a1ffc0;opacity:.83;font-weight:400}
.neon-login .neon-form input:focus{border-color:#04ff68;box-shadow:0 0 0 1px #00ff5920,inset 0 0 24px #00ff5913,0 0 20px #00ff593d,0 0 65px #00ff591c}
.neon-password{position:relative;animation:neon-reveal .3s ease both}
.neon-login .neon-password input{padding-right:62px;padding-left:62px}
.neon-login .neon-submit{position:absolute;right:8px;top:8px;width:42px;height:42px;min-height:0;padding:0;border:1px solid #00ff5c55;border-radius:9px;background:#00ff5c14;color:#91ffb5;font-size:23px;display:grid;place-items:center;box-shadow:0 0 15px #00ff5910}
.neon-login .neon-submit:hover{background:#00ff5c2b;border-color:#00ff5c}
.neon-login #login-error{font-size:11px;color:#ffbfad;text-align:center;line-height:1.7;margin:0;text-shadow:0 0 12px #ff6d4a22}
.neon-login input:-webkit-autofill{-webkit-text-fill-color:#b9ffd0;-webkit-box-shadow:0 0 0 1000px #031108 inset;caret-color:#00ff60}
.avatar img{object-fit:cover;background:#010602}
.ai-card-avatar{width:28px;height:28px;border-radius:9px;object-fit:cover;box-shadow:0 0 12px #f9ce7420;flex-shrink:0}
@keyframes neon-reveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@media(max-width:760px){.neon-login:before{background-position:center,center 24%;background-size:100% 100%,min(88vw,57vh) auto}.neon-login .neon-form{top:65%;width:calc(100% - 54px);max-width:355px}.neon-login.entering .neon-form{top:56%}.neon-login .neon-form input{font-size:16px;height:57px}.neon-login .neon-submit{height:41px}.neon-login.entering:before{background-position:center,center 15%}}
/* GroupAI 3 room and tool controls */
.room-tools{display:flex;gap:6px;align-items:center;overflow-x:auto;padding:8px 18px;border-bottom:1px solid var(--line,#283039);flex:none}.room-tools button{white-space:nowrap;font-size:12px;padding:7px 10px}.room-picker-label{display:flex;align-items:center;gap:6px;font-size:12px}.room-picker-label select{min-width:115px;max-width:190px;padding:6px}.room-list{max-height:30vh;overflow-y:auto}.room-list .room-card{width:100%;display:flex;justify-content:space-between;min-height:52px;margin-bottom:6px}.room-list .selected{outline:1px solid #69dcac}.unread-badge{border-radius:12px;padding:2px 7px;background:#69dcac;color:#081a13}.section-label{display:flex;justify-content:space-between;align-items:center}.section-label button{padding:2px 9px}.queue-status{flex:none;margin:0;padding:7px 18px;font-size:12px;background:#79632b33;color:inherit}.tool-card{border:1px solid var(--line,#303840);padding:12px;margin:10px 0;border-radius:12px;overflow-wrap:anywhere}.tool-card p{white-space:pre-wrap}.tool-card button{margin:6px 6px 0 0}.reminder-form{display:grid;gap:10px}.gallery-grid{display:grid;gap:8px}.message-actions{flex-wrap:wrap}.message-actions button{font-size:12px}.room-tools select,#features-content select{background:var(--panel,#172026);color:inherit;border:1px solid #52616a;border-radius:8px}.room-tools+ .queue-status[hidden]{display:none}#features-dialog{width:min(94vw,640px);max-height:85dvh;overflow:auto}@media(max-width:760px){.room-tools{padding:7px 10px;gap:5px}.room-tools button{font-size:11px;padding:6px 8px}.chat-banner{display:none}.room-picker-label{font-size:0}.room-picker-label select{font-size:12px;min-width:100px;max-width:140px}.message-actions{opacity:1}#features-content form{display:grid;gap:10px}}

.qr-grid{display:flex;gap:18px;flex-wrap:wrap}.qr-grid img{display:block;max-width:100%;border:8px solid white;border-radius:12px;margin-top:8px}.admin-shell pre{white-space:pre-wrap;overflow-wrap:anywhere}
.message .message-content .message-actions{position:static;opacity:1!important;pointer-events:auto;display:flex;width:fit-content;max-width:100%;flex-wrap:wrap;margin-top:5px;background:transparent;box-shadow:none;border:0;gap:3px}.message .message-content .message-actions button{padding:5px 7px;background:var(--surface);border:1px solid var(--line)}

@media(max-width:760px){.room-tools{flex-wrap:wrap;overflow:visible;row-gap:5px}.room-tools button{flex:none}}

/* AnomChat usability controls */
.quick-ai,.quick-openai{align-self:center;border:1px solid var(--line);border-radius:9px;padding:7px 8px;font-size:9px;font-weight:700;letter-spacing:.3px;background:var(--surface);color:var(--purple)}
.quick-openai{color:#78dba5}.command-menu{display:grid;position:absolute;bottom:90px;left:32px;right:32px;z-index:12;max-height:280px;overflow:auto;padding:7px;background:var(--side);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 45px #0005}.command-menu[hidden]{display:none}.command-option{display:flex;gap:14px;align-items:center;text-align:left;border:0;background:transparent;padding:10px 12px}.command-option:hover{background:var(--surface)}.command-option strong{min-width:74px;color:var(--accent)}.command-option span{color:var(--muted);font-size:11px}.danger-action{color:#e79a93!important}.message-meta .edited{font-size:8px;color:var(--muted)}
.openai-avatar{background:#111;overflow:hidden}.openai-avatar img{width:100%;height:100%;object-fit:cover;object-position:center}.openai .bubble{border-color:#48d6a044}.openai-label{color:#63dbaa!important}
@media(max-width:760px){.quick-ai,.quick-openai{font-size:8px;padding:6px 5px}.command-menu{left:12px;right:12px;bottom:84px}.composer textarea{min-width:80px}}

/* 4.0 — AnomsChat premium interface */
:root{
 --bg:#080a0d;
 --rail:#080a0d;
 --side:#0d1014;
 --chat:#0a0d11;
 --surface:#12161b;
 --surface2:#191e25;
 --input:#12171c;
 --text:#f3f5f7;
 --muted:#808993;
 --line:rgba(255,255,255,.075);
 --accent:#c9f8d9;
 --accent-dark:#102219;
 --purple:#c7b9ff;
 --header:rgba(10,13,17,.86);
 --premium-shadow:0 24px 70px rgba(0,0,0,.28);
}

body{
 background:
  radial-gradient(circle at 78% -10%,rgba(130,255,178,.055),transparent 28%),
  var(--bg);
 -webkit-font-smoothing:antialiased;
 text-rendering:optimizeLegibility;
}

body.light{
 --bg:#eef1f2;
 --rail:#f7f8f8;
 --side:#f4f6f6;
 --chat:#fbfcfc;
 --surface:#fff;
 --surface2:#e9edec;
 --input:#fff;
 --text:#151a18;
 --muted:#737c78;
 --line:rgba(19,31,25,.09);
 --header:rgba(251,252,252,.88);
 --premium-shadow:0 22px 60px rgba(22,35,28,.09);
}

button,input,textarea,select{letter-spacing:-.01em}
button{transition:background .2s ease,border-color .2s ease,color .2s ease,transform .16s ease,box-shadow .2s ease}
button:hover{border-color:rgba(255,255,255,.13)}
body.light button:hover{border-color:rgba(19,31,25,.15)}
svg.icon{stroke-width:1.75}

.workspace{
 max-width:none;
 grid-template-columns:72px 292px minmax(0,1fr);
 background:var(--bg);
}

.rail{
 padding:20px 0 18px;
 gap:10px;
 border-right:1px solid var(--line);
 background:linear-gradient(180deg,rgba(255,255,255,.012),transparent 34%),var(--rail);
}
.brand-mark{width:38px;height:38px;margin:2px 0 28px;filter:drop-shadow(0 10px 24px rgba(160,255,196,.12))}
.rail-button{
 width:44px;
 height:44px;
 border-radius:14px;
 color:#6f7882;
}
.rail-button:hover{background:rgba(255,255,255,.045);color:var(--text);transform:translateY(-1px)}
.rail-button.active{
 color:#0b1710;
 background:var(--accent);
 box-shadow:0 8px 25px rgba(139,255,180,.13),inset 0 0 0 1px rgba(255,255,255,.35);
}
body.light .rail-button.active{color:#173c25;background:#c9f8d9}
.rail-bottom{gap:12px}
.my-avatar{border-radius:50%;border:1px solid rgba(255,255,255,.14);box-shadow:0 6px 18px rgba(0,0,0,.22)}

.sidebar{
 padding:26px 18px 20px;
 background:
  linear-gradient(180deg,rgba(255,255,255,.018),transparent 32%),
  var(--side);
}
.side-head{margin:2px 5px 22px}
.side-head strong{font-size:18px;font-weight:620;letter-spacing:-.55px}
.small-label{border-radius:999px;padding:4px 8px;background:rgba(255,255,255,.045);font-size:9px}
.search-box{
 height:42px;
 border-radius:13px;
 background:rgba(255,255,255,.035);
 border-color:transparent;
 transition:background .2s,border-color .2s;
}
.search-box:focus-within{background:var(--surface);border-color:rgba(201,248,217,.32)}
.search-box input{font-size:12px}
.section-label{margin:25px 5px 10px;letter-spacing:1.25px}
.mini-icon{
 width:26px;
 height:26px;
 display:grid;
 place-items:center;
 padding:0!important;
 border:0;
 border-radius:8px;
 background:transparent;
 color:var(--muted);
}
.mini-icon .icon{width:15px;height:15px}
.mini-icon:hover{background:var(--surface2);color:var(--text)}
.room-list{max-height:38vh;padding:1px}
.room-list .room-card{
 min-height:50px;
 margin-bottom:5px;
 padding:10px 12px;
 border:1px solid transparent;
 border-radius:14px;
 background:transparent;
}
.room-list .room-card:hover{background:rgba(255,255,255,.035)}
.room-list .selected{
 outline:0;
 border-color:rgba(201,248,217,.12);
 background:linear-gradient(105deg,rgba(201,248,217,.09),rgba(201,248,217,.025));
 box-shadow:inset 3px 0 0 rgba(201,248,217,.78);
}
.unread-badge{min-width:19px;text-align:center;font-size:9px;font-weight:700;background:var(--accent)}

.ai-card{
 margin-top:22px;
 padding:10px;
 border-radius:16px;
 border-color:rgba(199,185,255,.12);
 background:linear-gradient(110deg,rgba(199,185,255,.075),rgba(255,255,255,.018));
 box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.ai-card-top{gap:10px}
.ai-card-top>div{display:grid;gap:2px}
.ai-card strong{font-size:11px;font-weight:620}
.ai-card small{font-size:8px;color:var(--muted);letter-spacing:.3px}
.ai-card-avatar{width:32px;height:32px;border-radius:11px}
.status-orbit{margin-left:auto;width:6px;height:6px;border-radius:50%;background:#7ee8a5;box-shadow:0 0 12px #73e49d}
.ai-launch{
 width:31px!important;
 height:31px;
 display:grid!important;
 place-items:center!important;
 padding:0!important;
 border:0!important;
 border-radius:10px!important;
 background:rgba(255,255,255,.055)!important;
 color:var(--purple)!important;
}
.ai-launch .icon{width:15px;height:15px;transform:rotate(45deg)}
.ai-launch:hover{background:rgba(199,185,255,.14)!important;transform:translateY(-1px)}
.sidebar-bottom{padding:20px 4px 0}
.private-label{font-size:9px;letter-spacing:.25px}
.sidebar-bottom>p{display:none}
.sidebar-bottom a{align-items:center;justify-content:flex-start;gap:8px;padding:14px 0 0;font-size:10px}
.sidebar-bottom a span:last-child{margin-left:auto}
.sidebar-bottom a .icon{width:14px;height:14px}

.chat{
 background:
  radial-gradient(circle at 65% 0,rgba(201,248,217,.028),transparent 31%),
  var(--chat);
}
.chat-header{
 height:82px;
 padding:14px 30px;
 border-bottom:0;
 background:var(--header);
 backdrop-filter:blur(24px) saturate(135%);
 -webkit-backdrop-filter:blur(24px) saturate(135%);
}
.group-avatar{
 width:42px;
 height:42px;
 border-radius:14px;
 background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
 border:1px solid var(--line);
 color:#c8d1cc;
 box-shadow:inset 0 1px rgba(255,255,255,.04);
}
.chat-header h1{font-size:17px;font-weight:610;letter-spacing:-.5px;margin-bottom:6px}
.status-line{font-size:9px}
.status-dot{box-shadow:0 0 10px rgba(126,232,165,.45)}
.header-actions{gap:5px}
.header-actions .icon-button{
 width:40px;
 height:40px;
 border-radius:13px;
 background:transparent;
 color:#7f8993;
}
.header-actions .icon-button:hover{background:rgba(255,255,255,.045);color:var(--text)}
.member-stack{border-right:0;padding-right:10px}
.member-stack .avatar{border-color:var(--chat);border-radius:50%}

.room-tools{
 min-height:54px;
 padding:7px 26px;
 gap:6px;
 overflow:visible;
 border-top:1px solid rgba(255,255,255,.025);
 border-bottom:1px solid var(--line);
 background:rgba(10,13,17,.74);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
}
.tool-spacer{flex:1}
.room-picker-label{
 position:relative;
 display:flex;
 align-items:center;
 gap:8px;
 height:36px;
 min-width:0;
 padding:0 10px;
 border-radius:11px;
 color:var(--muted);
 background:rgba(255,255,255,.035);
}
.room-picker-label>.icon{width:15px;height:15px}
.room-picker-label select{
 min-width:90px;
 max-width:210px;
 height:36px;
 padding:0 20px 0 0;
 border:0;
 outline:0;
 appearance:none;
 background:transparent;
 color:var(--text);
 font-size:11px;
 font-weight:570;
}
.picker-chevron{position:absolute;right:8px;pointer-events:none}
.picker-chevron .icon{width:13px;height:13px;transform:rotate(90deg)}
.tool-icon{
 position:relative;
 width:36px;
 height:36px;
 min-width:36px;
 display:grid;
 place-items:center;
 padding:0!important;
 border:1px solid transparent;
 border-radius:11px;
 background:transparent;
 color:var(--muted);
}
.tool-icon .icon{width:17px;height:17px}
.tool-icon:hover{color:var(--text);background:rgba(255,255,255,.05);border-color:var(--line);transform:translateY(-1px)}
.tool-badge{
 position:absolute;
 top:3px;
 right:2px;
 min-width:15px;
 height:15px;
 display:grid;
 place-items:center;
 padding:0 3px;
 border-radius:999px;
 background:var(--accent);
 color:var(--accent-dark);
 border:2px solid var(--chat);
 font-size:7px;
 font-weight:800;
}
.queue-status{padding:7px 27px;font-size:10px;background:rgba(231,184,93,.09)}

.messages{
 padding:32px clamp(26px,5vw,78px) 18px;
 scrollbar-color:rgba(255,255,255,.13) transparent;
}
.date-divider{letter-spacing:.8px;font-size:8px;opacity:.8}
.message{max-width:min(78%,780px);margin-bottom:25px}
.avatar{border-radius:50%;box-shadow:0 7px 20px rgba(0,0,0,.12)}
.bubble{
 padding:13px 16px;
 border-radius:18px 18px 18px 6px;
 border-color:rgba(255,255,255,.065);
 background:rgba(19,24,29,.9);
 box-shadow:0 7px 24px rgba(0,0,0,.08),inset 0 1px rgba(255,255,255,.018);
}
.mine .bubble{
 border-radius:18px 18px 6px 18px;
 background:linear-gradient(145deg,#d9f9e4,#bcefcf);
 box-shadow:0 8px 30px rgba(83,173,116,.08);
}
.ai .bubble{background:linear-gradient(135deg,rgba(199,185,255,.085),rgba(18,22,27,.96));border-color:rgba(199,185,255,.15)}
.message-meta{margin-bottom:6px}
.text{font-size:13px;line-height:1.72}
.message .message-content .message-actions{
 gap:2px;
 margin-top:5px;
 opacity:0!important;
 transition:opacity .18s ease;
}
.message:hover .message-content .message-actions,.message:focus-within .message-content .message-actions{opacity:1!important}
.message .message-content .message-actions button{
 width:27px;
 height:25px;
 padding:0;
 display:grid;
 place-items:center;
 border:0;
 border-radius:8px;
 background:transparent;
 color:var(--muted);
 font-size:10px;
}
.message .message-content .message-actions button:hover{background:var(--surface2);color:var(--text)}
.message .message-content .message-actions .icon{width:13px;height:13px}
.starter-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.starter-buttons .icon{width:15px;height:15px}

.composer-area{
 padding:12px clamp(24px,5vw,74px) 19px;
 background:linear-gradient(180deg,transparent,rgba(8,10,13,.76) 20%,var(--chat) 55%);
}
.composer{
 max-width:980px;
 margin:0 auto;
 gap:5px;
 padding:7px;
 border-radius:20px;
 border-color:rgba(255,255,255,.095);
 background:rgba(18,23,28,.94);
 box-shadow:0 16px 52px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.035);
 backdrop-filter:blur(18px);
 -webkit-backdrop-filter:blur(18px);
 transition:border-color .2s,box-shadow .2s;
}
.composer:focus-within{border-color:rgba(201,248,217,.28);box-shadow:0 20px 60px rgba(0,0,0,.3),0 0 0 3px rgba(201,248,217,.035)}
.composer textarea{padding:11px 7px;font-size:13px}
.composer .icon-button{
 width:39px;
 height:39px;
 min-width:39px;
 min-height:39px;
 border-radius:12px;
 color:#89929b;
}
.composer .icon-button:hover{background:rgba(255,255,255,.05);color:var(--text)}
.model-button{
 align-self:center;
 width:34px;
 height:34px;
 min-width:34px;
 display:grid;
 place-items:center;
 padding:0;
 border-radius:11px;
 background:rgba(255,255,255,.035);
 border:1px solid var(--line);
}
.model-button img{width:24px;height:24px;object-fit:cover;border-radius:8px}
.model-button .icon{width:17px;height:17px}
.quick-ai:hover{border-color:rgba(199,185,255,.32);box-shadow:0 0 0 3px rgba(199,185,255,.035)}
.quick-openai{color:#8fe5b0}
.quick-openai:hover{border-color:rgba(143,229,176,.3);color:#b6f1ca}
.send-button{
 width:41px;
 height:41px;
 border-radius:13px;
 background:#eef7f1;
 color:#111a15;
 box-shadow:0 7px 20px rgba(0,0,0,.18);
}
.send-button:hover{background:#fff;transform:translateY(-1px)}
.composer-footer{max-width:960px;margin:8px auto 0;font-size:8px;opacity:.75}
.ai-status,.reply-preview,.selected-file{max-width:980px;margin-left:auto;margin-right:auto}
.command-menu{left:clamp(24px,5vw,74px);right:clamp(24px,5vw,74px);border-radius:18px;background:rgba(13,16,20,.96);backdrop-filter:blur(20px)}
.new-messages{background:#eef7f1;color:#111a15;border:0;box-shadow:var(--premium-shadow)}

.drawer{
 width:330px;
 background:rgba(13,16,20,.96);
 backdrop-filter:blur(26px);
 -webkit-backdrop-filter:blur(26px);
 box-shadow:-24px 0 70px rgba(0,0,0,.28);
}
.drawer-shade{background:rgba(0,0,0,.28);backdrop-filter:blur(4px)}
dialog{background:rgba(13,16,20,.97);border-color:rgba(255,255,255,.09);box-shadow:0 34px 110px rgba(0,0,0,.52);backdrop-filter:blur(26px)}
.toast{border-radius:999px;background:rgba(30,36,43,.96);box-shadow:var(--premium-shadow);backdrop-filter:blur(18px)}

.admin-shell{max-width:1180px;padding-top:40px}
.admin-header{border-bottom:0;padding-bottom:26px}
.card,.stat{background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.018));border-color:var(--line);box-shadow:inset 0 1px rgba(255,255,255,.018)}
.card{border-radius:22px}.stat{border-radius:18px}

@media(min-width:1400px){
 .workspace{grid-template-columns:76px 310px minmax(0,1fr)}
 .messages{padding-left:clamp(48px,7vw,120px);padding-right:clamp(48px,7vw,120px)}
 .composer-area{padding-left:clamp(48px,7vw,120px);padding-right:clamp(48px,7vw,120px)}
 .chat-header{padding-left:36px;padding-right:36px}
}

@media(max-width:1000px){
 .workspace{grid-template-columns:64px 238px minmax(0,1fr)}
 .sidebar{padding:24px 13px 18px}
 .room-tools{padding-left:18px;padding-right:18px}
 .messages{padding:28px 22px 14px}
 .composer-area{padding:11px 20px 17px}
}

@media(max-width:760px){
 .chat-header{height:70px;padding:10px 13px;padding-top:calc(8px + env(safe-area-inset-top))}
 .group-avatar{width:38px;height:38px;border-radius:13px}
 .header-actions .icon-button{width:36px;height:36px;min-width:36px}
 .room-tools{min-height:48px;padding:6px 10px;gap:3px;flex-wrap:nowrap;overflow:visible}
 .room-picker-label{height:34px;max-width:calc(100% - 147px);padding-left:9px}
 .room-picker-label select{height:34px;min-width:72px;max-width:132px;font-size:11px}
 .tool-icon{width:34px;height:34px;min-width:34px;border-radius:10px}
 .messages{padding:22px 13px 7px}
 .message{max-width:96%;margin-bottom:22px}
 .message .message-content .message-actions{opacity:1!important}
 .message .message-content .message-actions button{width:27px;height:25px}
 .bubble{border-radius:17px 17px 17px 5px;padding:12px 14px}
 .mine .bubble{border-radius:17px 17px 5px 17px}
 .composer-area{padding:8px 9px 7px;background:linear-gradient(180deg,transparent,var(--chat) 24%)}
 .composer{gap:2px;padding:5px;border-radius:18px}
 .composer .icon-button{width:34px;height:36px;min-width:34px;min-height:36px;padding:7px}
 .model-button{width:31px;height:31px;min-width:31px;border-radius:10px}
 .model-button img{width:22px;height:22px}
 .quick-openai{display:none}
 .composer textarea{font-size:16px;padding:8px 4px;min-height:39px}
 .send-button{width:37px;height:37px;border-radius:12px}
 .composer-footer{margin-top:6px}
 .command-menu{left:9px;right:9px;bottom:78px}
 .drawer{width:min(345px,92vw)}
 .toast{bottom:calc(18px + env(safe-area-inset-bottom))}
}

/* 4.3 — per-room AI controls and request JSON preview */
.ai-home-actions{display:flex;align-items:center;gap:8px;margin-top:18px;flex-wrap:wrap}
.ai-home-card .ai-home-actions .auto-controls{margin:0}
.ai-settings-launch{display:flex;align-items:center;gap:7px;min-height:35px;padding:0 12px;border-color:rgba(201,248,217,.12);background:rgba(201,248,217,.045);color:var(--accent);font-size:9px}
.ai-settings-launch .icon{width:13px;height:13px}
.ai-settings-intro{margin:0 0 15px;color:var(--muted);font-size:11px;line-height:1.7}
.ai-settings-form{gap:12px}
.ai-settings-section{display:grid;gap:15px;padding:18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.022)}
.ai-settings-heading{color:var(--accent);font-size:9px;font-weight:750;letter-spacing:1.2px}
.ai-setting-label{display:block;color:var(--text);font-size:10px;font-weight:650;letter-spacing:.15px}
.ai-prompt-field textarea{min-height:145px;resize:vertical;font:11px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}
.ai-prompt-field small{color:var(--muted);font-size:9px;line-height:1.6}
.ai-choice-group{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:12px}
.ai-choice-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:3px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.08)}
.ai-choice-buttons button{min-height:32px;padding:5px 8px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:9px}
.ai-choice-buttons button.active{background:rgba(201,248,217,.11);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(201,248,217,.08)}
.ai-settings-actions{display:flex;justify-content:flex-end;gap:8px}
.ai-settings-actions button{min-height:38px}
.memory-settings .memory-status{display:block;color:var(--accent);line-height:1.6}
.memory-editor{min-height:190px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;line-height:1.55}
.memory-settings .danger{color:#ff9b9b;border-color:rgba(255,120,120,.22);background:rgba(255,90,90,.06)}
.ai-json-details{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018)}
.ai-json-details summary{cursor:pointer;color:var(--text);font-size:11px;font-weight:650}
.ai-json-details>p{margin:12px 0}
.ai-json-editor{min-height:285px;resize:vertical;font:10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;tab-size:2}
.ai-preview-prompt{margin-top:14px;font-size:11px}
.ai-json-details>button{width:100%;margin-top:8px;border-color:rgba(201,248,217,.15);color:var(--accent)}
.ai-json-output{max-height:440px;overflow:auto;margin:12px 0 0;padding:14px;border:1px solid var(--line);border-radius:13px;background:#080b0e;color:#c7f5d7;white-space:pre-wrap;overflow-wrap:anywhere;font:9px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace}
body.light .ai-json-output{background:#edf3ef;color:#1e5133}

@media(max-width:760px){
 .ai-home-actions{align-items:stretch;flex-direction:column}
 .ai-settings-launch{justify-content:center}
 .ai-settings-section{padding:14px}
 .ai-choice-group{grid-template-columns:1fr;gap:7px}
 .ai-prompt-field textarea{min-height:170px;font-size:12px}
 .ai-json-editor{min-height:320px;font-size:11px}
}

/* 4.1 — Home, workplace hierarchy, Poro auto mode and shared tasks */
.work-board{
 flex:none;
 padding:8px 26px 9px;
 border-bottom:1px solid var(--line);
 background:linear-gradient(90deg,rgba(201,248,217,.025),transparent 45%),rgba(10,13,17,.68);
}
.work-board-head{display:flex;align-items:center;gap:8px;min-height:29px}
.work-board-head>div:first-child{display:flex;align-items:center;gap:8px;min-width:0}
.work-board-head .icon{width:14px;height:14px;color:var(--muted)}
.work-board-head strong{font-size:10px;letter-spacing:.2px;font-weight:650}
.role-pill{
 display:inline-flex;
 align-items:center;
 height:19px;
 padding:0 7px;
 border:1px solid rgba(255,255,255,.08);
 border-radius:999px;
 color:var(--muted);
 background:rgba(255,255,255,.03);
 font-size:7px;
 font-weight:750;
 letter-spacing:.8px;
}
.auto-controls{
 display:flex;
 gap:2px;
 margin-left:auto;
 padding:2px;
 border:1px solid var(--line);
 border-radius:10px;
 background:rgba(255,255,255,.025);
}
.auto-controls button{
 height:24px;
 padding:0 8px;
 border:0;
 border-radius:7px;
 background:transparent;
 color:var(--muted);
 font:650 8px/1 ui-monospace,SFMono-Regular,Consolas,monospace;
}
.auto-controls button:hover{color:var(--text)}
.auto-controls button.active{background:rgba(201,248,217,.11);color:var(--accent)}
.auto-state{
 display:inline-flex;
 align-items:center;
 gap:5px;
 margin-left:auto;
 color:var(--muted);
 font-size:8px;
 font-weight:700;
 letter-spacing:.6px;
 white-space:nowrap;
}
.auto-controls:not([hidden])+.auto-state{margin-left:0}
.auto-state:before{content:'';width:5px;height:5px;border-radius:50%;background:#69717a}
.auto-state.enabled{color:#9ce9b8}
.auto-state.enabled:before{background:#72e49c;box-shadow:0 0 10px rgba(114,228,156,.72)}
.work-board .mini-icon{margin-left:1px}
.work-task-list{
 display:flex;
 gap:7px;
 margin-top:6px;
 padding-bottom:1px;
 overflow-x:auto;
 scrollbar-width:none;
}
.work-task-list::-webkit-scrollbar{display:none}
.work-task{
 display:grid;
 grid-template-columns:26px minmax(0,1fr) 25px;
 align-items:center;
 gap:8px;
 min-width:0;
 padding:9px 10px;
 border:1px solid var(--line);
 border-radius:13px;
 background:rgba(255,255,255,.025);
}
.work-task.compact{grid-template-columns:24px minmax(125px,220px);flex:0 0 auto;padding:7px 9px}
.work-task.status-doing{border-color:rgba(201,248,217,.16);background:rgba(201,248,217,.045)}
.work-task.status-done{opacity:.56}
.work-task.status-done strong{text-decoration:line-through}
.work-task>div{min-width:0}
.work-task strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:570}
.work-task small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;color:var(--muted);font-size:7px;letter-spacing:.2px}
.task-state,.task-remove{
 width:25px;
 height:25px;
 min-width:25px;
 display:grid;
 place-items:center;
 padding:0;
 border:0;
 border-radius:8px;
 background:rgba(255,255,255,.035);
 color:var(--muted);
}
.task-state .icon,.task-remove .icon{width:12px;height:12px}
.task-state:hover{background:rgba(201,248,217,.1);color:var(--accent)}
.task-state:disabled{cursor:default;opacity:.45}
.task-remove{background:transparent}
.task-remove:hover{background:rgba(231,154,147,.08);color:#e79a93}
.task-empty{margin:2px 0;color:var(--muted);font-size:9px}
.task-form textarea{min-height:110px;resize:vertical}
.task-form select{width:100%;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}

.home-view{
 position:fixed;
 inset:0;
 z-index:24;
 overflow:auto;
 padding:32px clamp(22px,5vw,76px) 54px;
 background:
  radial-gradient(circle at 82% 0,rgba(201,248,217,.07),transparent 28%),
  radial-gradient(circle at 10% 100%,rgba(199,185,255,.045),transparent 30%),
  var(--bg);
 animation:home-in .28s ease both;
}
@keyframes home-in{from{opacity:0;transform:scale(.992)}to{opacity:1;transform:none}}
.home-header{
 max-width:1180px;
 margin:0 auto 32px;
 display:flex;
 align-items:center;
 justify-content:space-between;
}
.home-header>div,.home-brand{display:flex;align-items:center;gap:13px}
.home-brand img{filter:drop-shadow(0 10px 26px rgba(160,255,196,.12))}
.home-header h2{margin:3px 0 0;font-size:27px;font-weight:580;letter-spacing:-1px}
.home-header .icon-button{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}
.home-grid{
 max-width:1180px;
 margin:auto;
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:16px;
}
.home-card{
 min-width:0;
 min-height:235px;
 padding:24px;
 border:1px solid var(--line);
 border-radius:25px;
 background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
 box-shadow:inset 0 1px rgba(255,255,255,.025),0 22px 60px rgba(0,0,0,.08);
 color:var(--text);
}
button.home-card{text-align:left}
.home-workspace{
 display:grid;
 grid-template-columns:58px minmax(0,1fr) 25px;
 align-items:center;
 gap:18px;
 border-color:rgba(201,248,217,.14);
 background:linear-gradient(135deg,rgba(201,248,217,.095),rgba(255,255,255,.018));
}
.home-workspace:hover{transform:translateY(-2px);border-color:rgba(201,248,217,.28);box-shadow:0 28px 70px rgba(0,0,0,.14)}
.home-workspace>span:nth-child(2){display:grid;gap:8px}
.home-workspace strong{font-size:23px;font-weight:580;letter-spacing:-.8px}
.home-workspace small,.home-card-title small{color:var(--muted);font-size:8px;font-weight:750;letter-spacing:1.4px}
.home-workspace span span{color:var(--muted);font-size:11px}
.home-workspace>span:last-child .icon{transform:rotate(0)}
.home-card-icon{
 width:48px;
 height:48px;
 display:grid;
 place-items:center;
 border-radius:16px;
 background:rgba(255,255,255,.045);
 color:var(--accent);
}
.home-card-icon .icon{width:22px;height:22px}
.home-card-title{display:flex;align-items:center;gap:14px;margin-bottom:24px}
.home-card-title>div{display:grid;gap:5px}
.home-card-title strong{font-size:16px;font-weight:580;letter-spacing:-.35px}
.home-card-title .auto-state,.home-card-title .mini-icon{margin-left:auto}
.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-actions button,.home-actions a{
 display:flex;
 align-items:center;
 gap:9px;
 min-height:45px;
 padding:10px 12px;
 border:1px solid var(--line);
 border-radius:13px;
 background:rgba(255,255,255,.025);
 color:var(--muted);
 font-size:10px;
}
.home-actions button:hover,.home-actions a:hover{background:rgba(255,255,255,.055);color:var(--text)}
.home-actions .icon{width:15px;height:15px}
.home-poro{width:48px;height:48px;border-radius:16px;object-fit:cover;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.ai-home-card p{min-height:43px;color:var(--muted);font-size:11px;line-height:1.7}
.ai-home-card .auto-controls{width:max-content;margin:20px 0 0}
.ai-home-card .auto-controls button{height:31px;padding:0 13px}
.home-tasks{min-height:300px}
.home-task-list{display:grid;gap:7px;max-height:300px;overflow:auto;padding-right:3px}
.home-task-list .work-task{background:rgba(0,0,0,.08)}

@media(max-width:760px){
 .work-board{padding:6px 10px 7px}
 .work-board-head{gap:6px}
 .work-board-head>div:first-child>strong{display:none}
 .auto-controls button{padding:0 6px;font-size:7px}
 .auto-state{font-size:7px}
 .work-task-list{margin-top:5px}
 .work-task.compact{min-width:210px}
 .home-view{padding:calc(18px + env(safe-area-inset-top)) 13px calc(30px + env(safe-area-inset-bottom))}
 .home-header{margin-bottom:20px}
 .home-header h2{font-size:23px}
 .home-grid{grid-template-columns:1fr;gap:11px}
 .home-card{min-height:0;padding:18px;border-radius:20px}
 .home-workspace{min-height:145px;grid-template-columns:48px minmax(0,1fr) 20px}
 .home-workspace strong{font-size:20px}
 .home-card-icon,.home-poro{width:42px;height:42px;border-radius:14px}
 .home-card-title{margin-bottom:17px}
 .home-tasks{min-height:270px}
 .home-task-list{max-height:none}
}

/* 4.5 — Työlista vasemmassa sivupaneelissa, chat koko korkeudella */
.sidebar .work-board{
 display:flex;
 flex:0 1 auto;
 flex-direction:column;
 min-height:0;
 margin-top:18px;
 padding:14px 0 0;
 border-top:1px solid var(--line);
 border-bottom:0;
 background:transparent;
}
.sidebar .work-board-head{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto auto;
 gap:8px;
 min-height:27px;
}
.sidebar .work-board-head>div:first-child{overflow:hidden}
.sidebar .work-board-head>div:first-child>strong{
 display:block;
 overflow:hidden;
 text-overflow:ellipsis;
 white-space:nowrap;
 font-size:10px;
 letter-spacing:.8px;
 text-transform:uppercase;
}
.sidebar .work-board .auto-controls{
 grid-column:1/-1;
 grid-row:2;
 width:100%;
 margin:0;
}
.sidebar .work-board .auto-controls button{flex:1}
.sidebar .work-board .auto-state{margin-left:0}
.sidebar .work-task-list{
 display:grid;
 gap:7px;
 margin-top:10px;
 max-height:min(34dvh,280px);
 padding:0 3px 1px 0;
 overflow-x:hidden;
 overflow-y:auto;
 scrollbar-width:thin;
}
.sidebar .work-task.compact{
 width:100%;
 min-width:0;
 grid-template-columns:24px minmax(0,1fr);
 flex:none;
}
.sidebar .work-task.compact strong{
 white-space:normal;
 line-height:1.35;
}

/* 4.6 — Poron hallintaehdotukset */
.ai-proposal{
 margin-top:13px;
 padding:13px;
 border:1px solid rgba(185,172,241,.24);
 border-radius:13px;
 background:linear-gradient(145deg,rgba(185,172,241,.09),rgba(255,255,255,.025));
}
.ai-proposal-head{display:flex;align-items:center;gap:7px;color:var(--purple)}
.ai-proposal-head .icon{width:15px;height:15px}
.ai-proposal-head strong{font-size:10px;letter-spacing:.25px}
.ai-proposal p{margin:9px 0 11px;font-size:11px;line-height:1.55;color:var(--text)}
.ai-proposal-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.ai-proposal-actions button{min-height:34px;padding:8px 12px;border-radius:10px;font-size:10px;font-weight:650}
.ai-proposal-actions .allow-proposal{border-color:rgba(184,247,209,.25);background:rgba(184,247,209,.12);color:var(--accent)}
.ai-proposal-actions .deny-proposal{background:transparent;color:#e6aaa4}
.proposal-state{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px}
.ai-proposal.status-allowed{border-color:rgba(184,247,209,.22)}
.ai-proposal.status-allowed .proposal-state{color:#9ce9b8}
.ai-proposal.status-rejected{opacity:.66}

/* 4.8 — responsive chat: keep the conversation usable in narrow windows */
.mobile-menu,.sidebar-shade{display:none}

@media(max-width:1180px){
 .workspace{grid-template-columns:64px minmax(0,1fr)}
 .chat{grid-column:2;min-width:0;width:100%}
 .sidebar{
  display:flex;
  position:fixed;
  inset:0 auto 0 64px;
  z-index:20;
  width:min(292px,calc(100vw - 64px));
  height:100dvh;
  transform:translateX(calc(-100% - 72px));
  transition:transform .24s cubic-bezier(.22,.72,.2,1);
  box-shadow:24px 0 70px rgba(0,0,0,.38);
 }
 .workspace.sidebar-open .sidebar{transform:translateX(0)}
 .mobile-menu{display:inline-flex}
 .sidebar-shade{display:block;position:fixed;inset:0;z-index:19;background:rgba(0,0,0,.42);backdrop-filter:blur(3px)}
 .sidebar-shade[hidden]{display:none!important}
 .header-group{flex:1;min-width:0;overflow:hidden}
 .header-actions{flex:0 0 auto}
 .room-tools{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
 .room-tools::-webkit-scrollbar{display:none}
}

@media(max-width:760px){
 .workspace{grid-template-columns:minmax(0,1fr)}
 .rail{display:none}
 .chat{grid-column:1;max-width:100vw}
 .sidebar{display:flex;left:0;width:min(320px,92vw);transform:translateX(-105%)}
 .room-tools{max-width:100vw}
 .room-picker-label{flex:1 0 112px;max-width:none}
 .tool-spacer{display:none}
 .composer,.composer textarea{min-width:0;width:100%}
 .composer-footer{min-width:0;overflow:hidden}
 .composer-footer>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .messages{max-width:100vw;overflow-x:hidden}
 .message{min-width:0;max-width:100%;width:fit-content}
 .message-content,.bubble{min-width:0;max-width:100%}
 .bubble{overflow:hidden}
 .bubble img,.bubble video,.bubble audio,.file-link{max-width:100%;min-width:0}
}

@media(max-width:420px){
 .chat-header{gap:6px}
 .group-avatar{display:none}
 .header-actions{gap:0}
 #notify{display:none}
 .composer #record{display:none}
 .composer textarea{padding-left:3px;padding-right:3px}
}

/* 5.3 — AnomsChat reactive neon conversation */
:root{
 --neon-cyan:#55f4ff;
 --neon-mint:#79ffc4;
 --neon-violet:#a985ff;
 --neon-pink:#ff4fd8;
 --neon-amber:#ffc868;
}

body:not(.light){
 background:
  radial-gradient(circle at 12% 5%,rgba(85,244,255,.075),transparent 28%),
  radial-gradient(circle at 90% 90%,rgba(255,79,216,.065),transparent 30%),
  #070b10;
}

.workspace{
 position:relative;
 isolation:isolate;
 background:linear-gradient(135deg,rgba(8,12,18,.96),rgba(4,8,13,.99));
}

.rail,.sidebar{
 background:linear-gradient(180deg,rgba(12,18,25,.94),rgba(6,10,16,.97));
 border-color:rgba(85,244,255,.1);
 box-shadow:inset -1px 0 rgba(169,133,255,.08);
 backdrop-filter:blur(24px) saturate(1.12);
}

.rail::after,.sidebar::after{
 content:"";
 position:absolute;
 top:0;
 right:0;
 width:1px;
 height:100%;
 pointer-events:none;
 background:linear-gradient(180deg,transparent 3%,var(--neon-cyan) 18%,var(--neon-violet) 48%,var(--neon-pink) 78%,transparent 97%);
 opacity:.24;
 filter:drop-shadow(0 0 7px var(--neon-cyan));
 animation:neonRail 9s ease-in-out infinite;
}

.sidebar::after{right:-1px;opacity:.19;animation-delay:-3s}

.chat{
 --mx:50%;
 --my:42%;
 --signal:85 244 255;
 isolation:isolate;
 overflow:hidden;
 background:
  radial-gradient(circle at 16% 8%,rgba(85,244,255,.045),transparent 27%),
  radial-gradient(circle at 88% 88%,rgba(169,133,255,.055),transparent 31%),
  #080d13;
 box-shadow:inset 0 0 80px rgba(0,0,0,.18);
}

.chat::before{
 content:"";
 position:absolute;
 inset:70px -7% 94px 6%;
 z-index:0;
 pointer-events:none;
 background:
  linear-gradient(90deg,#080d13 0%,rgba(8,13,19,.2) 34%,rgba(8,13,19,.08) 62%,#080d13 100%),
  linear-gradient(180deg,#080d13 0%,transparent 20%,transparent 76%,#080d13 100%),
  url('/static/chat-ambient-mask.png') center 45%/min(74vh,660px) auto no-repeat;
 opacity:.24;
 filter:blur(13px) saturate(.72) contrast(1.12);
 transform:scale(1.08);
 transform-origin:center;
 animation:ambientMaskDrift 18s ease-in-out infinite alternate;
}

.chat::after{
 content:"";
 position:absolute;
 inset:0;
 z-index:0;
 pointer-events:none;
 background:
  radial-gradient(circle at var(--mx) var(--my),rgb(var(--signal)/.16),transparent 22%),
  linear-gradient(115deg,transparent 0 44%,rgb(var(--signal)/.025) 48%,transparent 52% 100%),
  repeating-linear-gradient(90deg,transparent 0 79px,rgba(85,244,255,.018) 80px),
  repeating-linear-gradient(0deg,transparent 0 79px,rgba(169,133,255,.014) 80px);
 opacity:.72;
 transition:background .55s ease,opacity .55s ease;
}

.chat.neon-pulse::after{animation:signalFlash 1.15s cubic-bezier(.18,.75,.16,1)}
.chat-header,.chat-banner,.messages,.composer-area{position:relative;z-index:2}

.chat-header{
 background:linear-gradient(90deg,rgba(9,15,22,.92),rgba(11,17,25,.76),rgba(8,13,20,.93));
 border-bottom-color:rgba(85,244,255,.12);
 box-shadow:0 12px 42px rgba(0,0,0,.25);
 backdrop-filter:blur(28px) saturate(1.22);
}

.chat-header::after{
 content:"";
 position:absolute;
 left:0;
 right:0;
 bottom:-1px;
 height:1px;
 pointer-events:none;
 background:linear-gradient(90deg,transparent,var(--neon-cyan),var(--neon-violet),var(--neon-pink),var(--neon-mint),transparent);
 background-size:240% 100%;
 opacity:.58;
 filter:drop-shadow(0 0 5px rgb(var(--signal)/.7));
 animation:neonSweep 7s linear infinite;
}

.group-avatar,.avatar{
 border-color:rgb(var(--signal)/.3);
 box-shadow:0 0 0 1px rgba(255,255,255,.025),0 0 18px rgb(var(--signal)/.12);
 transition:border-color .35s ease,box-shadow .35s ease,transform .35s ease;
}

.group-avatar:hover,.avatar:hover{
 transform:translateY(-1px) scale(1.025);
 box-shadow:0 0 0 1px rgb(var(--signal)/.22),0 0 24px rgb(var(--signal)/.25);
}

.room-tools,.chat-banner{
 background:linear-gradient(90deg,rgba(12,19,27,.72),rgba(8,14,21,.58));
 border-color:rgba(169,133,255,.11);
 backdrop-filter:blur(18px) saturate(1.15);
}

.messages{
 scrollbar-color:rgb(var(--signal)/.48) transparent;
 scrollbar-width:thin;
}

.messages::-webkit-scrollbar{width:7px}
.messages::-webkit-scrollbar-track{background:transparent}
.messages::-webkit-scrollbar-thumb{
 border:2px solid transparent;
 border-radius:999px;
 background:linear-gradient(var(--neon-cyan),var(--neon-violet),var(--neon-pink)) padding-box;
 box-shadow:0 0 8px rgb(var(--signal)/.5);
}

.message{
 transition:filter .35s ease,transform .35s cubic-bezier(.2,.75,.2,1);
}

.message:hover{filter:brightness(1.045)}
.message-content{position:relative}

.bubble{
 position:relative;
 color:#edf7f4;
 border-color:rgba(255,255,255,.065);
 background:linear-gradient(145deg,rgba(20,28,38,.83),rgba(12,19,27,.76));
 box-shadow:0 15px 42px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.035);
 backdrop-filter:blur(18px) saturate(1.14);
 transition:border-color .32s ease,box-shadow .32s ease,transform .32s ease;
}

.bubble::before{
 content:"";
 position:absolute;
 inset:0;
 border-radius:inherit;
 pointer-events:none;
 background:linear-gradient(125deg,rgb(var(--signal)/.12),transparent 31%,transparent 68%,rgb(var(--signal)/.05));
 opacity:.72;
}

.bubble>*{position:relative;z-index:1}
.bubble .text,.bubble .quote,.bubble .file-link{color:inherit}

.message:hover .bubble{
 border-color:rgb(var(--signal)/.2);
 box-shadow:0 17px 46px rgba(0,0,0,.25),0 0 22px rgb(var(--signal)/.065),inset 0 1px rgba(255,255,255,.05);
 transform:translateY(-1px);
}

.mine .bubble{
 color:#f1fff9;
 background:linear-gradient(145deg,rgba(38,105,86,.86),rgba(18,65,55,.9));
 border-color:rgba(121,255,196,.3);
 text-shadow:0 1px 1px rgba(0,0,0,.22);
 box-shadow:0 14px 38px rgba(0,0,0,.24),0 0 22px rgba(121,255,196,.07),inset 0 1px rgba(218,255,238,.12);
}

.ai .bubble{
 color:#f5f1ff;
 background:linear-gradient(145deg,rgba(64,46,104,.45),rgba(27,27,55,.68));
 border-color:rgba(169,133,255,.22);
 box-shadow:0 14px 40px rgba(0,0,0,.22),0 0 19px rgba(169,133,255,.07),inset 0 1px rgba(232,219,255,.07);
}

.message.new-arrival .bubble{animation:messageIgnite 1.18s cubic-bezier(.18,.78,.18,1)}
.message.new-arrival .avatar{animation:avatarSignal 1.22s ease-out}

.message-meta .badge,.ai-badge,.openai-badge{
 box-shadow:0 0 10px currentColor;
 text-shadow:0 0 8px currentColor;
}

.composer-area{
 background:linear-gradient(180deg,rgba(8,13,19,.2),rgba(7,12,18,.94) 27%,rgba(7,11,17,.98));
 border-top-color:rgba(85,244,255,.08);
 backdrop-filter:blur(25px) saturate(1.2);
}

.composer{
 border-color:rgba(85,244,255,.17);
 background:linear-gradient(145deg,rgba(17,25,34,.92),rgba(9,16,24,.94));
 box-shadow:0 20px 52px rgba(0,0,0,.3),0 0 0 1px rgba(169,133,255,.035),inset 0 1px rgba(255,255,255,.045);
 transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease;
}

.composer:focus-within{
 border-color:rgb(var(--signal)/.46);
 box-shadow:0 22px 58px rgba(0,0,0,.34),0 0 0 1px rgb(var(--signal)/.13),0 0 30px rgb(var(--signal)/.1),inset 0 1px rgba(255,255,255,.055);
 transform:translateY(-2px);
}

.composer textarea::placeholder{color:rgba(207,222,232,.42)}

.send-button{
 border:1px solid rgba(121,255,196,.26);
 background:linear-gradient(145deg,#eafff5,#bfffe0);
 box-shadow:0 8px 28px rgba(121,255,196,.18),0 0 0 1px rgba(255,255,255,.22) inset;
 transition:transform .24s ease,box-shadow .24s ease,filter .24s ease;
}

.send-button:hover:not(:disabled){
 transform:translateY(-2px) scale(1.035);
 filter:brightness(1.07);
 box-shadow:0 11px 34px rgba(121,255,196,.29),0 0 22px rgba(85,244,255,.12);
}

.ai-status:not(.idle),.status-dot.active{
 color:rgb(var(--signal));
 text-shadow:0 0 9px rgb(var(--signal)/.72);
}

.ai-status:not(.idle)::before,.status-dot.active::before{
 box-shadow:0 0 0 3px rgb(var(--signal)/.08),0 0 13px rgb(var(--signal)/.75);
}

@keyframes neonRail{
 0%,100%{opacity:.16;filter:drop-shadow(0 0 4px var(--neon-cyan))}
 45%{opacity:.42;filter:drop-shadow(0 0 10px var(--neon-violet))}
 62%{opacity:.25;filter:drop-shadow(0 0 7px var(--neon-pink))}
}

@keyframes neonSweep{to{background-position:-240% 0}}

@keyframes ambientMaskDrift{
 0%{transform:scale(1.08) translate3d(-.7%,0,0);opacity:.2}
 100%{transform:scale(1.115) translate3d(.8%,-.6%,0);opacity:.27}
}

@keyframes signalFlash{
 0%{opacity:.55;filter:brightness(1)}
 18%{opacity:1;filter:brightness(1.45) saturate(1.35)}
 100%{opacity:.72;filter:brightness(1)}
}

@keyframes messageIgnite{
 0%{opacity:.35;transform:translateY(11px) scale(.985);box-shadow:0 0 0 rgb(var(--signal)/0)}
 38%{opacity:1;transform:translateY(-1px) scale(1.006);box-shadow:0 0 36px rgb(var(--signal)/.22)}
 100%{opacity:1;transform:none}
}

@keyframes avatarSignal{
 0%{box-shadow:0 0 0 0 rgb(var(--signal)/.55);transform:scale(.9)}
 42%{box-shadow:0 0 0 8px rgb(var(--signal)/0),0 0 25px rgb(var(--signal)/.35);transform:scale(1.06)}
 100%{box-shadow:0 0 0 1px rgba(255,255,255,.025);transform:none}
}

body.light .chat{
 background:linear-gradient(145deg,#f7fbfd,#f1f7fa);
}

body.light .chat::before{opacity:.075;filter:blur(15px) grayscale(.35)}
body.light .chat::after{opacity:.28}
body.light .chat-header,body.light .room-tools,body.light .chat-banner,body.light .composer-area{backdrop-filter:blur(22px) saturate(1.05)}
body.light .bubble{color:#15241e;background:rgba(255,255,255,.9);text-shadow:none}
body.light .mine .bubble{color:#123326;background:linear-gradient(145deg,#d9f9e4,#bcefcf);text-shadow:none}
body.light .ai .bubble{color:#362b4d}

/* 5.4 — smooth image studio */
.image-studio-button{
 color:var(--neon-cyan);
 border:1px solid rgba(85,244,255,.12)!important;
 background:linear-gradient(145deg,rgba(85,244,255,.075),rgba(169,133,255,.055))!important;
 box-shadow:0 0 18px rgba(85,244,255,.035);
}
.image-studio-button:hover{
 color:#c9fbff!important;
 border-color:rgba(85,244,255,.32)!important;
 box-shadow:0 0 24px rgba(85,244,255,.12);
 transform:translateY(-1px);
}
.web-search-button{
 color:var(--neon-amber);
 border:1px solid rgba(255,200,104,.12)!important;
 background:linear-gradient(145deg,rgba(255,200,104,.075),rgba(255,79,216,.035))!important;
 box-shadow:0 0 18px rgba(255,200,104,.035);
}
.web-search-button:hover{color:#ffe9bd!important;border-color:rgba(255,200,104,.34)!important;box-shadow:0 0 24px rgba(255,200,104,.1);transform:translateY(-1px)}
.message-link{color:#8eeeff;text-decoration:underline;text-decoration-color:rgba(142,238,255,.35);text-underline-offset:3px;overflow-wrap:anywhere;transition:color .18s ease,text-shadow .18s ease}
.message-link:hover{color:#d5fbff;text-shadow:0 0 12px rgba(85,244,255,.35)}
body.light .message-link{color:#087589;text-decoration-color:rgba(8,117,137,.3)}
.image-edit-action{color:var(--neon-cyan)!important}
#features-dialog:has(.image-studio){width:min(94vw,760px);padding:0;overflow:hidden;background:rgba(7,12,18,.96)}
#features-dialog:has(.image-studio) .dialog-head{margin:0;padding:22px 24px 17px;border-bottom:1px solid rgba(85,244,255,.1);background:linear-gradient(90deg,rgba(85,244,255,.045),rgba(169,133,255,.035),transparent)}
#features-dialog:has(.image-studio) .dialog-head h2{font-size:20px}
.image-studio{
 display:grid;
 gap:16px;
 padding:20px 24px 24px;
 opacity:0;
 transform:translateY(8px);
 transition:opacity .32s ease,transform .42s cubic-bezier(.2,.75,.2,1);
}
.image-studio.ready{opacity:1;transform:none}
.studio-intro{display:flex;align-items:center;gap:12px;color:#aebbc3;font-size:11px;line-height:1.65}
.studio-mark{width:36px;height:36px;display:grid;place-items:center;flex:none;border:1px solid rgba(85,244,255,.18);border-radius:12px;color:var(--neon-cyan);background:linear-gradient(145deg,rgba(85,244,255,.1),rgba(169,133,255,.08));box-shadow:0 0 24px rgba(85,244,255,.08)}
.studio-mark .icon{width:17px;height:17px}
.studio-modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.07);border-radius:13px;background:rgba(255,255,255,.025)}
.studio-modes button{min-height:38px;padding:8px 12px;border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:700}
.studio-modes button.active{color:#effff8;background:linear-gradient(135deg,rgba(85,244,255,.13),rgba(169,133,255,.13));box-shadow:inset 0 0 0 1px rgba(85,244,255,.1),0 8px 25px rgba(0,0,0,.14)}
.studio-drop{
 position:relative;
 min-height:245px;
 display:grid;
 place-items:center;
 align-content:center;
 gap:10px;
 overflow:hidden;
 cursor:pointer;
 border:1px dashed rgba(85,244,255,.26);
 border-radius:19px;
 background:
  radial-gradient(circle at 50% 36%,rgba(85,244,255,.09),transparent 31%),
  linear-gradient(145deg,rgba(18,27,36,.85),rgba(9,15,22,.94));
 transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease,background .28s ease;
}
.studio-drop:hover,.studio-drop.dragging{border-color:rgba(85,244,255,.65);box-shadow:0 0 0 4px rgba(85,244,255,.045),0 20px 55px rgba(0,0,0,.22);transform:translateY(-2px)}
.studio-drop.dragging{background:radial-gradient(circle at 50% 40%,rgba(85,244,255,.17),transparent 42%),rgba(11,20,28,.96)}
.studio-drop-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;color:var(--neon-cyan);background:rgba(85,244,255,.075);box-shadow:0 0 30px rgba(85,244,255,.08)}
.studio-drop-icon .icon{width:24px;height:24px}
.studio-drop-copy{position:relative;z-index:2;text-align:center;display:grid;gap:6px}
.studio-drop-copy strong{font-size:12px;color:#eef7f4}
.studio-drop-copy small{font-size:9px;color:var(--muted)}
.studio-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#05090d;transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .4s ease}
.studio-drop.has-image::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(3,7,11,.86));pointer-events:none}
.studio-drop.has-image .studio-drop-icon{display:none}
.studio-drop.has-image .studio-drop-copy{align-self:end;margin:0 70px 17px}
.studio-drop.has-image:hover .studio-preview{transform:scale(1.018);filter:brightness(.86)}
.studio-replace{position:absolute;z-index:3;right:12px;top:12px;padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:9px;background:rgba(5,10,15,.72);backdrop-filter:blur(12px);color:#dce8e4;font-size:9px;opacity:0;transform:translateY(-3px);transition:opacity .22s ease,transform .22s ease}
.studio-drop.has-image .studio-replace{opacity:1;transform:none}
.studio-label{margin:1px 2px -7px;color:#90a1aa;font-size:8px;font-weight:750;letter-spacing:1.4px}
.studio-prompt{min-height:104px;resize:vertical;border-color:rgba(169,133,255,.15);border-radius:15px;background:rgba(12,19,27,.86);font-size:13px;line-height:1.65;transition:border-color .25s ease,box-shadow .25s ease,background .25s ease}
.studio-prompt:focus{border-color:rgba(85,244,255,.4);background:rgba(12,20,28,.96);box-shadow:0 0 0 4px rgba(85,244,255,.045),0 0 28px rgba(169,133,255,.055)}
.studio-hints{display:flex;flex-wrap:wrap;gap:7px;margin-top:-8px}
.studio-chip{min-height:29px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.025);color:#9fadb5;font-size:8px}
.studio-chip:hover{color:#eafff4;border-color:rgba(121,255,196,.2);background:rgba(121,255,196,.06)}
.studio-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:3px}
.studio-footer small{max-width:390px;color:#6f7d86;font-size:8px;line-height:1.55}
.studio-submit{position:relative;min-width:155px;min-height:43px;overflow:hidden;border-radius:13px;background:linear-gradient(135deg,#c7ffe2,#a8f7ff);color:#0c241b;box-shadow:0 10px 28px rgba(85,244,255,.1)}
.studio-submit .icon{width:16px;height:16px}
.studio-submit.working::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 48%,transparent 76%);transform:translateX(-100%);animation:studioWorking 1.25s linear infinite}
@keyframes studioWorking{to{transform:translateX(100%)}}
body.light #features-dialog:has(.image-studio){background:rgba(247,251,249,.98)}
body.light .studio-drop{background:#eef5f2;border-color:rgba(27,126,88,.25)}
body.light .studio-drop-copy strong{color:#173327}
body.light .studio-prompt{background:#fff;color:#15241e}
body.light .studio-intro{color:#52675d}

@media(max-width:760px){
 .chat::before{
  inset:76px -28% 104px -6%;
  background-position:center 47%;
  background-size:min(82vh,590px) auto;
  opacity:.17;
  filter:blur(16px) saturate(.68);
 }
 .chat::after{
  background:
   radial-gradient(circle at var(--mx) var(--my),rgb(var(--signal)/.13),transparent 28%),
   repeating-linear-gradient(90deg,transparent 0 59px,rgba(85,244,255,.012) 60px);
 }
 .bubble{backdrop-filter:blur(15px) saturate(1.08)}
 .composer-area{backdrop-filter:blur(20px)}
 #features-dialog:has(.image-studio){width:calc(100% - 14px);max-height:94dvh}
 #features-dialog:has(.image-studio) .dialog-head{padding:17px 17px 13px}
 .image-studio{padding:15px 15px 18px;gap:13px}
 .studio-drop{min-height:210px}
 .studio-footer{align-items:stretch;flex-direction:column}
 .studio-submit{width:100%}
 .studio-footer small{text-align:center;order:2}
 .image-studio-button{min-width:34px!important}
 .web-search-button{min-width:34px!important}
}

@media(prefers-reduced-motion:reduce){
 .chat::before,.chat::after,.chat-header::after,.rail::after,.sidebar::after,.message.new-arrival .bubble,.message.new-arrival .avatar{animation:none!important}
 .message,.bubble,.avatar,.composer,.send-button{transition:none!important}
}
