:root{--navy:#182d3c;--teal:#197c74;--cream:#f8f5ee;--pink:#efb8c8;--line:#e3e4dc;--muted:#67716f;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px;border:0;border-radius:12px;color:inherit;font-weight:650}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:3px solid var(--teal);outline-offset:3px}input,select,textarea{width:100%;min-height:48px;border:1px solid #c5cdc7;border-radius:12px;padding:12px;background:#fff;color:var(--navy);font-size:16px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--teal);outline-offset:2px}header{max-width:880px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;font-weight:750;font-size:20px}.brand small{display:block;font-size:11px;font-weight:500;color:var(--muted);margin-top:3px}.mark{background:var(--navy);color:var(--cream);border-radius:12px;width:48px;height:48px;display:grid;place-items:center;font-family:Georgia,serif;font-size:20px}.quiet{background:transparent;padding:10px 12px;font-size:14px}.quiet:hover{background:#eaece5}main{max-width:740px;margin:auto;padding:12px 24px 30px}h1{font-size:clamp(32px,6vw,48px);line-height:1.12;letter-spacing:-1.6px;margin:14px 0 24px;font-weight:700}h1 em{font-style:normal;color:var(--teal)}h2{font-size:19px;margin:0}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:var(--teal)}.intro{display:flex;justify-content:space-between;align-items:center;padding-top:18px}.house{font-size:90px;color:var(--teal);transform:rotate(-7deg);opacity:.35;margin:10px 15px}.progress-card{background:var(--navy);color:#fff;border-radius:20px;padding:22px;margin-bottom:26px}.progress-top{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:13px}.progress-top strong{font-size:30px;letter-spacing:-1px}progress{display:block;border:0;width:100%;height:8px;border-radius:20px;background:#445663;margin:18px 0 12px;overflow:hidden}progress::-webkit-progress-bar{background:#445663}progress::-webkit-progress-value{background:var(--pink);border-radius:20px}progress::-moz-progress-bar{background:var(--pink)}.progress-bottom{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#d4ddd9}.progress-bottom>span:last-child{font-size:9px;letter-spacing:1.4px}.tools{display:flex;justify-content:space-between;align-items:center;gap:8px}.tools h2 span{font-weight:500;color:var(--muted);font-size:14px}.filters{display:flex;background:#eaece5;padding:5px;border-radius:14px;gap:4px;margin:15px 0}.filters button{flex:1;background:transparent;padding:8px;font-size:14px;min-width:0}.filters button[aria-pressed=true]{background:#fff;box-shadow:0 2px 5px #182d3c12;color:var(--teal)}.search input{background:transparent;border-color:var(--line);margin-bottom:20px}.group{margin-bottom:24px}.group-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px}.group-heading h3{font-size:15px;margin:0}.group-heading span{font-size:12px;color:var(--muted)}.group-heading h3:before{content:"";display:inline-block;background:var(--teal);width:8px;height:8px;border-radius:50%;margin-right:8px}.group:nth-child(2) .group-heading h3:before{background:#d2a052}.group:nth-child(3) .group-heading h3:before{background:#b587a1}.task{background:#fff;display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:15px;padding:8px;margin-bottom:8px}.check{width:44px;min-width:44px;height:48px;display:grid;place-items:center;background:transparent}.check span{width:24px;height:24px;border:1.5px solid #bbc9c3;border-radius:8px;display:grid;place-items:center}.done .check span{background:var(--pink);border-color:var(--pink)}.task-body{flex:1;min-width:0;text-align:left;display:block;background:transparent;border-radius:8px;padding:7px 4px;line-height:1.5;font-size:15px;font-weight:600;overflow-wrap:anywhere}.task-title{display:block}.done .task-title{text-decoration:line-through;color:var(--muted)}.task-detail{font-size:12px;display:block;color:var(--muted);font-weight:400;white-space:pre-line;margin-top:5px}.date-tag{display:inline-block;font-size:11px;color:var(--teal);background:#e9f3ee;padding:2px 7px;border-radius:6px;font-weight:600;margin-top:7px}.date-tag.overdue{color:#9d4650;background:#faeaed}.edit-hint{font-size:14px;color:#a4b0a9;padding:14px 6px;pointer-events:none}.empty{border:1px dashed #bbc9c3;border-radius:18px;padding:32px 18px;text-align:center;color:var(--muted);line-height:1.7}.sync-note{text-align:center;color:var(--muted);font-size:11px;line-height:1.7;margin:26px 0 14px}.primary{background:var(--teal);color:#fff;padding:14px 20px;min-height:50px}.primary:hover{background:#12685f}.add{display:flex;justify-content:center;align-items:center;gap:8px;width:100%;box-shadow:0 6px 20px #197c7425}.add span{font-size:23px}.auth{max-width:420px;margin:30px auto}.auth>p{color:var(--muted);line-height:1.6}.auth label,dialog label{display:block;font-size:13px;font-weight:600;margin:18px 0}.auth input,dialog input,dialog textarea,dialog select{display:block;margin-top:8px}.auth .primary{width:100%;display:flex;justify-content:space-between}.hint{font-size:12px}.auth .hint{margin-top:22px}dialog{border:0;border-radius:22px;padding:24px;width:calc(100% - 24px);max-width:480px;max-height:calc(100dvh - 32px);overflow:auto;color:var(--navy);background:var(--cream);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#182d3c88}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center;margin-top:22px}.dialog-actions .primary{flex:1}.danger{background:#f6e1e7;color:#9b354e;padding:12px}.optional{color:var(--muted);font-weight:400;margin-left:5px}footer{max-width:740px;margin:auto;padding:15px 24px 30px;text-align:center;font-size:10px;color:var(--muted);letter-spacing:1px}footer span{margin:0 5px}#message{position:fixed;bottom:calc(95px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 40px);max-width:480px;background:var(--navy);color:#fff;box-shadow:0 6px 30px #0003;padding:16px;border-radius:12px;z-index:10;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(max-width:600px){header{padding:18px 20px}main{padding:8px 20px 110px}.intro{padding-top:12px}.house{font-size:68px;margin:0 4px}.progress-card{padding:20px}.add{position:fixed;bottom:calc(14px + env(safe-area-inset-bottom));left:20px;width:calc(100% - 40px);z-index:3}footer{padding-bottom:100px}dialog{padding:20px}body:has(dialog[open]){overflow:hidden}.auth{margin-top:28px}.task{gap:3px}.edit-hint{padding:14px 3px}}@media(prefers-reduced-motion:no-preference){button{transition:background .15s}dialog[open]{animation:appear .15s ease-out}@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}
