:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#f8f2e8;background:radial-gradient(circle at top,rgba(240,165,108,.22),transparent 30%),linear-gradient(180deg,#1d2e28,#13201c 48%,#0c1411);color-scheme:dark;font-synthesis:none;line-height:1.5;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}body,button,input,select{font:inherit}button,input,select{border:0}button{cursor:pointer}a{color:inherit;text-decoration:none}#root{min-height:100vh}.landing-shell,.dashboard-shell{position:relative;min-height:100vh;overflow:hidden}.landing-backdrop,.dashboard-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 15% 20%,rgba(250,196,118,.22),transparent 22%),radial-gradient(circle at 85% 10%,rgba(148,194,163,.18),transparent 26%),radial-gradient(circle at 50% 100%,rgba(116,132,212,.16),transparent 32%);pointer-events:none}.landing{position:relative;display:grid;gap:1.5rem;padding:3rem 1.25rem 10rem;max-width:980px;margin:0 auto}.dashboard{position:relative;display:grid;gap:1.5rem;padding:2rem 1.25rem 3rem;max-width:1320px;margin:0 auto}.hero-card,.panel,.hero-stat,.signin-panel{background:#0c14119e;border:1px solid rgba(255,255,255,.08);border-radius:28px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 25px 80px #0000003d}.hero-card{padding:2rem}.eyebrow,.panel-kicker{margin:0 0 .6rem;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#f1c58c}.hero-card h1,.dashboard-header h1{margin:0;font-size:clamp(2.7rem,6vw,5.5rem);line-height:.96;letter-spacing:-.05em}.hero-copy,.header-copy,.signin-copy,.preview-panel p,.hero-stat p{color:#f8f2e8c7}.hero-copy{max-width:44rem;margin:1rem 0 0;font-size:1.08rem}.hero-actions,.header-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.5rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.95rem;padding:.8rem 1.15rem;border-radius:999px;transition:transform .14s ease,background .14s ease,border-color .14s ease,opacity .14s ease}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:default;opacity:.6}.button-primary{background:linear-gradient(135deg,#f0a56c,#d96f4c);color:#1c1612;font-weight:700}.button-secondary,.button-ghost{background:#ffffff0a;color:#f8f2e8;border:1px solid rgba(255,255,255,.12)}.hero-metrics,.preview-grid,.hero-grid,.content-grid{display:grid;gap:1rem}.hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:2rem}.hero-metrics div,.stack-item,.meal-pill,.day-card,.mini-stack div,.mini-weather{background:#ffffff0a;border:1px solid rgba(255,255,255,.07);border-radius:18px}.hero-metrics div{padding:1rem}.hero-metrics strong,.stack-item strong,.grocery-item strong,.mini-stack strong,.meal-pill strong{display:block;font-size:1rem}.hero-metrics span,.stack-item span,.stack-item small,.grocery-item small,.meal-pill span,.mini-stack span,.mini-weather small{color:#f8f2e8a8}.preview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.preview-panel{min-height:250px;padding:1.5rem;background:#121c18a8;border-radius:28px;border:1px solid rgba(255,255,255,.08)}.preview-panel.warm{background:radial-gradient(circle at top left,rgba(240,165,108,.22),transparent 35%),#121c18c2}.preview-panel.tall{grid-row:span 2}.feature-list{margin:1rem 0 0;padding-left:1.1rem;color:#f8f2e8d6}.feature-list li+li{margin-top:.8rem}.mini-dashboard{display:grid;gap:1rem}.mini-weather,.mini-stack div{padding:1rem}.mini-weather span{display:block;font-size:2rem;font-weight:700}.mini-stack{display:grid;gap:.75rem}.login-gate{position:relative}.signin-panel{position:absolute;top:2rem;right:max(1.25rem,calc((100vw - 980px)/2 + 1.25rem));width:min(360px,calc(100vw - 2.5rem));padding:1.5rem}.login-form{display:grid;gap:.9rem}.login-form h2,.panel h2{margin:0;font-size:1.45rem}.login-form input,.inline-form input,.inline-form select{width:100%;min-height:2.9rem;padding:.85rem 1rem;border-radius:14px;color:#f8f2e8;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.login-error{margin:0;color:#ffb5a7}.dashboard-header{display:flex;justify-content:space-between;gap:1rem;align-items:end}.hero-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-stat,.panel{padding:1.4rem}.hero-stat h2{margin:0;font-size:3rem;line-height:1}.sun-panel{background:radial-gradient(circle at top left,rgba(247,197,108,.22),transparent 42%),#0c1411b3}.hero-stat.accent{background:radial-gradient(circle at top right,rgba(148,194,163,.22),transparent 42%),#0c1411b3}.weather-meta{display:grid;gap:.35rem;margin-top:1rem;color:#f8f2e8b8}.content-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.panel-span-2{grid-column:span 2}.panel-header{display:flex;justify-content:space-between;gap:.75rem;align-items:start;margin-bottom:1rem}.week-grid{display:grid;gap:.75rem;grid-template-columns:repeat(7,minmax(0,1fr))}.day-card{padding:.85rem;min-height:180px}.day-header{display:grid;gap:.1rem}.day-header span{color:#f8f2e89e}.meal-list,.stack-list{display:grid;gap:.7rem}.meal-list{margin-top:.85rem}.meal-pill,.stack-item{padding:.8rem}.meal-pill span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.inline-form{display:grid;grid-template-columns:150px 140px minmax(0,1fr) 120px;gap:.75rem;margin-top:1rem}.inline-form.tight{grid-template-columns:minmax(0,1fr) 120px 140px 88px}.grocery-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:.8rem;align-items:start;padding:.85rem;background:#ffffff0a;border-radius:16px}.grocery-item input{margin-top:.25rem}.weather-list .stack-item,.groceries .grocery-item{min-height:72px}.empty-state,.status-card{margin:0;color:#f8f2e8ad}.status-card{padding:1rem 1.25rem;background:#ffffff0f;border-radius:20px;border:1px solid rgba(255,255,255,.08)}.status-card.error{color:#ffd2c7;border-color:#ff926e52}@media(max-width:1100px){.signin-panel{position:relative;top:auto;right:auto;margin:-6rem auto 0}.preview-grid,.hero-grid,.content-grid,.hero-metrics,.week-grid,.inline-form,.inline-form.tight{grid-template-columns:1fr}.panel-span-2{grid-column:span 1}}@media(max-width:720px){.landing,.dashboard{padding-left:1rem;padding-right:1rem}.hero-card,.panel,.hero-stat,.signin-panel{border-radius:22px}.dashboard-header,.panel-header{flex-direction:column;align-items:stretch}}
