:root{color-scheme:light;--muted:#6e7186;--theme-card:#fff;--notice:#fff7e6;--notice-ink:#886327;--field:#fff;--raised:#fff;--danger-bg:#fff0f1;--danger-ink:#a52c32}
:root:not([data-theme]),:root[data-theme=lilac]{--bg:#e5d8fa;--accent:#6941c6;--accent-soft:#eee4ff;--line:#d5c4ef;--today:#eee6ff;--weekend:#f6f1ff}
:root[data-theme=white]{--bg:#ffffff;--accent:#405069;--accent-soft:#eef1f5;--line:#dde2e9;--today:#edf0f5;--weekend:#f6f7f9}
:root[data-theme=mint]{--bg:#cceee0;--accent:#12745c;--accent-soft:#ddf5eb;--line:#aacfc2;--today:#e0f5eb;--weekend:#eff8f3}
:root[data-theme=sand]{--bg:#f5dfad;--accent:#94601f;--accent-soft:#fff0cf;--line:#e4c889;--today:#fff0cd;--weekend:#fff9ec}
:root[data-theme=rose]{--bg:#f7d0df;--accent:#a63366;--accent-soft:#ffe6f0;--line:#e8b4c8;--today:#fde6ef;--weekend:#fff2f7}
:root[data-theme=dark]{color-scheme:dark;--bg:#171923;--surface:#222532;--theme-card:#222532;--raised:#2b2f40;--field:#1c1f2b;--ink:#f0f0f8;--muted:#a7aabd;--line:#363b4e;--accent:#b3a5ff;--accent-soft:#36304e;--weekend:#262a39;--today:#342f4a;--notice:#3a3326;--notice-ink:#ebcf96;--danger-bg:#3d2934;--danger-ink:#ffb1bd;--shadow:0 4px 22px #0002}
body,body *{user-select:none!important;-webkit-user-select:none!important}
input,textarea{user-select:text!important;-webkit-user-select:text!important}
body{background:var(--bg);color:var(--ink)}
.topbar,.calendar-card,.summary-card,.day-card,dialog,.lock-panel,.habit-table thead th,.habit-table tbody th,.habit-table .habit-label-head{background:var(--surface);color:var(--ink)}
.primary-button,.toast-action{background:var(--accent);border-color:var(--accent);color:#fff}.primary-button:hover,.toast-action:hover{background:color-mix(in srgb,var(--accent) 86%,#000)}
.icon-button,.month-pick,.secondary-button,.habit-chip,.today-shortcut,.google-button{background:var(--theme-card);border-color:var(--line);color:var(--ink)}
.icon-button:hover,.secondary-button:hover,.habit-chip:hover,.habit-chip.active{background:var(--accent-soft);border-color:var(--accent)}
.form-stack input:not([type=checkbox]),.form-stack select,.form-stack textarea,.month-input{background:var(--field);border-color:var(--line);color:var(--ink)}
.form-stack textarea{width:100%;min-height:150px;resize:vertical;max-height:340px;border:1px solid var(--line);padding:13px;border-radius:12px;font:inherit;line-height:1.6}
.form-stack textarea:focus{outline:3px solid color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent)}
.muted,.card-detail,.date-label,.selected-count,.save-status,.summary-card div>span{color:var(--muted)}
.demo-banner{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 20%,var(--line))}.demo-banner p{color:var(--muted)}.banner-icon{background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent)}
.site-footer,.admin-user{border-color:var(--line)}.site-footer,.site-footer button,.quiet-note{color:var(--muted)}
.security-note{background:var(--notice);color:var(--notice-ink)}.form-error,.danger-button{background:var(--danger-bg);color:var(--danger-ink);border-color:color-mix(in srgb,var(--danger-ink) 35%,var(--line))}
.toast{background:var(--surface);color:var(--ink);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));border-left-color:var(--accent)}.toast-copy p{color:var(--muted)}.toast-icon,.toast-close:hover{background:var(--accent-soft);color:var(--accent)}
:root{scrollbar-color:color-mix(in srgb,var(--accent) 55%,var(--surface)) var(--bg)}.table-scroll,dialog{scrollbar-color:color-mix(in srgb,var(--accent) 55%,var(--surface)) var(--bg)}
::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:var(--bg)}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 55%,var(--surface));border-color:var(--bg)}.table-scroll::-webkit-scrollbar-thumb{border-color:var(--bg)}
.theme-trigger{width:39px;height:39px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:21px;color:var(--accent);flex:none}
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.theme-option{border:1px solid var(--line);padding:8px;border-radius:12px;background:var(--theme-card);font-size:12px;font-weight:550;color:var(--ink)}.theme-option[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.theme-sample{height:66px;border-radius:8px;margin-bottom:8px;display:block;padding:12px;background:var(--sample-bg)}.theme-sample:after{content:'';display:block;height:38px;border-radius:6px;background:var(--sample-card);border-left:5px solid var(--sample-accent)}
.emoji-choices{display:flex;flex-wrap:wrap;gap:6px;margin-top:-5px}.emoji-choice{font-size:21px;min-width:36px;min-height:36px;border:1px solid var(--line);border-radius:9px;background:var(--theme-card)}.emoji-choice:hover{background:var(--accent-soft)}
.ai-button{border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));background:var(--accent-soft);color:var(--accent);padding:10px 13px;border-radius:10px;font-size:13px;font-weight:600;white-space:nowrap;min-height:40px}
.ai-preview{margin-bottom:24px;padding:20px 22px;border:1px solid var(--accent);border-radius:16px;background:var(--accent-soft)}.ai-preview h2{font-size:17px;margin:0 0 6px}.ai-preview p{font-size:13px;color:var(--muted);margin:6px 0}.ai-preview-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.ai-changes{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.ai-change{font-size:12px;border:1px solid var(--line);border-radius:8px;padding:6px 9px;background:var(--surface)}.ai-change.removed{color:var(--danger-ink);background:var(--danger-bg)}.ai-progress{border-radius:12px;padding:15px;background:var(--accent-soft);color:var(--accent);font-size:13px;line-height:1.7}.ai-counter{text-align:right;font-size:11px;color:var(--muted)}
[data-theme=dark] .day-card{--soft:color-mix(in srgb,var(--habit) 15%,#222532)}
[data-theme=dark] .day-card.done{background:color-mix(in srgb,var(--habit) 15%,#222532);border-color:color-mix(in srgb,var(--habit) 40%,var(--line))}
[data-theme=dark] .habit-emoji{background:color-mix(in srgb,var(--habit) 18%,#222532)}
[data-theme=dark] .check-ui{background:var(--field);border-color:#60677c}[data-theme=dark] .check-ui.checked{background:var(--habit);color:white;border-color:var(--habit)}
[data-theme=dark] .row-title,[data-theme=dark] .row-total,[data-theme=dark] .day-card.done .card-detail{color:color-mix(in srgb,var(--habit) 60%,white)}
[data-theme=dark] .primary-button,[data-theme=dark] .toast-action{color:#201832}[data-theme=dark] .today-col .day-number{color:#201832}
[data-theme=dark] .stat-icon{background:var(--raised);color:var(--accent)}[data-theme=dark] .status-chip,[data-theme=dark] .account-chip{background:var(--accent-soft);color:var(--accent)}
@media(max-width:760px){.top-actions{gap:8px}.theme-trigger{width:31px;height:34px;border-radius:9px;font-size:19px}.brand{gap:7px}.brand-name{font-size:20px}.brand-icon{width:30px;height:30px}.topbar-inner{gap:9px;padding-inline:15px}.top-actions .primary-button{padding-inline:9px;font-size:11px}.calendar-toolbar{flex-wrap:wrap}.calendar-controls{width:100%;justify-content:flex-end}.calendar-controls .ai-button{margin-right:auto;font-size:12px}.ai-preview{padding:16px}.ai-preview-actions>*{flex:1}.theme-grid{gap:9px}}

.ai-device-note{padding:13px 15px;border:1px solid var(--line);background:var(--bg);border-radius:12px;font-size:12px;color:var(--muted);line-height:1.65}.ai-device-note p{margin:0 0 10px}.form-stack .checkbox-label{display:flex;align-items:flex-start;gap:9px;font-size:12px;font-weight:400}.checkbox-label input{width:16px;height:16px;flex:none;margin-top:3px;accent-color:var(--accent)}
