@charset "UTF-8";
:root{--paper:var(--tone-f5f7f4, #f5f7f4);--ink:var(--tone-263b31, #263b31);--green:var(--tone-315b46, #315b46);--muted:var(--tone-6b7970, #6b7970);--line:var(--tone-e1e7e0, #e1e7e0);--accent:var(--tone-b87d46, #b87d46);--soft:var(--tone-edf2eb, #edf2eb);--serif:"Noto Serif SC","Songti SC",Georgia,serif;--sans:"Segoe UI","Microsoft YaHei",system-ui,sans-serif;--rail:206px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:calc(14px * var(--font-scale, 1))/1.65 var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit;color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}button:disabled{cursor:not-allowed;opacity:.43}button:not(:disabled),a{transition:background .18s,color .18s,border-color .18s,box-shadow .18s}button:not(:disabled):active{transform:translateY(1px)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--tone-b78f50, #b78f50);outline-offset:3px}input:focus,textarea:focus,select:focus{outline:2px solid var(--tone-75967f, #75967f);outline-offset:2px}h1,h2,h3,p{margin:0}h2,h3{font-weight:650}svg{display:block}[hidden]{display:none!important}.wrap{padding-left:36px;padding-right:36px}main.wrap{margin-left:var(--rail);max-width:1550px;min-width:0}.header{position:fixed;inset:0 auto 0 0;width:var(--rail);padding:34px 18px 24px;display:flex;flex-direction:column;background:var(--tone-fff, #fff);border-right:1px solid var(--line);z-index:20}.brand{display:flex;gap:10px;align-items:center;padding:0 6px;font-size:calc(20px * var(--font-scale, 1));font-weight:700;letter-spacing:-.4px;white-space:nowrap}.brand img{border-radius:11px}.brand small{display:block;font-size:calc(8px * var(--font-scale, 1));letter-spacing:1.2px;font-weight:500;color:var(--muted);margin-top:2px}.nav-caption{font-size:calc(11px * var(--font-scale, 1));color:var(--tone-839087, #839087);margin:46px 12px 14px}.header nav{display:flex;flex-direction:column;gap:8px}.header nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;min-height:46px;border-radius:10px;color:var(--muted);font-weight:500}.header nav svg,.icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.header nav a:hover{background:var(--tone-f4f6f1, #f4f6f1);color:var(--green)}.header nav a.is-current{background:var(--soft);color:var(--green);font-weight:650}.sidebar-bottom{margin-top:auto;padding:20px 10px 0}.sidebar-bottom #guide-open{display:flex;align-items:center;gap:10px;font-size:calc(13px * var(--font-scale, 1));padding:10px 0;margin-bottom:19px}.sidebar-bottom #guide-open>span{border:1px solid var(--tone-a8b2aa, #a8b2aa);border-radius:50%;width:18px;height:18px;line-height:16px;font-size:calc(11px * var(--font-scale, 1))}.privacy{display:flex;align-items:center;gap:6px;font-size:calc(10px * var(--font-scale, 1));color:var(--muted);white-space:nowrap}.privacy i{width:6px;height:6px;background:var(--tone-8baa83, #8baa83);border-radius:50%}.sidebar-bottom>p{font-size:calc(11px * var(--font-scale, 1));color:var(--tone-95a092, #95a092);margin-top:8px}.text-button{padding:5px 0;background:none;font-size:calc(12px * var(--font-scale, 1));color:var(--muted)}.text-button:hover{color:var(--green)}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:34px;border-radius:9px;background:transparent;color:var(--muted)}.icon-button:hover{background:var(--tone-e3eadd, #e3eadd);color:var(--green)}.intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:34px 0 30px}.eyebrow{font-size:calc(11px * var(--font-scale, 1));letter-spacing:1.3px;color:var(--muted)}#today-label{font-size:calc(12px * var(--font-scale, 1));letter-spacing:.2px}h1{font-size:clamp(26px,2.5vw,34px);line-height:1.4;letter-spacing:-1.1px;font-weight:650;margin:11px 0 9px}h1 em{font-style:normal;color:var(--tone-55765c, #55765c)}.intro p{font-size:calc(13px * var(--font-scale, 1));color:var(--muted)}.intro>.button{white-space:nowrap;flex-shrink:0;box-shadow:0 4px 12px var(--tone-315b4612, #315b4612)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:43px;padding:10px 17px;border:1px solid transparent;border-radius:9px;font-size:calc(13px * var(--font-scale, 1));font-weight:550;line-height:1.5}.primary{background:var(--green);color:var(--tone-fff, #fff)}.primary:not(:disabled):hover{background:var(--tone-264d39, #264d39);box-shadow:0 4px 12px var(--tone-315b4617, #315b4617)}.secondary{background:var(--tone-eef2eb, #eef2eb);border-color:var(--tone-dfe7dc, #dfe7dc);color:var(--green)}.workspace{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(310px,1.5fr) minmax(270px,1fr);gap:18px;align-items:stretch}.panel{min-width:0;border:1px solid var(--line);border-radius:16px;padding:22px;background:var(--tone-fff, #fff);box-shadow:0 3px 15px var(--tone-253c3103, #253c3103)}.section-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:calc(12px * var(--font-scale, 1));font-weight:600;color:var(--muted);min-height:28px}.section-label>span:last-child:not(:first-child){font-weight:400;font-size:calc(11px * var(--font-scale, 1))}.count-badge{background:var(--tone-e6ece1, #e6ece1);color:var(--tone-62715b, #62715b);border-radius:5px;padding:1px 7px;white-space:nowrap}.panel h2{font:650 calc(20px * var(--font-scale, 1))/1.5 var(--sans);margin:17px 0}.goals{background:var(--tone-edf1e9, #edf1e9);display:flex;flex-direction:column;padding:20px 16px;box-shadow:none}.goals h2{font-size:calc(16px * var(--font-scale, 1));color:var(--tone-4e6656, #4e6656);margin:15px 2px 18px}.goal-list{display:flex;flex-direction:column;gap:9px;max-height:310px;overflow:auto;padding:2px;scrollbar-width:thin}.goal-item{display:flex;align-items:flex-start;position:relative;border:1px solid transparent;border-radius:10px;flex-shrink:0;background:var(--tone-f8faf5, #f8faf5);min-width:0}.goal-item.selected{background:var(--tone-fff, #fff);border-color:var(--tone-c3d1bf, #c3d1bf);box-shadow:0 3px 10px var(--tone-263c3106, #263c3106)}.goal-item.selected:before{content:"";position:absolute;left:-1px;top:17px;bottom:17px;width:3px;background:var(--tone-527a54, #527a54);border-radius:2px}.goal-select{flex:1;min-width:0;padding:13px 4px 13px 14px;text-align:left;background:transparent}.goal-select strong{display:block;font-size:calc(13px * var(--font-scale, 1));font-weight:600;line-height:1.7;overflow-wrap:anywhere;margin-bottom:7px}.goal-select small{font-size:calc(11px * var(--font-scale, 1));color:var(--muted)}.mini-track{display:block;height:3px;background:var(--tone-edf0e9, #edf0e9);margin-top:11px;border-radius:5px;overflow:hidden}.mini-track i{display:block;height:100%;background:var(--tone-789772, #789772)}.goal-delete{background:none;color:var(--tone-8b978a, #8b978a);border-radius:7px;min-width:30px;height:35px;margin:4px 2px 0 0;font-size:calc(18px * var(--font-scale, 1));font-weight:300}.goal-delete:hover,.step-delete:hover{background:var(--tone-fff0e8, #fff0e8);color:var(--tone-a35036, #a35036)}.goals-empty{padding:22px 13px;border:1px dashed var(--tone-c2ceba, #c2ceba);border-radius:11px;color:var(--tone-74816b, #74816b);font-size:calc(12px * var(--font-scale, 1));line-height:1.9;background:var(--tone-f2f5ee, #f2f5ee)}.goals-empty span{display:block;font-size:calc(15px * var(--font-scale, 1));color:var(--tone-546b50, #546b50);font-weight:550;margin-bottom:8px}.add-goal{display:block;width:100%;min-height:42px;background:transparent;border:1px dashed var(--tone-bdcdb6, #bdcdb6);border-radius:9px;margin-top:12px;font-size:calc(12px * var(--font-scale, 1));color:var(--tone-566d4f, #566d4f)}.add-goal:hover{background:var(--tone-e4ecdd, #e4ecdd)}.add-goal>span{margin-right:4px;font-size:calc(17px * var(--font-scale, 1))}.aside-note{margin-top:auto;padding:25px 5px 2px;color:var(--muted);font-size:calc(12px * var(--font-scale, 1))}.aside-note>span{font-size:calc(8px * var(--font-scale, 1));letter-spacing:1.6px;color:var(--tone-8d9b84, #8d9b84)}.aside-note p{margin-top:7px;line-height:1.8}.steps{padding:22px 24px}.steps>.section-label{border-bottom:1px solid var(--tone-eff2ed, #eff2ed);padding-bottom:15px}.steps #goal-title{margin:19px 0 5px;overflow-wrap:anywhere;font-size:calc(22px * var(--font-scale, 1));letter-spacing:-.5px}.muted{color:var(--muted);font-size:calc(12px * var(--font-scale, 1));overflow-wrap:anywhere}.empty-center{min-height:335px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.empty-center svg{width:104px;height:82px;color:var(--tone-819a76, #819a76);margin-bottom:10px}.empty-center h2{font-size:calc(21px * var(--font-scale, 1));margin:9px 0}.empty-center p{font-size:calc(13px * var(--font-scale, 1));color:var(--muted);line-height:1.9}.empty-center .button{margin-top:23px}.progress-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:calc(11px * var(--font-scale, 1));margin:22px 0 8px}.progress-track{height:5px;background:var(--tone-edf1e8, #edf1e8);border-radius:5px;overflow:hidden}.progress-track>div{height:100%;background:var(--tone-8ba77c, #8ba77c);border-radius:5px;transition:width .25s}.step-list{display:flex;flex-direction:column;gap:3px;max-height:285px;overflow:auto;margin:19px -8px 0;padding:0 2px;scrollbar-width:thin}.step-item{display:flex;align-items:center;gap:6px;padding:7px 5px;border-radius:9px;min-width:0;border:1px solid transparent}.step-item.active{background:var(--tone-f0f5eb, #f0f5eb);border-color:var(--tone-e3ebdc, #e3ebdc)}.step-check{position:relative;flex-shrink:0;background:transparent;width:32px;min-height:38px;line-height:38px;padding:0;font-size:calc(12px * var(--font-scale, 1));color:var(--tone-fff, #fff)}.step-check:before{content:"";position:absolute;width:19px;height:19px;border:1.5px solid var(--tone-b6c5af, #b6c5af);border-radius:6px;left:6px;top:9px;z-index:0}.step-item.done .step-check{background:transparent;color:transparent}.step-item.done .step-check:before{content:"✓";line-height:17px;background:var(--tone-749269, #749269);border-color:var(--tone-749269, #749269);color:var(--tone-fff, #fff)}.step-select{flex:1;min-width:0;background:none;text-align:left;font-size:calc(13px * var(--font-scale, 1));line-height:1.7;overflow-wrap:anywhere;padding:5px 0}.step-item.done .step-select{text-decoration:line-through;color:var(--tone-94a08d, #94a08d)}.step-item.active .step-select{color:var(--tone-315b3d, #315b3d);font-weight:600}.step-delete,.step-edit{flex-shrink:0;background:none;color:var(--tone-91a08b, #91a08b);min-width:28px;min-height:34px;padding:4px;border-radius:6px;font-size:calc(15px * var(--font-scale, 1))}.step-edit:hover{background:var(--tone-e4ecdf, #e4ecdf);color:var(--tone-315b46, #315b46)}.step-meta{display:flex;flex-wrap:wrap;gap:5px;font-size:calc(10px * var(--font-scale, 1));color:var(--muted);margin-top:3px}.step-meta span{border-radius:4px;padding:1px 5px;background:var(--tone-eef1e9, #eef1e9)}.step-meta .overdue,.step-meta .priority-high{background:var(--tone-fff0e7, #fff0e7);color:var(--tone-ab623a, #ab623a)}.add-step{display:flex;align-items:center;gap:8px;background:var(--tone-f7f9f4, #f7f9f4);border:1px solid var(--tone-e7eddf, #e7eddf);border-radius:9px;padding:4px 10px;margin-top:19px}.add-step input{flex:1;min-width:0;width:0;border:0;background:none;padding:8px 0;font-size:calc(12px * var(--font-scale, 1))}.add-step button{width:30px;height:34px;background:var(--tone-e7eedf, #e7eedf);border-radius:6px;color:var(--tone-546f45, #546f45);font-size:calc(20px * var(--font-scale, 1))}.step-hint{font-size:calc(10px * var(--font-scale, 1));color:var(--tone-8e9987, #8e9987);margin-top:10px}.focus{padding:17px 20px 19px;background:var(--tone-edf3e8, #edf3e8);border-color:var(--tone-dae5d2, #dae5d2);display:flex;flex-direction:column;text-align:center}.focus .section-label{color:var(--tone-4e6847, #4e6847);min-height:34px}.focus-modes{display:flex;gap:3px;border-radius:9px;background:var(--tone-e2eadc, #e2eadc);padding:4px;margin:10px 0 12px}.focus-modes button{flex:1;min-width:0;background:transparent;font-size:calc(11px * var(--font-scale, 1));color:var(--tone-687d5b, #687d5b);padding:6px 3px;border-radius:6px;min-height:31px}.focus-modes button[aria-pressed=true]{background:var(--tone-fff, #fff);color:var(--tone-3d6138, #3d6138);box-shadow:0 2px 5px var(--tone-344b2e08, #344b2e08)}.focus-dot{align-self:center;font-size:calc(10px * var(--font-scale, 1));color:var(--tone-789268, #789268);display:flex;gap:6px;align-items:center}.focus-dot:before{content:"";height:5px;width:5px;background:var(--tone-93ae7b, #93ae7b);border-radius:50%}.timer-art{position:relative;width:190px;height:190px;margin:5px auto 0}.timer-ring{width:100%;height:100%;transform:rotate(-90deg)}.timer-ring circle{fill:none;stroke-width:2}.ring-base{stroke:var(--tone-d8e3ce, #d8e3ce)}#ring-progress{stroke:var(--tone-74945d, #74945d);stroke-width:3;stroke-linecap:round;stroke-dasharray:678.584;stroke-dashoffset:678.584;transition:stroke-dashoffset .4s}.plant{position:absolute;top:28px;left:calc(50% - 24px);width:48px;height:43px}.timer-readout{position:absolute;bottom:43px;left:0;width:100%;font:400 calc(44px * var(--font-scale, 1))/1 var(--sans);letter-spacing:-1.8px;font-variant-numeric:tabular-nums}.focus-task{font-size:calc(11px * var(--font-scale, 1));line-height:1.6;color:var(--tone-6e805f, #6e805f);min-height:18px;margin:3px 0 12px;overflow-wrap:anywhere}.durations{display:flex;justify-content:center;gap:7px}.durations button{font-size:calc(11px * var(--font-scale, 1));color:var(--tone-748566, #748566);background:transparent;border-radius:6px;padding:5px 9px;border:1px solid transparent;min-height:31px}.durations button[aria-pressed=true]{color:var(--tone-436136, #436136);border-color:var(--tone-cddbc2, #cddbc2);background:var(--tone-e0eacc, #e0eacc)}.timer-start{justify-content:center;width:100%;min-height:42px;margin-top:13px}.timer-actions{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:8px;line-height:1.5}.timer-actions>span{color:var(--tone-a0ad96, #a0ad96)}.timer-actions .text-button{font-size:calc(10px * var(--font-scale, 1));color:var(--tone-7d8d70, #7d8d70)}.focus-footnote{font-size:calc(10px * var(--font-scale, 1));color:var(--tone-869978, #869978);margin-top:9px}.footprints{padding:34px 0 0;display:block}.footprint-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:19px}.footprint-heading .eyebrow{font-size:calc(9px * var(--font-scale, 1));letter-spacing:1.5px}.footprint-heading h2{font-size:calc(23px * var(--font-scale, 1));letter-spacing:-.5px;margin:6px 0}.footprint-heading p{font-size:calc(12px * var(--font-scale, 1));color:var(--muted)}.data-actions{display:flex;gap:8px;flex-shrink:0}.data-actions button{padding:8px 12px;border:1px solid var(--line);background:var(--tone-fff, #fff);border-radius:8px;font-size:calc(11px * var(--font-scale, 1))}.stats-panel{min-width:0;padding:24px 27px;border:1px solid var(--line);border-radius:16px;background:var(--tone-fff, #fff)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:24px;border-bottom:1px solid var(--line)}.stats>div{padding-left:28px;border-left:1px solid var(--line)}.stats>div:first-child{padding-left:0;border:0}.stats strong{display:block;font-size:calc(31px * var(--font-scale, 1));font-weight:550;line-height:1.3;font-variant-numeric:tabular-nums;letter-spacing:-.8px}.stats span{display:block;font-size:calc(11px * var(--font-scale, 1));color:var(--muted);margin-top:5px}.week-heading{display:flex;justify-content:space-between;margin-top:20px;font-size:calc(12px * var(--font-scale, 1));color:var(--muted)}.week-chart{display:flex;gap:24px;align-items:flex-end;height:120px;margin-top:18px}.day{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:10px}.day-bar{width:100%;max-width:70px;border-radius:5px 5px 2px 2px;background:var(--tone-c5d4b6, #c5d4b6);min-height:3px}.day.today .day-bar{background:var(--tone-799665, #799665)}.day span{font-size:calc(10px * var(--font-scale, 1));color:var(--muted)}.history-section{margin-top:22px;border:1px solid var(--line);padding:18px 25px 8px;background:var(--tone-fff, #fff);border-radius:14px}.history-section>.section-label{margin-bottom:5px}.history-empty{font-size:calc(12px * var(--font-scale, 1));color:var(--muted);padding:18px 0}.history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--tone-eff2eb, #eff2eb)}.history-row:last-child{border-bottom:0}.history-row>div{min-width:0}.history-row strong{display:block;font-size:calc(12px * var(--font-scale, 1));font-weight:550;overflow-wrap:anywhere}.history-row small{display:block;font-size:calc(10px * var(--font-scale, 1));color:var(--muted);margin-top:2px}.history-row>span{font-size:calc(11px * var(--font-scale, 1));color:var(--tone-69805d, #69805d);white-space:nowrap}.footer{display:flex;justify-content:space-between;gap:20px;margin-left:var(--rail);padding-top:28px;padding-bottom:25px;font-size:calc(10px * var(--font-scale, 1));color:var(--tone-899482, #899482);max-width:1550px}.footer-mark{padding:0 6px;color:var(--tone-b38a5d, #b38a5d)}.warning{padding:12px 15px;margin-bottom:16px;border:1px solid var(--tone-e7c99f, #e7c99f);border-radius:9px;background:var(--tone-fff7e9, #fff7e9);color:var(--tone-8a602c, #8a602c);font-size:calc(12px * var(--font-scale, 1))}dialog{border:1px solid var(--line);border-radius:18px;background:var(--tone-fff, #fff);padding:28px;color:var(--ink);width:min(510px,calc(100% - 32px));max-height:90dvh;box-shadow:0 20px 80px var(--tone-23332230, #23332230);overflow-y:auto}dialog::backdrop{background:var(--tone-26352c60, #26352c60);backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.dialog-heading .eyebrow{font-size:calc(9px * var(--font-scale, 1))}dialog h2{font-size:calc(24px * var(--font-scale, 1));line-height:1.5;margin:12px 0 20px;letter-spacing:-.4px}.close-button{display:inline-flex;align-items:center;justify-content:center;background:var(--tone-f2f5ee, #f2f5ee);border-radius:9px;width:34px;height:34px;font-size:calc(24px * var(--font-scale, 1));color:var(--tone-74836c, #74836c);line-height:1}dialog label{display:block;font-size:calc(13px * var(--font-scale, 1));font-weight:550;margin:16px 0 7px}.optional{font-size:calc(11px * var(--font-scale, 1));font-weight:400;color:var(--muted);margin-left:6px}dialog input,dialog textarea,dialog select{display:block;width:100%;min-width:0;border:1px solid var(--tone-dce5d5, #dce5d5);border-radius:8px;background:var(--tone-fafbf8, #fafbf8);padding:10px 12px;color:var(--ink);font-size:calc(14px * var(--font-scale, 1))}dialog input[type=checkbox]{width:18px;display:inline-block;vertical-align:middle}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--tone-98a08e, #98a08e)}dialog .button[type=submit]{width:100%;margin-top:19px}.template-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:calc(11px * var(--font-scale, 1));color:var(--muted);margin-top:11px}.template-row button{background:var(--tone-edf3e7, #edf3e7);color:var(--tone-627b51, #627b51);border-radius:5px;padding:5px 10px;font-size:calc(11px * var(--font-scale, 1))}.form-error{font-size:calc(12px * var(--font-scale, 1));color:var(--tone-a65438, #a65438);margin-top:12px}.confirm-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}#confirm-body{font-size:calc(13px * var(--font-scale, 1));line-height:1.9;overflow-wrap:anywhere}.guide-list{padding-left:20px}.guide-list li{font-size:calc(13px * var(--font-scale, 1));padding-left:4px;margin-bottom:18px}.guide-list p{font-size:calc(12px * var(--font-scale, 1));line-height:1.9;color:var(--muted);margin-top:5px}.toast{position:fixed;bottom:26px;left:calc(50% + var(--rail)/2);transform:translateX(-50%);z-index:100;background:var(--tone-31513e, #31513e);color:var(--tone-fff, #fff);border-radius:10px;padding:13px 20px;font-size:calc(12px * var(--font-scale, 1));line-height:1.7;width:max-content;max-width:calc(100vw - 32px);box-shadow:0 8px 30px var(--tone-253b3120, #253b3120)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;margin:-1px;padding:0;border:0}
@media(min-width:1800px){main.wrap,.footer{margin-left:calc(var(--rail) + (100vw - var(--rail) - 1550px)/2)}}
@media(max-width:1279px){:root{--rail:0px}.header{position:static;width:auto;height:76px;flex-direction:row;align-items:center;padding:0 28px;border-right:0;border-bottom:1px solid var(--line);gap:24px}.nav-caption,.sidebar-bottom>p,.privacy{display:none}.header nav{margin-left:auto;flex-direction:row;gap:3px}.header nav a{padding:9px 12px;gap:7px;font-size:calc(12px * var(--font-scale, 1));min-height:38px}.header nav svg{width:16px;height:16px}.sidebar-bottom{padding:0;margin:0}.sidebar-bottom #guide-open{font-size:calc(11px * var(--font-scale, 1));margin:0;gap:5px}.wrap{padding-left:28px;padding-right:28px}.intro{padding-top:29px}.workspace{grid-template-columns:minmax(180px,.78fr) minmax(300px,1.35fr) minmax(265px,1fr);gap:14px}.steps{padding:20px}.focus{padding-left:17px;padding-right:17px}}
@media(max-width:1000px){.workspace{grid-template-columns:minmax(0,1.35fr) minmax(270px,1fr)}.goals{grid-column:1/-1;display:block;padding:16px 18px}.goals>.section-label{display:inline-flex;gap:15px;min-height:22px}.goals h2,.aside-note{display:none}.goal-list{flex-direction:row;max-height:170px;margin-top:10px;overflow-x:auto;overflow-y:auto}.goal-item{width:220px;min-width:220px}.goal-select{padding-top:10px;padding-bottom:10px}.goal-select strong{margin-bottom:4px}.goal-select .mini-track{margin-top:7px}.goals-empty{width:100%;padding:13px;font-size:calc(12px * var(--font-scale, 1))}.goals-empty span{font-size:calc(13px * var(--font-scale, 1));display:inline;margin:0 7px 0 0}.goals-empty p{display:inline}.add-goal{min-height:35px;margin-top:9px}.header .brand small{display:none}.header nav a{font-size:calc(11px * var(--font-scale, 1));padding:8px 10px}.header{gap:12px}.empty-center{min-height:330px}}
@media(max-width:700px){.wrap{padding-left:18px;padding-right:18px}.header{height:auto;min-height:104px;padding:15px 18px 9px;gap:12px;flex-wrap:wrap}.brand{font-size:calc(19px * var(--font-scale, 1));padding:0;gap:9px}.brand img{width:31px;height:31px}.header nav{order:3;width:100%;margin:0;justify-content:space-between;gap:4px}.header nav a{flex:1;justify-content:center;padding:8px 4px;font-size:calc(11px * var(--font-scale, 1));gap:5px;min-height:34px;border-radius:7px}.header nav svg{width:14px;height:14px}.sidebar-bottom{margin-left:auto}.sidebar-bottom #guide-open{min-height:30px;font-size:calc(11px * var(--font-scale, 1))}.intro{padding:23px 0 22px;align-items:flex-start;gap:10px}.intro .eyebrow{font-size:calc(10px * var(--font-scale, 1))}.intro h1{font-size:calc(25px * var(--font-scale, 1));letter-spacing:-.8px;line-height:1.5;max-width:300px}.intro h1 em{display:block}.intro p{font-size:calc(11px * var(--font-scale, 1));max-width:250px;line-height:1.8}.intro>.button{padding:8px 10px;gap:3px;font-size:calc(11px * var(--font-scale, 1));min-height:35px;margin-top:28px}.workspace{grid-template-columns:1fr;gap:14px}.goals{padding:14px}.steps{padding:18px}.steps #goal-title{font-size:calc(21px * var(--font-scale, 1))}.step-select{font-size:calc(14px * var(--font-scale, 1))}.step-check{width:35px;min-height:42px}.step-check:before{top:11px;left:8px}.step-delete,.step-edit{min-width:32px;min-height:40px}.step-list{max-height:300px}.empty-center{min-height:275px}.empty-center svg{height:65px;width:90px}.empty-center h2{font-size:calc(20px * var(--font-scale, 1))}.focus{display:grid;grid-template-columns:135px minmax(0,1fr);column-gap:15px;align-content:start;padding:15px 18px 18px;text-align:center}.focus>.section-label,.focus-modes{grid-column:1/-1}.focus-modes{margin:7px 0 12px}.focus-modes button{font-size:calc(12px * var(--font-scale, 1));min-height:33px}.focus-dot{grid-column:2;grid-row:3;justify-self:center;align-self:end;font-size:calc(10px * var(--font-scale, 1))}.timer-art{grid-column:1;grid-row:3/7;width:135px;height:135px;margin:0;align-self:center}.plant{top:21px;left:calc(50% - 17px);width:34px;height:31px}.timer-readout{font-size:calc(32px * var(--font-scale, 1));bottom:29px;letter-spacing:-1.2px}.focus-task{grid-column:2;grid-row:4;margin:6px 0;font-size:calc(11px * var(--font-scale, 1));max-height:55px;overflow-y:auto}.durations{grid-column:2;grid-row:5;gap:1px}.durations button{padding:4px 6px;font-size:calc(10px * var(--font-scale, 1));min-height:28px}.timer-start{grid-column:2;grid-row:6;margin-top:7px;min-height:37px;font-size:calc(12px * var(--font-scale, 1));padding:8px}.timer-actions{grid-column:1/-1;margin-top:13px;gap:22px}.timer-actions .text-button{font-size:calc(11px * var(--font-scale, 1));min-height:32px}.focus-footnote{grid-column:1/-1;margin-top:3px}.footprints{padding-top:28px}.footprint-heading{align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:15px}.footprint-heading h2{font-size:calc(22px * var(--font-scale, 1))}.footprint-heading p{font-size:calc(11px * var(--font-scale, 1))}.data-actions{gap:6px}.data-actions button{font-size:calc(10px * var(--font-scale, 1));padding:6px 10px}.stats-panel{padding:19px 17px}.stats{padding-bottom:20px}.stats>div{padding-left:15px}.stats strong{font-size:calc(26px * var(--font-scale, 1))}.stats span{font-size:calc(9px * var(--font-scale, 1));white-space:nowrap}.week-chart{gap:12px}.history-section{padding:15px 17px 6px}.history-section>.section-label>span:last-child{font-size:calc(10px * var(--font-scale, 1))}.history-row{align-items:flex-start}.footer{flex-direction:column;gap:5px;font-size:calc(9px * var(--font-scale, 1));padding-top:22px}.toast{left:50%;font-size:calc(12px * var(--font-scale, 1));bottom:18px}.goal-list{scroll-snap-type:x proximity}.goal-item{width:210px;min-width:210px;scroll-snap-align:start}dialog{padding:22px}dialog input,dialog textarea,dialog select{font-size:calc(16px * var(--font-scale, 1))}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;min-width:0}}
@media(max-width:360px){.wrap{padding-left:12px;padding-right:12px}.header{padding-left:12px;padding-right:12px}.header nav a{font-size:calc(10px * var(--font-scale, 1));gap:4px}.header nav svg{width:12px;height:12px}.intro h1{font-size:calc(23px * var(--font-scale, 1))}.intro>.button{padding:7px 8px;font-size:calc(10px * var(--font-scale, 1))}.focus{padding-left:13px;padding-right:13px;grid-template-columns:120px minmax(0,1fr);column-gap:10px}.timer-art{width:120px;height:120px}.timer-readout{font-size:calc(29px * var(--font-scale, 1));bottom:25px}.plant{top:19px}.durations button{padding:4px}.stats>div{padding-left:10px}.stats span{font-size:calc(8px * var(--font-scale, 1))}.stats strong{font-size:calc(24px * var(--font-scale, 1))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Shared form and task details used by the planning controls. */
.step-content{flex:1;min-width:0}.step-content .step-select{width:100%;display:block}.step-meta .priority-high{background:var(--tone-fff0e7, #fff0e7);color:var(--tone-a45d36, #a45d36)}.step-meta .priority-low{background:var(--tone-eaf1f2, #eaf1f2);color:var(--tone-63818a, #63818a)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.settings-note{font-size:calc(11px * var(--font-scale, 1));line-height:1.9;color:var(--muted);margin-top:14px}.focus-mode[aria-pressed=true]{background:var(--tone-fff, #fff);color:var(--green)}
@media(max-width:360px){.form-grid{grid-template-columns:1fr}}
/* Keep the daily controls close together on a phone. */
@media(max-width:700px){.intro{padding-top:18px;padding-bottom:18px}.intro h1{margin-top:8px;margin-bottom:7px;line-height:1.4}.goals{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;padding:12px}.goals>.section-label{gap:7px;font-size:calc(11px * var(--font-scale, 1))}.goals .count-badge{font-size:calc(10px * var(--font-scale, 1));padding:1px 4px}.goals .add-goal{grid-column:2;grid-row:1;width:auto;margin:0;padding:4px 8px;font-size:calc(10px * var(--font-scale, 1));min-height:32px}.goals .goal-list{grid-column:1/-1;margin-top:8px}.goals .goal-select{padding-top:8px;padding-bottom:8px}.steps>.section-label{padding-bottom:8px}.steps #goal-title{margin-top:12px}.progress-meta{margin-top:15px}.step-list{margin-top:12px;max-height:245px}.add-step{margin-top:13px}.empty-center{min-height:245px}.empty-center .button{margin-top:17px}}
