:root{color:#1b1c19;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f7f4ec;--paper-deep:#efebe0;--ink:#1b1c19;--muted:#72736d;--line:#d9d4c8;--accent:#b84d2f;--accent-dark:#88351f;--green:#416955;background:#ebe8df;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 0,#ffffffd9,#0000 32rem),linear-gradient(135deg,#ece8de 0%,#e4e1d7 100%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.page-shell{width:min(820px,100% - 32px);margin:0 auto;padding:38px 0 28px}.topbar,.brand,.list-toolbar,footer,.add-form,.todo-row{align-items:center;display:flex}.topbar{justify-content:space-between;margin-bottom:28px}.brand{gap:14px}.brand-mark,.lock-mark{color:var(--paper);background:var(--ink);place-items:center;font-family:Georgia,serif;font-weight:700;display:grid}.brand-mark{border-radius:13px;width:44px;height:44px;font-size:23px}.eyebrow{color:var(--muted);letter-spacing:.16em;margin:0 0 4px;font-size:11px;font-weight:800}h1{letter-spacing:-.03em;margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(28px,5vw,38px);line-height:1}.icon-button{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#f7f4ecb8;border-radius:50%;padding:10px}.icon-button:hover{background:var(--paper)}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%}.spinning{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hero-card{color:#f8f5ed;background:#20211e;border-radius:28px;grid-template-columns:1fr auto;align-items:center;gap:24px;min-height:180px;padding:34px 38px;display:grid;box-shadow:0 20px 50px #25221b21}.date-label{color:#c9c5ba;letter-spacing:.05em;margin:0 0 18px;font-size:14px}.hero-copy{max-width:480px;margin:0;font-family:Georgia,Songti SC,serif;font-size:clamp(22px,4vw,32px);line-height:1.35}.progress-ring{--progress:0%;aspect-ratio:1;text-align:center;background:radial-gradient(circle at center, #20211e 64%, transparent 65%), conic-gradient(#d66b49 var(--progress), #51514c 0);border-radius:50%;place-content:center;width:110px;display:grid;position:relative}.progress-ring strong{font:700 34px/1 Georgia,serif}.progress-ring span{color:#c9c5ba;margin-top:6px;font-size:11px}.add-form{border:1px solid var(--line);background:var(--paper);border-radius:18px;gap:12px;margin:22px 0;padding:10px 10px 10px 18px;box-shadow:0 10px 30px #2e291f0f}.add-plus{color:var(--accent);font-size:25px}.add-form input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:11px 4px}.add-form input::placeholder{color:#99978f}.add-form button,.primary-button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:12px;font-weight:700}.add-form button{padding:12px 20px}.add-form button:hover,.primary-button:hover{background:var(--accent-dark)}button:disabled{opacity:.48;cursor:not-allowed}.list-card{border:1px solid var(--line);background:var(--paper);border-radius:24px;overflow:hidden;box-shadow:0 16px 46px #2e291f12}.list-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:20px 24px}.filters{background:var(--paper-deep);border-radius:11px;gap:4px;padding:4px;display:flex}.filters button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:650}.filters button.active{color:var(--ink);background:#fff;box-shadow:0 2px 9px #2b271d14}.cloud-state{color:var(--muted);white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.status-dot{background:var(--green);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #41695521}.todo-row{border-bottom:1px solid var(--line);gap:15px;min-height:86px;padding:17px 24px;transition:opacity .2s,background .2s}.todo-row:last-child{border-bottom:0}.todo-row:hover{background:#ffffff8c}.todo-row.is-busy{opacity:.55}.check-button{color:#fff;cursor:pointer;background:0 0;border:1.5px solid #96968e;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;padding:3px;display:grid}.check-button[aria-pressed=true]{border-color:var(--green);background:var(--green)}.check-button svg{fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;width:100%}.todo-content{flex:1;min-width:0}.todo-title{max-width:100%;color:var(--ink);text-align:left;cursor:text;background:0 0;border:0;padding:0;font-weight:650;line-height:1.45;display:block}.is-done .todo-title{color:#85857e;text-decoration:line-through;text-decoration-thickness:1px}.todo-meta{color:#96968e;margin-top:6px;font-size:11px;display:block}.edit-input{border:1px solid var(--accent);background:#fff;border-radius:7px;outline:3px solid #b84d2f1a;width:100%;padding:5px 7px}.delete-button{color:#9b7970;cursor:pointer;opacity:.55;background:0 0;border:0;border-radius:50%;width:34px;height:34px;font-size:25px;line-height:1}.delete-button:hover{color:var(--accent-dark);opacity:1;background:#f2e4df}.empty-state{color:var(--muted);text-align:center;padding:60px 24px}.empty-state>span{border:1px solid var(--line);width:44px;height:44px;color:var(--green);border-radius:50%;place-items:center;margin:0 auto 14px;font-size:21px;display:grid}.empty-state strong{color:var(--ink);font-family:Georgia,Songti SC,serif;font-size:20px;display:block}.empty-state p{margin:8px 0 0;font-size:13px}.notice{color:#7c2f1c;background:#f9e9e4;border:1px solid #e4b6a8;border-radius:10px;margin:16px 24px 0;padding:12px 14px;font-size:13px}footer{color:var(--muted);justify-content:space-between;padding:20px 4px 0;font-size:12px}footer button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 0}footer button:hover{color:var(--ink)}.unlock-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.unlock-card{border:1px solid var(--line);background:var(--paper);border-radius:26px;width:min(440px,100%);padding:42px;box-shadow:0 24px 70px #27231b24}.lock-mark{border-radius:15px;width:54px;height:54px;margin-bottom:28px;font-size:28px}.unlock-card h1{margin-bottom:16px}.unlock-copy{color:var(--muted);margin:0 0 28px;font-size:14px;line-height:1.7}.unlock-card form>label:first-child{margin-bottom:8px;font-size:12px;font-weight:750;display:block}.unlock-card input[type=password]{border:1px solid var(--line);background:#fff;border-radius:11px;outline:0;width:100%;padding:13px 14px}.unlock-card input[type=password]:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b84d2f1a}.remember-row{color:var(--muted);align-items:center;gap:9px;margin:14px 0 22px;font-size:12px;display:flex}.remember-row input{accent-color:var(--accent)}.unlock-card .notice{margin:0 0 16px}.primary-button{width:100%;padding:14px 18px}@media (width<=620px){.page-shell{width:min(100% - 20px,820px);padding-top:22px}.topbar{margin-bottom:20px}.hero-card{border-radius:22px;min-height:154px;padding:26px 24px}.progress-ring{width:88px}.progress-ring strong{font-size:28px}.list-toolbar{flex-direction:column;align-items:flex-start;padding:16px}.filters{width:100%}.filters button{flex:1;padding-inline:6px}.cloud-state{padding-left:5px}.todo-row{min-height:78px;padding:15px 16px}.unlock-card{padding:30px 24px}}@media (width<=420px){.hero-card{grid-template-columns:1fr}.progress-ring{display:none}.add-form{gap:6px;padding-left:12px}.add-form button{padding-inline:15px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
