:root {
  color-scheme: light;
  --bg: #f5f4f0;
  --panel: #fffefa;
  --panel2: #fbfaf6;
  --line: #e7e8e3;
  --muted: #778183;
  --text: #23292b;
  --teal: #285c58;
  --mint: #3c8173;
  --blue: #85b9cd;
  --orange: #b65f4e;
  --font: "Segoe UI Variable", "Aptos", "Segoe UI", system-ui, sans-serif;
  --display: "Segoe UI Variable", "Aptos Display", "Segoe UI", system-ui, sans-serif;
}

html, body { background: var(--bg); }
body { color: var(--text); background: radial-gradient(ellipse 60% 42% at 52% 4%, #e9e1d244, transparent 72%), var(--bg); }
.ambient { display: none; }
.topbar { border-color: #e9e7e0; }
.brand { gap: 8px; color: #24302d; font-size: 20px; letter-spacing: -.9px; }
.brand-mark { width: 34px; height: 34px; display: block; transform: none; }
.brand-mark img { width: 38px; height: 38px; object-fit: contain; filter: drop-shadow(0 3px 6px #080f1328); }
.brand-period, .period, .hero h1 span { color: #b65f4e; }
.status-pill, .admin-badge, .unavailable-pill { border-color: #e7e8e3; background: #fffefa; color: #778183; }
.status-dot { box-shadow: 0 0 0 3px #b65f4e18; }
.button-quiet { color: #58665f; border-color: #e6e5dc; background: #fffefa; }
.button-quiet:hover { background: #f7f3ec; }
.eyebrow { color: #786f62; }
.sparkle { color: #b65f4e; }
.hero h1, .admin-heading h2, .signed-heading h2 { color: #282e2e; }
.hero-copy { color: #727a76; }
.model-notice { border-color: #ead8c7; background: linear-gradient(100deg, #f7eee4, #fffefa); }
.notice-icon { color: #934839; border-color: #d7b89c; }
.model-notice strong { color: #754b39; }
.model-notice div span { color: #756d63; }
.announcement { color: #365c50; background: #e8f1eb; border-color: #d7e7dc; }
.auth-layout { border-color: #e7e4dc; background: #fffefa; box-shadow: 0 20px 60px #3935280c; }
.auth-intro { background: linear-gradient(145deg, #f5eae1, #f8f5ed); border-color: #e7e4dc; }
.auth-intro:after { border-color: #b65f4e16; box-shadow: 0 0 0 24px #b65f4e08, 0 0 0 48px #b65f4e05; }
.auth-orb { width: 76px; height: 76px; border: 0; background: transparent; box-shadow: none; margin-bottom: 20px; }
.auth-orb img { width: 88px; height: 88px; object-fit: contain; filter: drop-shadow(0 7px 8px #4235291c); }
.auth-intro h2 { color: #29322f; }
.auth-intro p { color: #727a76; }
.trust-line { color: #59675f; }
.shield { background: #e4f0e8; color: #3c8173; }
.auth-tabs { border-color: #e7e8e3; }
.auth-tab { color: #87908a; }
.auth-tab.active { color: #27332e; }
.auth-tab.active:after { background: #285c58; }
.auth-card label, .settings-card label:not(.toggle-row) { color: #5d6862; }
.auth-card input, .settings-card input:not([type=checkbox]), .settings-card textarea, .user-tools input { border-color: #e5e2d9; color: #343d39; background: #fffefa; }
.auth-card input:focus, .settings-card input:focus, .settings-card textarea:focus, .user-tools input:focus { border-color: #8eaaa0; box-shadow: 0 0 0 3px #70a78c16; }
.auth-card input::placeholder, .user-tools input::placeholder, .settings-card textarea::placeholder { color: #929a95; }
.show-password { color: #6f7c74; }
.button-primary { background: #285c58; color: #fffefa; box-shadow: 0 5px 20px #285c5815; }
.button-primary:hover { background: #1c4945; }
.auth-foot { border-color: #e7e8e3; color: #778183; }
.auth-foot span { color: #934839; }
.signed-heading p, .admin-heading p { color: #778183; }
.account-avatar { border-color: #d3e2d8; background: #e4f0e8; color: #285c58; }
.workspace-card, .metric-card, .admin-card, .config-warning { border-color: #e7e8e3; background: #fffefa; box-shadow: 0 2px 10px #39352808; }
.workspace-kicker, .metric-label { color: #778183; }
.workspace-top h3, .card-title h3 { color: #29322f; }
.workspace-top p { color: #778183; }
.unavailable-pill { color: #934839; border-color: #ead8c7; background: #faf1e9; }
.workspace-divider { background: #e7e8e3; }
.paused-icon { color: #934839; background: #f4e9e2; }
.paused-message strong { color: #3b4841; }
.paused-message p { color: #778183; }
.workspace-bottom { border-color: #e7e8e3; color: #697a70; }
.mini-check { color: #3c8173; }
.admin-badge { color: #285c58; border-color: #d3e2d8; background: #eef5f0; }
.metric-card strong { color: #29322f; }
.metric-foot { color: #778183; }
.metric-paused { color: #934839 !important; }
.card-icon { border-color: #e7e8e3; color: #3c8173; background: #eef5f0; }
.toggle-row { border-color: #e7e8e3; }
.toggle-row strong { color: #3b4841; }
.toggle-row small { color: #778183; }
.toggle-ui { background: #d7ddd8; }
.toggle-row input:checked + .toggle-ui { background: #3c8173; }
.model-guard { background: #faf1e9; border-color: #ead8c7; }
.guard-mark, .model-guard strong { color: #934839; }
.model-guard p { color: #756d63; }
.user-row { border-color: #ecebe5; }
.user-email { color: #3b4841; }
.user-meta, .empty-state, .pagination { color: #778183; }
.user-state { color: #3c8173; }
.user-state.banned { color: #934839; }
.user-action { border-color: #e2e4de; color: #52615a; }
.user-action:hover { background: #f5f4f0; }
.audit-wrap { border-color: #e7e8e3; }
.audit-row { color: #52615a; border-color: #ecebe5; }
.audit-row time, .audit-head > span:last-child { color: #778183; }
.config-warning { color: #29322f; }
.warning-icon { background: #e4f0e8; color: #285c58; }
.config-warning p { color: #778183; }
.config-label { color: #285c58; border-color: #d3e2d8; background: #eef5f0; }
.footer { border-color: #e9e7e0; color: #778183; }
.footer-led { background: #3c8173; }
.toast { background: #fffefa; border-color: #d3e2d8; color: #285c58; box-shadow: 0 8px 28px #39352814; }
.auth-message.success { color: #3c8173; }
.button-download { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid #dfdfd6; border-radius: 9px; background: #fffefa; color: #43574c; font-size: 11px; font-weight: 650; text-decoration: none; }
.button-download:hover { border-color: #cbd8cd; background: #f5f8f2; }
.web-chat-card { margin: 28px 0 0; padding: 28px; border: 1px solid #e5e2d9; border-radius: 17px; background: #fffefa; box-shadow: 0 16px 48px #3935280a; }
.web-chat-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.web-chat-head h3 { margin: 6px 0; color: #29322f; font-size: 25px; letter-spacing: -.04em; }
.web-chat-head p { margin: 0; color: #79817b; font-size: 12px; }
.web-chat-empty { display: flex; align-items: flex-start; gap: 15px; margin-top: 25px; padding: 20px; border: 1px solid #e8e5dc; border-radius: 12px; background: linear-gradient(110deg,#f9f6f0,#fbfaf6); }
.web-chat-mark { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 10px; background: #f0e5d7; color: #a56a4b; font-size: 17px; }
.web-chat-empty strong { display: block; margin: 1px 0 6px; color: #39443e; font-size: 13px; }
.web-chat-empty p { max-width: 660px; margin: 0; color: #78817a; font-size: 11px; line-height: 1.65; }
.web-chat-bridge { display: flex; align-items: center; gap: 14px; margin-top: 24px; padding: 16px 17px; border: 1px solid #e6e4da; border-radius: 12px; background: linear-gradient(110deg,#f9f6f0,#fbfaf6); }
.web-chat-bridge-copy { flex: 1; }
.web-chat-bridge-copy strong { color: #39443e; font-size: 12px; }
.web-chat-bridge-copy p { margin: 5px 0 0; color: #78817a; font-size: 10px; line-height: 1.6; }
.web-chat-session { margin-top: 18px; overflow: hidden; border: 1px solid #e7e5dc; border-radius: 12px; background: #fdfcf8; }
.web-chat-session.hidden { display: none; }
.web-chat-messages { display: flex; flex-direction: column; gap: 11px; min-height: 145px; max-height: 390px; overflow-y: auto; padding: 18px; }
.web-chat-welcome { max-width: 580px; padding: 11px 13px; border: 1px solid #eae7de; border-radius: 11px 11px 11px 3px; background: #fffefa; color: #78817a; font-size: 10px; line-height: 1.6; }
.web-chat-message { max-width: min(82%,620px); padding: 10px 12px; border-radius: 11px; color: #48564e; font-size: 11px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.web-chat-message.user { align-self: flex-end; border-radius: 11px 11px 3px 11px; background: #eaf0e8; color: #405447; }
.web-chat-message.assistant { align-self: flex-start; border: 1px solid #eae7de; background: #fffefa; }
.web-chat-composer { display: grid; grid-template-columns: auto minmax(190px,1fr) auto; align-items: center; gap: 9px; padding: 12px; border-top: 1px solid #e9e7df; background: #fffefa; }
.web-chat-composer label { color: #838b84; font-size: 9px; }
.web-chat-composer select { min-height: 32px; padding: 0 25px 0 9px; border: 1px solid #e4e2d9; border-radius: 8px; background: #fffefa; color: #4d5c52; font: inherit; font-size: 10px; }
.web-chat-composer textarea { grid-column: 1 / -1; width: 100%; min-height: 64px; resize: vertical; padding: 10px 11px; border: 1px solid #e4e2d9; border-radius: 9px; background: #fffefa; color: #343d39; font: inherit; font-size: 11px; line-height: 1.55; }
.web-chat-composer textarea:focus,.web-chat-composer select:focus { outline: none; border-color: #8eaaa0; box-shadow: 0 0 0 3px #70a78c16; }
.web-chat-composer textarea:disabled { background: #f7f6f0; color: #969d97; }
.web-chat-send-row { display: flex; grid-column: 1 / -1; align-items: center; justify-content: space-between; gap: 12px; }
.web-chat-actions { display: flex; align-items: center; gap: 8px; }
.web-chat-actions .button { min-height: 34px; padding: 8px 12px; font-size: 10px; }
.web-chat-send-row span { color: #828b83; font-size: 9px; }
.web-chat-send-row .button { min-height: 34px; padding: 8px 13px; }
.web-chat-send-row .button:disabled { opacity: .55; cursor: default; }
.web-chat-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.web-chat-options>div { display: flex; flex-direction: column; gap: 7px; padding: 14px; border: 1px solid #e9e6dd; border-radius: 10px; }
.web-chat-options span { color: #9a7460; font-size: 8px; font-weight: 700; letter-spacing: .1em; }
.web-chat-options strong { color: #4c5a51; font-size: 11px; }
.web-chat-bottom { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 17px; color: #828b83; font-size: 10px; }
.app-download { display: flex; align-items: center; justify-content: space-between; gap: 35px; margin: 48px auto 34px; padding: 28px 31px; border: 1px solid #e8e2d7; border-radius: 17px; background: linear-gradient(120deg,#f5eae1,#faf7f0 68%,#eef3eb); }
.app-download-copy h2 { margin: 8px 0 7px; color: #2f3934; font-size: clamp(24px,3vw,32px); letter-spacing: -.045em; }
.app-download-copy p { max-width: 560px; margin: 0; color: #758078; font-size: 11px; line-height: 1.65; }
.download-models { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.download-models span { padding: 6px 9px; border: 1px solid #e3ded3; border-radius: 99px; background: #ffffff91; color: #66736a; font-size: 9px; }
.download-action { min-width: 225px; text-align: right; }
.download-action .button { white-space: nowrap; }
.download-meta,.download-note { margin-top: 8px; color: #858e87; font-size: 9px; }
.download-progress { margin-top: 9px; color: #477c67; font-size: 10px; }
.download-progress.hidden { display: none; }
.download-note { max-width: 280px; margin-left: auto; line-height: 1.5; }
@media(max-width:760px){.web-chat-card{padding:19px}.web-chat-head{flex-direction:column}.web-chat-options{grid-template-columns:1fr}.web-chat-bottom{align-items:flex-start;flex-direction:column}.web-chat-bridge{align-items:flex-start;flex-wrap:wrap}.web-chat-bridge .button{width:100%}.web-chat-composer{grid-template-columns:auto minmax(0,1fr)}.web-chat-composer label{grid-column:1}.web-chat-composer select{grid-column:2}.web-chat-send-row{align-items:flex-start;flex-direction:column}.web-chat-actions{width:100%}.web-chat-actions .button{flex:1}.web-chat-message{max-width:94%}.app-download{align-items:flex-start;flex-direction:column;gap:20px;padding:22px}.download-action{width:100%;text-align:left}.download-note{margin-left:0}.top-actions .button-download{padding:8px 9px;font-size:10px}}
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible { outline: 2px solid #39978c; outline-offset: 3px; }

@media (max-width: 720px) {
  .auth-intro { border-bottom-color: #e7e8e3; }
  .status-pill { background: #fffefa; }
}
