/* Shared visual contract: warm paper, readable ink, a single green action color. */
:root {
    color-scheme: light;
    --bg-primary: #f6f5f0;
    --bg-secondary: #fffefa;
    --bg-tertiary: #eeeee7;
    --surface: #fffefa;
    --surface-hover: #e8ece3;
    --sidebar-bg: #edeee6;
    --text-primary: #293b32;
    --text-secondary: #5f6a60;
    --text-muted: #616b60;
    --border: #dddfd5;
    --border-strong: #b9c3b4;
    --accent: #3d6851;
    --accent-hover: #2d503d;
    --accent-soft: #e3ecdf;
    --on-accent: #ffffff;
    --success: #3d6851;
    --warning: #866724;
    --deadline-soon-bg: #ffdda5;
    --deadline-soon-ink: #704313;
    --deadline-soon-border: #c39448;
    --deadline-today-bg: #f8edce;
    --deadline-today-ink: #725721;
    --deadline-today-border: #d9c58b;
    --deadline-later-bg: #e2ece7;
    --deadline-later-ink: #365f52;
    --deadline-later-border: #adc3b7;
    --deadline-elapsed-bg: #ecece7;
    --deadline-elapsed-ink: #61675f;
    --deadline-elapsed-border: #cdd1c6;
    --danger: #a24c42;
    --info: #406c91;
    --priority-red: #a65345;
    --priority-purple: #76609d;
    --priority-blue: #436f93;
    --priority-gray: #657166;
    --font-ui: 'Segoe UI', 'Microsoft YaHei UI', 'Microsoft YaHei', sans-serif;
    --text-xs: 12px;
    --text-sm: 13px;
    --text-base: 15px;
    --text-section: 17px;
    --text-title: 30px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --radius-control: 8px;
    --radius-card: 12px;
    --radius-modal: 16px;
    --control-height: 40px;
    --shadow-modal: 0 24px 80px #293b3229;
}
