:root{--bg: #faf7f5;--surface: #ffffff;--border: #e6dfdb;--text: #2b2540;--muted: #857e92;--accent: #b0567e;--accent-soft: #f3dfe8}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.signin{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center;padding:2rem}.signin h1{font-size:2.5rem;margin:0}.signin p{color:var(--muted);max-width:28rem}.error{color:#b03030}.app{display:flex;height:100vh}aside{width:260px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--surface)}aside header{padding:1rem}aside h1{font-size:1.2rem;margin:0}.new-chat{margin:0 .75rem .5rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);cursor:pointer;text-align:left}.new-chat:hover{background:var(--accent-soft)}aside nav{flex:1;overflow-y:auto;padding:0 .5rem}aside nav ul{list-style:none;margin:0;padding:0}aside nav li{display:flex;align-items:center;border-radius:8px}aside nav li.active{background:var(--accent-soft)}aside nav li>button:first-child{flex:1;min-width:0;border:0;background:none;padding:.5rem;text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.85rem;color:var(--text)}aside nav li .delete{border:0;background:none;cursor:pointer;opacity:0;padding:.25rem}aside nav li:hover .delete,aside nav li .delete:focus-visible{opacity:.7}aside footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.75rem 1rem;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted)}aside footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}aside footer button{border:0;background:none;color:var(--accent);cursor:pointer;flex-shrink:0}main{flex:1;display:flex;flex-direction:column;min-width:0}.messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;max-width:52rem;width:100%;margin:0 auto}.empty{color:var(--muted);text-align:center;margin-top:4rem}.bubble{max-width:85%;padding:.6rem .9rem;border-radius:12px;line-height:1.5;font-size:.95rem;overflow-wrap:break-word}.bubble.user{align-self:flex-end;background:var(--accent);color:#fff;white-space:pre-wrap}.assistant-block{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}.bubble.assistant{background:var(--surface);border:1px solid var(--border)}.bubble.assistant p{margin:.3rem 0}.bubble.assistant a{color:var(--accent)}.thinking{color:var(--muted)}.tools{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0}.tools li{font-size:.75rem;color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.1rem .6rem}.citations{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0}.citations a{font-size:.78rem;color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.15rem .6rem;text-decoration:none}.citations a:hover{background:var(--accent-soft)}.feedback{display:flex;flex-direction:column;gap:.3rem}.thumb{border:0;background:none;cursor:pointer;font-size:.9rem;opacity:.5;padding:.15rem}.thumb:hover,.thumb.active{opacity:1}.feedback-note{font-size:.78rem;color:var(--muted);margin:0}.feedback-note.error{color:#b03030}.feedback-comment{display:flex;gap:.4rem}.feedback-comment input{flex:1;border:1px solid var(--border);border-radius:8px;padding:.3rem .6rem;font-size:.8rem}.feedback-comment button{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:.3rem .7rem;font-size:.8rem;cursor:pointer}.composer{display:flex;gap:.5rem;padding:1rem 1.5rem 1.25rem;max-width:52rem;width:100%;margin:0 auto}.composer input{flex:1;border:1px solid var(--border);border-radius:10px;padding:.65rem .9rem;font-size:.95rem;background:var(--surface)}.composer input:focus-visible{outline:2px solid var(--accent)}.composer button{border:0;border-radius:10px;background:var(--accent);color:#fff;padding:0 1.2rem;font-size:.95rem;cursor:pointer}.composer button:disabled{opacity:.5;cursor:default}
