:root{color-scheme:light;--bg: #dfe8f1;--panel: #ffffff;--border: #b9c8d8;--text: #162534;--muted: #5f748a;--accent: #3390ec;--danger: #d9534f;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}button,input{font:inherit}button{cursor:pointer;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:.5rem .9rem}button.primary{background:var(--accent);border-color:transparent;color:#0a0c10;font-weight:600}button:disabled{opacity:.55;cursor:not-allowed}input{width:100%;padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:#f2f7fb;color:var(--text)}input:focus{outline:none;border-color:#7cb5ea;box-shadow:0 0 0 3px #3390ec29}a{color:var(--accent)}.layout{display:grid;grid-template-columns:280px 1fr;min-height:100vh;background:radial-gradient(circle at top left,#f7fbff 0%,transparent 42%),radial-gradient(circle at bottom right,#eef6fc 0%,transparent 45%),var(--bg)}.sidebar{border-right:1px solid var(--border);background:#edf4fa;display:flex;flex-direction:column}.sidebar header{padding:1rem;border-bottom:1px solid var(--border);font-weight:600}.list{overflow:auto;flex:1}.item{padding:.75rem 1rem;border-bottom:1px solid var(--border);cursor:pointer}.item:hover{background:#dfedf9}.item.active{background:#cfe6f8}.main{display:flex;flex-direction:column;min-width:0}.main header{padding:.75rem 1rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.75rem}.messages{flex:1;overflow:auto;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.bubble{max-width:72%;padding:.55rem .7rem;border-radius:12px;border:1px solid var(--border);background:#fff;align-self:flex-start;white-space:pre-wrap;word-break:break-word;box-shadow:0 1px #0000000a}.bubble.self{align-self:flex-end;background:#d8f3c8;border-color:#bfe7a8}.meta{font-size:.75rem;color:var(--muted);margin-top:.25rem}.composer{padding:.75rem 1rem;border-top:1px solid var(--border);display:flex;gap:.5rem}.auth{max-width:420px;margin:4rem auto;padding:1.5rem;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 8px 24px #203e5c1f}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.row{display:flex;gap:.5rem;align-items:center}.error{color:var(--danger);font-size:.9rem;margin:.25rem 0 .75rem}
