/* Compact three-mode menu; the palette can override the public --fv-theme-* tokens. */
#store-theme-toggle.fv-theme-toggle,.fv-theme-menu {
  --_fv-theme-bg:var(--fv-theme-bg,#fff);
  --_fv-theme-text:var(--fv-theme-text,#0f172a);
  --_fv-theme-accent:var(--fv-theme-accent,#a8263b);
  --_fv-theme-border:var(--fv-theme-border,#cbd5e1);
  --_fv-theme-hover:var(--fv-theme-hover-bg,#f1f5f9);
  --_fv-theme-selected:var(--fv-theme-selected-bg,#f7e8ec);
  box-sizing:border-box;color:var(--_fv-theme-text);background:var(--_fv-theme-bg);
  font-family:inherit;
}
html[data-theme="dark"] :is(#store-theme-toggle.fv-theme-toggle,.fv-theme-menu) {
  --_fv-theme-bg:var(--fv-theme-bg,#0f172a);
  --_fv-theme-text:var(--fv-theme-text,#f8fafc);
  --_fv-theme-accent:var(--fv-theme-accent,#bef264);
  --_fv-theme-border:var(--fv-theme-border,#334155);
  --_fv-theme-hover:var(--fv-theme-hover-bg,#1e293b);
  --_fv-theme-selected:var(--fv-theme-selected-bg,#23331c);
}
#store-theme-toggle.fv-theme-toggle {
  display:inline-flex;flex:none;align-items:center;justify-content:center;gap:3px;
  width:52px;min-width:52px;height:44px;min-height:44px;padding:0;margin:0;
  border:1px solid var(--_fv-theme-border);border-radius:12px;cursor:pointer;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none;
  transition:background-color .15s ease,border-color .15s ease;
}
#store-theme-toggle[hidden],#store-theme-menu[hidden] {display:none;}
#store-theme-toggle.fv-theme-toggle:hover,#store-theme-toggle.fv-theme-toggle[aria-expanded="true"] {
  background:var(--_fv-theme-hover);border-color:var(--_fv-theme-accent);
}
#store-theme-toggle.fv-theme-toggle:focus-visible {outline:2px solid var(--_fv-theme-accent);outline-offset:3px;}
.fv-theme-current,.fv-theme-icon,.fv-theme-chevron,.fv-theme-check {display:block;flex:none;pointer-events:none;}
.fv-theme-current,.fv-theme-icon {width:20px;height:20px;}
.fv-theme-chevron {width:12px;height:12px;transition:transform .15s ease;}
#store-theme-toggle[aria-expanded="true"] .fv-theme-chevron {transform:rotate(180deg);}
.fv-theme-icon svg,.fv-theme-chevron svg,.fv-theme-check svg {display:block;width:100%;height:100%;}
.fv-theme-menu {
  position:fixed;z-index:2000;width:220px;max-width:calc(100vw - 16px);padding:6px;
  max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;
  border:1px solid var(--_fv-theme-border);border-radius:14px;
  box-shadow:var(--fv-theme-shadow,0 14px 40px rgba(2,6,23,.2));
}
.fv-theme-menu .fv-theme-option {
  display:grid;grid-template-columns:20px minmax(0,1fr) 18px;align-items:center;gap:10px;
  box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:10px;
  border:0;border-radius:9px;background:transparent;color:var(--_fv-theme-text);
  font:inherit;font-size:14px;font-weight:500;line-height:1.35;text-align:left;cursor:pointer;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
.fv-theme-menu .fv-theme-option[aria-checked="true"] {background:var(--_fv-theme-selected);}
.fv-theme-menu .fv-theme-option:hover {background:var(--_fv-theme-hover);}
.fv-theme-menu .fv-theme-option:focus-visible {outline:2px solid var(--_fv-theme-accent);outline-offset:-2px;}
.fv-theme-label {min-width:0;white-space:nowrap;}
.fv-theme-check {width:18px;height:18px;color:var(--_fv-theme-accent);visibility:hidden;}
.fv-theme-option[aria-checked="true"] .fv-theme-check {visibility:visible;}
/* Preserve space for every header action on narrow cover displays. */
@media (max-width:650px) {body[data-theme="graphite"] .header .brand {min-width:0;max-width:100%;}}
@media (prefers-reduced-motion:reduce) {#store-theme-toggle.fv-theme-toggle,.fv-theme-chevron {transition:none;}}
