:root{--r:14px;--r-sm:9px;--r-xs:7px;--blur:0px}

/* —— 毛玻璃（浅色通透） —— */
html[data-theme="glass"]{
  --blur:22px;
  --page-base:#eaf0fb;
  --app-bg:
    radial-gradient(120% 90% at 10% 6%,#c3d2ff,transparent 55%),
    radial-gradient(120% 90% at 90% 4%,#ddc8ff,transparent 55%),
    radial-gradient(140% 110% at 74% 100%,#b9e5ff,transparent 58%),
    linear-gradient(158deg,#edf2ff 0%,#f5efff 52%,#e9f3ff 100%);
  --side-bg:rgba(255,255,255,.5);
  --side-glow:none;
  --col-bg:rgba(255,255,255,.34);
  --content-bg:rgba(255,255,255,.42);
  --cbody-bg:rgba(255,255,255,.4);
  --card-bg:rgba(255,255,255,.78);
  --panel-bg:#fbfcff;
  --card-bd:rgba(255,255,255,.95);
  --card-hl:inset 0 1px 0 rgba(255,255,255,.95);
  --field-bg:rgba(255,255,255,.62);
  --field-bd:rgba(38,52,84,.10);
  --tab-bg:rgba(48,62,96,.06);
  --line:rgba(38,52,84,.09);
  --line2:rgba(38,52,84,.06);
  --tx:#1a2338;
  --tx-sub:#46526e;
  --tx-faint:#68718a;
  --side-tx:rgba(32,44,70,.82);
  --side-tx-h:rgba(22,34,60,.95);
  --side-on-bg:rgba(255,255,255,.92);
  --side-on-tx:#2a4a94;
  --side-hover:rgba(255,255,255,.46);
  --side-line:rgba(32,44,70,.09);
  --accent:#4b7bff;
  --accent2:#8b5cf6;
  --accent-soft:rgba(75,123,255,.13);
  --sh-card:0 2px 10px rgba(50,70,130,.07);
  --sh-hover:0 10px 30px rgba(50,70,130,.14);
  --sh-pop:0 18px 48px rgba(40,58,110,.20);
  --red:#e0454a;--red-soft:rgba(224,69,74,.10);
  --amber:#d9820a;--green:#0f9f5a;
  --login-bg:radial-gradient(circle at 26% 16%,#e9efff,#f4efff 58%,#e8f2ff);
  --login-tx:#1a2338;--login-sub:#5e6a86;
  --login-field:rgba(255,255,255,.75);--login-fbd:rgba(38,52,84,.12);
}

/* 新台变量名兼容层：所有颜色引用旧版变量。 */
:root { --background:var(--page-base); --surface:var(--card-bg); --surface-muted:var(--col-bg); --text:var(--tx); --muted:var(--tx-sub); --border:var(--line); --hover:var(--tab-bg); --danger:var(--red); --danger-fill:var(--red); --mark:var(--accent-soft); color:var(--tx); background:var(--app-bg); color-scheme:light; }
:root body { color: var(--text); background: var(--background); }
:root body > aside { display: flex; flex-direction: column; background: var(--surface-muted); border-color: var(--border); }
:root p { color: var(--muted); }
:root button:hover { background: var(--hover); }
:root button:focus-visible, :root input:focus-visible, :root textarea:focus-visible, :root summary:focus-visible { outline-color: var(--accent); }
:root button[aria-current="page"], :root button[aria-pressed="true"] { background: var(--accent-soft); color: var(--accent); }
:root :is(.editor, .home-card, .recur-card, .vault-card, .vault-auth, .recycle-row, .backup-row, .global-search, .history-dialog, .sheet-container, .sheet-context-menu, .sheet-freeze-options, .sheet-filter-dialog, .sheet-delete-dialog, .editor-image-viewer, .vault-confirm, .recycle-confirm, .backup-confirm) { background: var(--surface); color: var(--text); border-color: var(--border); }
:root :is(.recur-groups, .vault-groups, .recur-item-form, .vault-item-form, .sheet-freeze-menu summary, .attachment-card) { background: var(--surface-muted); color: var(--text); border-color: var(--border); }
:root :is(input:not([type="checkbox"]), textarea, select) { color: var(--text); background-color: var(--surface); border-color: var(--border); }
:root input[type="checkbox"], :root progress { accent-color: var(--accent); }
:root :is(.home-task-form, .home-goal-form, .recur-group-form, .recur-item-form, .vault-root form) button,
:root :is(.backup-toolbar, .backup-actions, .recycle-actions, .vault-toolbar, .vault-card, .history-actions) button,
:root :is(.backup-actions a, .recycle-kind, .search-module, .home-count) { background: var(--accent-soft); color: var(--accent); border-color: var(--border); }
:root :is(.home-card h2, .home-countdown, .recur-days) { color: var(--accent); }
:root .home-card { border-top-color: var(--accent); }
:root :is(.recur-card, .vault-card) { border-top-color: var(--accent); }
:root :is(.editor-status, .sheet-status, .sheet-hint, .sheet-freeze-status, .editor-toc-title, .editor-upload-status, .search-status, .search-field, .search-header button, .backup-hint, .backup-status, .backup-meta, .backup-empty, .recycle-time, .recycle-message, .recycle-empty, .recur-caption, .recur-empty, .vault-caption, .vault-message, .vault-empty, .home-empty, .home-goal-list time, .recur-dates dt, .home-tasks .is-done label span, .vault-root form label, .recur-layout form label) { color: var(--muted); }
:root :is(.backup-toolbar, .search-results li + li, .editor-toc, .image-toolbar) { border-color: var(--border); }
:root .editor p { color: var(--text); }
:root .editor:focus { border-color: var(--accent); }
:root .editor .task-checked > span { color: var(--muted); }
:root .editor-media-bar { background: var(--background); }
:root :is(.editor-media-bar button, .editor .media-block button, .editor-image-viewer button) { color: var(--text); background: var(--surface-muted); border-color: var(--border); }
:root .editor .media-selected { background: var(--accent-soft); border-color: var(--accent); }
:root .editor [data-editor-ui="fold"] { color: var(--muted); }
:root .sheet-grid th, :root .sheet-grid td { border-color: var(--border); }
:root .sheet-grid th, :root .sheet-grid th.sheet-frozen { color: var(--muted); background: var(--surface-muted); }
:root .sheet-grid .sheet-frozen { background: var(--surface); }
:root .sheet-grid th[aria-sort="ascending"], :root .sheet-grid th[aria-sort="descending"], :root .sheet-grid .sheet-selected, :root .sheet-grid .sheet-frozen.sheet-selected { color: var(--text); background: var(--accent-soft); outline-color: var(--accent); }
:root .sheet-grid .sheet-filter-button { color: var(--muted); border-color: var(--border); }
:root .sheet-grid .sheet-filter-active { color: var(--text); background: var(--accent-soft); }
:root .sheet-cell-input { color: var(--text); background: transparent; }
:root :is(.sheet-delete-dialog p, .backup-confirm p, .vault-confirm p, .recycle-confirm p) { color: var(--muted); }
:root :is(.recur-days.is-expired, .sheet-menu-danger, .recur-group-list [data-action="delete-group"], .vault-group-list [data-action="delete-group"], .vault-card [data-action="delete-item"], .recycle-toolbar button, .recycle-actions [data-action="remove"]) { color: var(--danger); }
:root :is(.recycle-confirm-actions, .vault-confirm-actions) [data-action="confirm"], :root .vault-confirm-actions [data-action="confirm-delete"], :root .sheet-delete-confirm { background: var(--danger-fill); color: #fff; }
:root .backup-confirm-actions [data-action="confirm"], :root .sheet-filter-actions button[type="submit"] { color: var(--text); background: var(--accent-soft); }
:root .search-text mark { background: var(--mark); color: var(--text); }

/* 将旧皮肤变量接到新台表面；不改变模块布局。 */
:root body { background:var(--app-bg); background-attachment:fixed; }
:root body > aside { color:var(--side-tx); background-color:var(--side-bg); background-image:var(--side-glow); border-color:var(--side-line); backdrop-filter:blur(var(--blur)); -webkit-backdrop-filter:blur(var(--blur)); }
:root body > aside button:hover { background:var(--side-hover); color:var(--side-tx-h); }
:root body > aside button[aria-current="page"] { background:var(--side-on-bg); color:var(--side-on-tx); }
:root :is(.editor,.home-card,.recur-card,.vault-card,.vault-auth,.recycle-row,.backup-row,.sheet-container,.attachment-card) { border-radius:var(--r); border-color:var(--card-bd); box-shadow:var(--card-hl),var(--sh-card); backdrop-filter:blur(var(--blur)); -webkit-backdrop-filter:blur(var(--blur)); }
:root :is(.home-card,.recur-card,.vault-card):hover { box-shadow:var(--sh-hover); }
:root :is(dialog,.sheet-context-menu,.sheet-freeze-options) { background:var(--panel-bg); border-radius:var(--r); box-shadow:var(--sh-pop); }
:root :is(button,summary,.notes-pages,.notes-row,.notes-root-drop) { border-radius:var(--r-sm); }
:root :is(input:not([type="checkbox"]),textarea,select) { background-color:var(--field-bg); border-color:var(--field-bd); border-radius:var(--r-xs); }
:root .sheet-cell-input { background:transparent; border-radius:0; }
:root :is(input,textarea)::placeholder { color:var(--tx-faint); }
:root .notes-pages { background:var(--col-bg); backdrop-filter:blur(var(--blur)); -webkit-backdrop-filter:blur(var(--blur)); }
:root .home-card { --accent:inherit; }
