@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 calc(8px + env(safe-area-inset-bottom))}.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 calc(7px + env(safe-area-inset-bottom));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}
.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}
