:root{color-scheme:dark;--bg:#111214;--panel:#191b1e;--line:#303338;--text:#f0f0f0;--muted:#b1b5be;--yellow:#f1ed3b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 system-ui,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;background:#24272c;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 16px}button:hover{background:#34383e}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--yellow);outline-offset:3px}.primary{background:var(--yellow);color:#171717;border-color:var(--yellow);font-weight:600}.primary:hover{background:#fffb6a}input,select,textarea{background:#202328;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:12px;width:100%}.logo{display:block;width:160px;height:auto;border-radius:8px;background:white}#login{min-height:100dvh;display:grid;place-items:center;padding:24px}#login form{width:min(410px,100%);padding:32px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}#login .logo{width:210px;margin:0 auto 26px}#login h1{font-size:24px;margin:8px 0}#login p{color:var(--muted)}#login label{display:block;margin-bottom:8px}#login button{width:100%;margin-top:18px}#loginError,#error{color:#ffb3b3}[hidden]{display:none!important}#app{display:grid;grid-template-columns:270px 1fr;min-height:100dvh}aside{background:var(--panel);padding:24px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}aside .logo{width:190px;margin-bottom:4px}.brand{font-size:11px;letter-spacing:2px;color:var(--muted);margin:0 0 15px}aside label{font-size:11px;letter-spacing:1px;margin-top:14px;color:var(--muted)}aside h2{font-size:13px;font-weight:500;margin:22px 0 0;color:var(--muted)}#history{display:flex;flex-direction:column;gap:6px}#history button{text-align:left;overflow-wrap:anywhere;border-color:transparent;background:transparent;font-size:13px}#history button.selected{background:#303339;border-color:#4a4f58}#logout{margin-top:auto}main{display:flex;flex-direction:column;min-width:0}header{padding:22px 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center}header strong{display:block}#subtitle{display:block;color:var(--muted);font-size:12px;margin-top:4px}.status{font-size:12px;padding:6px 12px;border:1px solid var(--line);border-radius:20px;white-space:nowrap}#messages{width:min(850px,100%);margin:0 auto;padding:28px 32px;flex:1}.welcome{padding:70px 0;text-align:center}.eyebrow{font-size:12px;letter-spacing:3px;color:var(--yellow)}.welcome h1{font-size:34px;margin:16px 0 10px}.welcome p{color:var(--muted)}.suggestions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.message{margin:0 0 24px;overflow-wrap:anywhere}.message strong{font-size:12px;color:var(--muted);display:block;margin-bottom:8px}.message pre{white-space:pre-wrap;font:inherit;margin:0}.message.user{padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:#23262a;margin-left:12%}.message.assistant{padding:10px 0}.message.assistant strong{color:var(--yellow)}footer{width:min(850px,100%);margin:0 auto;padding:12px 32px 24px}#compose{border:1px solid #4a4e55;border-radius:17px;padding:14px;background:var(--panel)}#prompt{resize:vertical;border:0;background:transparent;padding:4px 0;min-height:72px;max-height:260px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actions span{font-size:11px;color:var(--muted);margin-right:auto}.note{font-size:11px;color:var(--muted);text-align:center;margin-top:10px}#error,#activity{padding:0 32px;max-width:850px;width:100%;margin:0 auto 8px;font-size:13px}#activity{color:var(--muted)}.session{margin:16px 0;font-size:12px;color:var(--muted)}.session code{display:block;overflow-wrap:anywhere;margin-top:8px;background:var(--panel);padding:12px;border-radius:8px}@media(max-width:700px){#app{grid-template-columns:1fr}aside{border-right:0;border-bottom:1px solid var(--line);padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px}aside .logo{width:120px}.brand{align-self:center;margin:0}aside h2{margin:8px 0;grid-column:1/-1}#history{grid-column:1/-1;max-height:180px;overflow:auto}aside label{margin:0;grid-column:1/-1}#new,#logout{margin:0}header{padding:18px}#messages{padding:22px 18px}.welcome{padding:30px 0}.welcome h1{font-size:28px}footer{padding:12px 18px 20px}#activity,#error{padding:0 18px}.message.user{margin-left:0}}
