/* Only palette changes; game state, console ANSI and maps retain their meaning. */
#appearance-open { min-width: 44px; min-height: 38px; padding: 7px 11px; }
#appearance-dialog { width: 720px; max-width: calc(100vw - 24px); color: var(--text); background: var(--panel); }
#appearance-dialog .modal-head { background: var(--panel); }
#theme-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; border: 0; padding: 0; margin: 18px 0; }
#theme-list legend { margin-bottom: 12px; color: var(--text); }
#theme-list .theme-card { display: flex; align-items: flex-start; gap: 12px; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel2); cursor: pointer; min-width: 0; }
#theme-list .theme-card:has(input:checked) { border-color: var(--mint); outline: 1px solid var(--mint); }
#theme-list input { width: 18px; height: 18px; margin: 2px 0; flex: none; accent-color: var(--mint); }
.theme-card-copy { display: grid; gap: 6px; min-width: 0; overflow-wrap: anywhere; }
.theme-card-copy b { color: var(--text); }
.theme-swatches { display: flex; gap: 5px; margin-top: 6px; }
.theme-swatches i { display: block; width: 22px; height: 22px; border: 1px solid var(--muted); border-radius: 50%; }
#theme-message { min-height: 44px; margin: 14px 0; }
.theme-import { border-top: 1px solid var(--line); padding-top: 16px; }
.theme-import p { margin-top: 14px; }
.theme-import summary { cursor: pointer; }
.theme-import input { max-width: 100%; }
.theme-actions { position: sticky; bottom: -1px; background: var(--panel); display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; padding-top: 18px; padding-bottom: 8px; margin-top: 12px; border-top: 1px solid var(--line); }
:root[data-dock-theme] body { background: var(--bg) !important; color: var(--text) !important; }
:root[data-dock-theme] :is(.sidebar,.topbar,.panel,.server-card,.node-card,.game-card,.metric,.hero,dialog,.modal-head,.cmd-palette,.cmd-palette-header,.dock-server-details__status) { background: var(--panel) !important; color: var(--text) !important; border-color: var(--line) !important; }
:root[data-dock-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) { background-color: var(--panel2) !important; color: var(--text) !important; border-color: var(--line) !important; }
:root[data-dock-theme] :is(button,a.button) { background-color: var(--panel2) !important; color: var(--text) !important; border-color: var(--line) !important; }
:root[data-dock-theme] :is(input,select,textarea,button,a):focus-visible { outline-color: var(--mint) !important; }
:root[data-dock-theme] :is(button,a.button):hover:not(:disabled) { border-color: var(--mint) !important; }
:root[data-dock-theme] :is(.primary,button.primary,a.button.primary,[data-slot="alert-dialog-action"]) { background: var(--mint) !important; border-color: var(--mint) !important; color: var(--accent-ink) !important; }
:root[data-dock-theme] :is(.primary,button.primary,a.button.primary):hover:not(:disabled) { background: var(--mint) !important; color: var(--accent-ink) !important; filter: brightness(1.08); }
:root[data-dock-theme] :is(.danger,button.danger) { color: var(--red) !important; border-color: var(--red) !important; background: var(--panel2) !important; }
:root[data-dock-theme] :is(.quiet,button.quiet) { background: transparent !important; border-color: transparent !important; color: var(--muted) !important; }
:root[data-dock-theme] :is(.sidebar nav a,.nav-label,.breadcrumb,.back,.tabs button,.field-help,.muted,small,.dock-overview__eyebrow,.dock-overview__result-count,.dock-overview__empty,.dock-overview__node span,.dock-overview__server p,.dock-overview__server > span) { color: var(--muted) !important; }
:root[data-dock-theme] :is(.sidebar nav a.active,.tabs button.active) { color: var(--mint) !important; background: var(--panel2) !important; border-color: var(--mint) !important; }
:root[data-dock-theme] :is(.eyebrow,.link,.dock-server-details__section-title,.dock-server-details__feedback) { color: var(--mint) !important; }
:root[data-dock-theme] :is(.dock-overview,.dock-server-details,[data-slot="alert-dialog-content"]) { --dock-line: var(--line); --dock-muted: var(--muted); --dock-ink: var(--text); background: var(--bg) !important; color: var(--text) !important; }
:root[data-dock-theme] :is(.dock-overview__search,.dock-overview__server,.dock-overview__nodes,.dock-server-details__facts > div) { border-color: var(--line) !important; }
:root[data-dock-theme] .dock-overview__server:hover { background: var(--panel2) !important; }
:root[data-dock-theme] :is(.dock-overview__error,.dock-server-details__error) { color: var(--red) !important; background: var(--panel) !important; border-color: var(--red) !important; }
:root[data-dock-theme] .dock-server-details [data-slot="button"] { background: var(--mint) !important; border-color: var(--mint) !important; color: var(--accent-ink) !important; }
:root[data-dock-theme] .dock-server-details [data-slot="button"][data-variant="outline"] { background: var(--panel2) !important; border-color: var(--line) !important; color: var(--text) !important; }
:root[data-dock-theme] [data-slot="alert-dialog-description"] { color: var(--muted) !important; }
:root[data-dock-theme] button:disabled { background: var(--panel2) !important; border-color: var(--line) !important; color: var(--muted) !important; }
@media(max-width:520px) { #theme-list { grid-template-columns: minmax(0,1fr); } .theme-actions > button { flex: 1; } #theme-message { font-size: 13px; } }
