
:root{--navy:#020c1b;--ink:#172234;--muted:#728080;--teal:#216f65;--line:#e2e8e4;--paper:#f5f6f2}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:var(--ink);border-radius:10px;padding:9px 13px}button:hover{background:#edf3ef}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #70b9a5;outline-offset:2px}button.primary{background:var(--teal);color:white;border-color:var(--teal)}button.ghost{border:0;background:transparent}button.small{padding:4px 9px;font-size:12px}header{height:77px;background:var(--navy);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 36px} .brand{font-family:Georgia,serif;font-size:28px;letter-spacing:2px}.brand small{display:block;font:9px/1.4 sans-serif;letter-spacing:2.3px;color:#b1c6c7}.header-right{display:flex;align-items:center;gap:15px;font-size:12px;color:#c7d5d7}.badge{font-size:11px;padding:4px 9px;background:#e4eee7;color:#35674c;border-radius:20px;display:inline-block}.demo{background:#fff5d9;color:#725a25;padding:9px 30px;text-align:center;font-size:12px}.layout{max-width:1440px;margin:auto;display:grid;grid-template-columns:250px minmax(0,1fr) 270px;height:calc(100dvh - 113px);min-height:550px}aside{padding:30px 20px;border-right:1px solid var(--line);background:#fafbf8}.overline{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:700}.group{margin-top:18px;padding:15px;background:#e7efea;border:1px solid #d3e1d8;border-radius:12px}.group b{display:block}.group small{color:#61756d}.group-icon{width:40px;height:40px;display:grid;place-items:center;background:#d2e2d7;border-radius:12px;color:var(--teal);font:25px Georgia;margin-bottom:10px}.aside-bottom{margin-top:35px;font-size:12px;color:var(--muted)}main{min-width:0;display:flex;flex-direction:column;background:#f2f4ef}.chat-head{padding:23px 28px 17px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.chat-head h1{font:26px Georgia;margin:0 0 4px}.subtitle{font-size:12px;color:var(--muted)}.tabs{display:flex;gap:8px;padding:12px 28px;background:white;border-bottom:1px solid var(--line)}.tabs button{border:0;font-size:13px;padding:7px 12px}.tabs .active{background:#e5eee8;color:var(--teal);font-weight:600}.pin{margin:16px 28px 0;padding:12px 16px;background:#fffdf5;border:1px solid #e9e2c8;border-radius:10px;font-size:12px}.pin b{display:block;color:#856a30;font-size:10px;text-transform:uppercase;letter-spacing:1px}.messages{flex:1;overflow:auto;padding:18px 28px;scroll-behavior:smooth}.date{text-align:center;color:#88918b;font-size:10px;letter-spacing:1px;margin-bottom:20px}.msgrow{display:flex;gap:10px;margin:0 0 19px}.msgrow.own{flex-direction:row-reverse}.avatar{width:31px;height:31px;border-radius:50%;background:#e1e6ee;color:#56657b;display:grid;place-items:center;flex-shrink:0;font-size:10px;font-weight:700}.own .avatar{background:#d5e8db;color:var(--teal)}.bubble{max-width:88%;min-width:170px;background:white;padding:13px 16px;border:1px solid #e3e9e2;border-radius:0 13px 13px 13px;box-shadow:0 2px 3px #17223403}.own .bubble{background:#e4efe6;border-color:#d7e5d9;border-radius:13px 0 13px 13px}.sender{font-size:11px;font-weight:700;color:#47746c;margin-bottom:6px}.text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.meta{font-size:10px;color:#89958d;text-align:right;margin-top:7px}.actions{display:flex;gap:5px;margin-top:8px;flex-wrap:wrap}.actions button{background:transparent;border-color:#dfe6df}.quote{border-left:3px solid #8eb3a0;padding:5px 9px;margin-bottom:9px;background:#f0f5ef;font-size:11px;color:#61756d;white-space:pre-wrap}.polltitle{font-size:15px;margin:8px 0 12px}.polloption{display:block;width:100%;text-align:left;margin:7px 0;padding:9px 11px;border-radius:8px;position:relative;overflow:hidden;background:linear-gradient(90deg,#dceade var(--pct),#fff var(--pct));font-size:12px}.polloption.selected{border-color:var(--teal)}.polloption span{float:right;margin-left:15px}.pollmeta{font-size:10px;color:var(--muted);margin-top:10px}.composer{background:white;padding:15px 25px;border-top:1px solid var(--line)}.composebox{display:flex;gap:10px;align-items:flex-end}.composebox textarea{width:100%;resize:vertical;min-height:46px;max-height:180px;border:1px solid var(--line);border-radius:12px;padding:11px 13px;background:#f9faf7}.composefoot{font-size:10px;color:#87938b;margin-top:7px}.context{padding:28px 22px;background:#fafbf8;border-left:1px solid var(--line)}.context h2{font:21px Georgia;margin:12px 0}.context p{font-size:12px;color:#75827b}.context ul{list-style:none;padding:0}.context li{display:flex;gap:10px;align-items:center;margin:16px 0;font-size:12px}.context li small{display:block;color:#869188}.context .rule{height:1px;background:var(--line);margin:25px 0}.empty{text-align:center;padding:45px;color:var(--muted)}dialog{border:0;border-radius:18px;padding:28px;width:min(480px,92vw);box-shadow:0 20px 90px #00152340;color:var(--ink)}dialog::backdrop{background:#04142170;backdrop-filter:blur(3px)}dialog h2{font:27px Georgia;margin:0 0 12px}dialog p{font-size:13px;color:var(--muted)}label{display:block;font-size:12px;margin:13px 0}label input,label textarea,label select{width:100%;margin-top:5px;padding:11px;border:1px solid #d9e1dc;border-radius:8px}dialog footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.member{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:12px 0;font-size:12px}.member small{display:block;color:var(--muted)}.hint{padding:10px;background:#fff6dc;border-radius:8px;font-size:12px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:white;padding:12px 22px;border-radius:10px;z-index:10;font-size:13px}#replybar{font-size:12px;margin-bottom:10px;color:var(--teal)}#replybar:empty{display:none}.mobile-members{display:none}@media(max-width:1100px){.layout{grid-template-columns:210px minmax(0,1fr)}.context{display:none}}@media(max-width:700px){header{height:64px;padding:0 18px}.brand{font-size:22px}.header-right>span{display:none}.demo{padding:7px 12px;font-size:10px}.layout{display:block;height:calc(100dvh - 105px);min-height:0}.layout>aside{display:none}main{height:100%}.chat-head{padding:15px 17px}.chat-head h1{font-size:24px}.tabs{padding:9px 12px}.pin{margin:12px 15px 0}.messages{padding:16px 13px}.composer{padding:12px}.bubble{max-width:90%}.avatar{display:none}.mobile-members{display:inline-block}.subtitle{font-size:10px}.header-right{gap:5px}} 

[hidden]{display:none!important}.login{max-width:480px;margin:9vh auto;padding:35px;background:white;border:1px solid var(--line);border-radius:18px}.login h1{font:35px Georgia;margin:8px 0 15px}.login p{color:var(--muted);font-size:14px}.login input{width:100%;padding:12px;border:1px solid var(--line);border-radius:9px;margin:7px 0 16px}.login button.primary{width:100%}.status{font-size:12px;color:var(--teal);margin:10px 0}.error{color:#a64434}.speech-controls{display:flex;gap:8px;align-items:center;margin-top:8px}.speech-controls select{border:1px solid var(--line);border-radius:7px;background:white;font-size:11px;padding:4px}.recording{background:#ffdfd8!important;color:#a33b2d!important}.group-count{margin:12px 0;font-size:12px;color:var(--muted)}@media(max-width:700px){.login{margin:30px 15px;padding:25px}.composebox{gap:5px}.composebox button{padding:9px}.speech-controls{flex-wrap:wrap}}
.attachment{display:block;margin:10px 0;padding:12px;background:#f3f6f0;border:1px solid #cbd9ce;border-radius:9px;color:#216f65;text-decoration:none;font-size:13px;overflow-wrap:anywhere}.attachment small{display:block;font-size:10px;color:#728080;margin-top:4px}
.image-preview{display:block;padding:0;margin:12px 0 5px;width:280px;max-width:100%;overflow:hidden;border:1px solid #cbd9ce;border-radius:10px;background:#eef2ec;text-align:left}.image-preview img{display:block;width:100%;max-height:260px;object-fit:contain;background:#e5eae5}.image-preview span{display:block;padding:6px 10px;font-size:11px;color:#216f65}.image-dialog{width:min(1100px,95vw);max-height:94dvh;padding:0;overflow:auto}.image-viewer header{height:auto;min-height:55px;padding:12px 18px;gap:15px}.image-viewer h2{font:16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:0;overflow-wrap:anywhere;color:white}.image-viewer>img{display:block;max-width:100%;max-height:74dvh;width:auto;height:auto;object-fit:contain;margin:auto;background:#f2f4ef}.image-viewer footer{margin:0;padding:12px 18px}.image-viewer footer a{color:#216f65;font-size:13px}

.pdf-toolbar{display:flex;justify-content:center;align-items:center;gap:14px;padding:12px;background:#f1f4ef;position:sticky;top:0;z-index:1}.pdf-toolbar span{font-size:12px;text-align:center}.pdf-paper{background:#dce3df;padding:16px;min-height:180px;text-align:center}.pdf-paper img{width:100%;height:auto;max-width:850px;display:block;margin:auto;box-shadow:0 2px 12px #17223420}.pdf-paper p{padding:25px}.pdf-dialog{max-height:94dvh}.pdf-toolbar button:disabled{opacity:.45;cursor:default}@media(max-width:700px){.pdf-paper{padding:5px}.pdf-toolbar{gap:8px;padding:8px}.pdf-toolbar button{font-size:12px;padding:7px}}
