:root{color-scheme:light;--ink:#253329;--muted:#788279;--accent:#657b65;--accent-dark:#50664f;--soft:#edf1e9;--paper:#f5f6f2;--line:#e3e8df;--white:#fff;--shadow:0 18px 45px rgba(39,55,39,.06)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}
.site-header{min-height:76px;padding:12px max(22px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px;background:rgba(255,255,255,.9);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font-weight:800}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:var(--accent);color:white;font:700 23px Georgia,serif}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:500}
.local-pill,.date-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:white;color:var(--muted);font-size:9px;font-weight:750;letter-spacing:.8px}.local-pill i{width:6px;height:6px;border-radius:50%;background:#7c9b71}
.page-shell{max-width:1120px;margin:auto;padding:55px 24px 64px}.welcome{max-width:680px;margin:0 0 35px}.eyebrow{margin:0 0 10px;color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.6px}
.welcome h1{margin:0;font-size:clamp(40px,6vw,65px);line-height:1.02;letter-spacing:-3px;font-weight:750}.welcome h1 em{color:var(--accent);font-family:Georgia,serif;font-weight:500}.intro-copy{max-width:510px;margin:18px 0 0;color:var(--muted);font-size:15px;line-height:1.8}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(245px,.8fr);gap:20px;align-items:start}.main-column,.side-column{min-width:0}.panel{border:1px solid var(--line);border-radius:19px;background:var(--white);box-shadow:var(--shadow)}.task-panel{padding:26px}
.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.panel-heading h2,.tool-card h2,.note-panel h2{margin:0;font-size:21px;letter-spacing:-.7px}.date-chip{font-size:10px;letter-spacing:0}
.task-form{display:flex;gap:9px;margin-top:23px}.task-form input{flex:1;min-width:0;height:48px;padding:0 15px;border:1px solid var(--line);border-radius:10px;background:#fbfcfa;color:var(--ink);outline:none}.task-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(101,123,101,.13)}.task-form input::placeholder{color:#a1aaa0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:0 17px;border:1px solid transparent;border-radius:10px;font-size:12px;font-weight:800;text-decoration:none;cursor:pointer;transition:transform .16s ease}.button:hover{transform:translateY(-1px)}.button:focus-visible,.filter-button:focus-visible,.text-button:focus-visible,.remove-task:focus-visible{outline:3px solid #b9c8b3;outline-offset:3px}.button-primary{background:var(--accent);color:white}.button-primary:hover{background:var(--accent-dark)}
.progress-block{margin:25px 0 20px}.progress-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:9px;color:var(--muted);font-size:11px}.progress-label strong{color:var(--accent)}.progress-track{height:7px;overflow:hidden;border-radius:99px;background:#edf0ea}.progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}
.task-toolbar{padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.filter-tabs{display:flex;gap:5px}.filter-button{padding:7px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer}.filter-button span{margin-left:3px;color:#a1aaa0}.filter-button.is-active{background:var(--soft);color:var(--accent-dark)}
.task-list{list-style:none;margin:0;padding:0}.task-item{display:flex;align-items:center;gap:12px;min-height:57px;border-bottom:1px solid #edf0ea}.task-label{display:flex;align-items:center;gap:12px;flex:1;min-width:0;cursor:pointer}.task-label input{position:absolute;width:1px;height:1px;opacity:0}.custom-check{display:grid;place-items:center;flex:0 0 19px;width:19px;height:19px;border:1.5px solid #cbd4c7;border-radius:6px;color:white}.task-label input:focus-visible+.custom-check{outline:3px solid #b9c8b3;outline-offset:3px}.task-label input:checked+.custom-check{border-color:var(--accent);background:var(--accent)}.task-label input:checked+.custom-check:after{content:"✓";font-size:12px;font-weight:800}.task-text{min-width:0;overflow-wrap:anywhere;font-size:13px}.task-item.is-done .task-text{color:#a0a99e;text-decoration:line-through}
.remove-task{width:31px;height:31px;border:0;border-radius:8px;background:transparent;color:#9aa398;font-size:20px;cursor:pointer}.remove-task:hover{background:#f5f6f2;color:#586456}
.empty-state{padding:36px 12px 30px;text-align:center;color:var(--muted)}.empty-state[hidden]{display:none}.empty-icon{display:inline-grid;place-items:center;width:37px;height:37px;margin-bottom:8px;border-radius:12px;background:var(--soft);color:var(--accent);font-size:20px}.empty-state h3{margin:0 0 4px;color:var(--ink);font-size:14px}.empty-state p{margin:0;font-size:12px}
.list-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;color:var(--muted);font-size:10px}.text-button{padding:5px;border:0;background:transparent;color:var(--accent);font-size:10px;font-weight:750;cursor:pointer}.text-button:disabled{color:#b9c0b7;cursor:not-allowed}.privacy-note{margin:12px 4px;color:#8b958a;font-size:10px}.privacy-note span{margin-right:5px;color:var(--accent)}
.side-column{display:grid;gap:15px}.note-panel,.tool-card{padding:23px}.note-symbol{display:grid;place-items:center;width:36px;height:36px;margin-bottom:20px;border-radius:11px;background:var(--soft);color:var(--accent);font-size:18px}.note-panel h2{max-width:190px;font-family:Georgia,serif;font-size:25px;font-weight:500;line-height:1.15}.note-panel>p:last-child,.tool-card>p:not(.eyebrow){margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.8}.tool-card{background:#eef2e9}.tool-card .button{margin-top:18px}.button-secondary{background:white;border-color:#dfe6d9;color:var(--accent-dark)}
.site-footer{display:flex;justify-content:space-between;gap:14px;max-width:1120px;margin:auto;padding:20px 24px 28px;border-top:1px solid var(--line);color:#9aa398;font-size:9px;font-weight:750;letter-spacing:1.2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.page-shell{padding-top:40px}.dashboard-grid{grid-template-columns:1fr}.side-column{grid-template-columns:1fr 1fr}.note-panel,.tool-card{padding:19px}}
@media(max-width:520px){.site-header{min-height:66px;padding:10px 18px}.local-pill{font-size:8px;padding:7px 9px}.page-shell{padding:35px 16px 45px}.welcome{margin-bottom:25px}.welcome h1{letter-spacing:-2px}.task-panel{padding:18px}.task-form{flex-direction:column}.task-form .button{width:100%}.side-column{grid-template-columns:1fr}.note-panel,.tool-card{padding:20px}.site-footer{padding:18px 16px 24px;font-size:8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
