.chat-page{flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-messages{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:#555;margin:auto}.chat-empty h3{color:#777;margin-bottom:.3rem;font-size:1.3rem}.chat-msg{flex-direction:column;gap:4px;max-width:75%;display:flex}.chat-msg--user{align-self:flex-end}.chat-msg--assistant{align-self:flex-start}.chat-msg-label{text-transform:uppercase;letter-spacing:.05em;color:#666;padding:0 4px;font-size:.7rem}.chat-msg-body{border-radius:12px;padding:.75rem 1rem;font-size:.92rem;line-height:1.6}.chat-msg--user .chat-msg-body{color:#d0d0f0;background:#1a1a2e;border-bottom-right-radius:4px}.chat-msg--assistant .chat-msg-body{background:#1a1a1a;border:1px solid #2a2a2a;border-bottom-left-radius:4px}.chat-msg--assistant .chat-msg-body p{margin:.4em 0}.chat-msg--assistant .chat-msg-body pre{background:#111;border-radius:6px;margin:.5em 0;padding:.75rem;font-size:.85rem;overflow-x:auto}.chat-msg--assistant .chat-msg-body code{font-family:Cascadia Code,Fira Code,monospace}.chat-msg--assistant .chat-msg-body p code{background:#222;border-radius:3px;padding:.15em .35em;font-size:.88em}.chat-input-bar{background:#141414;border-top:1px solid #222;align-items:flex-end;gap:8px;padding:.75rem 1rem;display:flex}.model-select{color:#ccc;cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:6px;padding:.5rem;font-size:.8rem}.chat-input{color:#e0e0e0;resize:none;background:#1a1a1a;border:1px solid #333;border-radius:8px;outline:none;flex:1;padding:.6rem .75rem;font-family:inherit;font-size:.92rem}.chat-input:focus{border-color:#d97706}.chat-input::placeholder{color:#555}.send-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#d97706;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.92rem}.send-btn:hover{background:#b45309}.send-btn:disabled{color:#666;cursor:not-allowed;background:#333}.settings-page{flex:1;width:100%;max-width:600px;min-height:0;padding:2rem;overflow-y:auto}.settings-page h2{color:#fff;margin-bottom:1.5rem;font-size:1.4rem}.settings-section{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:10px;margin-bottom:1rem;padding:1.25rem}.settings-section h3{color:#ccc;margin-bottom:.75rem;font-size:1rem}.auth-status-row{align-items:center;gap:8px;margin-bottom:1rem;font-size:.9rem;display:flex}.auth-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.auth-dot.ok{background:#4ade80}.auth-dot.off{background:#f87171}.auth-dot.checking{background:#7b8cde}.token-expiry{color:#999;margin-bottom:.75rem;font-size:.8rem}.token-expiry.expired{color:#f87171}.auth-instructions{background:#111;border-radius:6px;padding:.75rem;font-size:.85rem}.auth-instructions p{color:#999;margin-bottom:.5rem}.auth-instructions ol{color:#bbb;margin-bottom:.75rem;padding-left:1.25rem;line-height:1.6}.auth-instructions li{margin-bottom:.25rem}.auth-command{color:#4ade80;word-break:break-all;-webkit-user-select:all;user-select:all;background:#0a0a0a;border:1px solid #333;border-radius:6px;margin-bottom:.75rem;padding:.6rem .75rem;font-family:monospace;font-size:.8rem;display:block}.creds-input{color:#fff;resize:vertical;box-sizing:border-box;background:#0a0a0a;border:1px solid #333;border-radius:6px;width:100%;margin-bottom:.5rem;padding:.6rem .75rem;font-family:monospace;font-size:.8rem}.creds-input::placeholder{color:#555}.login-btn{color:#fff;cursor:pointer;background:#d97706;border:none;border-radius:8px;width:100%;padding:.7rem 1.4rem;font-size:.95rem}.login-btn:hover{background:#b45309}.login-btn:disabled{color:#888;cursor:not-allowed;background:#333}.settings-hint{color:#666;margin-bottom:.5rem;font-size:.8rem}.apikey-row{gap:.5rem;display:flex}.apikey-row input{color:#fff;background:#0a0a0a;border:1px solid #333;border-radius:6px;flex:1;padding:.5rem .75rem;font-size:.85rem}.apikey-row input::placeholder{color:#555}.apikey-row button{color:#fff;cursor:pointer;white-space:nowrap;background:#d97706;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem}.apikey-row button:hover{background:#b45309}.apikey-row button:disabled{color:#888;cursor:not-allowed;background:#333}.polling-status{color:#7b8cde;text-align:center;margin-top:.5rem}.settings-error{color:#f87171;margin-top:.5rem;font-size:.85rem}.model-row{align-items:center;gap:.5rem;display:flex}.model-setting-select{color:#fff;cursor:pointer;background:#0a0a0a;border:1px solid #333;border-radius:6px;flex:1;min-width:0;padding:.5rem .75rem;font-size:.85rem}.model-row button{color:#fff;cursor:pointer;white-space:nowrap;background:#d97706;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem}.model-row button:hover{background:#b45309}.model-row button.secondary-btn{color:#ccc;background:#1a1a1a;border:1px solid #333}.model-row button.secondary-btn:hover{background:#222}.model-row button:disabled{color:#888;cursor:not-allowed;background:#333;border-color:#333}.model-meta{margin-top:.6rem;margin-bottom:0}.link-btn{color:#7b8cde;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.link-btn:disabled{color:#555;cursor:not-allowed}.settings-warning{color:#fbbf24;margin-top:.5rem;font-size:.8rem}*{box-sizing:border-box;margin:0;padding:0}body{color:#e0e0e0;background:#0f0f0f;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}a{color:#d97706;text-decoration:none}a:hover{text-decoration:underline}.app{height:100vh;display:flex}.sidebar{background:#141414;border-right:1px solid #222;flex-direction:column;transition:width .2s;display:flex}.sidebar.open{width:220px}.sidebar.closed{width:52px}.sidebar-header{justify-content:space-between;align-items:center;gap:8px;padding:1rem;display:flex}.sidebar-header h2{color:#fff;white-space:nowrap;font-size:1rem;overflow:hidden}.sidebar.closed .sidebar-header h2{display:none}.sidebar-toggle{color:#888;cursor:pointer;background:0 0;border:1px solid #333;border-radius:4px;flex-shrink:0;width:28px;height:28px;font-size:.85rem}.sidebar-toggle:hover{color:#fff;border-color:#555}.sidebar-nav{flex-direction:column;gap:2px;padding:0 .5rem;display:flex}.sidebar-nav a{color:#aaa;border-radius:6px;padding:.6rem .75rem;font-size:.9rem;text-decoration:none}.sidebar-nav a:hover{color:#fff;background:#1f1f1f;text-decoration:none}.sidebar-nav a.active{color:#d97706;background:#1a1a2e}.main{flex-direction:column;flex:1;display:flex;overflow:hidden}.auth-banner{color:#f5c542;text-align:center;background:#2e2000;border-bottom:1px solid #4a3500;flex-shrink:0;padding:.6rem 1rem;font-size:.85rem}.auth-banner a{color:#fbbf24;font-weight:600;text-decoration:underline}
