:root{--font-heading: "Nunito", "Helvetica Neue", Arial, sans-serif;--font-body: "Nunito", "Helvetica Neue", Arial, sans-serif;--color-bg: #ffffff;--color-cream: #f5f5f5;--color-cream-deep: #e8e8e8;--color-surface: #ffffff;--color-surface-2: #f5f5f5;--color-border: #d9d9d9;--color-text: #00233f;--color-text-body: #444444;--color-text-muted: #777777;--color-primary: #e4002b;--color-primary-dark: #b5001f;--color-accent: #6ba2c1;--color-completed-text: #aaaaaa;--color-danger: #c0392b;--radius: 4px;--shadow: 0 2px 8px rgba(0, 35, 63, .08);--shadow-hover: 0 4px 20px rgba(0, 35, 63, .14);--max-width: 1100px;--content-width: 860px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text-body);line-height:1.6;min-height:100vh}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-text)}.checklist-section{background:var(--color-cream);padding:3.5rem 1.5rem}.checklist-inner{max-width:var(--content-width);margin:0 auto}.section-heading{font-family:var(--font-heading);font-size:2.2rem;font-weight:600;color:var(--color-text);letter-spacing:-.01em;margin-bottom:.3rem}.checklist-heading-wrap{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.checklist-heading-wrap .section-heading{margin-bottom:0}.checklist-heading-actions{display:flex;align-items:center;gap:.4rem;opacity:0;transition:opacity .15s}.checklist-heading-wrap:hover .checklist-heading-actions{opacity:1}.checklist-btn-label{display:none}.checklist-rename-btn,.checklist-delete-btn{flex-shrink:0;background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:.25rem;border-radius:4px;transition:color .15s;display:flex;align-items:center;gap:.3rem}.checklist-rename-btn svg,.checklist-delete-btn svg{width:1rem;height:1rem;flex-shrink:0}.checklist-rename-btn:hover{color:var(--color-primary)}.checklist-delete-btn:hover{color:#dc2626}@media (max-width: 600px){.checklist-heading-actions{opacity:1;gap:.5rem}.checklist-rename-btn,.checklist-delete-btn{padding:.45rem .75rem;border-radius:6px;font-size:.85rem;min-height:2.5rem;border:1px solid var(--color-border);color:var(--color-text)}.checklist-btn-label{display:inline}.checklist-rename-btn:hover,.checklist-rename-btn:active{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-primary)}.checklist-delete-btn:hover,.checklist-delete-btn:active{background:#fef2f2;color:#dc2626;border-color:#dc2626}}.checklist-rename-form{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.3rem}.checklist-rename-input{font-family:var(--font-heading);font-size:2.2rem;font-weight:600;color:var(--color-text);letter-spacing:-.01em;background:transparent;border:none;border-bottom:2px solid var(--color-primary);outline:none;width:100%;padding:0}.checklist-rename-actions{display:flex;gap:.5rem}.checklist-rename-save{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius);padding:.3rem .9rem;font-size:.8rem;font-weight:600;font-family:var(--font-body);cursor:pointer}.checklist-rename-save:disabled{opacity:.5;cursor:default}.checklist-rename-cancel{background:none;border:1px solid var(--color-border);border-radius:var(--radius);padding:.3rem .9rem;font-size:.8rem;font-family:var(--font-body);color:var(--color-text-muted);cursor:pointer}.checklist-rename-cancel:disabled{opacity:.5;cursor:default}.section-subheading{font-size:.875rem;color:var(--color-text-muted);margin-bottom:1.75rem;font-weight:400}.categories{display:flex;flex-direction:column;gap:.6rem;margin-top:1.5rem}.btn-reset{background:none;border:1px solid var(--color-border);border-radius:var(--radius);padding:.35rem .85rem;font-size:.75rem;font-family:var(--font-body);color:var(--color-text-muted);cursor:pointer;letter-spacing:.06em;text-transform:uppercase;transition:border-color .2s,color .2s}.btn-reset:hover{border-color:var(--color-danger);color:var(--color-danger)}.hero-progress-badge{display:inline-flex;align-items:baseline;gap:.5rem;background:var(--color-cream);border:1px solid var(--color-border);border-radius:99px;padding:.5rem 1.25rem}.hero-badge-num{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--color-primary);line-height:1}.hero-badge-label{font-size:.82rem;color:var(--color-text-muted);font-weight:400}
