/* Theme preferences are local to this browser; calculation data is unchanged. */
.header-actions { gap: 12px; flex-shrink: 0; }
.theme-control { display: flex; align-items: center; gap: 7px; margin: 0; color: var(--muted); }
.theme-control>span { font-size: 12px; white-space: nowrap; }
.theme-control #theme-select { width: 110px; height: 36px; min-height: 36px; padding: 5px 8px; font-size: 12px; border-radius: 7px; background: var(--panel-soft); color: var(--text); }
html[data-theme=light] { color-scheme: light; }
html[data-theme=dark] {
  color-scheme: dark;
  --bg: #101725;
  --panel: #182235;
  --panel-soft: #202d42;
  --line: #394a64;
  --line-strong: #697d99;
  --text: #edf2fa;
  --muted: #b3bfd0;
  --faint: #a5b4c9;
  --accent: #9bbaff;
  --accent-dark: #263b62;
  --blue: #9bbaff;
  --blue-hover: #c2d4ff;
  --blue-soft: #203454;
  --blue-border: #536f9c;
  --green: #77dfb8;
  --green-soft: #19392f;
  --green-border: #4d8d74;
  --amber: #f3cd83;
  --amber-soft: #382e1e;
  --amber-border: #9c7c43;
  --red: #ffb0af;
  --red-soft: #3e272d;
  --red-border: #a66a71;
}
html[data-theme=dark] .panel { border-color: var(--line); box-shadow: 0 3px 18px #00000018; }
html[data-theme=dark] input:disabled,
html[data-theme=dark] select:disabled,
html[data-theme=dark] textarea:disabled { background: var(--panel-soft); }
html[data-theme=dark] input[type=checkbox] { accent-color: #3569df; }
/* Keep white labels on a saturated button, separate from the brighter link color. */
html[data-theme=dark] .button-primary,
html[data-theme=dark] .planner-target-choice.selected { color: #fff; background: #3569df; border-color: #3569df; }
html[data-theme=dark] .button-primary:hover:not(:disabled),
html[data-theme=dark] .planner-target-choice.selected:hover { background: #285acb; border-color: #285acb; }
html[data-theme=dark] .button.button-danger { background: #a43343; border-color: #a43343; color: #fff; }
html[data-theme=dark] .decision-banner { background: var(--green-soft); }
html[data-theme=dark] .decision-banner.hold { background: var(--amber-soft); }
html[data-theme=dark] .decision-banner.sell { background: var(--red-soft); }
html[data-theme=dark] .decision-banner.invalid { background: var(--panel-soft); }
html[data-theme=dark] .result-tag.complete,
html[data-theme=dark] .result-tag.completed,
html[data-theme=dark] .result-tag[data-state=complete],
html[data-theme=dark] .recommendation-verdict.keep,
html[data-theme=dark] .recommendation-action.keep,
html[data-theme=dark] .recommendation-status.keep { background: var(--green-soft); }
html[data-theme=dark] .searchable-option.selected:hover,
html[data-theme=dark] .searchable-option[aria-selected=true]:hover,
html[data-theme=dark] .searchable-option.selected.active,
html[data-theme=dark] .searchable-option[aria-selected=true].active { background: var(--blue-soft); color: var(--blue-hover); }
html[data-theme=dark] .crop-stage { background: repeating-conic-gradient(#182235 0% 25%, #26354b 0% 50%) 50% / 16px 16px; }
html[data-theme=dark] .planner-slot:has(.planner-mode input:checked) { background: var(--blue-soft); }
html[data-theme=dark] .planner-slot-badge,
html[data-theme=dark] .planner-result-badge,
html[data-theme=dark] .planner-result-badge-pending,
html[data-theme=dark] .planner-result-target,
html[data-theme=dark] .planner-result-slot,
html[data-theme=dark] .planner-assumptions,
html[data-theme=dark] .planner-result-primary>.planner-disclaimer { color: var(--muted); }
html[data-theme=dark] .planner-slot[data-state=fixed] .planner-slot-badge,
html[data-theme=dark] .planner-slot-subsummary,
html[data-theme=dark] .planner-result-badge-needed,
html[data-theme=dark] .planner-result-average-value,
html[data-theme=dark] .planner-result-evidence>summary { color: var(--blue); }
html[data-theme=dark] .planner-result-badge-met { color: var(--green); }
html[data-theme=dark] .planner-slot[data-state=review] .planner-slot-badge,
html[data-theme=dark] .planner-slot-review-hint,
html[data-theme=dark] .planner-result-badge-adjust,
html[data-theme=dark] .planner-result-notices h4,
html[data-theme=dark] .planner-result-notices .planner-warnings { color: var(--amber); }
/* Only monochrome UI/slot/stat glyphs are recolored; equipment and portraits retain their artwork. */
html[data-theme=dark] .ui-icon,
html[data-theme=dark] img[src^="/assets/slots/"],
html[data-theme=dark] img[src^="assets/slots/"],
html[data-theme=dark] img[src^="/assets/stats/"],
html[data-theme=dark] img[src^="/assets/stats_on_light/"] { filter: brightness(0) invert(1); opacity: .85; }
html[data-theme=dark] .button-primary .ui-icon,
html[data-theme=dark] .decision-top>span .ui-icon { opacity: 1; }
html[data-theme=dark] :is(button,a,input,select,summary,textarea):focus-visible,
html[data-theme=dark] .planner-ocr-dropzone:focus,
html[data-theme=dark] .planner-result:focus-visible { outline-color: #a9c4ff; }
html[data-theme=dark] ::selection { background: #36588c; color: #fff; }
@media (max-width: 1000px) {
  .site-header { height: auto; min-height: 72px; flex-wrap: wrap; gap: 0 14px; padding-top: 8px; }
  .brand { order: 1; }
  .header-actions { order: 2; margin-left: auto; min-height: 44px; height: auto; }
  .site-header>.header-nav { order: 3; flex-basis: 100%; margin: 0; min-height: 46px; height: auto; justify-content: space-between; }
}
@media (max-width: 520px) {
  .theme-control>span { display: none; }
  .theme-control #theme-select { width: 91px; }
  .header-actions { gap: 5px; }
}
@media (max-width: 360px) {
  .site-header { padding-left: 12px; padding-right: 12px; }
  .brand { font-size: 15px; gap: 6px; }
  .brand-mark { width: 28px; height: 28px; }
  .brand-mark img { width: 44px; height: 44px; }
  .theme-control #theme-select { width: 85px; }
  .site-header .icon-button { width: 32px; }
}
