:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#1b2630;background:#f5f7f9}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;background:#2769a5;color:#fff;border-radius:8px;padding:10px 16px}button:disabled{opacity:.5;cursor:default}input,textarea,select{border:1px solid #ccd4dc;border-radius:8px;padding:10px;background:#fff;color:#1b2630}.login{max-width:360px;margin:14vh auto;padding:24px}.login form,.empty form{display:flex;flex-direction:column;gap:12px}.layout{display:flex;height:100dvh}aside{width:260px;background:#fff;border-right:1px solid #e1e6eb;padding:20px;display:flex;flex-direction:column;gap:12px}.brand{font-size:22px;font-weight:700}.secondary{background:#e9f1f8;color:#2769a5}aside h2{font-size:14px;color:#657789;margin:20px 0 0}.conversation{background:transparent;color:#1b2630;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation.active{background:#e9f1f8}.aside-bottom{margin-top:auto}.text{background:transparent;color:#657789}.chat{flex:1;min-width:0;display:flex;flex-direction:column}.chat header{height:64px;background:#fff;border-bottom:1px solid #e1e6eb;display:flex;align-items:center;gap:20px;padding:12px 24px}.messages{flex:1;overflow:auto;padding:28px max(20px,calc((100% - 780px)/2))}.empty{text-align:center;margin:auto;color:#657789;max-width:380px}.empty h2{color:#1b2630}.turn{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}.bubble{max-width:85%;padding:12px 16px;border-radius:14px;white-space:pre-wrap;line-height:1.6}.user{align-self:flex-end;background:#dcebf8}.assistant{align-self:flex-start;background:#fff;border:1px solid #e1e6eb}.composer{display:flex;gap:12px;padding:18px max(20px,calc((100% - 780px)/2));background:#fff}.composer textarea{flex:1;resize:vertical}.composer button{align-self:flex-end}.error{color:#bd3333;padding:0 20px}@media(max-width:650px){.layout{flex-direction:column}aside{width:100%;height:126px;padding:10px;overflow:auto;flex-direction:row;align-items:center;flex-wrap:wrap}.brand{font-size:18px}aside h2,.aside-bottom{display:none}.conversation{max-width:120px}.chat header{height:56px}.messages{padding:16px}.composer{padding:10px}.bubble{max-width:95%}}
