:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20382b;background:#f3f5ef;font-synthesis:none;--green:#245b3b;--line:#dce4d9}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:12px 18px;background:var(--green);color:white;font-weight:650}button:hover{filter:brightness(.92)}button:disabled{opacity:.5;cursor:wait}input,textarea{width:100%;border:1px solid #c5d2c4;border-radius:10px;padding:13px;background:white;color:inherit}input:focus,textarea:focus,button:focus-visible{outline:3px solid #9cc7a5;outline-offset:2px}label{display:block;font-size:.85rem;font-weight:650;margin-bottom:8px}small,.fine{font-size:.78rem;color:#657368;line-height:1.6}.brand{max-width:1200px;margin:auto;padding:24px 28px;display:flex;gap:12px;align-items:center;font-size:1.15rem;font-weight:700}.brand small{display:block;font-weight:400}.mark{background:var(--green);color:#fff;border-radius:13px;font:700 28px Georgia,serif;width:48px;height:48px;display:grid;place-items:center}.brand button{margin-left:auto}.quiet{background:transparent;color:var(--green);border:1px solid var(--line);font-size:.85rem}.card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 50px #20382b08}main{max-width:1200px;margin:auto;padding:0 28px}.login{max-width:510px;margin:24px auto;padding:42px}.eyebrow{font-size:.7rem;letter-spacing:.15em;font-weight:750;color:#5d7a65}h1{letter-spacing:-.04em;font-size:2.45rem;line-height:1.12;font-weight:650;margin:22px 0}p{color:#657368;line-height:1.65}.login form{margin-top:24px}.login form button{display:flex;justify-content:space-between;width:100%;margin-top:16px}.login .fine{margin:25px 0 0}.workspace{display:grid;grid-template-columns:310px minmax(0,1fr);height:min(760px,calc(100dvh - 160px));min-height:480px;overflow:hidden}aside{border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;min-height:0;background:#fafbf8}.sidebar-title h1{font-size:1.6rem;margin:0 0 6px}.sidebar-title span{font-size:.75rem;color:#657368}#new-chat{margin:28px 0 20px}.input-row{display:flex;gap:6px}.input-row input{min-width:0;font-size:.8rem}.input-row button{padding:10px 14px}#rooms{overflow:auto;flex:1}#rooms button{display:block;width:100%;text-align:left;background:transparent;color:inherit;font-weight:500;padding:14px 12px;margin:3px 0;overflow-wrap:anywhere}#rooms button[aria-current=true]{background:#e3efdf}#rooms button small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat{min-width:0;min-height:0}.welcome{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.empty-mark{font-size:38px;background:#ecf3e7;width:86px;height:86px;border-radius:28px;display:grid;place-items:center}.welcome h2{font-size:1.6rem;font-weight:550;margin:22px 0 0}.welcome p{max-width:290px}#conversation{height:100%;display:flex;flex-direction:column}.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 24px;border-bottom:1px solid var(--line)}.chat-heading h2{font-size:1rem;overflow-wrap:anywhere;margin:0}.history-bar{padding:10px 20px;display:flex;gap:12px;align-items:center;font-size:.75rem;color:#657368}#messages{flex:1;min-height:0;overflow:auto;padding:12px 24px;display:flex;flex-direction:column;gap:12px}.bubble{max-width:85%;padding:12px 16px;border-radius:14px 14px 14px 3px;background:#f0f3ed;align-self:flex-start;overflow-wrap:anywhere;white-space:pre-wrap}.bubble.mine{background:#e0efdb;border-radius:14px 14px 3px 14px;align-self:flex-end}.bubble time{display:block;font-size:.65rem;opacity:.65;text-align:right;margin-top:6px}.bubble p{margin:0;color:inherit;line-height:1.5}#send{display:flex;align-items:flex-end;gap:12px;padding:18px;border-top:1px solid var(--line)}textarea{resize:vertical;max-height:180px}#notice{max-width:1144px;margin:0 auto 12px;padding:0 12px;font-size:.9rem;min-height:24px;color:#8a3d29}#notice:empty{margin-bottom:0}footer{padding:16px;text-align:center;font-size:.75rem;color:#657368}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:700px){.brand{padding:16px}main{padding:0 12px}.login{padding:28px;margin:12px auto}.login h1{font-size:2.1rem}.workspace{height:auto;min-height:0;display:block}aside{border-right:0;border-bottom:1px solid var(--line);padding:20px}#rooms{max-height:180px}aside .fine{display:none}#new-chat{margin:16px 0 10px}.chat{height:65dvh;min-height:380px}.chat-heading{padding:16px}.history-bar{padding:10px}#messages{padding:12px}#send{padding:12px;gap:8px}.bubble{max-width:92%}footer{padding:12px}}

.site-frame{max-width:1144px;margin:40px auto;padding:32px;background:#fafbf8}
.site-frame .brand{padding:0;max-width:none;margin:0;gap:14px}
.brand h1{font-size:1.7rem;letter-spacing:-.04em;margin:0;font-weight:700}
.features{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px;padding:0;list-style:none;color:var(--green);font-size:.8rem;line-height:1.4}
.features li{padding:8px 13px;border:1px solid #d5e3d0;border-radius:999px;background:#edf4e8;font-weight:600;white-space:nowrap}
.client-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding:0 0 10px}
.client-tabs button{flex:1;background:transparent;color:#526b59;font-size:.9rem;padding:13px 16px;line-height:1.4;border:1px solid transparent}
.client-tabs button[aria-selected="true"]{background:var(--green);color:#fff;border-color:var(--green)}
.client-panel{padding-top:24px;min-width:0}
.client-panel:focus-visible{outline:3px solid #9cc7a5;outline-offset:4px;border-radius:12px}
.client-panel .login{margin:0 auto 8px}
.empty-panel{min-height:330px}
@media(max-width:1200px){.site-frame{margin:24px}}
@media(max-width:700px){.site-frame{margin:12px;padding:20px 14px}.brand h1{font-size:1.45rem}.site-frame .brand{gap:10px}.features{margin:18px 0 22px}.client-tabs{gap:4px}.client-tabs button{font-size:.75rem;padding:10px 6px;overflow-wrap:break-word}.client-panel{padding-top:18px}.client-panel .login{padding:24px 20px}.empty-panel{min-height:280px}}

.app-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:760px;margin:8px auto}
.app-option{padding:28px;background:#fff;border:1px solid var(--line);border-radius:16px}
.app-option h2{font-size:1.1rem;font-weight:650;margin:0 0 18px;overflow-wrap:anywhere}
.coming-soon{display:inline-block;padding:6px 12px;border-radius:999px;background:#eef1eb;color:#52644f;font-size:.78rem;font-weight:600;line-height:1.4}
.standalone-preview{display:flex;justify-content:center;align-items:center;min-height:230px}
@media(max-width:700px){.features{gap:6px}.features li{font-size:.72rem;padding:7px 10px}.app-options{grid-template-columns:1fr}.app-option{padding:22px}}

.brand-subtitle{margin:14px 0 30px;padding-left:16px;border-left:3px solid #a9c69e;color:#657368;font-size:1.05rem;line-height:1.6;letter-spacing:.01em}
.brand-subtitle span{color:var(--green);font-weight:600}
.client-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start;border-top:1px solid var(--line);padding-top:24px}
.client-layout .client-tabs{flex-direction:column;gap:8px;border-bottom:0;border-right:1px solid var(--line);padding:0 20px 24px 0}
.client-layout .client-tabs button{flex:none;width:100%;text-align:left;font-size:.9rem;padding:14px 16px;line-height:1.5}
.client-layout .client-tabs button:hover{background:#edf4e8;filter:none}
.client-layout .client-tabs button[aria-selected="true"]{background:var(--green);color:#fff}
.client-content{min-width:0}
.client-layout .client-panel{padding-top:0}
.client-layout .app-options{grid-template-columns:1fr;margin:0 auto}
.client-layout .workspace{grid-template-columns:240px minmax(0,1fr)}
@media(max-width:900px){.client-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}.client-layout .client-tabs{padding-right:14px}.client-layout .workspace{display:block;height:auto}.client-layout .workspace aside{border-right:0;border-bottom:1px solid var(--line)}.client-layout #rooms{max-height:180px}.client-layout .chat{height:65dvh;min-height:380px}}
@media(max-width:600px){.brand-subtitle{font-size:.9rem;margin-bottom:24px}.client-layout{grid-template-columns:minmax(0,1fr);gap:22px;padding-top:18px}.client-layout .client-tabs{border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px;gap:4px}.client-layout .client-tabs button{padding:10px 14px;font-size:.85rem}}
