:root{--green:#4a5d3a;--deep:#314025;--gold:#c9942f;--cream:#faf7f0;--ink:#2b2014;--muted:#776e60;--line:#e5ded3;--white:#fff;--danger:#a44735}*{box-sizing:border-box}html{background:var(--cream)}body{min-height:100vh;color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}button,input,textarea{font:inherit}a{color:inherit}.landing{background:linear-gradient(135deg,var(--green),var(--deep));grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);min-height:100vh;display:grid}.landing-copy{background:var(--cream);flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(32px,7vw,96px);display:flex;position:relative}.brand{color:var(--green);font:700 19px Georgia,serif;position:absolute;top:32px}.brand em,.landing h1 em,.hero em{color:var(--gold)}.eyebrow,.card-label{color:var(--gold);text-transform:uppercase;letter-spacing:.17em;font-size:11px;font-weight:800}.landing h1{letter-spacing:-.045em;margin:10px 0 18px;font:700 clamp(42px,6vw,76px)/.98 Georgia,serif}.landing h1 em{font-weight:400}.landing-copy>p:not(.eyebrow){max-width:580px;color:var(--muted);font-size:17px;line-height:1.7}.primary-button,.secondary-button,.danger-button{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;padding:13px 18px;font-weight:750;text-decoration:none;display:inline-flex}.primary-button{background:var(--green);color:#fff}.secondary-button{color:var(--green);border:1px solid var(--line);background:#fff}.danger-button{color:var(--danger);background:#f8e9e5}.landing .primary-button{margin-top:22px}.landing small{color:var(--muted);margin-top:17px}.landing-quote{color:#fff;background:radial-gradient(circle at 75% 18%,#c9942f3d,#0000 38%);flex-direction:column;justify-content:flex-end;padding:clamp(34px,6vw,86px);display:flex}.landing-quote blockquote{max-width:600px;margin:0;font:italic 400 clamp(29px,4vw,52px)/1.18 Georgia,serif}.landing-quote span{color:#e6c982;letter-spacing:.15em;text-transform:uppercase;margin-top:20px;font-size:11px}.auth-shell{background:linear-gradient(150deg,var(--deep),var(--green));place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border-radius:24px;width:min(100%,460px);padding:34px;box-shadow:0 24px 70px #19201347}.auth-card h1{margin:18px 0 8px;font:700 36px Georgia,serif}.auth-card p{color:var(--muted);line-height:1.55}.field{gap:7px;margin:20px 0;display:grid}.field label{font-size:13px;font-weight:700}.field input,.field textarea{border:1px solid var(--line);background:#fdfbf7;border-radius:11px;outline:none;width:100%;padding:12px}.field input:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #4a5d3a1f}.auth-card .primary-button{width:100%}.notice{color:var(--green);background:#eef3e9;border-radius:10px;padding:12px;font-size:13px}.error{color:var(--danger);background:#f9e9e6}.app-shell{background:#f4f1ea;min-height:100vh;padding-bottom:92px}.topbar{z-index:10;background:var(--green);color:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 max(18px,50vw - 540px);display:flex;position:sticky;top:0}.topbar .brand{color:#fff;position:static}.topbar a{color:#e8ddc5;font-size:13px}.dashboard{max-width:1080px;margin:0 auto;padding:24px 18px}.hero{background:linear-gradient(135deg,var(--green),var(--deep));color:#fff;border-radius:20px;padding:28px}.hero h1{margin:7px 0;font:700 clamp(30px,5vw,46px) Georgia,serif}.hero p{color:#ffffffb8;margin:0}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;margin-top:18px;display:grid}.card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px;box-shadow:0 8px 20px #3c30220a}.card h2{margin:6px 0 4px;font:700 21px Georgia,serif}.card>p{color:var(--muted);font-size:13px}.habit{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 0;display:flex}.habit:last-child{border-bottom:0}.habit-title{flex:1;font-weight:650}.habit-toggle{border:2px solid var(--line);color:#fff;cursor:pointer;background:#fff;border-radius:50%;width:30px;height:30px}.habit-toggle.done{border-color:var(--green);background:var(--green)}.habit-delete{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:20px}.inline-form{gap:8px;margin-top:14px;display:flex}.inline-form input{border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;padding:11px}.inline-form .primary-button{padding:10px 14px}.checkin-form textarea{resize:vertical;min-height:82px}.checkin-form .field{margin:14px 0}.moods{flex-wrap:wrap;gap:8px;display:flex}.moods label{border:1px solid var(--line);cursor:pointer;border-radius:10px;padding:9px 11px}.quick-links{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.quick-link{background:var(--cream);border-radius:13px;padding:18px 12px;font-size:13px;font-weight:700;text-decoration:none}.stat{color:var(--green);font-size:32px;font-weight:800}.bottom-nav{border-top:1px solid var(--line);background:#fff;justify-content:center;align-items:center;gap:clamp(22px,7vw,80px);height:70px;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--muted);font-size:12px;font-weight:700;text-decoration:none}.bottom-nav a.active{color:var(--green)}@media (max-width:760px){.landing{grid-template-columns:1fr}.landing-copy{min-height:72vh}.landing-quote{min-height:300px}.dashboard-grid{grid-template-columns:1fr}.brand{margin-bottom:55px;position:static}.topbar .brand{margin:0}.auth-card{padding:26px}}
