/* The five palettes share the same components and layout. */
:root,[data-theme="mint"]{color-scheme:light;--ink:#294437;--muted:#617d68;--bg:#eef7e8;--page-top:#cce9bf;--surface:#fffef9;--surface-soft:#f7fbf1;--line:#dfebd9;--accent:#4e9657;--accent-dark:#356e40;--accent-light:#b5dca1;--accent-pale:#e6f4dc;--hero-start:#78b878;--hero-end:#4c9256;--shadow:rgba(61,105,59,.12);--hero-ink:#fff;--nav-bg:rgba(255,255,250,.95);--celebrate:rgba(52,103,58,.82)}
[data-theme="lavender"]{--ink:#433a59;--muted:#796c90;--bg:#f4effa;--page-top:#e1d3f0;--surface:#fffdfa;--surface-soft:#faf7fd;--line:#eae0f2;--accent:#896cb2;--accent-dark:#6c4d97;--accent-light:#c8b3e1;--accent-pale:#f0e8f8;--hero-start:#ab90ce;--hero-end:#8065ad;--shadow:rgba(101,72,137,.12);--hero-ink:#fff;--nav-bg:rgba(255,253,255,.95);--celebrate:rgba(102,71,146,.82)}
[data-theme="sakura"]{--ink:#553b45;--muted:#8a6c77;--bg:#fcf1f3;--page-top:#f4d9df;--surface:#fffdfa;--surface-soft:#fff8f9;--line:#f1e0e3;--accent:#bd6e85;--accent-dark:#984b64;--accent-light:#e4b5c3;--accent-pale:#fbe9ed;--hero-start:#d994a6;--hero-end:#b9637d;--shadow:rgba(154,83,105,.12);--hero-ink:#fff;--nav-bg:rgba(255,253,253,.95);--celebrate:rgba(152,73,98,.82)}
[data-theme="sky"]{--ink:#304754;--muted:#657d89;--bg:#eef7fa;--page-top:#d1eaf1;--surface:#fffefa;--surface-soft:#f7fbfd;--line:#dcecf1;--accent:#5a92ad;--accent-dark:#3e708d;--accent-light:#a9d3e1;--accent-pale:#e4f3f7;--hero-start:#85b8cf;--hero-end:#578faa;--shadow:rgba(67,111,132,.12);--hero-ink:#fff;--nav-bg:rgba(252,254,255,.95);--celebrate:rgba(52,103,133,.82)}
[data-theme="cream"]{--ink:#51472f;--muted:#807456;--bg:#fbf7e9;--page-top:#f5e8b7;--surface:#fffefa;--surface-soft:#fffcf2;--line:#eee8d5;--accent:#9b7c2f;--accent-dark:#785b18;--accent-light:#e7d497;--accent-pale:#fbf3d9;--hero-start:#bd9a48;--hero-end:#967429;--shadow:rgba(120,99,47,.12);--hero-ink:#fff;--nav-bg:rgba(255,254,249,.95);--celebrate:rgba(116,89,29,.83)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:linear-gradient(180deg,var(--page-top) 0,var(--bg) 325px,var(--bg) 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px;min-height:100vh}.shell{max-width:540px;margin:auto;padding:env(safe-area-inset-top) 16px calc(94px + env(safe-area-inset-bottom));min-height:100vh}header{display:flex;justify-content:space-between;align-items:center;padding:22px 5px 12px}h1{margin:4px 0 0;font-size:23px;letter-spacing:1px}h1 span{font-size:13px;color:var(--accent)}.eyebrow,.tiny{font-size:10px;letter-spacing:1.5px;color:var(--accent-dark);font-weight:700}.moon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--surface);color:var(--accent);font-size:25px;box-shadow:0 5px 16px var(--shadow)}
.home-welcome{height:175px;position:relative;overflow:hidden;margin:-4px -3px 9px;border-radius:20px;background:linear-gradient(145deg,var(--accent-pale),var(--surface-soft))}.home-welcome:before,.home-welcome:after{position:absolute;color:var(--accent-light);font-size:25px}.home-welcome:before{content:'✿';left:12px;bottom:13px}.home-welcome:after{content:'✦';right:17px;top:10px}.welcome-copy{position:absolute;z-index:1;top:25px;left:18px}.welcome-kicker{font-size:9px;font-weight:700;letter-spacing:1px;color:var(--accent-dark)}.welcome-copy h2{font-size:19px;line-height:1.5;margin:9px 0 4px}.welcome-copy h2 span{color:var(--accent)}.welcome-copy p{font-size:11px;color:var(--muted);margin:0}.home-welcome img{position:absolute;width:245px;max-width:67%;height:auto;right:-9px;bottom:-10px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;margin-bottom:13px;box-shadow:0 6px 16px var(--shadow)}.hero{background:linear-gradient(135deg,var(--hero-start),var(--hero-end));color:var(--hero-ink);border-color:transparent;position:relative;overflow:hidden}.hero:after{content:'✿';position:absolute;right:18px;top:9px;font-size:69px;color:#ffffff30;pointer-events:none}.hero .label,.hero .sub{color:#fff}.label{color:var(--muted);font-size:12px}.big{font-size:33px;font-weight:750;letter-spacing:-1px;margin:11px 0 3px}.big small{font-size:14px;letter-spacing:0;font-weight:500}.sub{font-size:12px;color:var(--muted);line-height:1.55}.bar{height:8px;background:var(--accent-pale);border-radius:20px;overflow:hidden;margin:12px 0}.bar i{display:block;height:100%;background:var(--accent);border-radius:20px}.hero .bar{background:#ffffff55}.hero .bar i{background:#fff}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid .card{margin:0 0 13px}.value{font-size:23px;font-weight:700;margin:9px 0 2px}.value small{font-size:12px;font-weight:400}.section-title{font-size:16px;font-weight:700;margin:22px 3px 11px}.card h2,.card h3{margin:0 0 9px;font-size:15px}.tag{background:var(--accent-pale);color:var(--accent-dark);border-radius:20px;padding:5px 9px;font-size:11px;white-space:nowrap}
.button,button{font:inherit}button{cursor:pointer;touch-action:manipulation}.button{border:0;border-radius:13px;padding:13px 15px;background:var(--accent-dark);color:#fff;font-weight:650}.button.secondary{background:var(--accent-pale);color:var(--accent-dark)}.button.danger{background:#fff0f0;color:#a24752}.hero .button{background:var(--surface);color:var(--accent-dark);position:relative;z-index:1}.button:disabled{opacity:.65;cursor:not-allowed}.wide{width:100%;margin-top:12px}input,select,textarea{font:inherit;font-size:16px;color:var(--ink);width:100%;border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:12px;outline:none}input:focus,select:focus,textarea:focus,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}textarea{resize:vertical;min-height:70px}.field{display:block;margin:12px 0}.field span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.timer{text-align:center;padding:17px 15px 25px}.timer-art{width:180px;height:105px;object-fit:contain;margin:0 auto 6px;display:block;border-radius:50%;background:var(--accent-pale)}.timer .time{font-size:42px;font-weight:700;letter-spacing:2px;color:var(--accent-dark);margin:15px 0}.actions{display:flex;gap:8px}.actions>*{flex:1;min-width:0}.list-item{padding:12px 0;border-top:1px solid var(--line)}.list-item:first-of-type{border-top:0}.muted{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:20px 0;line-height:1.8}
.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.icon-button{border:0;background:var(--accent-pale);border-radius:10px;color:var(--accent-dark);width:38px;height:38px}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.calendar .weekday{color:var(--muted);font-size:11px;padding-bottom:8px}.calendar button{border:0;background:transparent;color:var(--ink);aspect-ratio:1;border-radius:50%;font-size:13px}.calendar button.checked{background:var(--accent-pale);color:var(--accent-dark);font-weight:700}.calendar button.selected{outline:2px solid var(--accent)}.calendar button.today{box-shadow:inset 0 0 0 1px var(--accent)}.trend{display:flex;align-items:flex-end;gap:7px;height:100px;margin-top:15px}.trend div{flex:1;text-align:center;font-size:10px;color:var(--muted)}.trend i{display:block;background:var(--accent-light);border-radius:7px 7px 3px 3px;min-height:3px;margin-bottom:6px}
.theme-card .sub{margin:0}.theme-flower{color:var(--accent);font-size:28px}.theme-options{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:16px}.theme-option{min-width:0;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--ink);font-size:10px;padding:7px 1px;display:flex;flex-direction:column;align-items:center;gap:7px;line-height:1.3;white-space:nowrap}.theme-option.selected{border-color:var(--accent);background:var(--accent-pale);font-weight:700}.theme-swatch{display:block;width:30px;height:30px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #0002}.swatch-mint{background:#75b977}.swatch-lavender{background:#a78ace}.swatch-sakura{background:#df9bae}.swatch-sky{background:#88bdd5}.swatch-cream{background:#e6c86c}
nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,540px);display:flex;justify-content:space-around;background:var(--nav-bg);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:8px 6px calc(8px + env(safe-area-inset-bottom));z-index:3}nav button{border:0;background:none;color:var(--muted);font-size:10px;min-width:50px}nav button span{display:block;font-size:23px;line-height:26px}nav button.active{color:var(--accent-dark);font-weight:700}#toast{position:fixed;top:calc(20px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;border-radius:14px;padding:12px 18px;z-index:6;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90%;text-align:center}#toast.show{opacity:1}#celebrate{display:none;position:fixed;inset:0;z-index:5;background:var(--celebrate);color:white;text-align:center;padding-top:35vh;font-size:27px;line-height:2;pointer-events:none}#celebrate.show{display:block;animation:celebrate 2s forwards}@keyframes celebrate{0%{opacity:0;transform:scale(.8)}20%,75%{opacity:1;transform:scale(1)}100%{opacity:0}}@media(max-width:340px){.shell{padding-left:12px;padding-right:12px}.home-welcome img{max-width:63%}.welcome-copy h2{font-size:17px}.theme-option{font-size:9px}.card{padding:15px}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition:none!important}}
