:root{font:16px system-ui,sans-serif;color:#203a36;background:#f3f5ee;accent-color:#23695c}*{box-sizing:border-box}body{margin:0}main{max-width:1000px;margin:auto;padding:48px 24px}header{margin-bottom:36px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#537568}h1{font-size:clamp(36px,7vw, sixty);font-size:48px;letter-spacing:-2px;margin:10px 0}header>p:last-child{color:#697b70}h2{font-size:24px}button,input,select,textarea{font:inherit;border-radius:10px;padding:12px;border:1px solid #cbd5ca}button{cursor:pointer;background:#23695c;color:white;border:0;min-height:44px;font-weight:600}button:disabled{opacity:.5;cursor:wait}.secondary{background:#e6ebe1;color:#23483e}label{display:grid;gap:7px;font-size:13px;font-weight:600}input,select,textarea{background:white;color:#203a36;min-width:0;width:100%}input:focus,textarea:focus,select:focus{outline:2px solid #619887;outline-offset:2px}nav{display:flex;gap:10px;flex-wrap:wrap}.filters{display:grid;grid-template-columns:1fr 2fr 1fr;gap:14px;margin-top:24px}#count{font-size:13px;color:#697b70}.card{background:white;border:1px solid #e0e6da;border-radius:14px;padding:18px;margin:10px 0;display:flex;align-items:center;gap:16px}.card .detail{flex:1;min-width:0}.card h3{margin:0 0 6px;font-size:16px;overflow-wrap:anywhere}.meta{font-size:12px;color:#697b70}.card p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;max-height:100px;overflow:auto}.toggle{border:1px solid #a8bcae;background:#f5f7f1;color:#23695c;flex-shrink:0}.completed h3{text-decoration:line-through}#login{background:white;padding:28px;border-radius:20px;max-width:460px}#login button{margin-top:16px}#login p,small{font-size:12px;line-height:1.5;color:#697b70}dialog{width:min(520px,calc(100% - 24px));border:0;border-radius:20px;padding:26px;max-height:90vh}dialog::backdrop{background:#17382e88}dialog label{margin:14px 0}footer{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}#message,#edit-error{color:#a03b27;white-space:pre-wrap}#message:empty{display:none}[hidden]{display:none!important}@media(max-width:600px){main{padding:25px 16px}h1{font-size:38px}.filters{grid-template-columns:1fr 1fr}.filters label:nth-child(2){grid-row:2;grid-column:1/-1}.card{gap:10px;padding:14px}.card button{padding:10px}nav button{font-size:13px}}
