:root{--ink:#24352f;--muted:#66746e;--line:#dedfd8;--paper:#fffefa;--canvas:#f5f3ee;--sage:#668a78;--sage-dark:#3f6655;--sage-soft:#e9f0eb;--danger:#a64c46}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{touch-action:manipulation}button:focus-visible,input:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #4d766247}main{min-height:100vh;padding:28px 20px 72px;position:relative;overflow:hidden}.ambient{filter:blur(2px);opacity:.48;pointer-events:none;border-radius:999px;position:fixed}.ambient-one{background:radial-gradient(circle,#d7e6d8,#0000 68%);width:370px;height:370px;top:130px;left:-180px}.ambient-two{background:radial-gradient(circle,#e9dfca,#0000 68%);width:450px;height:450px;top:-180px;right:-240px}.shell{width:min(760px,100%);margin:0 auto;position:relative}.topbar{justify-content:space-between;align-items:center;margin-bottom:78px;display:flex}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:720;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:var(--sage-dark);border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.date{color:var(--muted);margin:0;font-size:13px}.intro{margin-bottom:36px}.eyebrow,.list-kicker{color:var(--sage-dark);letter-spacing:.16em;margin:0 0 12px;font-size:11px;font-weight:800}h1{letter-spacing:-.045em;max-width:600px;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(38px,7vw,60px);font-weight:500;line-height:1.03}.subtitle{max-width:550px;color:var(--muted);margin:18px 0 0;font-size:16px;line-height:1.65}.notice{color:#725c3f;background:#fff5e9;border:1px solid #ead8bd;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.notice button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:6px;display:grid}.add-form{margin-bottom:30px}.add-form>label{margin:0 0 9px 2px;font-size:13px;font-weight:700;display:block}.input-row{background:var(--paper);border:1px solid #d9dad3;border-radius:15px;padding:6px;transition:border-color .2s,box-shadow .2s;display:flex;box-shadow:0 8px 24px #2c3b330f}.input-row:focus-within{border-color:#91aa9d;box-shadow:0 0 0 3px #5d85711c,0 8px 24px #2c3b330f}.input-row.has-error{border-color:var(--danger)}.input-row input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:13px 14px;font-size:15px}.input-row input::placeholder{color:#9ba49f}.input-row button,.save-button{color:#fff;background:var(--sage-dark);cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 18px;font-weight:700;transition:background .2s,transform .15s;display:inline-flex}.input-row button:hover,.save-button:hover{background:#315343}.input-row button:active,.save-button:active{transform:scale(.98)}.form-meta{justify-content:space-between;min-height:22px;padding:6px 3px 0;display:flex}.form-meta>span{color:#9aa39e;font-size:11px}.field-error{color:var(--danger);margin:0;font-size:12px}.list-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffefaeb;border:1px solid #e1e0d9;border-radius:22px;overflow:hidden;box-shadow:0 18px 50px #303c3514}.list-head{justify-content:space-between;align-items:flex-end;padding:25px 26px 20px;display:flex}.list-kicker{margin-bottom:7px}.list-head h2{letter-spacing:-.02em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:500}.progress{background:#e5e8e4;border-radius:5px;width:120px;height:5px;margin-bottom:7px;overflow:hidden}.progress span{border-radius:inherit;background:var(--sage);height:100%;transition:width .35s;display:block}.toolbar{border-top:1px solid #e7e6df;border-bottom:1px solid #e7e6df;justify-content:space-between;align-items:center;gap:10px;min-height:57px;padding:9px 18px;display:flex}.filters{gap:4px;display:flex}.filters button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 9px;font-size:12px;font-weight:650}.filters button:hover{color:var(--ink);background:#f3f3ee}.filters button[aria-pressed=true]{background:var(--sage-soft);color:var(--sage-dark)}.filters span{color:#718078;background:#526e601a;border-radius:8px;min-width:17px;margin-left:5px;padding:1px 4px;font-size:10px;display:inline-block}.clear-button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px;font-size:12px}.clear-button:hover:not(:disabled){color:var(--danger);background:#fff2f0}.clear-button:disabled{opacity:.4;cursor:not-allowed}.task-list{margin:0;padding:0;list-style:none}.task{border-bottom:1px solid #ebeae4;align-items:center;gap:14px;min-height:68px;padding:12px 19px 12px 25px;animation:.25s both arrive;display:flex}@keyframes arrive{0%{opacity:0;transform:translateY(-4px)}}.task:hover{background:#fcfcf8}.check-button{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #aab5af;border-radius:50%;flex:0 0 23px;place-items:center;width:23px;height:23px;padding:0;transition:all .2s;display:grid}.check-button:hover{border-color:var(--sage);background:var(--sage-soft)}.check-button[aria-pressed=true]{border-color:var(--sage);background:var(--sage)}.task-text{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;line-height:1.45;transition:color .2s}.is-complete .task-text{color:#89938e;-webkit-text-decoration:line-through #b1b9b5;text-decoration:line-through #b1b9b5}.task-actions{opacity:0;gap:2px;transition:opacity .15s;display:flex}.task:hover .task-actions,.task:focus-within .task-actions{opacity:1}.icon-button{color:#78857f;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.icon-button:hover{color:var(--ink);background:#eeefea}.icon-button.danger:hover{color:var(--danger);background:#fff0ee}.edit-wrap{flex:1;grid-template-columns:1fr auto;gap:6px 10px;min-width:0;display:grid}.edit-input{min-width:0;color:var(--ink);background:#fff;border:1px solid #97a9a0;border-radius:9px;outline:0;padding:10px 11px}.edit-input.has-error{border-color:var(--danger)}.edit-wrap .field-error{grid-column:1}.edit-actions{grid-area:1/2/span 2;align-items:flex-start;gap:4px;display:flex}.text-button{min-height:40px;color:var(--sage-dark);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:0 11px;font-size:12px;font-weight:700}.text-button:hover{background:var(--sage-soft)}.save-button{min-height:40px;padding:0 13px;font-size:12px}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:270px;padding:46px 24px;display:flex}.empty-art{width:70px;height:70px;color:var(--sage-dark);background:var(--sage-soft);border-radius:50%;place-items:center;margin-bottom:18px;display:grid;position:relative}.empty-art>span{background:#b8c7bf;border-radius:2px;height:2px;position:absolute;left:-15px}.empty-art>span:first-child{width:18px;top:23px}.empty-art>span:nth-child(2){width:10px;top:34px;left:-21px}.empty-art>span:nth-child(3){width:15px;top:45px}.empty-state h3{margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:23px;font-weight:500}.empty-state p{max-width:380px;color:var(--muted);margin:0;font-size:14px;line-height:1.6}.empty-state .text-button{margin-top:13px}.loading{min-height:270px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.loading span{border:2px solid #cdd5d0;border-top-color:var(--sage-dark);border-radius:50%;width:15px;height:15px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.list-footer{color:#87908c;background:#faf9f5;border-top:1px solid #e8e7e0;justify-content:space-between;padding:15px 25px;font-size:11px;display:flex}.list-footer p{margin:0}.list-footer strong{color:#65726b;font-weight:700}.toast{z-index:10;color:#fff;background:#293a34;border-radius:12px;align-items:center;gap:16px;min-width:min(360px,100vw - 32px);padding:10px 11px 10px 16px;font-size:13px;animation:.25s both toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #19251f40}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.toast span{flex:1}.toast button{color:#c8e1d2;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px;font-weight:800}.toast button:hover{background:#ffffff1a}.toast .toast-close{color:#dce4df;place-items:center;display:grid}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:620px){main{padding:20px 12px 56px}.topbar{margin-bottom:54px;padding:0 4px}.date{font-size:11px}.intro{margin-bottom:28px;padding:0 5px}h1{font-size:42px}.subtitle{font-size:14px}.add-form>label{margin-left:5px}.input-row{padding:5px}.input-row button{padding:0 13px}.list-panel{border-radius:18px}.list-head{padding:22px 20px 17px}.progress{width:74px}.toolbar{flex-direction:column;align-items:stretch;padding:9px 12px}.filters{grid-template-columns:repeat(3,1fr);display:grid}.filters button{padding:9px 5px}.clear-button{align-self:flex-end;padding:5px 7px}.task{gap:11px;padding-left:18px;padding-right:9px}.task-actions{opacity:1}.icon-button{width:34px}.edit-wrap{grid-template-columns:1fr}.edit-actions{grid-area:auto/1;justify-content:flex-end}.list-footer{padding:14px 18px}}@media (max-width:390px){.date{display:none}h1{font-size:37px}.input-row{grid-template-columns:1fr auto;display:grid}.input-row input{padding-left:10px}.input-row button{width:44px;padding:0;font-size:0}.input-row button svg{margin:0}.progress{display:none}.task-text{font-size:13px}.list-footer p:last-child{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:20;color:#fff;background:var(--sage-dark);border-radius:8px;padding:10px 14px;font-weight:700;text-decoration:none;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}#main-content,#main-list{scroll-margin-top:20px}h1,h2,h3{text-wrap:balance}.task{content-visibility:auto;contain-intrinsic-size:auto 68px}.filters span,.form-meta>span,.list-footer{font-variant-numeric:tabular-nums}@media (hover:hover){button,a{-webkit-tap-highlight-color:transparent}}@supports (padding:max(0px)){main{padding-bottom:max(72px, env(safe-area-inset-bottom))}}
