.pony-slot{background-image:url('./assets/twilight.png')}
.home-goal{padding:20px 24px;display:flex;align-items:center;gap:18px;margin-bottom:22px;background:linear-gradient(110deg,#fffaf0,#faf4ff)}.home-goal-info{flex:1;min-width:0}.home-goal h3{font-size:18px;overflow-wrap:anywhere}.home-goal p{font-size:13px;color:#756680}.goal-emoji{font-size:40px}.saving-progress{height:10px;border-radius:12px;background:#e9dff3;overflow:hidden;margin:12px 0}.saving-progress>span{display:block;height:100%;background:linear-gradient(90deg,#ad85d8,#e0abc8,#eac36d);border-radius:12px}.schedule-settings{border:1px solid #e8e0f0;border-radius:12px;padding:14px;margin:18px 0}.schedule-settings summary{cursor:pointer;color:#77599c;font-size:14px}.weekday-options{display:flex;flex-wrap:wrap;gap:12px}.weekday-options[hidden],.repeat-options[hidden]{display:none}.star-draw{text-align:center;background:radial-gradient(ellipse at center,#f4e9ff 0%,#fff 72%);padding:4px 0 12px}.draw-task{margin:8px 0 12px;color:#77618f;font-size:17px;overflow-wrap:anywhere}.star-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px 4px 26px}.star-card{position:relative;isolation:isolate;overflow:hidden;border:3px solid #edce89;border-radius:22px;min-height:204px;background:linear-gradient(145deg,#9270c7,#ad83d5 65%,#bb96dd);color:#fff2c8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;box-shadow:inset 0 0 0 4px #ffffff28,0 10px 22px #7854b52b;transition:transform .18s ease,box-shadow .18s ease}.star-card:before{content:'';position:absolute;inset:10px;border:1px solid #fff0c85c;border-radius:12px;pointer-events:none}.star-card .card-star{font-size:66px;line-height:1.1;color:#ffdf79;text-shadow:0 3px 0 #c9933f,0 0 22px #ffe3a25c}.star-card .card-question{font-size:36px;line-height:1.2;color:#fff1b6;font-weight:800}.star-card .card-sparkle{position:absolute;top:17px;right:18px;font-size:22px;color:#ffedba}.star-card:hover{border-color:#e5b64e;transform:translateY(-5px);box-shadow:inset 0 0 0 4px #ffffff38,0 15px 28px #7854b53d}.star-card:focus-visible{outline:3px solid #7049b8;outline-offset:5px}.star-card:active{transform:translateY(-1px)}.draw-hint{margin:0;color:#88749c;font-size:16px;line-height:1.6}.draw-hint span{color:#d8a542;font-size:22px}.reduce-motion .star-card{transition:none}.reduce-motion .star-card:hover{transform:none}.home-goal .text-button{white-space:nowrap}@media(max-width:650px){.home-goal{padding:16px;gap:12px;flex-wrap:wrap}.home-goal .goal-emoji{font-size:30px}.home-goal h3{font-size:16px}.home-goal .text-button{margin-left:auto}.star-cards{gap:10px;padding:16px 0 22px}.star-card{min-height:158px;border-radius:17px}.star-card .card-star{font-size:46px}.star-card .card-question{font-size:29px}.star-card .card-sparkle{font-size:16px;top:14px;right:12px}.draw-task{font-size:15px}.draw-hint{font-size:14px}}
:root{font-family:"Microsoft YaHei UI","Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#342c4d;background:#f7f6fb;font-size:16px;font-synthesis:none;--purple:#7557cb;--ink:#342c4d;--muted:#898298;--border:#ece8f3;--pink:#ee9bbc;--shadow:0 5px 24px #47317104}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button{transition:background .15s,box-shadow .15s,transform .15s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c8b5f5;outline-offset:3px}button:hover:not(:disabled){filter:brightness(.98)}button:active:not(:disabled){transform:translateY(1px)}h1,h2,h3,p{margin:0}h1{font-size:28px;line-height:1.6;letter-spacing:.5px}h2{font-size:21px;line-height:1.5}h3{font-size:16px;line-height:1.5}p{line-height:1.8}a{color:inherit;text-decoration:none}.skip{position:fixed;left:20px;top:-60px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.boot{padding:80px;text-align:center}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:#fff;border-right:1px solid var(--border);padding:35px 22px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;font-weight:800;font-size:19px}.brand-mark{display:grid;place-items:center;background:var(--purple);color:#ffe3a3;border-radius:15px;width:43px;height:45px;font-size:33px}.brand small{display:block;font-size:9px;letter-spacing:1.8px;color:#aaa2b9;margin-top:5px}.side-caption{font-size:12px;color:#a69faf;letter-spacing:1px;margin:49px 15px 18px}.nav{display:flex;align-items:center;gap:14px;width:100%;background:none;border:0;border-radius:12px;text-align:left;padding:15px 18px;color:#81788f;font-size:20px;margin:5px 0}.nav span{font-size:15px;font-weight:600}.nav.active{background:#f0eafa;color:#7651be}.side-bottom{margin-top:auto}.side-bottom p{color:#9a90aa;font-size:13px;margin:10px 17px 29px}.companion-mark{color:#ddc2ed;font-size:50px;margin-left:17px}.workspace{margin-left:240px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:#fff9;border-bottom:1px solid var(--border)}.crumb{font-size:13px;color:#8f869f}.crumb span{margin:0 16px;color:#c8bfd4}.top-actions{display:flex;align-items:center;gap:20px}.star-balance{color:#a27b25;background:#fff8e5;border:1px solid #f5ebd0;border-radius:30px;padding:8px 17px;font-weight:700}.star-balance span{font-size:12px;font-weight:400;margin-left:5px}.avatar{height:36px;width:36px;background:#eaddf6;color:#795aab;display:grid;place-items:center;border-radius:50%;font-size:14px}main{max-width:1310px;margin:auto;padding:31px 44px 20px}.page-head{margin-bottom:24px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;color:#a299b4;margin-bottom:8px}.page-head .eyebrow{font-size:13px;font-weight:400;letter-spacing:1px}.page-head h1 span{font-size:24px;color:#d5ab5c;margin-left:10px}.page-head p{font-size:14px;color:#92879f;margin-top:6px}.panel{border:1px solid var(--border);border-radius:19px;background:white;box-shadow:var(--shadow)}.welcome{background:linear-gradient(110deg,#ede7fa,#f7effb 62%,#efeafa);padding:26px 32px;min-height:223px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;margin-bottom:27px;border-color:#e9dff5}.welcome .pill{background:#fff9;border:1px solid #e5d9f4;color:#9373b7;font-size:11px;letter-spacing:1px;padding:5px 11px;border-radius:20px;display:inline-block;margin-bottom:12px}.welcome h2{font-size:24px;letter-spacing:.5px}.welcome p{font-size:13px;color:#9682ad;margin:9px 0 17px}.primary,.secondary,.text-button,.danger{border:0;border-radius:10px;min-height:43px;padding:10px 19px;font-size:14px;font-weight:600}.primary{background:var(--purple);color:#fff;box-shadow:0 4px 9px #7654c21b}.secondary{background:#f3effa;color:#795aa8;border:1px solid #e9e1f1}.text-button{background:transparent;color:#8b6cb1;padding:6px;min-height:36px}.danger{background:#fff0ee;color:#a94449}.welcome-decoration{position:absolute;right:30px;top:0;width:260px;height:100%;pointer-events:none}.orbit{position:absolute;right:60px;top:43px;font-size:74px;color:#d6bde9;transform:rotate(-10deg)}.orbit span{position:absolute;left:100px;top:70px;font-size:37px;color:#d7b875}.orbit b{position:absolute;left:-55px;top:80px;font-size:30px;color:#b9abd8}.pony-slot{height:100%;background-size:contain;background-position:center;background-repeat:no-repeat;position:relative}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:25px}.plan-panel{padding:25px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px}.section-head .eyebrow{font-size:10px}.count{font-size:12px;background:#f1edf7;color:#9984b4;border-radius:7px;padding:3px 7px;vertical-align:middle;margin-left:7px}.task-list{display:flex;flex-direction:column;gap:12px}.task-card{display:flex;align-items:center;gap:15px;padding:15px 16px;border:1px solid #eeeaf4;border-radius:12px;background:#fff}.task-num{font-size:12px;color:#b8b0c1;font-variant-numeric:tabular-nums}.task-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:11px;font-size:22px;flex-shrink:0}.peach{background:#fff0df;color:#c58b4c}.purple{background:#eee5fb;color:#9272bf}.pink{background:#fdebf1;color:#c882a3}.blue{background:#e8f1fc;color:#7d9dcb}.mint{background:#e5f4ee;color:#74a392}.task-info{flex:1;min-width:0}.task-info h3{font-size:15px}.task-info p{font-size:12px;color:#a39aac;overflow-wrap:anywhere}.minutes{font-size:18px;color:#7b6e91;font-variant-numeric:tabular-nums;white-space:nowrap}.minutes small{font-size:11px;margin-left:5px;color:#aba3b6}.finish-line{display:flex;align-items:center;gap:12px;margin-top:20px;padding:17px 2px 0;border-top:1px dashed #e8e1ef}.finish-line>span{font-size:24px;color:#a99aca}.finish-line strong{font-size:13px;font-weight:500;color:#8d7e9f}.finish-line small{display:block;font-size:11px;color:#b1a6bd;margin-top:5px}.right-rail{display:flex;flex-direction:column;gap:18px}.forecast{padding:25px}.forecast h2{font-size:17px}.big-time{font-size:43px;font-weight:600;color:#6c538d;margin:19px 0 0;letter-spacing:2px;font-variant-numeric:tabular-nums}.forecast>p{font-size:12px;color:#a69caf;margin-bottom:23px}.rainbow-bar{height:7px;border-radius:10px;background:linear-gradient(90deg,#d5b6f0,#c5bfee,#a7cce6,#bce1d4,#f3dc9f,#ecc1d9)}.time-note{font-size:12px;color:#968b9e;background:#f8f5fc;border-radius:8px;margin-top:17px;padding:11px;text-align:center}.little-note{padding:23px;background:#fffdf8;border-color:#f0e9dc}.note-star{font-size:29px;color:#d7b86b;display:block;margin-bottom:10px}.little-note h3{font-size:14px;color:#9b8355}.little-note p{font-size:12px;color:#ad9d80;margin-top:10px}.empty{text-align:center;padding:27px 10px 32px;color:#988ba7}.empty>span{font-size:37px;color:#cbbce0}.empty h3{margin:11px 0 6px}.empty p{font-size:13px;margin-bottom:18px}footer{text-align:center;font-size:11px;color:#b7acbf;padding:27px 0 0}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#443454;color:white;border-radius:12px;padding:14px 24px;z-index:99;box-shadow:0 5px 25px #0002;max-width:90vw;font-size:14px}dialog{border:1px solid #e7deef;border-radius:22px;padding:28px;width:min(650px,94vw);max-height:90vh;color:var(--ink);box-shadow:0 30px 100px #29164330}dialog::backdrop{background:#2920385c;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:15px}.icon-button{background:#f7f3fa;color:#988aa9;border:0;border-radius:8px;min-width:36px;min-height:36px;font-size:22px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quick-card{border:1px solid var(--border);border-radius:13px;padding:17px 12px;display:flex;align-items:center;flex-direction:column;gap:10px;cursor:pointer;position:relative}.quick-card:has(input:checked){background:#f2ecfb;border-color:#aa90d0;box-shadow:inset 0 0 0 1px #aa90d0}.quick-card input{position:absolute;right:9px;top:9px;accent-color:var(--purple)}.quick-card strong{font-size:14px}.quick-card small{font-size:11px;color:#a197ad}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:25px;padding-top:20px;border-top:1px solid var(--border)}
@media(min-width:1500px){main{padding-top:42px}.welcome{min-height:242px}.task-card{padding:18px}.sidebar{width:255px}.workspace{margin-left:255px}}
@media(max-width:1100px){.sidebar{width:205px;padding:30px 16px}.workspace{margin-left:205px}.topbar{padding:0 25px}main{padding:25px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.welcome-decoration{right:5px;width:210px}.welcome h2{font-size:21px}.plan-panel{padding:19px}.task-card{gap:10px;padding:13px 10px}.task-num{display:none}}
@media(max-width:850px){.sidebar{width:78px;padding:25px 13px}.brand>span:last-child,.side-caption,.nav span,.side-bottom p,.companion-mark{display:none}.nav{padding:13px;justify-content:center}.sidebar nav{margin-top:38px}.workspace{margin-left:78px}.dashboard-grid{grid-template-columns:minmax(0,1fr) 225px}.topbar{height:70px}.welcome-decoration{opacity:.8}.welcome>div:first-child{position:relative;z-index:1}.welcome h2{font-size:20px}.welcome p{max-width:65%}h1{font-size:24px}}
@media(max-width:650px){.sidebar{inset:auto 0 0;width:auto;height:68px;padding:0 10px;border-top:1px solid var(--border);border-right:0;flex-direction:row;justify-content:space-between}.brand,.side-bottom p,.companion-mark{display:none}.sidebar nav{display:flex;margin:0;flex:1;justify-content:space-around}.nav{width:auto;margin:0;font-size:20px;padding:8px 12px;flex-direction:column;gap:2px;border-radius:0}.nav span{display:block;font-size:10px}.side-bottom{margin:0;display:flex}.workspace{margin-left:0;padding-bottom:70px}.topbar{height:61px;padding:0 19px}.crumb{font-size:12px}.crumb span{margin:0 8px}.star-balance{font-size:13px;padding:6px 10px}.star-balance span{display:none}.avatar{height:30px;width:30px}main{padding:21px 17px}.page-head{margin-bottom:20px}.page-head h1{font-size:21px}.page-head h1 span{display:none}.page-head p{font-size:12px}.welcome{padding:22px;min-height:221px;margin-bottom:18px}.welcome h2{max-width:210px;font-size:20px}.welcome p{font-size:12px;max-width:220px}.welcome-decoration{right:-28px;width:173px;opacity:.48}.dashboard-grid{grid-template-columns:1fr;gap:18px}.right-rail{display:grid;grid-template-columns:1fr 1fr;gap:12px}.forecast,.little-note{padding:18px}.big-time{font-size:34px;margin-top:14px}.forecast>p{margin-bottom:16px}.forecast h2{font-size:15px}.little-note h3{font-size:13px}.task-info h3{font-size:14px}.task-info p{font-size:11px}.quick-grid{grid-template-columns:repeat(2,1fr)}dialog{padding:21px}.top-actions{gap:10px}.primary,.secondary{min-height:44px}.plan-panel{padding:19px}.section-head h2{font-size:19px}.time-note{font-size:11px;padding:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
/* Forms, focus and planning views. */
.with-actions,.button-row,.check-row,.plan-toolbar,.plan-footer,.focus-top,.focus-secondary,.goal-detail,.redemption-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.button-row,.check-row,.plan-toolbar,.focus-secondary{justify-content:flex-start;flex-wrap:wrap}.below{margin-top:16px}.full{width:100%}.center{text-align:center}.with-actions>div,.goal-info{min-width:0}.date-picker,.field{display:flex;flex-direction:column;gap:9px;font-size:14px;color:#756680}.date-picker input,input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0;width:100%;border:1px solid #ded6e9;border-radius:9px;padding:11px 12px;background:#fff;color:var(--ink)}.date-picker input{width:auto}.field{margin:15px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-note{font-size:14px;color:#756680;margin:12px 0;line-height:1.8}.form-heading{margin-top:24px}.check-line{display:flex;align-items:center;gap:10px;padding:11px 0;font-size:14px;line-height:1.6}.check-line input{accent-color:var(--purple);width:18px;height:18px;flex-shrink:0}.fixed-fields{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:12px}.form-error,.warning{color:#a15a30!important}.form-error{padding:12px;background:#fff2e7;border-radius:8px}.wide{width:min(900px,94vw)}.duration-chips,.help-grid{display:flex;gap:10px;flex-wrap:wrap}.help-grid{display:grid;grid-template-columns:1fr 1fr}.chip,.mini{border:1px solid #e6ddef;border-radius:9px;background:#f8f5fc;color:#765b98;padding:8px 12px;font-size:13px;min-height:36px}.start-button{background:var(--purple);color:white;border-color:var(--purple)}.task-controls{display:flex;align-items:center;gap:6px}.task-meta{font-size:12px;color:#867695;margin-top:5px}.tiny-tag{font-size:10px;color:#88739d;background:#f3eef9;border-radius:4px;padding:3px 5px}.done-check{color:#72a08a;font-size:22px}.is-done{background:#fbfafc}.is-done h3{color:#91899b}.setup-note,.reward-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#f0eafa;border:1px solid #e3d8f3;border-radius:12px;margin-bottom:20px;font-size:14px;color:#75618d}.reward-strip{background:#fff8e7;border-color:#f2e5c1;color:#9b7e3e}.plan-toolbar{margin:-8px 0 17px;border-bottom:1px solid var(--border);padding-bottom:10px}.plan-footer{margin-top:20px;flex-wrap:wrap}.fixed-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;font-size:12px;color:#887994}.focus-panel{padding:30px;margin-bottom:25px;background:linear-gradient(125deg,#fff,#f5effc)}.pill{display:inline-block;padding:6px 12px;border-radius:20px;background:#ece3f8;color:#81609d;font-size:13px}.focus-panel>h2{font-size:27px;margin-top:20px}.focus-panel>p{color:#8d7e9c}.focus-clock{font-size:72px;font-variant-numeric:tabular-nums;letter-spacing:3px;text-align:center;color:#7858a0;margin:16px 0 0}.focus-budget{text-align:center;font-size:14px}.focus-progress,.goal-progress{height:9px;background:#e9e0f2;border-radius:9px;overflow:hidden;margin:20px 0}.focus-progress span,.goal-progress span{display:block;height:100%;background:linear-gradient(90deg,#a18bdd,#dcabd4);border-radius:9px}.focus-alert{text-align:center;color:#89749e;font-size:14px;margin:15px 0}.focus-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.focus-secondary{justify-content:center;margin-top:12px}.step-list{max-width:480px;margin:15px auto}.suggestion-list article{padding:18px 0;border-bottom:1px solid var(--border)}.suggestion-list p{font-size:14px;color:#897b96;margin:8px 0 12px}.suggestion-list .chip{margin:3px}.help-tip,.info-box,.warning-box,.success-box{padding:18px;border-radius:12px;background:#f4effa;margin:16px 0;line-height:1.8;font-size:14px;color:#79638e}.warning-box{background:#fff3e7;color:#9a6839}.success-box{background:#edf7f0;color:#5b8069}.celebration{text-align:center;font-size:65px;color:#d6ad53;padding:24px}.ticket{display:flex;gap:16px;align-items:center;padding:18px 0;border-bottom:1px solid var(--border)}.ticket>span{font-size:32px;color:#d8b667}.ticket>div{flex:1}.ticket small{display:block;font-size:12px;color:#9686a4;margin-top:5px}.accounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}.accounts>section{display:flex;align-items:center;gap:18px;padding:25px}.account-icon{display:grid;place-items:center;width:59px;height:62px;background:#fff4d9;border-radius:16px;color:#c9a454;font-size:36px}.accounts p{font-size:14px;color:#91809f}.accounts strong{font-size:32px;color:#766088}.accounts strong small{font-size:12px;font-weight:400;margin-left:6px}.saving-goal{display:flex;gap:30px;align-items:center;padding:30px;background:linear-gradient(115deg,#f0e7fa,#faf4fc);margin-bottom:30px;border:1px solid #e5d8f0;border-radius:19px}.goal-art{width:145px;flex-shrink:0;text-align:center;font-size:85px}.goal-info{flex:1}.goal-info h2{margin:8px 0}.goal-info p{font-size:14px;color:#8a749b}.goal-detail{font-size:13px;color:#8a779b;align-items:flex-start}.goal-progress{margin:17px 0 12px}.saving-intro{display:flex;gap:22px;align-items:center;padding:25px;margin-bottom:28px}.saving-intro>span{font-size:45px;color:#b795d2}.saving-intro>div{flex:1}.saving-intro p{font-size:14px;color:#92819e;margin-top:5px}.wish-heading{display:flex;justify-content:space-between;align-items:center;margin:26px 0 18px}.wish-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.wish-card{overflow:hidden}.wish-illustration{height:150px;display:grid;place-items:center;font-size:74px;background:linear-gradient(135deg,#f3eafa,#fceff4)}.wish-body{padding:22px}.wish-body h3{font-size:18px;overflow-wrap:anywhere}.wish-body p{font-size:13px;color:#91809e;margin:9px 0 15px}.wish-price{font-size:24px;color:#b08c44;margin:12px 0}.wish-body button{margin-top:7px}.goal-mini{display:flex;align-items:center;gap:15px;background:#f6f0fb;border-radius:12px;padding:18px;margin:15px 0;font-size:25px}.goal-mini strong{font-size:18px;flex:1}.goal-mini span{font-size:16px;color:#ab8a47}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.history-panel,.redemption-list{padding:26px;margin-bottom:24px}.history-row,.redemption-row{padding:16px 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:20px}.history-row p,.redemption-row p{font-size:13px;color:#94809f}.history-row strong{font-size:15px}.history-row>div{min-width:0;overflow-wrap:anywhere}.history-row>span{color:#ae8b42;white-space:nowrap}.settings-panel{padding:30px;margin-bottom:24px}.settings-panel h2{margin-bottom:16px}.holiday-panel{padding:28px;margin-bottom:26px}.holiday-summary{display:flex;gap:25px;background:#f7f3fc;border-radius:12px;padding:22px;margin:20px 0}.holiday-summary>div{flex:1}.holiday-summary strong{display:block;font-size:24px;color:#83639e}.holiday-summary span{font-size:13px;color:#9481a2}.days-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0}.day-card{padding:17px;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:left;color:var(--ink)}.day-card p{font-size:13px;color:#9885a5;margin:8px 0}.day-card strong{font-size:16px}.holiday-input-row{display:grid;grid-template-columns:1.5fr .65fr 1fr 1fr 36px;align-items:end;gap:12px;border-bottom:1px solid var(--border);padding-bottom:10px}.holiday-input-row>.icon-button{margin-bottom:16px}.preview-days{max-height:44vh;overflow:auto}.preview-days>div{display:flex;gap:20px;padding:15px 0;border-bottom:1px solid var(--border);font-size:14px}.preview-days strong{min-width:75px}.preview-days span{color:#8e789e;line-height:1.8}.reduce-motion *{animation:none!important;transition:none!important}
/* Regular task information stays readable at normal and enlarged text sizes. */
.task-info h3{font-size:16px}.task-info p,.task-meta,.form-note,.quick-card small{font-size:14px}.task-controls .mini{font-size:13px;min-height:38px}.task-num{display:none}.plan-panel{min-width:0}.welcome p{font-size:14px}.side-caption{font-size:13px}.nav span{font-size:15px}.little-note h3{font-size:15px}.little-note p,.time-note,.finish-line strong{font-size:14px}.finish-line small{font-size:12px}.primary,.secondary{min-height:46px}
@media(max-width:1200px){.task-card{flex-wrap:wrap}.task-controls{margin-left:auto}.task-info{min-width:150px}.accounts>section{padding:18px;gap:10px}.account-icon{width:45px;height:48px;font-size:28px}.wish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.days-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-art{width:100px;font-size:60px}.redemption-row{flex-wrap:wrap}}
@media(max-width:850px){.with-actions{align-items:flex-start;flex-wrap:wrap}.goal-detail{flex-direction:column}.accounts{gap:10px}.accounts>section{padding:15px;display:block}.account-icon{margin-bottom:8px}.accounts p{font-size:12px}.accounts strong{font-size:26px}.accounts strong small{font-size:11px}.saving-goal{padding:23px;gap:20px}.holiday-input-row{grid-template-columns:1.5fr .7fr 1.1fr}.holiday-input-row>.field:nth-child(4){grid-column:1/3}.holiday-input-row>.icon-button{justify-self:end}.settings-panel{padding:22px}}
@media(max-width:650px){.nav{padding:8px}.nav span{font-size:10px}.with-actions{gap:12px}.date-picker{flex-direction:row;align-items:center}.date-picker input{padding:6px;font-size:13px}.setup-note,.reward-strip{font-size:12px;padding:9px 12px}.welcome .text-button{font-size:12px}.welcome p{max-width:185px;font-size:13px}.welcome-decoration{width:165px;right:-30px;opacity:.6}.task-card{gap:12px}.task-info{min-width:120px}.task-info h3{font-size:15px}.task-info p,.task-meta{font-size:12px}.task-controls{margin-left:55px;width:100%}.task-controls .start-button{margin-left:auto}.plan-toolbar{gap:12px}.plan-toolbar .text-button{font-size:12px}.focus-panel{padding:20px}.focus-top{gap:10px}.focus-top .pill{font-size:11px}.focus-panel>h2{font-size:23px}.focus-clock{font-size:57px}.focus-actions{gap:8px}.focus-actions button{min-width:0;font-size:13px;padding:10px 13px}.form-grid.three{grid-template-columns:1fr}.form-grid{gap:0 12px}.fixed-fields{grid-template-columns:1fr 1fr}.fixed-fields>.field:first-child{grid-column:1/-1}.field{font-size:13px}.help-grid{grid-template-columns:1fr}.accounts{gap:8px}.accounts>section{padding:13px 10px}.accounts p{font-size:11px}.accounts strong{font-size:25px}.accounts strong small{display:none}.saving-goal{padding:21px;gap:15px}.goal-art{display:none}.saving-intro{padding:20px;flex-wrap:wrap;gap:12px}.saving-intro>span{font-size:35px}.saving-intro p{font-size:13px}.wish-grid{gap:14px}.wish-illustration{height:110px;font-size:55px}.wish-body{padding:15px}.wish-body h3{font-size:16px}.wish-price{font-size:20px}.wish-body p{font-size:12px}.wish-body .primary{font-size:12px;min-height:42px}.wish-body .text-button{font-size:12px}.wish-heading{gap:10px}.wish-heading h2{font-size:20px}.wish-heading .text-button{font-size:12px}.info-grid{gap:12px;grid-template-columns:1fr}.history-panel,.redemption-list{padding:20px}.history-row{gap:10px;flex-wrap:wrap}.history-row p{font-size:12px}.holiday-panel{padding:20px}.holiday-panel .section-head{align-items:flex-start;flex-wrap:wrap}.holiday-summary{padding:17px;gap:10px}.holiday-summary strong{font-size:20px}.holiday-summary span{font-size:11px}.days-grid{grid-template-columns:1fr}.holiday-input-row{gap:8px}.holiday-input-row .field{margin:10px 0}.goal-mini strong{font-size:15px}.ticket{flex-wrap:wrap}.ticket>div{min-width:150px}.modal-footer{flex-wrap:wrap}.modal-footer button{flex:1}.right-rail .time-note{font-size:12px}}
.wish-manage{display:flex;gap:12px;border-top:1px solid #eee6f5;margin-top:16px;padding-top:8px}.daily-saving{margin:20px 0;padding:24px}.daily-saving>p{color:#79678f;margin:12px 0}.saving-prompt{padding:16px 20px;background:#faf5ff;border:1px solid #ebdff5;border-radius:16px;margin:16px 0}.saving-prompt p{margin:0 0 12px}.daily-table-wrap{overflow:auto}.daily-table{width:100%;border-collapse:collapse;font-size:14px;text-align:left}.daily-table th,.daily-table td{padding:12px 8px;border-bottom:1px solid #eee6f5;white-space:nowrap}.daily-table th{color:#79678f}.daily-table .is-today{background:#f4ecfc;color:#674994}
.preset-item{border:1px solid #e9e0f5;border-radius:18px;overflow:hidden;display:flex;flex-direction:column}.preset-item .quick-card{border:0;border-radius:0;flex:1}.preset-item .preset-edit{align-self:center;margin:0 0 12px;padding:8px 16px;min-height:40px}
.pwa-install{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom));right:18px;z-index:20;background:#7557cb;color:white;border:0;border-radius:24px;padding:12px 20px;box-shadow:0 4px 18px #7557cb40}

.start-highlight{background:#f3edfc;border:2px solid #d4c0f1;border-radius:20px;padding:24px;display:grid;gap:12px;margin:20px 0}.start-highlight strong,.start-highlight input[type=time]{font-size:36px;font-weight:700;color:#7557cb}.plan-start-summary{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px;margin:18px 0;background:#f3edfc;border-radius:16px}.plan-start-summary strong{font-size:32px;color:#7557cb}

.compact-date{position:relative;display:inline-flex;align-items:center;min-height:32px;cursor:pointer}.compact-date input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.compact-date:focus-within{outline:2px solid #7557cb;outline-offset:4px;border-radius:6px}.top-actions .avatar{width:auto;min-width:36px;max-width:150px;padding:8px 12px;height:auto;border-radius:20px;overflow-wrap:anywhere;font-size:15px}.page-head h1{overflow-wrap:anywhere}

/* Compact task rows: eight 54px rows plus seven 4px gaps = 460px. */
.task-list{gap:4px}.task-card{flex-wrap:nowrap;gap:8px;padding:5px 8px;min-height:54px;border-radius:9px}.task-card .task-icon{width:28px;height:28px;font-size:17px;border-radius:8px}.task-card .task-info{min-width:0}.task-card .task-info h3{font-size:14px;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card .task-info p{display:none}.task-card .task-meta{font-size:11px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-card .minutes{font-size:14px}.task-card .minutes small{font-size:10px;margin-left:2px}.task-card .task-controls{width:auto;margin-left:0;gap:4px;flex-shrink:0}.task-card .task-controls .mini{min-height:40px;padding:5px 8px;font-size:12px}.task-card .task-controls .start-button{margin-left:0}.task-card .tiny-tag{display:none}
@media(max-width:650px){.plan-panel{padding:12px}.task-card .task-icon{display:none}.task-card .minutes small{display:none}.task-card .minutes::after{content:'分';font-size:10px}.task-card .task-controls .mini{padding:5px 7px}.task-card .task-controls .mini:last-child{min-width:36px}.plan-panel .section-head{margin-bottom:12px}}

.header-description{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px}.inline-goal{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:12px;background:#f0eafa;font-size:12px;color:#806699;max-width:100%}.inline-goal strong{max-width:120px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.inline-goal>span{white-space:nowrap}.inline-goal .saving-progress{width:70px;height:6px;margin:0;flex-shrink:0}.task-kind-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.task-kind-options article{padding:18px;border:1px solid #e9dff5;border-radius:14px;background:#faf8ff}@media(max-width:500px){.task-kind-options{grid-template-columns:1fr}.inline-goal{flex-wrap:wrap}}

.preset-schedule{padding:0 10px 10px}.preset-schedule .schedule-settings{margin:0;padding:10px;font-size:12px}.preset-schedule summary{cursor:pointer;line-height:1.6}.preset-schedule .field{font-size:12px}.preset-schedule input,.preset-schedule select{min-width:0;width:100%}.preset-schedule .check-line input{width:auto}.preset-schedule .weekday-options{flex-wrap:wrap}

/* Footprints: consistent spacing and balanced cards, scoped to this page. */
.footprints-page{--footprint-gap:18px}.footprints-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--footprint-gap);margin-bottom:var(--footprint-gap)}.footprints-stats .metric{padding:20px 24px;min-height:116px;display:flex;flex-direction:column;justify-content:center;gap:8px;margin:0;border-radius:16px;background:linear-gradient(120deg,#fff,#f6f1fc)}.footprints-stats .metric>span{font-size:14px;color:#91809f}.footprints-stats .metric>strong{font-size:32px;line-height:1.2;color:#7557ab}.footprints-page .history-panel{padding:22px;margin:0 0 var(--footprint-gap);border-radius:16px;min-width:0}.footprints-page .history-panel>h2{font-size:18px;padding-bottom:14px;border-bottom:1px solid #eee8f5;margin-bottom:4px}.footprints-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--footprint-gap);align-items:stretch}.footprints-notes .history-panel{min-height:180px;margin:0}.footprints-page .idea-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 0;margin:0;border-bottom:1px solid #f0ebf6;font-size:14px;overflow-wrap:anywhere}.footprints-page .idea-line small{white-space:nowrap;font-size:11px;color:#a096ae}.footprints-page .history-row{gap:12px;min-height:76px}.footprints-page .history-row>div{flex:1}.footprints-page .history-row h3{overflow-wrap:anywhere}.footprints-page .history-row:last-child,.footprints-page .idea-line:last-child{border-bottom:0}.footprints-page .history-row .text-button{flex-shrink:0}.footprints-page .empty{padding:26px 12px}.footprints-notes .form-note{padding:12px 0;color:#9b8bab}
@media(max-width:650px){.footprints-page{--footprint-gap:12px}.footprints-stats .metric{padding:16px;min-height:104px}.footprints-stats .metric>span{font-size:12px}.footprints-stats .metric>strong{font-size:28px}.footprints-page .history-panel{padding:16px}.footprints-notes{grid-template-columns:1fr}.footprints-notes .history-panel{min-height:150px}.footprints-page .history-row{flex-wrap:nowrap}.footprints-page .history-row>.task-icon{width:32px;height:32px;font-size:18px}.footprints-page .history-row h3{font-size:14px}.footprints-page .history-row .text-button{font-size:12px;padding:4px}}

.excluded-calendar{margin:20px 0;padding:16px;border:1px solid #e9dff5;border-radius:14px}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-height:320px;overflow:auto;padding:4px}.calendar-month{grid-column:1/-1;padding:12px 0 6px;color:#7557ab}.calendar-weekday{text-align:center;font-size:12px;color:#9685a6}.calendar-day{min-height:40px;border:1px solid #e8e0f2;background:#faf8ff;border-radius:8px;color:#756080;padding:4px}.calendar-day[aria-pressed=true]{background:#7557cb;color:white;border-color:#7557cb;font-weight:700}.calendar-selection{overflow-wrap:anywhere}

.star-card .card-gem{width:78px;height:84px;overflow:visible;filter:drop-shadow(0 5px 3px #51317670) drop-shadow(0 0 12px #ffe2a14d);transform:rotate(-7deg);margin-bottom:7px}.star-card .card-question{font-family:Georgia,serif;font-size:44px;color:#ffedaa;line-height:1.1;text-shadow:0 1px 0 #dcb75c,0 2px 0 #cb983c,0 3px 0 #b67e2b,0 4px 0 #a56a26,0 7px 5px #51317685;transform:rotate(5deg)}@media(max-width:650px){.star-card .card-gem{width:57px;height:62px;margin-bottom:4px}.star-card .card-question{font-size:35px}}

.duration-summary{padding:14px 0;border-bottom:1px solid #eee8f5}.duration-summary summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}.duration-summary summary strong{color:#7557ab}.duration-summary summary span{font-size:13px;color:#8b7a99;overflow-wrap:anywhere}.duration-summary summary strong::before{content:"▸ ";}.duration-summary[open] summary strong::before{content:"▾ ";}.duration-totals{font-size:13px;margin:14px 0;color:#80708e}.duration-table{overflow-x:auto}.duration-table table{width:100%;border-collapse:collapse;font-size:12px;text-align:left}.duration-table caption{text-align:left;color:#92839d;padding-bottom:8px}.duration-table th,.duration-table td{padding:10px 8px;border-bottom:1px solid #eee8f5;white-space:nowrap}.duration-reference{background:#f7f2fc;border-radius:10px;padding:0 12px}
