:root{color-scheme:light;--text-primary:#111827;--text-secondary:#4b5563;--text-tertiary:#9ca3af;--text-disabled:#d1d5db;--text-inverse:#f9fafb;--text-brand:#2563eb;--bg-default:#f9fafb;--bg-subtle:#f3f4f6;--bg-brand:#3b82f6;--bg-brand-subtle:#eff6ff;--border-default:#e5e7eb;--border-brand:#3b82f6;--border-strong:#9ca3af;--feedback-error:#ef4444;--feedback-error-subtle:#fef2f2;--feedback-error-text:#b91c1c;--feedback-success:#2563eb;--feedback-success-subtle:#eff6ff;--feedback-success-text:#1d4ed8;--feedback-info:#3b82f6;--feedback-info-subtle:#eff6ff;--feedback-info-text:#1d4ed8;--btn-primary-bg:#3b82f6;--btn-primary-text:#f9fafb;--btn-neutral-bg:#eff6ff;--btn-neutral-text:#2563eb;--btn-line-text:#111827;--btn-line-border:#e5e7eb;--btn-subtle-text:#4b5563;--btn-disabled-bg:#d1d5db;--btn-disabled-text:#f9fafb;--input-bg:#f9fafb;--input-border:#e5e7eb;--input-border-focus:#3b82f6;--input-border-error:#ef4444;--input-text:#111827;--input-placeholder:#9ca3af;--input-disabled-bg:#f3f4f6;--input-disabled-text:#9ca3af;--modal-bg:#f9fafb;--modal-overlay:rgba(0,0,0,.5);--sheet-bg:#f9fafb;--sheet-overlay:rgba(0,0,0,.5);--sheet-handle:#9ca3af;--sheet-border:#e5e7eb;--tab-bar-bg:#f3f4f6;--tab-default-text:#9ca3af;--tab-active-text:#111827;--tab-active-bg:#f9fafb;--tab-active-border:#3b82f6;--chip-default-bg:#f3f4f6;--chip-default-text:#4b5563;--chip-default-border:#e5e7eb;--chip-selected-bg:#eff6ff;--chip-selected-text:#2563eb;--chip-selected-border:#3b82f6;--nav-bg:#f9fafb;--nav-border:#e5e7eb;--nav-icon-default:#9ca3af;--nav-icon-active:#111827;--fs-xs:11px;--fs-sm:12px;--fs-md:14px;--fs-lg:17px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:32px;--fs-4xl:48px;--sp-4:4px;--sp-8:8px;--sp-12:12px;--sp-16:16px;--sp-24:24px;--sp-32:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--duration-fast:150ms;--duration-normal:250ms;--duration-slow:400ms;--easing-standard:cubic-bezier(0.4,0,0.2,1);--easing-enter:cubic-bezier(0,0,0.2,1);--easing-exit:cubic-bezier(0.4,0,1,1)}body:has(.today-view){background:var(--bg-default);transition:none}body:has(.today-view):before{display:none}