:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e2e8f0;background-color:#0b1120;--text-primary: #e2e8f0;--text-muted: #94a3b8;--surface: #0f172a;--surface-soft: #111827;--border: #1e293b;--accent: #38bdf8;--page-background: #0b1120}[data-theme=light]{color:#0f172a;background-color:#f8fafc;--text-primary: #0f172a;--text-muted: #64748b;--surface: #ffffff;--surface-soft: #f1f5f9;--border: #e2e8f0;--accent: #2563eb;--page-background: #f8fafc}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--page-background);color:var(--text-primary)}a{color:inherit}button{font-family:inherit}h1,h2,h3{margin:0}.page{max-width:1100px;margin:0 auto;padding:32px 20px 48px;display:flex;flex-direction:column;gap:24px}.page-header{display:flex;flex-direction:column;gap:20px}.title-block{display:flex;flex-direction:column;gap:8px}.eyebrow{font-size:.9rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text-muted)}.subtitle{color:var(--text-muted);max-width:560px}.stats{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.header-actions{display:flex;justify-content:flex-start}.theme-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);padding:10px 16px;border-radius:999px;font-size:.9rem;cursor:pointer}.theme-toggle:focus,.theme-toggle:hover{border-color:var(--accent);color:var(--accent)}.stat{background:var(--surface);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--border)}.stat-label{font-size:.85rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.stat-value{font-size:1.6rem;font-weight:600}.category-nav{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px}.chip{text-decoration:none;color:var(--text-primary);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:8px 14px;font-size:.9rem;white-space:nowrap}.chip:focus,.chip:hover{border-color:var(--accent);color:var(--accent)}.filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.filters-label{font-size:.95rem;color:var(--text-muted)}.filters-group{display:flex;gap:10px}.filter-button{border:1px solid var(--border);background:var(--surface);color:var(--text-primary);padding:8px 16px;border-radius:999px;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:8px}.filter-button.active{border-color:var(--accent);color:var(--accent)}.filter-count{background:var(--surface-soft);border-radius:999px;padding:2px 8px;font-size:.8rem;color:var(--text-muted)}.reset-button{border:1px solid var(--border);background:transparent;color:var(--text-muted);padding:8px 14px;border-radius:999px;font-size:.85rem;cursor:pointer}.reset-button:focus,.reset-button:hover{border-color:var(--accent);color:var(--accent)}.content{display:flex;flex-direction:column;gap:20px}.category-section{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:16px;scroll-margin-top:96px}.category-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.category-count{color:var(--text-muted);font-size:.9rem}.group-block{display:flex;flex-direction:column;gap:10px}.group-block h3{font-size:1.05rem;color:var(--text-primary);margin:0}.goal-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.goal-item{margin:0}.goal-toggle{width:100%;display:grid;grid-template-columns:16px 1fr;gap:12px;align-items:start;padding:12px;border-radius:12px;border:1px solid transparent;background:var(--surface-soft);color:inherit;text-align:left;cursor:pointer}.goal-toggle:focus,.goal-toggle:hover{border-color:var(--accent)}.status-dot{width:12px;height:12px;border-radius:999px;margin-top:4px;background:#94a3b8}.status-dot.done{background:#22c55e}.goal-title{font-size:1rem}.empty-state{padding:24px;border-radius:16px;border:1px dashed var(--border);color:var(--text-muted);text-align:center}.page-footer{display:flex;flex-direction:column;gap:6px;color:var(--text-muted);font-size:.9rem}@media(min-width:768px){.page-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.page-footer{flex-direction:row;justify-content:space-between}}
