/* Shared site tokens. Editions still decide day/night; palettes only change color. */
:root { --chat-paper: var(--bg); --chat-border: #b9c7b4; --bubble: var(--surface); --your-bubble: var(--wash); --bubble-line: var(--line); --your-line: var(--line); }
html[data-edition="gn"] { --chat-border: #637286; }
html:not([data-edition="gn"])[data-day-scheme="warm"] { color-scheme: light; --bg: #f6eee3; --surface: #fffbf5; --ink: #554032; --muted: #7d6858; --accent: #987052; --line: #e0cbb8; --wash: #f1e4d4; --warm: #d8b471; --chat-paper: #fbf4e9; --chat-border: #ceb29a; --bubble: #fffdf9; --your-bubble: #f3d7c1; --bubble-line: #ead8c5; --your-line: #e1bc9f; color: var(--ink); background: var(--bg); }
html:not([data-edition="gn"])[data-day-scheme="warm"] body { color: var(--ink); background: var(--bg); }
html:not([data-edition="gn"])[data-day-scheme="warm"] .avatar-display .avatar-toggle { color: var(--ink); }
html:not([data-edition="gn"])[data-day-scheme="warm"] .avatar-display .avatar-toggle:hover:not(:disabled) { color: var(--accent); }
/* Account pages use their original Classic styles; Warm inherits the same site palette. */
html:not([data-edition="gn"])[data-day-scheme="warm"] .account-card { background: var(--surface); border-color: var(--line); }
html:not([data-edition="gn"])[data-day-scheme="warm"] .account-card .eyebrow,
html:not([data-edition="gn"])[data-day-scheme="warm"] .account-card a,
html:not([data-edition="gn"])[data-day-scheme="warm"] .toolbar-row .menu > summary::after,
html:not([data-edition="gn"])[data-day-scheme="warm"] .menu-panel .language-toolbar label { color: var(--muted); }
html:not([data-edition="gn"])[data-day-scheme="warm"] .account-card input { background: var(--bubble); border-color: var(--line); color: var(--ink); }
html:not([data-edition="gn"])[data-day-scheme="warm"] .account-card button { background: var(--accent); color: var(--surface); }
html:not([data-edition="gn"])[data-day-scheme="warm"] .account-card .password-toggle { background: var(--wash); color: var(--ink); }
html:not([data-edition="gn"])[data-day-scheme="warm"] .toolbar-row .menu > summary,
html:not([data-edition="gn"])[data-day-scheme="warm"] .toolbar-row .menu-panel { background: var(--surface); border-color: var(--line); color: var(--ink); }
html:not([data-edition="gn"])[data-day-scheme="warm"] .menu-panel .language-toolbar select,
html:not([data-edition="gn"])[data-day-scheme="warm"] .menu-panel .language-toolbar button { background: var(--bg); border-color: var(--line); color: var(--ink); }
html:not([data-edition="gn"])[data-day-scheme="warm"] .account-card :focus-visible,
html:not([data-edition="gn"])[data-day-scheme="warm"] .toolbar-row .menu > summary:focus-visible { outline-color: var(--accent); }
#prefs-menu > .menu-panel { display: grid; gap: 14px; width: min(340px, calc(100vw - 32px)); padding: 18px; border-radius: 18px; }
.settings-menu-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line, #b4c7c0); padding-bottom: 12px; }
#prefs-menu .settings-close { display: grid; place-items: center; width: 28px; min-width: 28px; height: 28px; min-height: 28px; padding: 0; border: 0; border-radius: 8px; background: transparent; color: var(--muted, #56746a); }
#prefs-menu .settings-close:hover { background: var(--wash, #f2f6f5); }
.settings-menu-header h2 { font: 600 14px/1.4 ui-sans-serif, system-ui, sans-serif; letter-spacing: 0; margin: 0; }
.settings-menu-header p { font-size: 11px; line-height: 1.5; color: var(--muted, #56746a); margin: 4px 0 0; }
#prefs-menu .language-toolbar { display: grid; justify-content: stretch; align-items: stretch; gap: 6px; width: auto; margin: 0; }
#prefs-menu .language-toolbar label { font-size: 12px; line-height: 20px; }
#prefs-menu .language-toolbar select { width: 100%; min-height: 44px; padding: 8px 12px; font-size: 13px; border-radius: 10px; }
#prefs-menu #color-scheme-form { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; border-top: 1px solid var(--line, #b4c7c0); padding-top: 14px; }
#prefs-menu .color-scheme-heading { grid-column: 1 / -1; color: inherit; font: 600 12px/1.5 ui-sans-serif, system-ui, sans-serif; text-transform: none; letter-spacing: 0; margin: 0 0 4px; }
.color-scheme-field { display: grid; gap: 6px; min-width: 0; }
#color-scheme-form noscript, #color-scheme-feedback { grid-column: 1 / -1; }
.toolbar-row .menu-panel { max-height: calc(100svh - 100px); overflow-y: auto; overscroll-behavior-y: contain; }
#color-scheme-feedback { font-size: .75rem; overflow-wrap: anywhere; }
#color-scheme-feedback:empty { display: none; }
.settings-language { font-size: .7rem; color: var(--muted, #56746a); }
@media (max-width: 700px) { #prefs-menu { position: static; } #prefs-menu > .menu-panel { left: 16px; right: 16px; top: calc(100% + 8px); width: auto; } }
@media (max-width: 360px) { #prefs-menu .color-scheme-field label { font-size: 11px; } }
