/* Five light themes share structure and the same financial/status semantics. */
:root[data-theme],.theme-option[data-theme] {
  color-scheme:light;
  --ui-positive:#216a4c; --ui-expense:#985024; --ui-danger:#a82d3b;
  --ui-festival:#9a515b;
  --theme-book-bg:#fff2d9; --theme-book-ink:#795018;
}
:root[data-theme=apple],.theme-option[data-theme=apple] {
  --ui-ground:#f2f2f7; --ui-surface:#fff; --ui-raised:#f8f8fa; --ui-active:#e7f0ff;
  --ui-ink:#1c1c1e; --ui-muted:#54545c; --ui-faint:#64646d;
  --ui-border:#dcdce3; --ui-control:#85858f; --ui-accent:#005ec4;
  --ui-primary:#006bdd; --ui-primary-hover:#005cbe; --ui-on-primary:#fff;
  --theme-header:#e7f0ff; --ui-radius:12px;
}
:root[data-theme=wechat],.theme-option[data-theme=wechat] {
  --ui-ground:#ededed; --ui-surface:#fff; --ui-raised:#f7f7f7; --ui-active:#e5f6ea;
  --ui-ink:#181818; --ui-muted:#535953; --ui-faint:#616961;
  --ui-border:#dcdedc; --ui-control:#818b82; --ui-accent:#087b39;
  --ui-primary:#07c160; --ui-primary-hover:#06ad56; --ui-on-primary:#102f1d;
  --theme-header:#e5f6ea; --ui-radius:8px;
}
:root[data-theme=sky],.theme-option[data-theme=sky] {
  --ui-ground:#f1f6ff; --ui-surface:#fff; --ui-raised:#f7f9ff; --ui-active:#e5eeff;
  --ui-ink:#1c2c47; --ui-muted:#53627a; --ui-faint:#606d83;
  --ui-border:#d9e3f3; --ui-control:#7d8ca4; --ui-accent:#1b54ba;
  --ui-primary:#2166df; --ui-primary-hover:#1956c3; --ui-on-primary:#fff;
  --theme-header:#e5eeff; --ui-radius:10px;
}
:root[data-theme=apricot],.theme-option[data-theme=apricot] {
  --ui-ground:#fcf5ed; --ui-surface:#fffdfa; --ui-raised:#fdf7f0; --ui-active:#ffecd8;
  --ui-ink:#3c2b21; --ui-muted:#6f5d4f; --ui-faint:#796655;
  --ui-border:#e9ddcf; --ui-control:#9a816b; --ui-accent:#954309;
  --ui-primary:#a54e15; --ui-primary-hover:#8d3e0d; --ui-on-primary:#fff;
  --theme-header:#ffecd8; --ui-radius:10px;
  --theme-book-bg:#e5f3ed; --theme-book-ink:#216a4c;
}
:root[data-theme=iris],.theme-option[data-theme=iris] {
  --ui-ground:#f6f3fc; --ui-surface:#fff; --ui-raised:#faf8fe; --ui-active:#eee7fc;
  --ui-ink:#30263f; --ui-muted:#665b78; --ui-faint:#706581;
  --ui-border:#e2daef; --ui-control:#9583a8; --ui-accent:#6540a7;
  --ui-primary:#7050b7; --ui-primary-hover:#5e3d9d; --ui-on-primary:#fff;
  --theme-header:#eee7fc; --ui-radius:10px;
}
:root[data-theme=tech],.theme-option[data-theme=tech] {
  color-scheme:dark;
  --ui-ground:#0b1018; --ui-surface:#121a28; --ui-raised:#1a2434; --ui-active:#17323f;
  --ui-ink:#dfe9f4; --ui-muted:#94a9bf; --ui-faint:#8297ad;
  --ui-border:#2a3648; --ui-control:#647c93; --ui-accent:#3fc9dd;
  --ui-primary:#22a9c2; --ui-primary-hover:#1b92a8; --ui-on-primary:#04212a;
  --theme-header:#0e1522; --ui-radius:10px;
  --ui-positive:#4fc98a; --ui-expense:#e8a05c; --ui-danger:#f07080;
  --ui-festival:#e59aa4;
  --theme-book-bg:#22303e; --theme-book-ink:#9fd8e8;
}
html[data-theme] { background:var(--ui-ground); }
html[data-theme] .hc-app { --hc-blue:var(--ui-accent); background:var(--ui-ground); color:var(--ui-ink); caret-color:var(--ui-accent); }
html[data-theme=apple] .hc-app { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif; }
html[data-theme] .hc-app ::selection { background:var(--ui-active); color:var(--ui-ink); }
html[data-theme] .hc-app .auth-story { background:var(--theme-header); color:var(--ui-ink); }
html[data-theme] .hc-app .auth-story h1 { color:var(--ui-ink); }
html[data-theme] .hc-app .auth-story p,html[data-theme] .hc-app .auth-story .notice { color:var(--ui-muted); }
html[data-theme] .hc-app .auth-story .notice { background:transparent; border-color:var(--ui-control); }
html[data-theme] .hc-app .auth-box { background:var(--ui-surface); box-shadow:none; }
html[data-theme] .hc-app .auth-switch button { color:var(--ui-accent); }
html[data-theme] .hc-app :is(.actions button:not(.secondary),dialog button[type=submit]:not(.secondary),.auth-box form>button) { background:var(--ui-primary); color:var(--ui-on-primary); border-color:var(--ui-accent); }
html[data-theme] .hc-app .quick-choice input:checked+span { border-color:var(--ui-accent); }
html[data-theme] .hc-app aside nav button.active { color:var(--ui-accent); }
html[data-theme] .hc-app .schedule-hub { --hub-action-ink:var(--ui-accent); --hub-action-bg:var(--ui-active); --hub-action-border:var(--ui-control); --hub-action-hover:var(--ui-active); --hub-action-pressed:var(--ui-active); }
html[data-theme] .hc-app .book-hub { --hub-action-ink:var(--theme-book-ink); --hub-action-bg:var(--theme-book-bg); --hub-action-border:var(--theme-book-ink); --hub-action-hover:var(--theme-book-bg); --hub-action-pressed:var(--theme-book-bg); }
html[data-theme] .hc-app .agenda-day.is-selected:not(.is-holiday,.is-weekend) .agenda-date-number { background:var(--ui-primary); color:var(--ui-on-primary); }
html[data-theme] .hc-app :is(.status-confirmed,.badge.verified,.account-kind.personal,.person-verification .verified-badge:not(.company-verified)) { color:var(--ui-accent); background:var(--ui-active); border-color:var(--ui-border); }
html[data-theme] .hc-app :is(.quick-link-dialog .quick-pick-item[aria-pressed=true],.date-picker-tabs button[aria-pressed=true]) { background:var(--ui-active); color:var(--ui-ink); border-color:var(--ui-accent); }
html[data-theme] .hc-app .quick-link-dialog .quick-pick-item[aria-pressed=true] small { color:var(--ui-muted); }
html[data-theme] .hc-app .social-tags .badge { background:var(--ui-raised); color:var(--ui-muted); }
html[data-theme] .hc-app .social-banner { background:var(--ui-primary); color:var(--ui-on-primary); }
html[data-theme] .hc-app .social-banner :is(h2,p) { color:inherit; }
html[data-theme] .hc-app .mobile-dock button[aria-current=page],html[data-theme] .hc-app .mobile-dock button[aria-current=page] svg { color:var(--ui-accent)!important; }
html[data-theme] .hc-app #toast { background:var(--ui-ink); color:var(--ui-surface); }
/* 深空科技：浅色主题遗留的硬编码底色换成深色系 */
html[data-theme=tech] .hc-app :is(.badge.overdue,.status-cancelled) { background:#3a1c26; color:#f2a3ad; }
html[data-theme=tech] .hc-app :is(.status-confirmed,.badge.verified) { background:#12303c; color:var(--ui-accent); }
html[data-theme=tech] .hc-app .status-tentative { background:#33290f; color:#e8c37a; }
html[data-theme=tech] .hc-app .person-verification .verified-badge { background:#12303c; border-color:#2a4a5c; }
html[data-theme=tech] .hc-app .person-verification .verified-badge.company-verified { background:#33290f; color:#e8c37a; border-color:#5c4a24; }
html[data-theme=tech] .hc-app ::placeholder { color:color-mix(in srgb, var(--ui-muted) 85%, transparent); }
.theme-settings { margin-bottom:20px; }
.theme-settings-head { display:flex; align-items:baseline; justify-content:space-between; gap:8px 16px; flex-wrap:wrap; margin-bottom:14px; }
.theme-settings-head h2 { margin:0; }
.theme-settings-head p,.theme-dialog>p { margin:0; font-size:12px; }
.theme-options { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; }
.theme-option { position:relative; display:grid; justify-items:start; gap:5px; padding:12px; min-width:0; min-height:104px; background:var(--ui-ground); color:var(--ui-ink); border:1px solid var(--ui-control); border-radius:10px; text-align:left; }
.theme-option strong { color:var(--ui-ink); font-size:14px; line-height:1.5; }
.theme-option small { color:var(--ui-muted); font-size:12px; line-height:1.4; }
.theme-option[aria-pressed=true] { outline:2px solid var(--ui-accent); outline-offset:1px; border-color:var(--ui-accent); }
.theme-option[aria-pressed=true] small { color:var(--ui-accent); font-weight:650; }
.theme-swatch { display:flex; align-items:center; gap:4px; height:20px; margin-bottom:3px; }
.theme-swatch i { display:block; width:20px; height:16px; border-radius:4px; background:var(--ui-primary); }
.theme-swatch i:nth-child(2) { background:var(--ui-ink); }
.theme-swatch i:nth-child(3) { background:var(--ui-surface); border:1px solid var(--ui-control); }
.theme-dialog { width:min(600px,94vw); }
.theme-dialog .theme-options { margin:20px 0; }
.theme-open { display:flex; align-items:center; justify-content:space-between; gap:10px; }
@media(hover:hover) { .theme-option:hover { background:var(--ui-active); color:var(--ui-ink); } }
@media(max-width:650px) {
  .theme-settings { padding:16px; margin-bottom:16px; }
  .theme-settings-head { margin-bottom:12px; }
  .theme-settings-head h2 { font-size:17px; }
  .theme-options { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .theme-option { padding:10px; min-height:100px; }
  .theme-swatch { gap:3px; }
  .theme-swatch i { width:17px; }
}
