:root{font-family:"Microsoft YaHei","PingFang SC",system-ui,sans-serif;color:#303e36;background:#f7f5ee;font-size:15px;--green:#41664e;--muted:#899087;--line:#e6e7df;--cream:#f7f5ee}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;background:#fff;border:1px solid var(--line);border-radius:10px;min-height:44px;padding:10px 16px;transition:background .15s,transform .15s}button:hover{background:#edf1e7}button:active{transform:translateY(1px)}button:disabled{cursor:default;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #9cbb7d;outline-offset:3px}.primary{background:var(--green);border-color:var(--green);color:white;box-shadow:0 4px 8px #41664e12}.primary:hover{background:#33563f}.text-button{border:0;background:transparent;color:var(--green);padding:8px}.danger{color:#a95144;background:#fff5f1}.sidebar{position:fixed;inset:0 auto 0 0;width:214px;background:#fcfbf7;border-right:1px solid var(--line);padding:32px 18px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:11px;color:#334f3c;text-decoration:none;padding:0 12px 34px;font-size:21px;font-weight:700;letter-spacing:1px}.brand img{width:40px;height:40px;border-radius:12px}.brand small{display:block;font-size:10px;font-weight:500;letter-spacing:3px;margin-top:4px;color:#8d9b89}.nav-label{padding:0 16px 13px;font-size:11px;color:#92988d;letter-spacing:1px}.nav-item{display:flex;align-items:center;width:100%;border:0;background:none;text-align:left;color:#788275;gap:14px;margin-bottom:7px;padding:14px 17px;min-height:51px;font-size:14px}.nav-item span{font-size:21px;font-weight:400;width:23px;text-align:center}.nav-item.active{color:#3e6048;background:#e9efdf;font-weight:700}.sidebar-bottom{margin-top:auto;background:#f1f3e9;padding:20px 15px;border-radius:17px;color:#6c7e63;font-size:12px}.sidebar-bottom .sprout{font-size:27px;margin-bottom:12px}.sidebar-bottom p{font-size:11px;line-height:1.8;margin:8px 0 0}main{margin-left:214px;padding:25px 38px 0;max-width:1700px}.topline{display:flex;gap:18px;align-items:center;font-size:11px;color:#94998f;min-height:35px}.save-status{margin-left:auto;color:#7a8b71;font-size:11px}.save-status button{min-height:30px;font-size:11px;margin-left:8px}.error{color:#b36a43}.undo-button{background:none;min-height:32px;padding:4px 8px;border:0;font-size:11px}.page-header{display:flex;gap:24px;align-items:center;padding:32px 0 29px}.page-header>div:first-child{flex:1}.eyebrow{font-size:12px;color:#89927f;margin-bottom:12px;letter-spacing:.5px}h1{font-size:32px;font-weight:600;letter-spacing:1px;margin:0;color:#344938}.header-dot{color:#a4b68e}h2{font-size:19px;font-weight:600;margin:0 0 18px}h3{font-size:15px;margin-top:28px}.page-header p{color:#899087;font-size:13px;margin:13px 0 0;line-height:1.7}.page-header>.primary{font-size:13px;min-height:47px}.day-progress{border-right:1px solid var(--line);padding-right:26px;text-align:center}.day-progress strong{font-size:31px;font-weight:500;color:#537347}.day-progress strong span{font-size:18px;color:#b0b4a8}.day-progress small{display:block;margin-top:5px;color:#929888;font-size:10px}.planning-strip{display:flex;justify-content:space-between;align-items:center;background:#fffefa;border:1px solid #e8e8db;border-radius:15px;padding:18px 23px;margin-bottom:20px;gap:15px}.section-kicker{font-size:11px;letter-spacing:1px;color:#8b977e;margin-bottom:9px}.budget-row{display:flex;align-items:center;gap:25px;font-size:13px}.budget-row input{width:65px;text-align:center;border:0;border-bottom:1px solid #ccd7bd;border-radius:0;padding:6px;background:transparent;font-weight:600;color:#52674b}.budget-summary{color:#9b9f91;font-size:11px}.guide{display:flex;gap:16px;align-items:center;background:#eef1e4;border:1px solid #e3e8d5;border-radius:14px;padding:17px 20px;margin-bottom:23px}.guide-icon{font-size:28px;color:#839658}.guide strong{font-size:13px}.guide p{margin:6px 0 0;font-size:12px;color:#7a856b;line-height:1.7}.guide-buttons{margin-left:auto;display:flex;gap:6px;flex-shrink:0}.guide button{font-size:11px;padding:8px;min-height:38px}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;align-items:start}.column{background:#eeede6;border:1px solid #e6e5dc;border-radius:16px;padding:17px 13px 12px;min-height:380px}.col-doing{background:#efeee4}.col-done{background:#eaf0e5;border-color:#e0e7da}.column-heading{padding:0 4px 16px}.column-heading h2{display:flex;align-items:center;gap:8px;font-size:14px;margin:0 0 8px}.column-heading h2 i{width:7px;height:7px;border-radius:50%;background:#a4b5cb}.col-doing h2 i{background:#d9ba6d}.col-done h2 i{background:#83a474}.column-heading h2 span{border:1px solid #d9dcd0;color:#909986;min-width:21px;border-radius:6px;text-align:center;font-size:10px;font-weight:400;padding:1px 4px;margin-left:2px}.column-heading>.mini{font-size:10px;margin-left:15px}.task-card{background:#fffefa;border:1px solid #e4e5dc;box-shadow:0 3px 5px #414b3010;border-radius:12px;padding:13px 15px 9px;margin-bottom:12px;min-width:0;overflow-wrap:anywhere}.task-card[draggable=true]{cursor:grab}.task-card.finished{background:#fafdf6}.card-top{display:flex;gap:8px;align-items:center;margin-bottom:2px}.tag{display:inline-block;font-size:10px;padding:3px 9px;border-radius:5px;background:#e9eff5;color:#6b88a1}.cat-1{color:#a67f55;background:#f7efdf}.cat-2{color:#9780ac;background:#f0eaf6}.card-top>.icon-button{margin-left:auto}.icon-button{background:none;border:0;padding:0;min-width:34px;min-height:34px;font-size:19px;color:#93998d}.card-title{display:block;font-size:15px;font-weight:600;text-align:left;background:transparent;border:0;border-radius:3px;padding:6px 0 10px;min-height:36px;width:100%;line-height:1.7}.card-title:hover{background:none;color:#66834e}.parent-label{font-size:10px;color:#8b987b;margin:0 0 11px}.card-meta{display:flex;gap:10px;justify-content:space-between;font-size:10px;color:#959d8e;margin:7px 0 12px;line-height:1.6;flex-wrap:wrap}.card-meta .due{color:#b4885c}.card-actions{border-top:1px solid #eff0e8;padding-top:7px;display:flex;align-items:center;gap:2px;flex-wrap:wrap}.card-actions>button{background:none;border:0;font-size:10px;padding:7px 5px;min-height:36px;color:#8a9381}.card-actions .action-main{color:#5d7c4e;font-weight:600}.order-buttons{margin-left:auto;white-space:nowrap}.order-buttons .icon-button{font-size:15px;min-width:28px;min-height:36px}.partial-note{font-size:11px;color:#8b8e77;background:#f6f5eb;border-radius:7px;padding:8px;line-height:1.8;white-space:pre-wrap}.column-add{width:100%;background:transparent;border:1px dashed #ccd4bd;color:#839372;border-radius:9px;font-size:11px;min-height:42px}.empty-column{text-align:center;color:#a3ac99;padding:50px 8px;font-size:11px;line-height:1.8}.empty-column>span{font-size:31px;color:#b5bfa4}.empty-column .text-button{font-size:11px}.gentle-bottom{display:flex;gap:15px;align-items:center;margin:24px 0;color:#8d997c;padding:10px 5px}.gentle-bottom>span{font-size:30px}.gentle-bottom strong{font-size:12px;font-weight:500}.gentle-bottom p{font-size:11px;color:#a2a795;margin:7px 0 0}.gentle-bottom button{margin-left:auto;font-size:11px}footer{border-top:1px solid #e8e8de;padding:20px 0;color:#adb3a3;font-size:10px;letter-spacing:1px;margin-top:30px}.task-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.task-grid>.task-card{margin:0}.filters{display:flex;gap:20px;align-items:center;margin:0 0 24px;flex-wrap:wrap}.filters label{font-size:12px;color:#7d8b70;display:flex;align-items:center;gap:10px}.filters select,.filters input{width:auto;min-width:120px}.mini,.muted{color:#919a87;font-size:12px}.previous{border:1px solid #e8d9bd;background:#fbf5e9;border-radius:12px;padding:17px;margin-bottom:20px}.previous summary{cursor:pointer;font-size:13px;color:#9c805a;line-height:1.7}.previous summary span{font-size:11px;margin-left:12px;color:#a79983}.previous .task-grid{margin-top:18px}.past-thought{font-size:12px;color:#829071;margin-bottom:16px;line-height:1.7}.empty-page{text-align:center;border:1px dashed #dce2cf;border-radius:20px;padding:55px 20px;margin-top:20px}.empty-page img{width:65px;height:65px;margin-bottom:20px}.empty-page h2{color:#637958}.empty-page p{color:#929b87;font-size:13px;line-height:1.9;margin-bottom:24px}.goal-hero{padding:30px;background:#eef2e5;border-radius:16px;display:flex;gap:15px;align-items:center;margin:20px 0}.goal-hero>div{flex:1}.goal-hero h2{margin:15px 0 10px}.goal-hero p{font-size:12px;color:#7e8e6c}.goal-progress{display:block;background:#edf0e5;padding:0;min-height:5px;height:5px;border:0;width:100%;margin:5px 0 8px;overflow:hidden}.goal-progress span{display:block;height:5px;background:#8fa77a}.review-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{padding:27px;background:#fffefa;border:1px solid var(--line);border-radius:16px}.panel p{font-size:13px;line-height:1.9;color:#8a9380}.panel .mini{font-size:11px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.button-row button{font-size:12px}.timeline{list-style:none;padding:0 0 0 17px;max-height:500px;overflow:auto}.timeline li{position:relative;border-left:1px solid #dce4d0;padding:0 15px 22px}.timeline li:before{content:'';position:absolute;left:-4px;top:6px;border-radius:50%;width:7px;height:7px;background:#a1b98c}.timeline strong{font-size:12px;font-weight:500}.timeline p{font-size:11px;margin:6px 0}.timeline small{font-size:10px;color:#a7ad9c}label{display:block;font-size:12px;color:#79856d}input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #dfe4d7;border-radius:9px;background:#fffefa;color:#46523e;min-height:44px;margin-top:8px}textarea{min-height:86px;resize:vertical;line-height:1.7}form>label{margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.toggle{display:flex;align-items:center;gap:10px;line-height:1.8}.toggle input{width:19px;height:19px;min-height:19px;margin:0;accent-color:var(--green)}dialog{border:1px solid #e0e5d5;border-radius:20px;padding:28px;background:#fcfbf5;max-width:600px;width:calc(100% - 36px);max-height:90vh;color:inherit;box-shadow:0 25px 100px #28342530}dialog::backdrop{background:#24332255;backdrop-filter:blur(3px)}.modal-heading{display:flex;justify-content:space-between;margin-bottom:25px}.modal-heading h2{margin:0;font-size:23px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:24px}.dialog-actions .danger{margin-right:auto}#confirm p{font-size:14px;line-height:1.9;color:#7a856d}.form-error{color:#a95144}#toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,25px);max-width:85vw;background:#3f5e47;color:#fff;padding:15px 23px;border-radius:12px;box-shadow:0 8px 25px #293e3320;font-size:13px;opacity:0;pointer-events:none;transition:.2s;z-index:10}#toast.show{opacity:1;transform:translate(-50%,0)}.celebrate{animation:pop .4s ease-out}.warning{background:#fff0dc;color:#ad7045;font-size:13px;padding:16px;border-radius:10px;margin:15px 0}@keyframes pop{0%{scale:.93}70%{scale:1.02}100%{scale:1}}.reduced-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(min-width:1500px){main{padding-left:55px;padding-right:55px}.task-card{padding:18px}.column{padding:20px 16px}.card-title{font-size:16px}.card-actions>button{font-size:12px}}@media(max-width:1100px){.sidebar{width:180px;padding:25px 12px}.brand{font-size:18px;padding-left:4px;gap:8px}.brand img{width:34px;height:34px}.nav-item{padding:12px;font-size:13px}main{margin-left:180px;padding:20px}.board{gap:10px}.column{padding:14px 8px}.task-card{padding:10px}.budget-row{gap:10px;flex-wrap:wrap}.guide{flex-wrap:wrap}.guide-buttons{margin-left:40px}.day-progress{display:none}.card-actions>button{min-height:44px}.order-buttons .icon-button{min-height:44px;min-width:35px}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:14px 16px;border-bottom:1px solid var(--line);border-right:0}.brand{padding:0 0 14px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;gap:4px;overflow:auto}.nav-item{width:auto;min-width:max-content;gap:7px;padding:8px 11px;font-size:11px;margin:0;min-height:44px}.nav-item span{font-size:17px;width:auto}main{margin:0;padding:15px}.page-header{padding:22px 0;gap:10px}.page-header h1{font-size:26px}.page-header p{font-size:11px}.page-header>.primary{font-size:11px;padding:10px}.planning-strip{padding:15px;align-items:flex-start;flex-direction:column}.board{grid-template-columns:repeat(3,minmax(245px,1fr));overflow-x:auto;padding-bottom:10px;align-items:stretch}.column{min-height:360px}.card-title{font-size:15px}.card-actions>button{font-size:12px}.gentle-bottom{flex-wrap:wrap}.gentle-bottom button{margin-left:40px}.review-layout,.settings-grid{grid-template-columns:1fr}.goal-hero{flex-wrap:wrap;padding:20px}.goal-hero>div{flex-basis:100%}.topline{gap:5px}.save-status{font-size:10px}.undo-button{font-size:10px}.form-row{gap:12px}.panel{padding:20px}}

.budget-row label{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.budget-row input{display:inline-block;margin:0}.budget-save{font-size:11px;min-height:36px;padding:6px 10px;background:#f0f3e8}.card-top>.icon-button{min-height:44px;min-width:44px}

/* Touch-first choices keep the keyboard optional. */
.quick-choices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 18px}.quick-choices button{font-size:13px;min-height:46px;padding:10px 14px;border-radius:12px;background:#f4f5ed}.quick-choices button[aria-pressed=true]{background:#e1ecd5;border-color:#799569;color:#355333;box-shadow:inset 0 0 0 1px #799569}.choice-field{border:0;padding:0;margin:0 0 24px;min-width:0}.choice-field legend{font-size:13px;color:#65785a;margin-bottom:3px}.choice-field details{font-size:12px;color:#8b977d}.choice-field summary{cursor:pointer;padding:10px 0;min-height:44px}.choice-field details label{margin-top:8px}.budget-row select{width:auto;min-width:125px;margin:0}.form-row>div{min-width:0}
