:root{--bg:#f7f8f5;--paper:#fff;--ink:#26392d;--muted:#7a837c;--green:#37664b;--soft:#eaf0e9;--line:#e7ebe5;--red:#b44d40;--radius:12px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.6;color-scheme:light}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button{color:inherit}h1,h2,p{margin:0}h1{font-size:36px;letter-spacing:-1px;font-weight:650;line-height:1.3}h2{font-size:17px;font-weight:600}input,textarea,select{width:100%;border:1px solid #dce3db;background:white;border-radius:8px;padding:11px 13px;outline:none;color:var(--ink)}textarea{resize:vertical;line-height:1.85}input::placeholder,textarea::placeholder{color:#929a93}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #37664b16}button:focus-visible,a:focus-visible{outline:3px solid #91b39a;outline-offset:4px}label{display:block;font-size:13px;font-weight:550}label>input,label>textarea,label>select{margin-top:7px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green);cursor:pointer}input[type=checkbox]:focus-visible{outline:3px solid #91b39a;outline-offset:3px}input[type=date],input[type=time]{min-height:46px}[hidden]{display:none!important}.muted{color:var(--muted);font-size:13px}.subtle,.kicker{color:var(--green);font-size:12px;letter-spacing:1px}.primary,.secondary,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:8px;padding:10px 17px;font-weight:550;min-height:42px;white-space:nowrap;transition:background .15s}.primary{background:var(--green);color:white}.primary:hover{background:#2a533c}.secondary{background:white;border-color:#dce3db}.secondary:hover{background:var(--soft)}.danger-button{background:var(--red);color:white}.wide{width:100%}.brand{display:flex;align-items:center;gap:12px;font-size:26px;font-weight:700;line-height:1}.brand-symbol{width:33px;height:33px;display:grid;place-items:center;background:var(--green);color:white;font-size:22px;border-radius:10px;font-weight:500;transform:rotate(-4deg)}.brand-dot{color:#72977a}.boot{min-height:100dvh;display:grid;place-items:center;color:var(--muted)}
.login-screen{display:grid;grid-template-columns:1.15fr 1fr;min-height:100dvh;max-width:1400px;margin:auto}.login-intro{padding:64px 12%;background:#edf1e9;display:flex;flex-direction:column;justify-content:center}.login-intro .brand{margin-bottom:70px}.login-intro h1{font-size:48px;line-height:1.45;letter-spacing:1px}.login-intro>p{margin-top:22px;color:#6d7d6c;line-height:1.9}.login-art{padding:25px 27px;margin-top:42px;border-radius:10px;background:#ffffffa8;transform:rotate(-3deg);box-shadow:0 14px 35px #30442c09;max-width:340px}.art-line{padding:13px 0;display:flex;align-items:center;gap:13px;font-size:14px}.art-line+.art-line{border-top:1px solid #e4e9df}.art-line.checked{color:#73856f}.art-line.checked span{text-decoration:line-through;text-decoration-color:#acb7a8}.art-check{width:15px;height:15px;border:1px solid #a1afa0;border-radius:4px}.login-form{max-width:420px;width:100%;align-self:center;justify-self:center;padding:35px}.login-form h2{font-size:29px;margin:10px 0}.login-form>label{margin-top:35px}.login-form .primary{margin-top:8px}.error{color:var(--red);min-height:30px;font-size:13px;padding-top:6px}.login-foot{text-align:center;margin-top:28px;color:var(--muted);font-size:11px}
.shell{min-height:100dvh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{background:#eef1eb;border-right:1px solid #e4e9e0;position:fixed;inset:0 auto 0 0;width:230px;display:flex;flex-direction:column;padding:36px 20px 22px}.sidebar .brand{padding-left:12px}.sidebar-caption{font-size:11px;color:#8b9588;padding:18px 12px 32px}.main-nav{display:flex;flex-direction:column;gap:5px}.nav-item{border:0;background:transparent;min-height:44px;text-align:left;width:100%;display:flex;align-items:center;gap:12px;font-size:13px;border-radius:8px;padding:10px 13px;color:#65725f}.nav-item:hover{background:#e5ebe1}.nav-item.active{background:#dde7d9;color:#2c543c;font-weight:600}.nav-icon{font-size:20px;line-height:1;display:inline-grid;width:22px;place-items:center;font-weight:400}.nav-count{margin-left:auto;font-size:11px;background:#cbdac6;min-width:22px;text-align:center;border-radius:5px;padding:1px 5px}.note-count{margin-left:auto;color:#83907d;font-size:11px}.nav-divider{height:1px;background:#dfe5d9;margin:18px 12px}.sidebar-bottom{margin-top:auto;padding-top:30px}.reminder-indicator{display:flex;align-items:center;gap:7px;font-size:11px;color:#808c7b;margin:0 12px 16px}.state-dot{width:6px;height:6px;background:#a8b1a4;border-radius:50%;flex-shrink:0}.state-dot.on{background:#477956}.logout{color:#8a9286}.private-label{font-size:10px;color:#9aA294;margin:21px 12px 0}.main-content{grid-column:2;min-width:0}.topbar{height:83px;padding:0 48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#7d877c;font-size:12px;gap:20px}.topbar-right{display:flex;gap:25px;align-items:center}.avatar{width:30px;height:30px;border:1px solid #dce4d7;border-radius:50%;display:grid;place-items:center;color:#77876c;font-size:11px;background:#edf1e8}.search-wrap{display:flex;align-items:center;gap:8px;font-weight:400}.search-wrap>span{font-size:24px;color:#889381}.search-wrap input{width:180px;font-size:12px;border:0;background:transparent;margin:0;padding:8px 3px}.content-wrap{max-width:1100px;margin:0 auto;padding:45px 58px 25px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-heading h1{margin:8px 0 9px}.page-heading .primary{margin-top:25px}.daily-summary{background:#edf2e8;border:1px solid #e1e8da;border-radius:var(--radius);padding:22px 26px;display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.summary-heading{font-size:13px;font-weight:600;color:#536c48}.daily-summary p{font-size:12px;color:#7e8d72;margin-top:5px}.summary-count{display:flex;align-items:baseline;gap:9px;white-space:nowrap}.summary-count strong{font-size:33px;line-height:1.3;color:#557646;font-weight:500}.summary-count>span{font-size:13px;color:#93a086}.quick-add{display:flex;align-items:center;gap:10px;padding:8px 15px;border:1px solid #e0e6dd;border-radius:10px;background:white;margin-bottom:29px;transition:border-color .15s}.quick-add:focus-within{border-color:#84a47b}.quick-add>span{font-size:25px;color:#9aaa91}.quick-add input{background:transparent;border:0;padding:9px 3px;font-size:13px;box-shadow:none;min-width:0}.quick-add button{font-size:12px;background:#f1f4ee;border:0;border-radius:6px;white-space:nowrap;padding:7px 10px;color:#6d7c64}.quick-add button span{margin-left:4px}.list-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:550;margin-bottom:11px;padding:0 2px}.list-toolbar .muted{font-size:11px;font-weight:400}.task-row{display:flex;align-items:flex-start;gap:13px;padding:18px 2px;border-bottom:1px solid #e7ebe3}.task-checkbox{appearance:none;flex-shrink:0;width:19px!important;height:19px!important;background:white;border:1.5px solid #c4cebd;border-radius:6px;padding:0;margin:3px 0 0;position:relative}.task-checkbox:checked{background:var(--green);border-color:var(--green)}.task-checkbox:checked:after{content:'✓';position:absolute;color:white;font-size:13px;inset:-2px 0 0;text-align:center}.task-main{min-width:0;flex:1}.task-title{border:0;background:none;text-align:left;font-size:14px;padding:0;line-height:1.7;word-break:break-word;display:block;width:100%}.task-title:hover{color:var(--green)}.task-row.done .task-title{text-decoration:line-through;color:#9ba395}.task-meta{display:flex;gap:11px;align-items:center;flex-wrap:wrap;font-size:10px;color:#98a08f;margin-top:5px}.task-meta .overdue{color:#b17a58}.task-meta .priority{color:#a18749}.task-excerpt{font-size:11px;color:#8f9987;margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-edit{border:0;background:transparent;color:#9da591;font-size:18px;line-height:1.5;min-width:32px;min-height:32px;border-radius:6px}.task-edit:hover{background:#edf1e7;color:var(--green)}.section-label{font-size:11px;color:#8f9987;margin:27px 0 3px;display:flex;justify-content:space-between}.page-bottom{font-size:11px;color:#a3ac9b;margin:35px 0 20px;text-align:center}.empty-state{text-align:center;padding:57px 20px 64px}.empty-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#ebf0e5;color:#93a582;font-size:27px;margin:0 auto 17px;transform:rotate(-5deg)}.empty-state h2{font-size:16px;color:#75856a;font-weight:500}.empty-state p{font-size:12px;color:#9ba48e;margin-top:9px}.load-error{padding:30px;text-align:center;font-size:13px;color:var(--red)}.load-error button{margin-top:14px}
.notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.note-card{display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid #e1e7db;border-radius:12px;padding:23px;min-height:210px;transition:box-shadow .15s,border-color .15s}.note-card:hover{border-color:#a9bc9c;box-shadow:0 5px 20px #2c482b06}.note-card h2{font-size:16px;overflow-wrap:anywhere}.note-card p{font-size:12px;line-height:1.9;color:#8b9582;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;margin:13px 0 20px}.note-card time{font-size:10px;color:#a2ac98;margin-top:auto}.settings-panel{background:white;border:1px solid var(--line);border-radius:12px;padding:27px;margin-bottom:22px}.settings-panel>p{margin-top:8px}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.panel-header p{margin-top:5px}.switch-label,.checkbox-label{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:400}.switch-label{white-space:nowrap}.switch-label input,.checkbox-label input{margin:0}.info-box{border:1px solid #e2e8db;background:#f4f7f0;color:#748168;border-radius:8px;padding:12px 15px;font-size:12px;line-height:1.9;margin-bottom:24px}.info-box a{text-decoration:underline}.settings-fields{display:grid;grid-template-columns:140px 1fr;gap:22px;margin-bottom:24px}.settings-fields label>span{font-size:10px;font-weight:400;margin-left:5px}.settings-fields small{display:block;color:#8e9886;font-size:11px;font-weight:400;margin-top:7px}.field-help{font-size:11px;color:#8e9886;line-height:1.9;margin-top:9px}.settings-actions{display:flex;gap:12px;margin-top:25px}.reminder-logs{margin-top:18px}.log-row{font-size:11px;padding:13px 0;border-top:1px solid var(--line);display:flex;gap:15px;align-items:flex-start;color:#85907d}.log-row time{white-space:nowrap;min-width:110px}.log-row strong{font-weight:500;color:#637756}.log-row p{font-size:10px;margin-top:3px;color:#9ca591}.export-panel{display:flex;justify-content:space-between;align-items:center;gap:20px}.export-panel p{margin-top:6px}.editor-dialog,.confirm-dialog{border:1px solid #dce4d6;background:#fbfcf9;border-radius:16px;padding:28px;width:min(520px,calc(100% - 32px));max-height:90dvh;overflow-y:auto;color:var(--ink);box-shadow:0 25px 100px #14250e22}.editor-dialog::backdrop,.confirm-dialog::backdrop{background:#24382060;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-header h2{font-size:20px}.icon-button{border:0;background:transparent;font-size:24px;color:#94a088;line-height:1;padding:5px;min-width:32px;min-height:32px;border-radius:5px}.icon-button:hover{background:var(--soft)}.editor-dialog label{margin-bottom:17px}.editor-dialog .checkbox-label{margin-bottom:0}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:25px}.text-danger{border:0;background:none;padding:8px 0;color:#ae7666;font-size:12px}.text-danger:hover{color:var(--red)}.danger-actions{display:flex;gap:16px}.note-dialog{width:min(700px,calc(100% - 32px))}.note-body{font-size:14px;min-height:260px}.confirm-dialog{width:min(400px,calc(100% - 32px));padding:25px}.confirm-dialog p{margin-top:12px;line-height:1.9}.confirm-dialog .dialog-footer{justify-content:flex-end}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#2f4937;color:white;font-size:13px;border-radius:10px;padding:12px 22px;box-shadow:0 8px 30px #14270b20;max-width:calc(100% - 32px);z-index:100;line-height:1.8}.toast.error-toast{background:#8b4a3e}
/* Keep secondary copy readable on both paper and the pale green background. */
.muted{color:#667362}.task-meta,.task-excerpt,.section-label{color:#6f7b66}.task-meta .overdue{color:#9c603e}.task-meta .priority{color:#8a6b2d}.field-help,.settings-fields small{color:#6e7b64}.daily-summary p{color:#697d5b}.info-box{color:#627454}.note-card p{color:#6d7b62}.note-card time{color:#758368}.page-bottom{color:#7e8a74}.log-row,.log-row p{color:#718063}
.mobile-settings{display:none}
@media(min-width:1500px){.content-wrap{padding-top:60px}.topbar{padding-inline:65px}}
@media(max-width:1050px){.shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{width:205px;padding-inline:14px}.content-wrap{padding:35px 30px}.topbar{padding-inline:30px}.settings-fields{grid-template-columns:1fr}.notes-grid{gap:14px}}
@media(max-width:720px){h1{font-size:29px}.shell{display:block;padding-bottom:78px}.sidebar{position:fixed;inset:auto 0 0;width:100%;height:70px;padding:0 5px;background:#f4f6f0f5;backdrop-filter:blur(12px);border:0;border-top:1px solid #dfe6d8;z-index:20;display:block;padding-bottom:env(safe-area-inset-bottom)}.sidebar>.brand,.sidebar-caption,.sidebar-bottom,.nav-divider,.note-count{display:none}.main-nav{height:100%;display:flex;flex-direction:row;justify-content:space-around;gap:0}.nav-item{display:flex;flex-direction:column;justify-content:center;gap:3px;font-size:10px;min-height:64px;padding:6px 3px;border-radius:0;flex:1}.nav-item.active{background:transparent;color:var(--green)}.nav-item.active .nav-icon{background:#dde8d7;border-radius:8px;width:38px;padding:3px}.nav-icon{font-size:21px;width:38px;height:28px}.nav-count{display:none}.main-nav>.nav-item[data-view=all]{display:none}.main-nav:after{content:none}.main-content{padding:0}.topbar{height:65px;padding:0 22px;font-size:11px}.topbar-right{gap:12px}.avatar{display:none}.search-wrap input{width:127px;font-size:11px}.search-wrap{gap:4px}.content-wrap{padding:28px 22px 15px}.page-heading{gap:12px;margin-bottom:24px}.page-heading .primary{font-size:12px;padding:8px 11px;min-height:38px}.page-heading .muted{font-size:11px;max-width:240px;line-height:1.8}.kicker{font-size:10px}.daily-summary{padding:18px;margin-bottom:22px}.daily-summary p{font-size:10px;max-width:230px}.summary-count strong{font-size:28px}.summary-count{gap:5px}.summary-count>span{font-size:11px}.quick-add{padding:7px 11px;margin-bottom:24px;gap:7px}.quick-add input{font-size:12px}.quick-add button{font-size:11px}.task-row{padding:17px 0;gap:12px}.task-title{font-size:13px}.notes-grid{grid-template-columns:1fr}.note-card{min-height:180px}.settings-panel{padding:21px 18px}.panel-header{align-items:flex-start;gap:15px}.panel-header h2,.settings-panel h2{font-size:15px}.panel-header .muted{font-size:11px}.switch-label{font-size:11px}.settings-fields{gap:18px}.export-panel{align-items:flex-start;flex-direction:column}.settings-actions{flex-wrap:wrap;gap:9px}.settings-actions button{font-size:12px;padding-inline:12px}.log-row{gap:12px}.log-row time{min-width:90px;font-size:10px}.login-screen{display:block;padding:36px 25px;min-height:100dvh;background:#edf1e9}.login-intro{padding:10px 15px 0}.login-intro .brand{margin-bottom:35px}.login-intro h1{font-size:35px}.login-intro>p,.login-art{display:none}.login-form{padding:30px 15px;margin:0 auto}.login-form h2{font-size:24px}.login-form>label{margin-top:25px}.login-form .subtle{display:none}.editor-dialog{padding:23px}.toast{bottom:88px}.empty-state{padding:45px 10px}.page-bottom{font-size:10px}.mobile-settings{display:flex!important}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
