:root{font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:#e7e9f1;background:#10131a;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.app{display:flex;height:100dvh}.sidebar{width:270px;background:#171b25;border-right:1px solid #303646;display:flex;flex-direction:column;padding:23px 15px;gap:25px}.brand{font-size:21px;font-weight:800;letter-spacing:-.6px}.ghost{border:1px solid #333a4b;background:#222838;border-radius:12px;padding:12px;color:#dce3f2}.threads{display:flex;flex-direction:column;gap:5px;flex:1;overflow:auto}.thread-row{display:flex;align-items:center;min-width:0;border-radius:9px;gap:3px}.thread-row.selected,.thread-row:hover{background:#2a3142}.thread{flex:1;min-width:0;background:transparent;border:0;color:#aab4c9;padding:10px;border-radius:9px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-row.selected .thread,.thread:hover{color:white}.thread-delete{flex:0 0 auto;border:0;background:transparent;color:#aab4c9;border-radius:8px;padding:6px;line-height:1;font-size:15px}.thread-delete:hover,.thread-delete:focus-visible{color:white;background:#3a4559}.sidebar-bottom{border-top:1px solid #333a4b;padding-top:14px}.sidebar-bottom button{width:100%}.main{min-width:0;flex:1;display:flex;flex-direction:column}.toolbar{display:flex;justify-content:space-between;align-items:center;padding:18px 25px;border-bottom:1px solid #303646;gap:15px}.toolbar>div:first-child{display:flex;flex-direction:column;gap:4px}.muted{color:#95a1b5;font-size:13px}.controls{display:flex;align-items:center;gap:12px}.controls select{width:min(210px,30vw);background:#1a202c;border:1px solid #3b4559;color:white;border-radius:10px;padding:11px}.primary{border:0;border-radius:11px;background:#7bbda5;color:#0c1e1a;font-weight:700;padding:12px 19px}.primary:hover{background:#a1dec7}.conversation{flex:1;overflow:auto;display:flex;flex-direction:column;gap:22px;padding:34px max(24px,calc((100% - 800px)/2))}.welcome{margin:auto;text-align:center;color:#9fa9bf}.welcome h1{font-size:42px;color:#f2f4f8;letter-spacing:-1px}.message{line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.message small{display:block;margin-bottom:7px;color:#97a5b9;font-weight:700}.message.user{margin-left:auto;max-width:85%;border-radius:17px;padding:14px 19px;background:#2b3443}.message.assistant{max-width:100%}.composer{border-top:1px solid #303646;padding:18px max(24px,calc((100% - 800px)/2));background:#131722}.composer textarea{width:100%;resize:vertical;min-height:60px;max-height:160px;border:1px solid #394255;border-radius:14px;padding:14px;background:#1a202c;color:#f2f4f8;outline:none}.composer textarea:focus{border-color:#7bbda5}.composer-actions{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.composer small{color:#8793a9}.login-page{min-height:100dvh;display:grid;place-items:center;padding:24px}.login-card{background:#181e28;border:1px solid #343d4e;border-radius:20px;padding:34px;max-width:420px;width:100%;box-shadow:0 25px 80px #0005}.login-card form{display:flex;flex-direction:column;gap:18px;margin-top:30px}.login-card label{color:#b8c3d4;display:flex;flex-direction:column;gap:8px}.login-card input{background:#111620;border:1px solid #404a5e;border-radius:10px;padding:13px;color:white}.login-card .primary{width:100%}.error{color:#ff9999;font-size:13px;min-height:15px}@media(max-width:700px){.sidebar{width:145px;padding:14px 9px}.brand{font-size:17px}.toolbar{padding:14px}.controls{gap:6px}.controls select{width:108px}.conversation,.composer{padding:18px}.welcome h1{font-size:30px}.composer small{font-size:10px}}
/* GPU power control: prominent when off, intentionally subtle when on */
.controls .quiet { border:1px solid #384359; padding:9px 12px; color:#aab8c8; background:transparent; border-radius:10px; font-size:13px; }
.controls .quiet:hover {background:#303b4c;color:#fff}
#power:disabled {opacity:.5}

/* Optional GPU budget UI. The backend enforces the configured hard cap. */
.controls .budget-label{display:flex;flex-direction:column;gap:3px;color:#aab8c8;font-size:11px}
.controls .budget-label select{width:108px;padding:7px;font-size:13px}
@media(max-width:830px){.controls .budget-label{font-size:10px}.controls .budget-label select{width:82px}}
@media(max-width:560px){.toolbar{flex-wrap:wrap}.controls{width:100%;justify-content:space-between}.controls #model{width:110px}}

/* Assistant response actions (copy the full plain-text/Markdown answer). */
.message-actions{display:flex;justify-content:flex-start;margin-top:7px}
.copy-answer{background:transparent;border:1px solid #394255;border-radius:8px;color:#aab8c8;padding:5px 10px;font-size:12px;line-height:1.5}
.copy-answer:hover,.copy-answer:focus-visible{color:#f2f4f8;background:#263043;border-color:#5b6a83}

/* Local timestamps are presentation metadata; copying uses message content only. */
.message-time{display:block;margin-top:6px;color:#8793a9;font-size:12px;line-height:1.5}
