:root { color-scheme: dark; --bg:#101817; --panel:#16211f; --panel-soft:#1b2926; --line:#30403c; --text:#eff5ed; --muted:#9aa8a1; --accent:#c8f36a; --accent-ink:#17200b; --danger:#ff9e83; }
* { box-sizing:border-box; } body { margin:0; min-width:320px; background:var(--bg); color:var(--text); font-family:"DM Sans",system-ui,sans-serif; } button,input,textarea,select { font:inherit; } button { cursor:pointer; } .app-shell { width:min(1220px,calc(100% - 40px)); margin:0 auto; padding:27px 0 36px; }
.topbar { display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; }.brand { color:var(--text); display:flex; gap:7px; align-items:center; text-decoration:none; font-size:20px; letter-spacing:-.8px; }.brand b { color:var(--accent); font-weight:500; }.brand-mark { color:var(--accent); background:#263421; border-radius:6px; padding:3px 5px; font-family:"DM Mono",monospace; font-size:15px; }.total { text-align:right; }.total span { display:block; color:var(--muted); font-size:12px; }.total strong { font:500 18px "DM Mono",monospace; color:var(--accent); }
.connection-card { min-height:76px; padding:15px 16px; border:1px solid var(--line); background:var(--panel); border-radius:10px; display:flex; align-items:center; gap:15px; }.connection-title { width:170px; display:flex; align-items:center; gap:9px; color:var(--muted); font-size:14px; }.status-dot { width:8px;height:8px;border-radius:50%;background:#80908a; box-shadow:0 0 0 3px #26332f; }.status-dot.connected { background:var(--accent); box-shadow:0 0 0 3px #334323; }.key-field { position:relative; flex:1; }.key-field input,.number-input,select,textarea { width:100%; border:1px solid var(--line); color:var(--text); background:#101917; border-radius:7px; outline:none; }.key-field input { height:44px; padding:0 43px 0 13px; font:13px "DM Mono",monospace; }.key-field input:focus,.number-input:focus,select:focus,textarea:focus { border-color:var(--accent); box-shadow:0 0 0 2px rgb(200 243 106 / .13); }.icon-button { position:absolute; top:7px; right:7px; height:30px; border:0; border-radius:5px; background:transparent; color:var(--muted); }.button { border:0; height:44px; padding:0 17px; border-radius:7px; font-weight:700; }.primary { background:var(--accent); color:var(--accent-ink); }.primary:hover,.send-button:hover { filter:brightness(1.07); }
.privacy-note { margin:8px 2px 16px; color:var(--muted); font-size:11px; line-height:1.45; }
.workspace { margin-top:17px; display:grid; grid-template-columns:263px 1fr; min-height:635px; border:1px solid var(--line); border-radius:10px; overflow:hidden; background:var(--panel); }.settings { padding:24px 19px; border-right:1px solid var(--line); }.section-label,.eyebrow { color:var(--muted); font:500 11px "DM Mono",monospace; letter-spacing:.09em; text-transform:uppercase; }.select-wrap { display:block; position:relative; margin-top:10px; }.select-wrap:after { content:"⌄"; position:absolute; right:13px; top:10px; pointer-events:none; color:var(--muted); } select { appearance:none; padding:0 31px 0 11px; height:40px; font-size:13px; } select:disabled { opacity:.6; }.model-meta { min-height:34px; margin:9px 1px 0; color:var(--muted); font:11px/1.45 "DM Mono",monospace; }.rule { height:1px; background:var(--line); margin:23px 0; }.range-label { display:flex; justify-content:space-between; margin:11px 0 9px; font-size:13px; }.range-label output { color:var(--accent); font-family:"DM Mono",monospace; } input[type=range] { accent-color:var(--accent); width:100%; }.token-label { display:block; margin:21px 0 8px; color:var(--muted); font-size:12px; }.number-input { height:38px; padding:0 10px; font:12px "DM Mono",monospace; }.session-stats { margin:11px 0 19px; }.session-stats div { display:flex; justify-content:space-between; padding:6px 0; font-size:12px; }.session-stats dt { color:var(--muted); }.session-stats dd { margin:0; font-family:"DM Mono",monospace; }.text-button { padding:0; border:0; background:transparent; color:var(--accent); text-align:left; font-size:12px; }.text-button:hover { text-decoration:underline; }
.chat-panel { min-width:0; display:flex; flex-direction:column; }.chat-header { padding:23px 28px 18px; border-bottom:1px solid var(--line); display:flex; align-items:start; justify-content:space-between; }.chat-header h1 { margin:6px 0 0; font-size:20px; letter-spacing:-.55px; }.ready-tag { padding:5px 7px; color:var(--muted); border:1px solid var(--line); font:10px "DM Mono",monospace; border-radius:4px; }.ready-tag.active { color:var(--accent); border-color:#526638; }.messages { flex:1; overflow-y:auto; padding:26px 28px; min-height:390px; }.empty-state { max-width:380px; margin:72px auto; text-align:center; }.empty-symbol { display:grid; place-items:center; width:43px;height:43px;margin:0 auto 15px; color:var(--accent); background:#263421; border-radius:50%; }.empty-state h2 { margin:0; font-size:19px; letter-spacing:-.5px; }.empty-state p { margin:9px 0; color:var(--muted); font-size:14px; line-height:1.55; }.message { max-width:800px; padding:15px 0 19px; border-bottom:1px solid rgb(48 64 60 / .65); }.message + .message { margin-top:8px; }.message-head { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px; }.role { color:var(--accent); font:500 11px "DM Mono",monospace; text-transform:uppercase; letter-spacing:.08em; }.message.user .role { color:#b5c5be; }.usage { color:var(--muted); font:10px "DM Mono",monospace; }.message-body { white-space:pre-wrap; font-size:15px; line-height:1.65; }.cost-row { margin-top:11px; color:var(--accent); font:11px "DM Mono",monospace; }.error { color:var(--danger); }.typing { color:var(--muted); font:13px "DM Mono",monospace; }.composer { border-top:1px solid var(--line); padding:15px 18px 12px; background:#14201d; }.composer textarea { resize:none; min-height:49px; max-height:180px; padding:14px; line-height:1.35; }.composer textarea:disabled { opacity:.55; }.composer-footer { margin-top:9px; padding:0 2px; display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:11px; }.composer-footer i { font-style:normal; margin:0 4px; }.send-button { border:0; border-radius:5px; padding:8px 11px; background:var(--accent); color:var(--accent-ink); font-size:12px; font-weight:700; }.send-button:disabled { cursor:not-allowed; background:#34423d; color:#89968e; }.send-button span { margin-left:5px; }.sr-only { position:absolute; width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@media (max-width:760px) { .app-shell { width:min(100% - 24px,620px); padding-top:17px; }.connection-card { align-items:stretch; flex-direction:column; }.connection-title { width:auto; }.workspace { grid-template-columns:1fr; }.settings { border-right:0; border-bottom:1px solid var(--line); }.chat-header,.messages { padding-left:18px;padding-right:18px; }.messages { min-height:340px; }.empty-state { margin:45px auto; }.total strong { font-size:15px; } }
