:root{--bg:#f4f7f6;--surface:#fff;--surface-2:#eef3f1;--text:#182321;--muted:#64716e;--accent:#0f766e;--accent-hover:#0b5f59;--accent-soft:#d9efec;--border:#dce5e2;--danger:#b33a3a;--shadow:0 8px 28px rgba(26,54,49,.07);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Inter","Segoe UI",sans-serif;color-scheme:light}html[data-theme="dark"]{--bg:#0e1514;--surface:#17211f;--surface-2:#202c29;--text:#eef5f3;--muted:#9eaaa7;--accent:#5ee0d1;--accent-hover:#7ce9dd;--accent-soft:#183c37;--border:#2c3a37;--danger:#ff8585;--shadow:0 10px 32px rgba(0,0,0,.24);color-scheme:dark}@media(prefers-color-scheme:dark){html[data-theme="system"]{--bg:#0e1514;--surface:#17211f;--surface-2:#202c29;--text:#eef5f3;--muted:#9eaaa7;--accent:#5ee0d1;--accent-hover:#7ce9dd;--accent-soft:#183c37;--border:#2c3a37;--danger:#ff8585;--shadow:0 10px 32px rgba(0,0,0,.24);color-scheme:dark}}html,body{background:var(--bg);color:var(--text)}body{background:var(--bg);font-family:inherit}.topbar{background:color-mix(in srgb,var(--bg) 88%,transparent);border-color:var(--border);padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.brand{font-family:inherit;font-size:1.18rem;font-weight:800;letter-spacing:-.025em;color:var(--text)}.desktop-nav a,.desktop-nav .link{color:var(--muted);font-weight:650}.desktop-nav a:hover{color:var(--accent)}main{width:min(760px,100%);padding-top:38px}.hero h1,.title-row h1,.card h1,.auth h1{font-family:inherit;letter-spacing:-.045em;font-weight:780}.hero h1,.title-row h1{font-size:clamp(2.8rem,10vw,4.4rem)}.eyebrow{color:var(--accent)!important;letter-spacing:.11em}.hero-top,.dashboard-actions,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.card,.habit,.empty,.day-pill{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}.habit{min-height:76px}.habit h2{font-size:1.03rem;font-weight:720}.habit p,.hero p,.muted,.group-title p{color:var(--muted)}.habit.done{background:var(--accent-soft)}.check{border-color:var(--accent);color:var(--surface)}.done .check{background:var(--accent);border-color:var(--accent)}button,.button{background:var(--accent);font-weight:700}.button.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}button:hover,.button:hover{background:var(--accent-hover)}.button.secondary:hover{background:var(--border)}input,textarea,select{background:var(--surface);color:var(--text);border-color:var(--border)}.progress{background:var(--surface-2)}.progress span{background:var(--accent)}.day-pill{color:var(--muted)}.day-pill.selected{background:var(--accent);border-color:var(--accent);color:#fff}.group-heading,.group-title h2{font-family:inherit;font-weight:760;letter-spacing:-.025em}.notice.success{background:var(--accent-soft);color:var(--text)}.settings-link{display:block;margin-top:18px}.mobile-nav{display:none}
@media(max-width:640px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.topbar{position:static;padding-top:calc(13px + env(safe-area-inset-top));padding-bottom:13px}.desktop-nav{display:none}main{padding:24px 14px 32px}.hero{margin-bottom:20px}.hero-top{align-items:flex-start}.hero h1{font-size:2.75rem}.dashboard-actions{position:fixed;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:7;flex-direction:column;align-items:flex-end}.dashboard-actions .secondary{display:none}.dashboard-actions .button{box-shadow:0 8px 24px rgba(15,118,110,.32);padding:14px 18px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);left:0;right:0;bottom:0;z-index:9;padding:8px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--border)}.mobile-nav a{display:grid;justify-items:center;gap:2px;padding:4px;color:var(--muted);font-size:.69rem;font-weight:650}.mobile-nav a span{font-size:1.25rem;line-height:1}.mobile-nav a[aria-current="page"]{color:var(--accent)}.date-picker label{justify-content:space-between}.habit{padding:16px}.title-row{align-items:flex-start}.title-row .actions{flex-direction:column;align-items:flex-end}.settings-grid{grid-template-columns:1fr}}
