:root{--ink:#142c2a;--green:#1f6b5d;--mint:#dff4ec;--paper:#f5f7f4;--line:#d7ded9;--danger:#a62e2e;--shadow:0 18px 50px rgba(20,44,42,.16)}*{box-sizing:border-box}html{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper)}body{margin:0;min-height:100vh}header{height:64px;padding:0 max(18px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:white}.brand{font-weight:900;letter-spacing:.14em;font-size:1.25rem}.logout{color:#d7ece7;text-decoration:none;font-size:.9rem}.tabs{position:sticky;top:0;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);background:white;border-bottom:1px solid var(--line)}.tabs a{text-align:center;padding:16px 8px 13px;text-decoration:none;color:#60706b;font-weight:750;border-bottom:3px solid transparent}.tabs a.active{color:var(--green);border-color:var(--green)}main{max-width:720px;margin:auto;padding:18px 14px 90px}.add{width:100%;border:0;border-radius:15px;padding:16px;background:var(--green);color:white;font-size:1.05rem;font-weight:800;box-shadow:0 7px 18px rgba(31,107,93,.2);margin-bottom:16px}.task-list{display:grid;gap:10px}.task{display:grid;grid-template-columns:48px 1fr 36px;align-items:center;background:white;border:1px solid var(--line);border-radius:15px;min-height:76px;overflow:hidden}.task.done{opacity:.43}.check{width:28px;height:28px;border:2px solid var(--green);border-radius:50%;margin-left:12px;background:white;color:white;font-size:1rem;font-weight:900}.done .check{background:var(--green)}.task-body{text-decoration:none;color:var(--ink);display:grid;gap:3px;padding:13px 4px}.task-body strong{font-size:1rem}.task-body span{font-size:.96rem}.task-body small{color:#65726e;line-height:1.35}.edit{font-size:2rem;color:#82908b;text-decoration:none}.empty{text-align:center;color:#6f7d78;padding:48px 16px;background:white;border:1px dashed var(--line);border-radius:15px}dialog{width:min(620px,calc(100% - 20px));max-height:calc(100vh - 20px);border:0;border-radius:22px;padding:0;box-shadow:var(--shadow);color:var(--ink)}dialog::backdrop{background:rgba(11,28,26,.58)}.editor{padding:20px;display:grid;gap:14px}.dialog-head{display:flex;align-items:center;justify-content:space-between}.dialog-head h2{margin:0}.close{border:0;background:#edf1ee;border-radius:50%;font-size:1.6rem;width:40px;height:40px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{display:grid;gap:6px;font-weight:700;font-size:.9rem}input,select,textarea{width:100%;border:1px solid #aebbb6;border-radius:11px;background:white;padding:13px;font:inherit;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid #bce6da;border-color:var(--green)}button{cursor:pointer}.primary{border:0;border-radius:12px;padding:14px;background:var(--green);color:white;font-size:1rem;font-weight:800}.delete-form{padding:0 20px 20px}.danger{width:100%;border:1px solid #e2baba;background:white;color:var(--danger);border-radius:12px;padding:13px;font-weight:750}.login,.setup{display:grid;place-items:center;padding:20px;background:linear-gradient(145deg,var(--ink),#285c54);min-height:100vh}.login-card,.setup-card{width:min(460px,100%);background:white;border-radius:22px;padding:26px;box-shadow:var(--shadow)}.login-card .brand,.setup-card .brand{color:var(--green);font-size:1.45rem}.login-card h1,.setup-card h1{margin:22px 0 18px}.login-card form,.setup-card form{display:grid;gap:15px}.setup-card{margin:30px auto}.setup-card h2{font-size:1.05rem;margin:14px 0 0}.notice{padding:12px;border-radius:10px;margin-bottom:14px}.error{background:#fee7e7;color:#7d2020}@media(min-width:700px){main{padding-top:28px}.task{min-height:82px}}@media(max-width:420px){.row{grid-template-columns:1fr}.tabs a{font-size:.92rem}}
