:root{font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:#e9edf5;background:#101319;color-scheme:dark;font-size:16px;--muted:#97a4b6;--border:#2a3342;--accent:#8eb9ff}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer;background:#202734;border:1px solid var(--border);color:inherit;border-radius:10px;padding:10px 14px;min-height:44px}button:hover{background:#2a3546}button:disabled{opacity:.45;cursor:default}button.primary{background:#9cc3ff;color:#102038;border-color:transparent;font-weight:600}input,textarea{width:100%;background:#151c27;border:1px solid #455168;border-radius:10px;color:inherit;padding:12px;outline-offset:3px}p{line-height:1.7;color:var(--muted)}small{font-size:.8rem;color:var(--muted)}.brand{font-size:1.5rem;font-weight:750;letter-spacing:.07em}.brand span{color:var(--accent)}.brand small{font-size:.9rem;letter-spacing:0;font-weight:400;margin-left:10px}.login{min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 70% 10%,#233955 0,transparent 55%)}.login form{width:min(100%,390px)}.login h1{font-size:1.7rem;margin-top:44px}.login label{display:block;margin:30px 0 10px}.login button{width:100%;margin-top:18px}.login small{display:block;margin-top:32px}header{height:68px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 24px}#connection{font-size:.875rem;color:var(--muted);margin-left:auto}header button{font-size:.875rem}#menu{display:none}.layout{display:grid;grid-template-columns:290px 1fr;height:calc(100dvh - 68px)}aside{padding:20px 14px;background:#141922;border-right:1px solid var(--border);overflow:auto}.side-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px 12px}.side-head h2{font-size:1rem;margin:0}.side-head button{background:transparent;border:0;color:var(--muted)}#new{width:100%;margin-bottom:16px}.thread{width:100%;text-align:left;margin-bottom:6px;background:transparent;border-color:transparent;padding:12px}.thread.selected{background:#253348;border-color:#435574}.thread strong{display:block;font-size:.9rem;line-height:1.5;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.thread small{display:block;margin-top:7px}main{min-width:0;display:flex;flex-direction:column;overflow:hidden}.chat-head{padding:20px 28px 14px;border-bottom:1px solid var(--border)}h1{font-size:1.1rem;margin:0;line-height:1.5}.chat-head p{font-size:.8rem;margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#messages{flex:1;overflow:auto;padding:24px max(24px,calc((100% - 850px)/2));scroll-behavior:smooth}.empty{color:var(--muted);line-height:1.9;text-align:center;margin-top:15vh}.message{margin-bottom:24px;overflow-wrap:anywhere}.message .role{font-size:.8rem;color:var(--accent);margin-bottom:8px}.message .text{white-space:pre-wrap;line-height:1.8;font-size:1rem}.message.userMessage{background:#1d2b3d;border-radius:14px;padding:16px}.message.commandExecution,.message.fileChange{background:#171e28;padding:12px;border:1px solid var(--border);border-radius:10px;font: .85rem/1.6 Consolas,monospace}.message details pre{white-space:pre-wrap;overflow-wrap:anywhere}#composer{margin:0 auto;width:min(100%,900px);padding:12px 24px max(16px,env(safe-area-inset-bottom));background:#101319}textarea{resize:vertical;min-height:72px;max-height:220px}.compose-actions{display:flex;align-items:center;gap:10px;margin-top:10px}#taskStatus{margin-right:auto;font-size:.8rem;color:var(--muted)}#notice{padding:0 24px;color:#ffcd83;font-size:.875rem;white-space:pre-wrap}#notice:not(:empty){padding-top:10px;padding-bottom:10px;background:#352919}#approvals{max-height:35dvh;overflow:auto;padding:0 24px}.approval{border:1px solid #a47e43;border-radius:12px;background:#262219;padding:16px;margin:8px auto;max-width:850px}.approval h3{font-size:1rem;margin-top:0}.approval pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.875rem;max-height:160px;overflow:auto}.approval button{margin:6px 8px 0 0}.approval label{display:block;margin:12px 0}dialog{max-width:480px;width:calc(100% - 32px);border:1px solid var(--border);border-radius:16px;background:#1a2230;color:inherit;padding:24px}dialog::backdrop{background:#000a}.dialog-actions{display:flex;justify-content:flex-end;gap:10px}.sr-only{position:absolute;left:-10000px}[hidden]{display:none!important}@media(max-width:760px){header{padding:0 12px;height:60px;gap:10px}.brand{font-size:1.2rem}.brand small{display:none}.layout{height:calc(100dvh - 60px);display:block}#menu{display:block}aside{display:none;position:fixed;left:0;top:60px;bottom:0;width:min(85vw,320px);z-index:10;box-shadow:20px 0 60px #0008}aside.open{display:block}main{height:100%}.chat-head{padding:14px 16px}.chat-head h1{font-size:1rem;max-height:3em;overflow:hidden}#messages{padding:20px 16px}#composer{padding:10px 12px max(12px,env(safe-area-inset-bottom))}.message .text{line-height:1.7}#taskStatus{max-width:45%;font-size:.75rem}#approvals{padding:0 12px}}

.thread-picker{display:flex;gap:8px;margin:8px 0 12px}.thread-picker select{min-width:0;flex:1;padding:10px;border:1px solid #455168;border-radius:10px;background:#151c27;color:inherit;font:inherit;min-height:44px}.chat-head label{font-size:.875rem;color:var(--muted)}.thread-actions{display:flex;gap:8px;margin-top:8px}.thread-actions:has(button:not([hidden])){padding-bottom:2px}#messages{min-height:0}.chat-head{flex-shrink:0}@media(max-width:760px){.chat-head{padding:10px 12px}.thread-picker{margin-bottom:8px}.chat-head h1{font-size:.9rem}#folder{display:none}}

.login label.remember{display:flex;align-items:center;gap:10px;font-size:.875rem;margin:20px 0 0}.remember input{width:18px;height:18px;margin:0;accent-color:#9cc3ff}
