/* Semantic appearance tokens; legacy aliases keep existing modules consistent. */
:root {
  color-scheme: light;
  --surface-page: #F5F6F4; --surface-panel: #FFFFFF; --surface-raised: #E8EDE8;
  --text-primary: #17221C; --text-secondary: #526057; --border-decorative: #D4DDD6; --control-border: #758579;
  --action-primary: #245E3E; --action-on-primary: #FFFFFF;
  --status-error: #B3261E; --status-warning: #785600; --status-success: #246A43;
  --lime-bg: #E4F1DE; --orange: #875000; --orange-t: #785600; --orange-bg: #FFF0CE; --orange-line: #AB7C26; --orange-text: #785600;
  --red: #B3261E; --red-t: #B3261E; --red-bg: #FCE7E4;
  --blue: #075C87; --blue-bg: #E0F0F8; --indigo-bg: #E9ECFA; --indigo-t: #344CA0;

  --ink: var(--surface-page); --surface: var(--surface-panel); --surface-2: var(--surface-raised);
  --text: var(--text-primary); --text-2: var(--text-secondary); --muted: var(--text-secondary); --dim: var(--text-secondary);
  --line: var(--border-decorative); --line-2: var(--control-border);
  --lime: var(--action-primary); --lime-2: var(--action-primary); --on-accent: var(--action-on-primary);
  --focus-ring: var(--action-primary);
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --surface-page: #0B0D10; --surface-panel: #15181D; --surface-raised: #1D2128;
  --text-primary: #F3F5F7; --text-secondary: #AAB4C0; --border-decorative: #323B46; --control-border: #768392;
  --action-primary: #C8F542; --action-on-primary: #0B0D10;
  --status-error: #FF7A7A; --status-warning: #FFB25C; --status-success: #BBDD79;
  --lime-bg: #1E2E14; --orange: #FF9F43; --orange-t: #FFB25C; --orange-bg: #2B1C0E; --orange-line: #9A703B; --orange-text: #E0B27A;
  --red: #FF5C5C; --red-t: #FF7A7A; --red-bg: #3A1A1A;
  --blue: #6EC7FF; --blue-bg: #10303C; --indigo-bg: #1C2238; --indigo-t: #9DB4FF;
}
@media (prefers-color-scheme: dark) { :root:not([data-theme]) {
  color-scheme: dark;
  --surface-page: #0B0D10; --surface-panel: #15181D; --surface-raised: #1D2128;
  --text-primary: #F3F5F7; --text-secondary: #AAB4C0; --border-decorative: #323B46; --control-border: #768392;
  --action-primary: #C8F542; --action-on-primary: #0B0D10;
  --status-error: #FF7A7A; --status-warning: #FFB25C; --status-success: #BBDD79;
  --lime-bg: #1E2E14; --orange: #FF9F43; --orange-t: #FFB25C; --orange-bg: #2B1C0E; --orange-line: #9A703B; --orange-text: #E0B27A;
  --red: #FF5C5C; --red-t: #FF7A7A; --red-bg: #3A1A1A;
  --blue: #6EC7FF; --blue-bg: #10303C; --indigo-bg: #1C2238; --indigo-t: #9DB4FF;
}}
.card { border-color: var(--line); }
.top, .tabbar, .pb-savebar { background: var(--surface); }
.flash { border-color: var(--action-primary); }
.badge.expiring { background: var(--orange-bg); }
.due-box { color: var(--red-t); }
.ex-noimg, .ex-noimg .muted, .pb-thumb { color: #17221C; }
.pb-toast.bad { background: var(--red-bg); color: var(--red-t); border: 1px solid var(--red-t); }
.card.lime .label, .card.lime .muted, .card.lime .row .muted, .hero .label { opacity: 1; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline-color: var(--focus-ring); }
.set-row .done { color: var(--muted); }
.set-row .done.on { color: var(--on-accent); }
.appearance-control { max-width: 360px; }
.appearance-control p { margin: 8px 0 0; }
[data-appearance-status]:empty { display: none; }
.appearance-disclosure { margin-block: 0 16px; }
.appearance-disclosure > summary { padding: 8px 0; }
.appearance-disclosure .appearance-control { padding-block: 8px 12px; }
@media print { :root { color-scheme: light; --ink: #fff; --surface: #fff; --surface-2: #fff; --text: #000; --text-2: #333; --muted: #333; --dim: #333; --lime: #000; --on-accent: #fff; --red-t: #B3261E; --orange-t: #785600; --line: #aaa; --line-2: #777; } }
.hero .split span small { opacity: 1; }
