:root{--bg:#fff;--bg-soft:#f7f7f8;--border:#e5e7eb;--text:#1f2024;--text-soft:#6b7280;--accent:#1a73e8;--accent-soft:#e8f0fe;--user:#e8f0fe;--assistant:#f3f4f6;--danger:#dc2626;color:var(--text);background:var(--bg);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#131314;--bg-soft:#1e1f20;--border:#2e2f33;--text:#e3e3e3;--text-soft:#9aa0a6;--accent:#8ab4f8;--accent-soft:#8ab4f826;--user:#1f3a5f;--assistant:#1e1f20}}*{box-sizing:border-box}body{margin:0}button{cursor:pointer;font:inherit}input,textarea,select{font:inherit;color:inherit;background:var(--bg-soft);border:1px solid var(--border);border-radius:8px;outline:none;padding:8px 10px}input:focus,textarea:focus,select:focus{border-color:var(--accent)}code{background:var(--bg-soft);border-radius:4px;padding:1px 6px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em}.chat-shell{flex-direction:column;max-width:960px;height:100vh;margin:0 auto;display:flex}.chat-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.brand{align-items:center;gap:10px;font-weight:600;display:flex}.logo-dot{background:conic-gradient(from 180deg,#1a73e8,#8ab4f8,#c084fc,#1a73e8);border-radius:50%;width:14px;height:14px}.header-actions{align-items:center;gap:12px;display:flex}.model-picker{min-width:220px}.admin-link{color:var(--accent);font-size:14px;text-decoration:none}.chat-main{flex-direction:column;flex:1;gap:12px;padding:24px 20px 80px;display:flex;overflow-y:auto}.welcome{text-align:center;color:var(--text-soft);margin:auto}.welcome h1{background:linear-gradient(90deg,#4285f4,#9b72cb,#d96570);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 8px;font-size:48px}.bubble{white-space:pre-wrap;word-wrap:break-word;border-radius:18px;max-width:80%;padding:12px 16px;line-height:1.55}.bubble.user{background:var(--user);border-bottom-right-radius:6px;align-self:flex-end}.bubble.assistant{background:var(--assistant);border-bottom-left-radius:6px;align-self:flex-start}.bubble.error{color:var(--danger);background:#dc26261a;align-self:center}.bubble.typing{color:var(--text-soft);font-style:italic}.attachment-chip{color:var(--text-soft);margin-bottom:6px;font-size:13px}.composer{border-top:1px solid var(--border);background:var(--bg);padding:12px 20px 16px}.composer-row{background:var(--bg-soft);border:1px solid var(--border);border-radius:24px;align-items:end;gap:8px;padding:8px 8px 8px 12px;display:flex}.composer-row:focus-within{border-color:var(--accent)}.composer textarea{resize:none;background:0 0;border:none;flex:1;max-height:200px;padding:8px 6px}.icon-btn{width:36px;height:36px;color:var(--text-soft);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:22px;line-height:1;display:inline-flex}.icon-btn:hover{background:var(--bg)}.send-btn{background:var(--accent);color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:18px}.send-btn:disabled{opacity:.4;cursor:not-allowed}.disclaimer{text-align:center;color:var(--text-soft);margin:8px 0 0;font-size:12px}.file-chip{background:var(--accent-soft);color:var(--accent);border-radius:16px;align-items:center;gap:8px;margin-bottom:8px;padding:4px 10px;font-size:13px;display:inline-flex}.file-chip button{color:inherit;background:0 0;border:none;padding:0;font-size:16px;line-height:1}.admin-shell{max-width:960px;margin:0 auto;padding-bottom:60px}.admin-main{flex-direction:column;gap:20px;padding:20px;display:flex}.card{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;padding:20px}.card h2{margin:0 0 12px;font-size:18px}.muted{color:var(--text-soft);margin:0 0 12px;font-size:13px}.error{color:var(--danger)}.form-grid{grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.form-grid label{color:var(--text-soft);flex-direction:column;gap:4px;font-size:13px;display:flex}button.primary{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:8px 16px}button.danger{border:1px solid var(--danger);color:var(--danger);background:0 0;border-radius:8px;padding:4px 10px;font-size:13px}.models-table{border-collapse:collapse;width:100%}.models-table th,.models-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 8px;font-size:14px}.models-table th{color:var(--text-soft);font-weight:500}
