/* THEME-GH-1: Primer palette and compatibility aliases. */
:root, :root .apple-ui-1 {
--primary:#0969da;--primary-button:#1f883d;--primary-button-h:#1c8139;--selection-fill:#0969da;--primary-h:#0550ae;--on-primary:#ffffff;
--tonal:#ddf4ff;--on-tonal:#0550ae;--tonal-h:#b6e3ff;--accent-bg:#ddf4ff;--accent-line:#b6e3ff;
--bg:#f6f8fa;--surface:#ffffff;--card:#ffffff;--card-h:#eaeef2;--fill:#f6f8fa;--line:#d1d9e0;--line-strong:#8c959f;
--text:#1f2328;--text2:#59636e;--text3:#656d76;--red:#cf222e;--red-bg:#ffebe9;--amber:#7d4e00;--amber-bg:#fff8c5;
--up:#116329;--up-bg:#dafbe1;--done:#8250df;--done-bg:#fbefff;--notice-bg:#fff8c5;--notice-tx:#633c01;
--side:#ffffff;--on-side:#1f2328;--on-side2:#59636e;--side-h:#f6f8fa;--side-pill:#eaeef2;--on-side-pill:#1f2328;--r:6px;--r-card:6px;--r-ctl:6px;--r-chip:6px;
--c-bg:var(--bg);--c-card:var(--card);--c-text:var(--text);--c-muted:var(--text2);--c-line:var(--line);--c-accent:var(--primary);
--c-red-bg:var(--red-bg);--c-red-fg:var(--red);--c-amber-bg:var(--amber-bg);--c-amber-fg:var(--amber);--c-green-bg:var(--up-bg);--c-green-fg:var(--up);--c-blue-bg:var(--accent-bg);--c-blue-fg:var(--primary);
--ui-blue-bg:var(--tonal);--ui-red:var(--red);--ui-red-bg:var(--red-bg);--ui-amber:var(--amber);--ui-amber-bg:var(--amber-bg);--ui-green:var(--up);--ui-text2:var(--text2);--ui-text3:var(--text3);--ui-line2:var(--line);--ui-head-bg:var(--fill);
--ap-bg:var(--bg);--ap-card:var(--card);--ap-text:var(--text);--ap-text2:var(--text2);--ap-text3:var(--text3);--ap-line:var(--line);--ap-line-strong:var(--line-strong);--ap-accent:var(--primary);--ap-accent-tint:var(--accent-bg);--ap-accent-text:var(--primary);--ap-danger:var(--red);--ap-danger-tint:var(--red-bg);--ap-ok-bg:var(--up-bg);--ap-ok-text:var(--up);--ap-hold-bg:var(--amber-bg);--ap-hold-text:var(--amber);
--ts-bg:var(--surface);--ts-surface:var(--fill);--ts-text:var(--text);--ts-text-body:var(--text);--ts-text-muted:var(--text2);--ts-border:var(--line);--ts-border-strong:var(--line-strong);--ts-accent:var(--primary);--ts-accent-hover:var(--primary-h);--ts-accent-active:var(--primary-h);--ts-on-accent:var(--on-primary);--ts-danger:var(--red);--ts-danger-ink:var(--red);--ts-danger-tint:var(--red-bg);--ts-success:var(--up);--ts-success-ink:var(--up);--ts-success-tint:var(--up-bg);--ts-warning:var(--amber);--ts-warning-ink:var(--amber);--ts-warning-tint:var(--amber-bg);--ts-radius:6px;
}
:root[data-theme="dark"], :root[data-theme="dark"] .apple-ui-1 {
--primary:#4493f8;--primary-button:#238636;--primary-button-h:#1f883d;--selection-fill:#1f6feb;--primary-h:#79c0ff;--on-primary:#ffffff;--tonal:#152b45;--on-tonal:#79c0ff;--tonal-h:#1c3b5b;--accent-bg:#152b45;--accent-line:#1f6feb;
--bg:#0d1117;--surface:#151b23;--card:#151b23;--card-h:#252c35;--fill:#212830;--line:#3d444d;--line-strong:#59636e;
--text:#f0f6fc;--text2:#b1bac4;--text3:#9198a1;--red:#f85149;--red-bg:#3e171b;--amber:#e3b341;--amber-bg:#3b2c0a;--up:#3fb950;--up-bg:#122d1d;--done:#ab7df8;--done-bg:#2b1f3d;--notice-bg:#3b2c0a;--notice-tx:#e3b341;
--side:#151b23;--on-side:#f0f6fc;--on-side2:#b1bac4;--side-h:#212830;--side-pill:#252c35;--on-side-pill:#f0f6fc;
}
@media screen and (prefers-color-scheme: dark) {
:root[data-theme="system"], :root[data-theme="system"] .apple-ui-1 {
--primary:#4493f8;--primary-button:#238636;--primary-button-h:#1f883d;--selection-fill:#1f6feb;--primary-h:#79c0ff;--on-primary:#ffffff;--tonal:#152b45;--on-tonal:#79c0ff;--tonal-h:#1c3b5b;--accent-bg:#152b45;--accent-line:#1f6feb;
--bg:#0d1117;--surface:#151b23;--card:#151b23;--card-h:#252c35;--fill:#212830;--line:#3d444d;--line-strong:#59636e;
--text:#f0f6fc;--text2:#b1bac4;--text3:#9198a1;--red:#f85149;--red-bg:#3e171b;--amber:#e3b341;--amber-bg:#3b2c0a;--up:#3fb950;--up-bg:#122d1d;--done:#ab7df8;--done-bg:#2b1f3d;--notice-bg:#3b2c0a;--notice-tx:#e3b341;
--side:#151b23;--on-side:#f0f6fc;--on-side2:#b1bac4;--side-h:#212830;--side-pill:#252c35;--on-side-pill:#f0f6fc;
}
}
@media print {
:root, :root[data-theme="dark"], :root[data-theme="system"], :root .apple-ui-1, :root[data-theme="dark"] .apple-ui-1, :root[data-theme="system"] .apple-ui-1 {
--primary:#0969da;--primary-button:#1f883d;--primary-button-h:#1c8139;--selection-fill:#0969da;--primary-h:#0550ae;--on-primary:#ffffff;
--tonal:#ddf4ff;--on-tonal:#0550ae;--tonal-h:#b6e3ff;--accent-bg:#ddf4ff;--accent-line:#b6e3ff;
--bg:#f6f8fa;--surface:#ffffff;--card:#ffffff;--card-h:#eaeef2;--fill:#f6f8fa;--line:#d1d9e0;--line-strong:#8c959f;
--text:#1f2328;--text2:#59636e;--text3:#656d76;--red:#cf222e;--red-bg:#ffebe9;--amber:#7d4e00;--amber-bg:#fff8c5;
--up:#116329;--up-bg:#dafbe1;--done:#8250df;--done-bg:#fbefff;--notice-bg:#fff8c5;--notice-tx:#633c01;
--side:#ffffff;--on-side:#1f2328;--on-side2:#59636e;--side-h:#f6f8fa;--side-pill:#eaeef2;--on-side-pill:#1f2328;--r:6px;--r-card:6px;--r-ctl:6px;--r-chip:6px;
--c-bg:var(--bg);--c-card:var(--card);--c-text:var(--text);--c-muted:var(--text2);--c-line:var(--line);--c-accent:var(--primary);
--c-red-bg:var(--red-bg);--c-red-fg:var(--red);--c-amber-bg:var(--amber-bg);--c-amber-fg:var(--amber);--c-green-bg:var(--up-bg);--c-green-fg:var(--up);--c-blue-bg:var(--accent-bg);--c-blue-fg:var(--primary);
--ui-blue-bg:var(--tonal);--ui-red:var(--red);--ui-red-bg:var(--red-bg);--ui-amber:var(--amber);--ui-amber-bg:var(--amber-bg);--ui-green:var(--up);--ui-text2:var(--text2);--ui-text3:var(--text3);--ui-line2:var(--line);--ui-head-bg:var(--fill);
--ap-bg:var(--bg);--ap-card:var(--card);--ap-text:var(--text);--ap-text2:var(--text2);--ap-text3:var(--text3);--ap-line:var(--line);--ap-line-strong:var(--line-strong);--ap-accent:var(--primary);--ap-accent-tint:var(--accent-bg);--ap-accent-text:var(--primary);--ap-danger:var(--red);--ap-danger-tint:var(--red-bg);--ap-ok-bg:var(--up-bg);--ap-ok-text:var(--up);--ap-hold-bg:var(--amber-bg);--ap-hold-text:var(--amber);
--ts-bg:var(--surface);--ts-surface:var(--fill);--ts-text:var(--text);--ts-text-body:var(--text);--ts-text-muted:var(--text2);--ts-border:var(--line);--ts-border-strong:var(--line-strong);--ts-accent:var(--primary);--ts-accent-hover:var(--primary-h);--ts-accent-active:var(--primary-h);--ts-on-accent:var(--on-primary);--ts-danger:var(--red);--ts-danger-ink:var(--red);--ts-danger-tint:var(--red-bg);--ts-success:var(--up);--ts-success-ink:var(--up);--ts-success-tint:var(--up-bg);--ts-warning:var(--amber);--ts-warning-ink:var(--amber);--ts-warning-tint:var(--amber-bg);--ts-radius:6px;
}
}
.theme-picker { padding:8px; color:var(--text); white-space:normal; }
.theme-picker select { max-width:100%; color:var(--text); background:var(--surface); border:1px solid var(--line); border-radius:var(--r); padding:5px; }

/* Representative actions retain readable colors even when page styles override them. */
@media screen {
:root[data-theme="dark"] :is(.btn-primary, .btn-action-primary, .ui-btn-primary),
:root[data-theme="dark"] .apple-ui-1 :is(.btn-primary, .btn-action-primary, .ui-btn-primary) { background:var(--primary-button) !important; border-color:var(--primary-button) !important; color:var(--on-primary) !important; }
:root[data-theme="dark"] :is(.btn-primary, .btn-action-primary, .ui-btn-primary):hover,
:root[data-theme="dark"] .apple-ui-1 :is(.btn-primary, .btn-action-primary, .ui-btn-primary):hover { background:var(--primary-button-h) !important; border-color:var(--primary-button-h) !important; }
}
@media screen and (prefers-color-scheme: dark) {
:root[data-theme="system"] :is(.btn-primary, .btn-action-primary, .ui-btn-primary),
:root[data-theme="system"] .apple-ui-1 :is(.btn-primary, .btn-action-primary, .ui-btn-primary) { background:var(--primary-button) !important; border-color:var(--primary-button) !important; color:var(--on-primary) !important; }
:root[data-theme="system"] :is(.btn-primary, .btn-action-primary, .ui-btn-primary):hover,
:root[data-theme="system"] .apple-ui-1 :is(.btn-primary, .btn-action-primary, .ui-btn-primary):hover { background:var(--primary-button-h) !important; border-color:var(--primary-button-h) !important; }
}

/* 인쇄 문서는 기존 색상을 유지한다. */
@media print {
  :root, :root .apple-ui-1 { --primary-button:#0969da; --primary-button-h:#0550ae; }
  :root, :root .apple-ui-1, :root[data-theme="dark"], :root[data-theme="dark"] .apple-ui-1, :root[data-theme="system"], :root[data-theme="system"] .apple-ui-1 { --done:var(--up); --done-bg:var(--up-bg); }
  :root[data-theme="dark"], :root[data-theme="dark"] .apple-ui-1 { --primary-button:#1f6feb; --primary-button-h:#1158c7; }
  @media (prefers-color-scheme: dark) {
    :root[data-theme="system"], :root[data-theme="system"] .apple-ui-1 { --primary-button:#1f6feb; --primary-button-h:#1158c7; }
  }
}
