:root{--bg: #ecf6f0;--paper: #ffffff;--ink: #12241c;--muted: #5a6e65;--sage: #146b45;--sage-2: #1e8556;--sand: #d7e8de;--coral: #e45c3a;--gold: #c9a227;--line: rgba(18, 36, 28, .08);--shadow: 0 16px 36px rgba(18, 52, 36, .1);--radius: 20px}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 0% -10%,#cfe8d8 0,transparent 42%),radial-gradient(ellipse at 100% 0%,#dceee4 0,transparent 38%),var(--bg);font-family:Outfit,system-ui,sans-serif}h1,h2,h3{font-family:Fraunces,Georgia,serif;letter-spacing:-.03em;margin:0 0 .4em}h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.1}h2{font-size:1.35rem}p{margin:0 0 .6em;line-height:1.5}button,input{font:inherit}img{max-width:100%;display:block}.app{min-height:100dvh;display:grid;grid-template-columns:240px 1fr}.side{padding:28px 22px;display:flex;flex-direction:column;gap:28px;border-right:1px solid var(--line);background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;gap:12px;align-items:center}.app-logo{display:block;object-fit:cover;background:#f3efe4;border-radius:22%;box-shadow:0 8px 18px #12342429;flex-shrink:0;max-width:none}.brand strong{font-family:Fraunces,Georgia,serif;font-size:1.18rem;letter-spacing:-.03em;font-weight:700}.brand small{display:block;color:var(--muted)}.side-nav{display:grid;gap:6px}.side-nav button,.tabbar button{border:0;background:transparent;text-align:left;padding:10px 12px;border-radius:14px;color:var(--ink);cursor:pointer;display:flex;gap:10px;align-items:center}.side-nav button.active,.tabbar button.active{background:var(--sage);color:#fff}.side-progress .bar{height:8px;background:var(--sand);border-radius:99px;overflow:hidden;margin:8px 0}.side-progress i{display:block;height:100%;background:var(--coral)}.main{padding:32px 36px 80px;max-width:1080px}.topbar{display:none}.tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:15;background:#fffffff0;border-top:1px solid var(--line);padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.tabbar button{flex:1;flex-direction:column;font-size:.72rem;gap:2px}.card{background:var(--paper);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);border:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--muted);font-weight:600}.lead,.motto{font-size:1.05rem;color:var(--muted);max-width:46ch}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:.9rem}.block-title{margin:28px 0 12px}.btn{border:0;border-radius:999px;padding:12px 18px;cursor:pointer;background:var(--sand);color:var(--ink);font-weight:600}.btn.primary{background:var(--sage);color:#fff}.link{background:none;border:0;color:var(--sage);font-weight:650;cursor:pointer;padding:0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chip{border:0;border-radius:999px;padding:8px 12px;font-size:.85rem;cursor:pointer;background:var(--sand);color:var(--ink)}.chip.sage{background:var(--sage);color:#fff}.chip.coral{background:var(--coral);color:#fff}.chip.sand{background:#f0c27a}.chip.ghost{background:#fff;border:1px solid var(--line);cursor:pointer}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.story-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0}.start-card{display:grid;gap:12px;max-width:420px}label{display:grid;gap:6px;font-weight:600}input,.search{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:#fff}.search{margin:8px 0 16px}.meals{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.toggles{display:flex;flex-wrap:wrap;gap:8px}.toggles button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 12px;cursor:pointer}.toggles button.on{background:var(--sage);color:#fff;border-color:var(--sage)}.water{margin-top:14px;display:flex;align-items:center;gap:10px}.water div{display:flex;gap:6px}.drop{width:16px;height:22px;border:0;border-radius:0 8px 8px;transform:rotate(45deg);background:#e5efe9;cursor:pointer}.drop.on{background:#6cb4d8}.workout-teaser{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:18px}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}.recipe-card{border:0;padding:0;background:var(--paper);border-radius:var(--radius);overflow:hidden;text-align:left;cursor:pointer;box-shadow:var(--shadow)}.recipe-card .cover,.recipe-card img{height:160px;width:100%;object-fit:cover}.recipe-card>div:not(.cover){padding:12px 14px 16px}.cover{overflow:hidden;background:#f4e3c1}.cover img,.cover .food-art{width:100%;height:100%;object-fit:cover;display:block}.food-art{min-height:100%}.cover.hero{height:220px}.card-why{color:var(--muted);font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.filter-label{margin:10px 0 0;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:650}.result-n{color:var(--muted);margin:4px 0 12px}.today-tip{font-size:1.05rem;max-width:46ch;color:var(--ink)}.meal.visual{padding:0;overflow:hidden}.meal-open{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center;width:100%;border:0;background:transparent;text-align:left;cursor:pointer;padding:12px;color:inherit}.meal-open .cover{height:96px;border-radius:16px}.meal.visual .meal-actions{padding:0 12px 12px}.meal.visual.done{outline:2px solid var(--sage)}.mini{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;cursor:pointer;font-weight:600}.mini.on{background:var(--sage);color:#fff;border-color:var(--sage)}.today-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.hydrate{background:#fff4ec}details summary{cursor:pointer;font-weight:650;font-family:Fraunces,serif;font-size:1.1rem}.why-box{background:#eef6ef;padding:14px;border-radius:16px;margin:12px 0}.step-list{list-style:none;padding:0}.step-list li{display:grid;grid-template-columns:28px 1fr;gap:10px;margin-bottom:12px;align-items:start}.step-list span{width:28px;height:28px;border-radius:50%;background:var(--sage);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:700}.ing-list li{margin-bottom:6px}.modal.sheet .cover.hero img{height:220px;object-fit:cover}.tag{display:inline-block;margin-top:6px;font-size:.75rem;color:var(--coral);font-weight:650}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#24312b73;display:grid;place-items:center;padding:20px;z-index:40}.modal{width:min(720px,100%);max-height:92dvh;overflow:auto;background:var(--paper);border-radius:28px}.modal img{width:100%;height:240px;object-fit:cover}.modal-body{padding:20px 22px 28px}.warn{background:#fde8e1;padding:10px 12px;border-radius:12px}.note{background:#eef6ef;padding:10px 12px;border-radius:12px}.legend{display:flex;gap:12px;margin-bottom:12px;font-weight:650}.yes{color:#2f6b45}.mid{color:#9a6b12}.no{color:#b24532}.food-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.food-group h2{margin-bottom:12px}.food-cols p{margin:0 0 8px;padding:8px 10px;border-radius:12px;background:#eef6f1}.move-list{display:grid;gap:12px}.move-item{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center}.pose{width:100%;height:auto}.player{text-align:center;padding-bottom:40px}.player .pose{width:min(320px,80vw);margin:10px auto}.timer{font-family:Fraunces,serif;font-size:4rem;color:var(--sage);margin:8px 0 18px}.cue{max-width:36ch;margin:0 auto 8px;color:var(--muted)}.row{display:flex;gap:10px;justify-content:center}.weeks,.guide{display:grid;gap:12px}.card.current{outline:3px solid var(--sage)}.protein-n{font-family:Fraunces,serif;font-size:3rem;color:var(--sage)}table{width:100%;border-collapse:collapse}td{padding:8px 0;border-bottom:1px solid var(--line)}td:last-child{text-align:right;font-weight:650}.warn-card{background:#fff3ea}ul,ol{padding-left:1.1em}.meal-actions{display:flex;gap:14px;margin-top:8px}.snack-list{margin:0}.check-row{display:flex;align-items:center;gap:8px;font-weight:500}.check-row input{width:auto}.recipe-ph{height:150px;display:grid;place-items:center;background:linear-gradient(135deg,#d7e8de,#cfe8d8);font-weight:650;color:var(--sage)}.recipe-ph.big{height:160px;font-size:1.2rem}.install{position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:18;background:var(--paper);border-radius:18px;box-shadow:var(--shadow);padding:14px 16px;display:flex;justify-content:space-between;gap:12px;align-items:center}.install .app-logo{margin-right:2px}.install p{margin:0}.install div{display:flex;gap:8px;flex-shrink:0}.install-sheet{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;background:var(--paper);border-radius:22px;box-shadow:var(--shadow);padding:18px 18px 16px;border:1px solid var(--line)}.install-sheet h2{font-size:1.35rem}.install-sheet .app-logo{margin-bottom:10px}.install-steps{list-style:none;padding:0;margin:8px 0 14px}.install-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;margin:0 0 10px;color:var(--ink)}.install-steps span{width:28px;height:28px;border-radius:50%;background:var(--sage);color:#fff;display:grid;place-items:center;font-size:.8rem;font-weight:700}.install-actions{display:flex;gap:8px;flex-wrap:wrap}.program-pick{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0}@media(min-width:861px){.install-sheet{left:260px;right:auto;bottom:24px;max-width:420px}}@media(min-width:861px){.install{left:260px;right:auto;bottom:24px;max-width:420px}}@media(max-width:860px){.app{grid-template-columns:1fr}.side{display:none}.tabbar{display:flex}.main{padding:22px 18px 110px}.topbar{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:16;margin:-22px -18px 18px;padding:12px 18px;background:#ecf6f0eb;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.topbar strong{font-family:Fraunces,Georgia,serif;font-size:1.12rem;letter-spacing:-.03em;display:block}.topbar small{color:var(--muted);font-size:.78rem}.grid-2,.grid-3,.meals,.story-grid,.food-cols,.today-row,.program-pick{grid-template-columns:1fr}.cal-grid{grid-template-columns:1fr 1fr}.cal-day{min-height:0}.workout-teaser{flex-direction:column;align-items:stretch}}.program-card{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit}.program-card.on{outline:3px solid var(--sage);background:#eef6ef}.week-strip{display:flex;gap:8px;margin:16px 0 6px}.week-strip button{flex:1;border:0;background:#fff;border-radius:16px;padding:10px 0;cursor:pointer;font-weight:650;box-shadow:var(--shadow)}.week-strip button.on{background:var(--sage);color:#fff}.week-link{margin-bottom:18px}.week-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-day{border:1px solid var(--line);background:var(--paper);border-radius:16px;padding:10px 8px 12px;text-align:left;cursor:pointer;color:inherit;min-height:160px}.cal-day strong{display:block;font-size:.78rem;margin-bottom:6px}.cal-letter{font-size:.7rem;color:var(--muted);font-weight:700}.cal-day p{margin:0 0 6px;font-size:.72rem;line-height:1.25;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cal-day.today{outline:2px solid var(--gold)}.cal-day.open{outline:2px solid var(--sage);background:#eef6ef}.cal-detail{margin-top:18px}.cal-detail-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.cal-meal{width:100%}.shop-progress{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.shop-progress .bar{flex:1;min-width:140px;height:8px;background:var(--sand);border-radius:99px;overflow:hidden}.shop-progress .bar i{display:block;height:100%;background:var(--sage)}.shop-progress p{margin:0;color:var(--muted)}.shop-list{list-style:none;padding:0;margin:0}.shop-list li{border-bottom:1px solid var(--line)}.shop-list label{display:flex;gap:10px;align-items:flex-start;padding:10px 0;cursor:pointer;font-weight:500}.shop-list input{width:auto;margin-top:3px}.shop-list span{display:flex;justify-content:space-between;gap:12px;width:100%}.shop-list em{font-style:normal;color:var(--muted);font-weight:500;white-space:nowrap}.shop-list .got strong{text-decoration:line-through;color:var(--muted)}.batch-card{background:#eef6ef}.more-nav{margin-bottom:8px}.app-title{font-size:clamp(2.8rem,10vw,3.9rem);margin:.08em 0 .28em;letter-spacing:-.05em;line-height:.92}.splash-logo{width:92px;height:92px;margin:4px 0 18px}.tagline{font-weight:650;color:var(--sage)}.splash-hero{position:relative;padding-top:12px;margin-bottom:8px}.fun-pills{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}.fun-pills span{background:#fff;border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:650;box-shadow:var(--shadow)}.program-card.visual{padding:0 0 16px;overflow:hidden}.program-card.visual .food-art{height:92px;width:100%}.program-card.visual .eyebrow,.program-card.visual h3,.program-card.visual p{padding:0 14px}.program-card.visual .eyebrow{margin-top:10px}.go-card{max-width:none;margin-top:8px;background:linear-gradient(180deg,#fff,#e8f4ed)}.btn.go{width:100%;padding:16px 18px;font-size:1.05rem}.tools-line{background:#eef6f1;padding:10px 12px;border-radius:12px;font-weight:650}.ready-box,.rescue-box{padding:14px;border-radius:16px;margin:12px 0}.ready-box{background:#e8f4ed}.rescue-box{background:#fff4ec}@media(prefers-reduced-motion:no-preference){.card,.recipe-card,.program-card{transition:transform .2s ease}.recipe-card:hover,.program-card:hover{transform:translateY(-3px)}}
