:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;color:#283d35;background:#f6f5f0;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button,.button{cursor:pointer;color:inherit;min-height:44px;border:1px solid #dcded5;border-radius:10px;background:#fff;padding:9px 16px;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s,border-color .15s}button:hover,.button:hover{background:#eeeee7}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b18c48;outline-offset:3px}input,select,textarea{color:#283d35;background:#fff;border:1px solid #d9ded5;border-radius:9px;padding:11px 12px;min-width:0;max-width:100%;font-size:16px}input:focus,textarea:focus,select:focus{outline:2px solid #729180;outline-offset:1px}textarea{width:100%;resize:vertical;line-height:1.8}input[type=date]{min-height:46px;width:100%;appearance:none;-webkit-appearance:none;text-align:left}h1,h2,h3,p{margin:0}h1{font-size:31px;font-weight:600;letter-spacing:-1px;line-height:1.5}h2{font-size:17px;font-weight:600}p{line-height:1.85}small{font-size:12px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#657469}fieldset{border:0;padding:0;margin:0}legend{font-size:13px;color:#657469;margin-bottom:9px}a{color:inherit}svg{flex-shrink:0}.app-shell{max-width:1600px;margin:0 auto;min-height:100vh}.sidebar{position:fixed;top:0;bottom:0;width:246px;border-right:1px solid #e3e5dc;padding:42px 25px;display:flex;flex-direction:column;background:#eeeee6}.brand{display:flex;align-items:center;gap:13px;font-size:25px;font-weight:600;text-decoration:none;margin-left:10px;letter-spacing:3px}.brand small{display:block;font-size:9px;letter-spacing:2.5px;color:#788477}.brand-symbol{display:inline-flex;align-items:center;justify-content:center;background:#355b4b;color:#fff;width:43px;height:48px;border-radius:13px}.brand-symbol svg{width:25px;height:25px}.sidebar-tagline{color:#879084;font-size:12px;line-height:2.1;padding:30px 10px 38px}.sidebar nav{display:grid;gap:8px}.sidebar nav button{justify-content:flex-start;gap:13px;min-height:52px;background:transparent;border-color:transparent;color:#758174;padding:12px 16px}.sidebar nav button[aria-current]{background:#e1e6db;color:#355b4b;font-weight:600}.sidebar-bottom{margin-top:auto;padding:20px 10px;color:#8d9789}.sidebar-bottom svg{margin-bottom:10px}.sidebar-bottom p{font-size:12px;line-height:2}.sidebar-bottom>span{display:block;margin-top:25px;font-size:10px;letter-spacing:1px}.main-content{margin-left:246px;padding:0 48px;max-width:1274px}.topbar{height:87px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e3e5dc;font-size:12px;color:#8a9386;letter-spacing:.5px}.save-state{display:flex;align-items:center;gap:6px;font-size:11px}.save-state i{width:6px;height:6px;border-radius:50%;background:#7e9a7f}.save-state.save-error{color:#a54e36}.save-state.save-error i{background:#a54e36}.page-heading{padding:42px 0 32px;display:flex;align-items:center;justify-content:space-between}.eyebrow{font-size:9px;letter-spacing:2px;color:#929b89;font-weight:600;margin-bottom:11px}.page-heading h1{margin-bottom:9px}.page-heading>div>p:last-child{font-size:13px;color:#8a9385}.heading-art{width:80px;height:80px;display:flex;align-items:center;justify-content:center;color:#a5af95;border:1px solid #e4e6da;border-radius:50%;margin-right:10px}.heading-art svg{width:37px;height:37px;stroke-width:1}.datebar{display:flex;align-items:center;justify-content:space-between;padding:18px 0 23px;border-bottom:1px solid #e1e4d9;margin-bottom:25px}.datebar>div{display:flex;align-items:center;gap:13px}.date-month{font-size:12px;color:#86917f;writing-mode:vertical-rl;letter-spacing:2px}.datebar strong{font-size:40px;line-height:1;font-weight:400;letter-spacing:-2px}.datebar>div>span:last-child{font-size:12px;line-height:1.6}.datebar small{display:block;font-size:10px;color:#939c8c}.date-control{position:relative;display:flex;flex-direction:row;align-items:center;gap:6px}.date-control input{background:transparent;border-color:#e1e4d9;font-size:12px;max-width:150px;padding:8px}.date-control svg{width:16px}.day-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px}.section-title h2{font-size:14px;letter-spacing:.5px}.section-title>span{font-size:10px;color:#9aa18f}.task-section{margin-bottom:26px}.task-card{background:#fff;border:1px solid #e4e6de;border-radius:12px;padding:17px 18px 11px;margin-bottom:11px;box-shadow:0 2px 3px #33402802}.task-top{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.task-title{display:flex;align-items:center;gap:9px;min-width:0}.status-dot{width:7px;height:7px;border:1.5px solid #c7ccbd;border-radius:50%;flex-shrink:0}.status-dot.done{background:#52765d;border-color:#52765d}.status-dot.missed{background:#b5806b;border-color:#b5806b}.status-dot.skipped{background:#afb4a6;border-color:#afb4a6}.title-button{font-size:14px;font-weight:500;text-align:left;justify-content:flex-start;background:transparent;border:0;border-radius:4px;min-height:32px;padding:0;word-break:break-word;line-height:1.65}.title-button:hover{background:transparent;color:#67846b}.edit-button{font-size:10px;color:#9ca18f;min-height:32px;padding:0 0 0 7px;border:0;background:transparent;flex-shrink:0}.task-guidance{font-size:11px;color:#a0a595;line-height:1.8;margin:3px 0 12px 16px;white-space:pre-wrap}.status-picker{display:grid;grid-template-columns:repeat(4,1fr);background:#f6f6f2;border-radius:7px;padding:3px;gap:3px;margin-top:10px}.status-picker button{min-height:36px;font-size:11px;border:1px solid transparent;background:transparent;color:#959d8b;padding:5px 2px;border-radius:5px}.status-picker button.selected{background:#fff;border-color:#e4e6dc;color:#6a7963;box-shadow:0 1px 2px #00000004}.status-picker button.selected.done{background:#e7eee5;border-color:#e7eee5;color:#3c6649}.status-picker button.selected.missed{color:#a26950;background:#f3ebe5;border-color:#f3ebe5}.status-picker button.selected.skipped{background:#eaece5;border-color:#eaece5;color:#7a8170}.note{font-size:11px;color:#929b88;margin-top:6px}.note summary{cursor:pointer;min-height:31px;display:flex;align-items:center;width:100%;list-style:none}.note summary::-webkit-details-marker{display:none}.note textarea{font-size:16px;margin-bottom:5px;background:#fafbf7;border-color:#e9ebe2}.status-done .title-button{color:#6e826e}.journal-card{background:#edeee4;border:1px solid #e3e5d8;border-radius:13px;padding:22px 22px 14px;position:relative}.journal-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.journal-title .eyebrow{margin:0;font-size:8px;letter-spacing:1.1px}.journal-title svg{color:#9ea98e;width:18px}.journal-card h2{font-size:17px;margin-bottom:12px}.journal-card p{font-size:11px;color:#9aa18e;line-height:2}.journal-card textarea{border:0;border-radius:0;padding:18px 0;min-height:300px;background:transparent;line-height:2.2;font-size:16px;color:#56694e;background-image:repeating-linear-gradient(transparent,transparent 34px,#dfe2d4 34px,#dfe2d4 35.2px);background-origin:content-box}.journal-card textarea:focus{outline:none}.journal-card textarea::placeholder{color:#a2aa97;font-size:12px}.journal-card footer{margin-top:15px;border-top:1px solid #dfe2d4;padding-top:13px;color:#a6ad98;font-size:9px}.tomorrow-card{width:100%;padding:18px;background:transparent;border:1px solid #e0e3d5;border-radius:12px;margin-top:18px;justify-content:space-between;text-align:left}.tomorrow-card small{display:block;color:#9aa18d;font-size:10px;margin-bottom:5px}.tomorrow-card strong{font-size:12px;font-weight:500}.tomorrow-card svg{width:15px;color:#9aa68e}.gentle-note{display:flex;gap:10px;color:#a1a88f;font-size:10px;margin:23px 8px}.gentle-note svg{width:16px;margin-top:5px}.gentle-note button{font-size:10px;min-height:28px;border:0;background:transparent;text-decoration:underline;padding:0;color:#829476;display:block}.add-task{width:100%;border-style:dashed;border-color:#cfd6c4;background:transparent;color:#86977b;font-size:12px;min-height:48px}.add-task svg{width:16px}.page-footer{margin:50px 0 0;padding:25px 0 30px;border-top:1px solid #e2e5da;font-size:10px;color:#a1a895;display:flex;justify-content:space-between}.page-footer span{font-size:9px;letter-spacing:1.5px}.mobile-nav{display:none}.hint{font-size:12px;color:#8c9684;line-height:1.9;white-space:pre-wrap}.primary{background:#355b4b;border-color:#355b4b;color:#fff;width:100%;min-height:46px}.primary:hover{background:#2b4d3f}.text-button{border:0;background:transparent;color:#567653;padding:0 4px;font-size:12px}.button-stack,.form-stack{display:grid;gap:14px}.two-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:14px 0}.form-stack .two-cols{margin:0}.form-stack label{font-size:13px}.weekday-picker{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekday-picker button{padding:7px 0;min-height:44px}.weekday-picker button[aria-pressed=true]{background:#e2ebdf;border-color:#a9b99f}.settings-grid{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.2fr);align-items:start;gap:25px}.settings-right{display:grid;gap:24px}.panel{padding:23px;background:#fff;border:1px solid #e4e6dc;border-radius:12px}.panel h2{margin-bottom:10px}.panel .section-title h2{margin:0}.panel>.button-stack{margin:17px 0}.template-list{margin-top:20px}.template-list>button{border:0;border-top:1px solid #eef0e8;border-radius:0;width:100%;background:transparent;padding:14px 0;justify-content:space-between;text-align:left}.template-list strong{font-size:13px;font-weight:500;display:block}.template-list small{color:#9aa28e;display:block;margin-top:4px;font-size:11px}.template-list svg{width:13px;color:#b1b7a5}.file-button{position:relative;overflow:hidden;text-align:center;font-size:14px}.file-button input{position:absolute;width:1px;height:1px;opacity:0;padding:0;border:0}.file-button:focus-within{outline:3px solid #b18c48;outline-offset:2px}.instructions{font-size:12px;color:#87967f;margin-top:17px}.instructions summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.instructions textarea{font-size:12px}.instructions button{font-size:12px;margin-top:8px}.last-import{margin-top:16px;padding-top:16px;border-top:1px solid #e6e8df;font-size:12px}.quiet-panel{background:#eeeee6;color:#8b9580;font-size:12px}.quiet-panel p{margin-bottom:15px}.quiet-panel label{margin-top:20px}.version{font-size:10px;letter-spacing:.5px;margin-top:20px}.modal{position:fixed;border:1px solid #e1e5d8;background:#fafbf7;color:#344837;border-radius:18px;padding:26px;width:min(460px,calc(100% - 28px));max-height:85dvh;overflow:auto;box-shadow:0 20px 80px #1a302035}.modal.wide{width:min(700px,calc(100% - 28px))}.modal::backdrop{background:#1e30254d;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.modal-head h2{font-size:19px}.icon-button{width:40px;min-height:40px;padding:0;font-size:25px;border:0;background:transparent;color:#8a9782}.danger{color:#a7644a}.ghost{border:0;background:transparent}.warning-text{color:#ad7458;font-size:13px;margin:18px 0}.change-list{margin:18px 0;max-height:45dvh;overflow:auto;overscroll-behavior:contain}.change{display:flex;gap:12px;border:1px solid #e0e5d8;border-radius:9px;padding:13px;margin-bottom:9px;background:#fff}.change.conflict{border-color:#ddc9aa;background:#faf6ed}.change-type{font-size:11px;color:#8b9b7f;flex-shrink:0}.change>div{min-width:0}.change strong{font-size:13px;word-break:break-word}.change small{display:block;font-size:11px;color:#8f9c82}.checkbox{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:12px;margin-top:10px;min-height:44px}.checkbox input{width:20px;height:20px;accent-color:#42664b;flex-shrink:0}.alert{background:#f8ece4;border:1px solid #e6c6b8;color:#9e5f44;border-radius:10px;padding:14px;font-size:12px;margin-top:15px}.alert button{font-size:12px;margin:10px 10px 0 0}.banner{background:#e7ecdd;border-radius:9px;padding:12px 15px;font-size:12px;margin-top:15px}.banner button{border:0;background:transparent;color:#52714a;padding:0 10px;font-size:12px}.empty{padding:40px 15px;text-align:center;color:#9ba78f}.empty svg{width:32px;height:32px;margin-bottom:15px}.empty p{font-size:12px;margin-top:10px}.cancelled{font-size:12px;color:#9ba38e;margin-top:15px}.cancelled summary{cursor:pointer;min-height:44px}.cancelled>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.cancelled button{font-size:11px;min-height:40px;background:transparent;border:0}.notice-text{margin-bottom:25px;white-space:pre-wrap;word-break:break-word}.loading{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:30px}.loading p{font-size:13px;max-width:480px;text-align:center}@media(min-width:1600px){.sidebar{margin-left:0}.main-content{max-width:none}}@media(max-width:1200px){.sidebar{width:210px;padding:35px 19px}.main-content{margin-left:210px;padding:0 30px}.day-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.journal-card{padding:20px 17px}.settings-grid{grid-template-columns:1fr}.settings-right{grid-template-columns:1fr 1fr;align-items:start}.template-panel{max-width:none}.template-list{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}}@media(max-width:960px)and (min-width:761px){.day-layout{grid-template-columns:minmax(0,1fr)}.journal-column{display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:15px}.journal-card{grid-row:span 3}.tomorrow-card{margin-top:0}.heading-art{display:none}.settings-right{grid-template-columns:1fr}.main-content{padding:0 25px}.page-heading h1{font-size:26px}}@media(max-width:760px){.sidebar{display:none}.main-content{margin:0;padding:0 20px 100px;max-width:600px;margin-inline:auto}.topbar{height:65px;padding-top:env(safe-area-inset-top);font-size:11px}.page-heading{padding:29px 0 21px}.page-heading h1{font-size:25px;letter-spacing:-.7px}.page-heading>div>p:last-child{font-size:12px}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:9px}.heading-art{width:49px;height:49px;margin:0 0 0 10px;flex-shrink:0}.heading-art svg{width:25px;height:25px}.datebar{padding:14px 0 20px;margin-bottom:22px}.datebar strong{font-size:36px}.datebar>div{gap:10px}.datebar>div>span:last-child{font-size:11px}.date-control input{font-size:12px;max-width:139px;padding:7px;min-height:44px}.date-control>svg{display:none}.day-layout{display:flex;flex-direction:column;gap:25px}.task-column,.journal-column{width:100%}.task-section{margin-bottom:24px}.section-title>span{font-size:10px}.task-card{padding:15px 16px 9px}.task-title .title-button{font-size:15px;min-height:40px}.edit-button{min-height:44px;font-size:11px;min-width:44px;padding:0}.task-guidance{font-size:12px;margin-bottom:11px}.status-picker button{min-height:44px;font-size:12px}.note summary{min-height:44px;font-size:12px}.journal-card{padding:24px 22px 18px}.journal-card textarea{min-height:210px}.journal-card p{font-size:12px}.journal-card footer{font-size:10px}.journal-title .eyebrow{font-size:9px}.tomorrow-card{padding:17px 20px}.tomorrow-card strong{font-size:14px}.tomorrow-card small{font-size:11px}.gentle-note{font-size:12px}.gentle-note button{font-size:12px;min-height:44px}.mobile-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;background:#f9faf5f5;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-top:1px solid #e1e5d8;padding:7px 10px calc(7px + env(safe-area-inset-bottom));z-index:10}.mobile-nav button{display:flex;flex-direction:column;gap:4px;border:0;border-radius:9px;background:transparent;color:#9ba68f;font-size:10px;min-height:53px;padding:5px 0}.mobile-nav button[aria-current]{color:#355b4b;background:#e9ede2}.mobile-nav svg{width:21px;height:21px}.settings-grid,.settings-right{display:grid;grid-template-columns:1fr;gap:20px}.panel{padding:21px 18px}.template-list{display:block}.template-list>button{padding:15px 0;min-height:65px}.template-list strong{font-size:14px}.template-list small,.hint{font-size:12px}.page-footer{margin-top:35px;font-size:10px;padding-bottom:20px}.page-footer span{font-size:8px}.modal{padding:23px 20px;border-radius:15px;max-height:86dvh}.modal-head{margin-bottom:18px}.two-cols{gap:10px}.form-stack{gap:16px}.button-stack>button{font-size:14px}.add-task{font-size:13px;min-height:50px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.task-guidance{color:#73806b}.hint,.quiet-panel,.note,.edit-button{color:#6f7d65}.status-picker button{color:#73806b}.journal-card p,.journal-card footer{color:#6e7c61}.journal-card textarea::placeholder{color:#76856c}.section-title>span,.page-heading>div>p:last-child{color:#77836e}.save-state{color:#6e7c65}
