/* Four product palettes; original game and card artwork keep their own colors. */
:root[data-palette=midnight]{--page:#0a1218;--deep:#12252b;--ink:#edfff5;--muted:#c1d9d4;--mint:#a0ffc3;--yellow:#a0ffc3;--panel:#e6f1e9;--game-ink:#172f31;--game-muted:#405b5e;--menu-border:#4e8b80;--emerald-blue:#172f38;--emerald-teal:#20594d;--theme-soft:#cee3d8;--theme-edge:#689d90;--theme-accent-ink:#123f32}
:root[data-palette=ruby]{--page:#270f1f;--deep:#421c32;--ink:#fff4e4;--muted:#eacdd8;--mint:#ffb6a1;--yellow:#ffce76;--panel:#fff0dc;--game-ink:#542c3e;--game-muted:#735262;--menu-border:#ad6d70;--emerald-blue:#7d243d;--emerald-teal:#8b403c;--theme-soft:#f2d5c8;--theme-edge:#cb8d85;--theme-accent-ink:#6c3040}
:root[data-palette=sapphire]{--page:#0a183a;--deep:#142e59;--ink:#f0f8ff;--muted:#c8dcf6;--mint:#a9caff;--yellow:#9aeaff;--panel:#eaf3ff;--game-ink:#193a65;--game-muted:#486181;--menu-border:#688db6;--emerald-blue:#183e89;--emerald-teal:#23617d;--theme-soft:#cfdef6;--theme-edge:#7aaace;--theme-accent-ink:#153e73}
html[data-palette]:not([data-palette=emerald]) :is(.site-header,.header-cta,.menu-button){background:var(--emerald-blue);border-color:var(--theme-edge)}
html[data-palette]:not([data-palette=emerald]) :is(.pixel-frame,.pokedex-display,.battle-info,.found-pokemon,.trade-offer,.party-line,.route-name){border-color:var(--menu-border);outline-color:var(--theme-edge)}
html[data-palette]:not([data-palette=emerald]) :is(.primary,.primary:hover,.faq-list summary>span){background:var(--yellow);color:var(--game-ink);border-color:var(--theme-edge)}
html[data-palette]:not([data-palette=emerald]) :is(.segmented button,.filter-row button,.dex-tile,.dialog-pokedex-grid .dex-tile,.starter-choice button,.close-dialog,.trading-art,.agent-conclusion){background:var(--theme-soft);color:var(--game-ink);border-color:var(--menu-border)}
html[data-palette]:not([data-palette=emerald]) :is(.segmented button.selected,.filter-row button.selected,.faq-list summary:hover,.mode-action:hover){background:var(--emerald-teal);color:var(--ink);border-color:var(--theme-edge)}
html[data-palette]:not([data-palette=emerald]) :is(.card-spec,.value-label b,.next-encounter,.trade-offer a,.trade-offer button,.map-pixel-controls p,.agent-conclusion>.tiny-code,.battle-info>span:first-child,.dex-type,.pokedex-bottom>span){color:var(--theme-accent-ink)}
html[data-palette]:not([data-palette=emerald]) :is(.window-top,.faq-list details[open],.faq-list details[open] summary,.collection-benefits>div,.integration-line,.questions,.closing,.footer-bottom){border-color:var(--theme-edge)}
.palette-choices{border:0;padding:0 0 16px;margin:0 0 14px;border-bottom:1px solid var(--menu-border);display:grid;gap:7px}
.palette-choices legend{font:700 16px/1.5 Chakra,Arial,sans-serif;margin-bottom:8px}
.palette-choices button{display:flex;align-items:center;gap:10px;min-height:42px;padding:8px 10px;border:2px solid transparent;border-radius:4px;background:transparent;color:var(--game-ink);text-align:left;font:600 14px/1.3 Chakra,Arial,sans-serif}
.palette-choices button:hover{border-color:var(--menu-border)}.palette-choices button[aria-pressed=true]{background:var(--emerald-blue);color:var(--ink);border-color:var(--menu-border)}
.palette-swatches{display:flex;flex-shrink:0}.palette-swatches i{display:block;width:14px;height:20px;border:1px solid #ffffff50}.map-pixel-controls{width:270px;max-height:calc(100svh - 30px);overflow:auto}
@media(max-width:600px){.map-pixel-controls{width:245px;max-height:65svh}.palette-choices button{min-height:44px}}
html[data-palette]:not([data-palette=emerald]) .demo-badge{background:var(--emerald-teal);border-color:var(--theme-edge);color:var(--yellow)}
