:root{font-family:Inter,system-ui,sans-serif;color:#3b245c;background:#fff8f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0;padding-bottom:88px}a{color:inherit}header{background:#4b2a6d;color:#fff;padding:18px max(5vw,20px);display:flex;justify-content:space-between;align-items:center}.brand{font-size:1.2rem;font-weight:800;text-decoration:none}.page{width:min(760px,92%);margin:32px auto}.hero{background:#4b2a6d;color:#fff;border-radius:28px;padding:28px}.hero h1{font-size:2.8rem;margin:.2em 0}.hero small{font-size:1rem;font-weight:400}.bar{height:12px;background:#ffffff30;border-radius:20px;overflow:hidden}.bar i{display:block;height:100%;background:#ffd166}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.grid article,.card{background:#fff;border:1px solid #f2d7c9;border-radius:18px;padding:18px;display:flex;flex-direction:column}.grid strong{font-size:1.4rem}.grid span{color:#765b82}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions a,.button,button{background:#ffd166;border:0;border-radius:14px;padding:15px;color:#4b2a6d;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}nav{position:fixed;z-index:4;bottom:0;left:0;right:0;padding:10px max(2vw,8px) calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #ead7e4;display:flex;justify-content:space-around}nav a{display:flex;min-width:58px;min-height:52px;flex-direction:column;align-items:center;text-decoration:none}nav b{font-size:1.4rem}.scan-button{color:#06d6a0}.offline,.warning{padding:12px;text-align:center;background:#ffe0a3}.auth{min-height:100vh;display:grid;place-content:center}.auth form{width:min(420px,90vw);background:#fff;border-radius:24px;padding:28px;display:grid;gap:18px}.auth h1{text-align:center}label{display:grid;gap:7px;font-weight:700}input,select{font:inherit;padding:13px;border:1px solid #c8a9c0;border-radius:10px}.check{display:flex;grid-template-columns:auto 1fr}.empty,.scan-panel{padding:50px 24px;text-align:center;background:#fff;border-radius:24px}.scan-panel>div{font-size:5rem}@media(min-width:720px){.grid{grid-template-columns:repeat(4,1fr)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}header{background:linear-gradient(135deg,#4b2a6d,#8b5cf6 48%,#ff6b8a);position:relative;overflow:hidden}header:after{content:"✦  ✧  ✦";position:absolute;right:6%;top:12px;font-size:1.5rem;color:#fff8f0aa;letter-spacing:10px}.hero{background:linear-gradient(135deg,#4b2a6d,#7b61ff 52%,#06d6a0);position:relative;overflow:hidden}.hero:after{content:"☀︎";position:absolute;right:24px;top:12px;font-size:5rem;color:#ffd16666}.card{box-shadow:0 8px 24px #7b61ff18}.actions a,.button,button{background:linear-gradient(135deg,#ffd166,#ff9f68);box-shadow:0 5px #d9775770;transition:transform .18s ease,box-shadow .18s ease}.actions a:hover,.button:hover,button:hover{transform:translateY(-2px);box-shadow:0 7px #d9775770}nav{background:linear-gradient(90deg,#fff8f0,#fff,#fff8f0)}nav a:nth-child(1){color:#7b61ff}nav a:nth-child(2){color:#ff6b8a}nav a:nth-child(3){color:#06a77d}nav a:nth-child(4){color:#f59e0b}nav a:nth-child(5){color:#8b5cf6}.warning{background:linear-gradient(90deg,#ffe0a3,#ffd6e0)}.badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#f3e8ff;color:#4b2a6d;font-size:.9rem;font-weight:700}.nutrient-form>span{padding:9px 10px;border-radius:10px;background:#fff8f0;color:#4b2a6d;font-weight:700}.grid:has(.card){grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.grid:has(.card)>.card{min-width:0;padding:22px}.grid:has(.card)>.card .nutrient-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.grid:has(.card)>.card .nutrient-form>span{display:block;line-height:1.35;font-size:.92rem}.grid:has(.card)>.card .warning{line-height:1.45;margin-top:14px}@media(max-width:620px){.grid:has(.card){grid-template-columns:1fr}.grid:has(.card)>.card .nutrient-form{grid-template-columns:1fr}}.auth{min-height:100dvh;padding:28px 16px;background:linear-gradient(145deg,#fff8f0,#f3e8ff 52%,#ffe4ee)}.auth-shell{width:min(440px,100%);margin:auto;display:grid;justify-items:center;gap:10px}.auth-logo{width:min(300px,82vw);height:auto;max-height:100px;object-fit:contain}.auth-tagline{margin:0 0 8px;color:#765b82;font-weight:600;text-align:center}.auth form{width:100%;padding:30px;gap:12px;border:1px solid #ead7e4;box-shadow:0 18px 50px #4b2a6d1c}.auth h1{margin:0;color:#3b245c;font-size:1.8rem;text-align:left}.auth-intro{margin:0 0 8px;color:#765b82;line-height:1.45}.auth label{gap:6px;color:#3b245c}.auth input{width:100%;background:#fff}.password-field{position:relative;display:flex;align-items:center}.password-field input{padding-right:92px}.password-toggle{position:absolute;right:6px;padding:8px 10px!important;border-radius:8px!important;background:#f3e8ff!important;box-shadow:none!important;color:#4b2a6d!important;font-size:.78rem}.password-toggle:hover{transform:none!important;box-shadow:none!important}.auth-submit{width:100%;margin-top:6px}.field-error,.form-error{margin:0;color:#b4234d;font-size:.88rem}.form-error{padding:10px;border-radius:10px;background:#ffe4ee}.auth-switch{margin:4px 0 0;text-align:center;color:#765b82;font-size:.92rem}.auth-switch a{color:#4b2a6d;font-weight:800}@media(max-width:480px){.auth form{padding:24px 20px}.auth-logo{max-height:82px}}.legal-link{padding:9px 12px!important;background:transparent!important;box-shadow:none!important;color:#765b82!important;text-decoration:underline;font-weight:600;font-size:.88rem}.legal-link:hover{transform:none!important;box-shadow:none!important;color:#4b2a6d!important}.legal-hint{margin:0;color:#765b82;font-size:.78rem}.legal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#24153499}.legal-modal{width:min(680px,100%);max-height:min(90dvh,720px);overflow:auto;background:#fff8f0;border-radius:22px;padding:22px;box-shadow:0 24px 80px #24153455}.legal-head{display:flex;justify-content:space-between;align-items:center}.legal-head h2{margin:0;color:#3b245c}.legal-close{padding:4px 12px!important;background:transparent!important;box-shadow:none!important;font-size:1.8rem;color:#765b82}.legal-close:hover{transform:none!important;box-shadow:none!important}.legal-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 12px}.legal-tabs button{padding:8px 11px;background:#eadff7;box-shadow:none;font-size:.78rem}.legal-tabs button.active{background:#4b2a6d;color:#fff}.legal-content{min-height:180px;padding:18px;background:#fff;border:1px solid #ead7e4;border-radius:14px;line-height:1.6}.legal-content h3{margin-top:0;color:#4b2a6d}.legal-version{font-size:.78rem;color:#765b82}.legal-check{display:flex;grid-template-columns:auto 1fr;align-items:center;gap:9px;margin:16px 0;color:#3b245c}.legal-check input{width:auto}.profile-links{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}.photo-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.photo-actions .photo-button{position:relative}.photo-actions .photo-button.secondary{background:linear-gradient(135deg,#e8d8ff,#c7b3ff);box-shadow:0 5px #8b5cf655}.photo-actions .photo-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.photo-actions .photo-button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:42px;padding:10px 14px;font-size:.88rem;border-radius:11px;box-shadow:0 3px #d9775770}.photo-actions .photo-button.secondary{box-shadow:0 3px #8b5cf655}.coach-card{gap:14px}.coach-disclaimer{margin:0;padding:10px;border-radius:10px;background:#fff3cd;color:#765b82;font-size:.88rem}.coach-messages{display:grid;gap:10px;min-height:180px}.coach-message{padding:12px 14px;border-radius:14px;line-height:1.45}.coach-message.user{background:#f3e8ff;justify-self:end;max-width:85%}.coach-message.assistant{background:#fff;border:1px solid #ead7e4;max-width:95%}.coach-message p{margin:5px 0}.coach-message small{color:#765b82}.coach-form{display:flex;gap:8px}.coach-form input{flex:1;min-width:0}.coach-form button{white-space:nowrap}@media(max-width:480px){.coach-form{flex-direction:column}}nav a:nth-child(5){color:#e35d9a}.coach-rich-text h3{margin:.35em 0;color:#4b2a6d;font-size:1.05rem}.coach-rich-text p{margin:.45em 0}.coach-rich-text ul{margin:.4em 0;padding-left:1.25rem}.coach-rich-text strong{color:#3b245c}.hydration-hero{margin-bottom:18px}.hydration-form{gap:12px}.hydration-quick{display:flex;gap:8px;flex-wrap:wrap}.hydration-quick button{padding:9px 12px;font-size:.85rem;background:#d8f3ff;box-shadow:none}.hydration-quick button:hover{box-shadow:none}.hydration-form>button{margin-top:2px}.recipe-search{width:100%;margin-bottom:14px}.recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.recipe-card h2{margin-top:0;font-size:1.2rem}.recipe-tags{display:flex;gap:6px;flex-wrap:wrap}.recipe-ingredients{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto}.recipe-ingredients button{padding:7px 9px;font-size:.78rem;background:#e8f8f2;box-shadow:none}.recipe-ingredients button:hover{box-shadow:none}.substitution-modal li{margin:8px 0}@media(max-width:620px){.recipe-grid{grid-template-columns:1fr}}.plan-builder{gap:12px}.plan-preview{display:grid;gap:7px;margin:4px 0}.plan-preview div,.plan-row,.shopping-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:#fff8f0}.plan-preview span,.plan-row small,.shopping-row span{color:#765b82}.plan-row{margin:8px 0}.plan-row div{display:grid;gap:3px}.plan-row button{padding:9px 12px;font-size:.82rem;background:#d8f3ff;box-shadow:none}.shopping-row{margin:7px 0}@media(max-width:520px){.plan-row{align-items:flex-start;flex-direction:column}.plan-row button{width:100%}}.app-update{gap:8px;margin-top:14px}.app-update h2,.app-update p{margin:0}.app-update button{align-self:flex-start;padding:10px 14px;font-size:.88rem}.recipe-generator{gap:10px;margin:14px 0}.recipe-generator h2,.generated-recipe h2{margin-top:0}.recipe-generator small{color:#765b82}.generated-recipe{gap:6px;margin-bottom:16px}.generated-recipe h3{margin:12px 0 2px;color:#4b2a6d}.generated-recipe ul,.generated-recipe ol{margin-top:4px}.generated-recipe .badge{margin:3px}.plan-actions{display:flex;gap:6px;flex-wrap:wrap}.plan-actions button,.shopping-row button,.plan-row>button{padding:8px 10px;font-size:.78rem;box-shadow:none;background:#eadff7}.shopping-row button{margin-left:auto;background:#ffe4ee}@media(max-width:520px){.plan-actions{width:100%}.plan-actions button{flex:1}.shopping-row{flex-wrap:wrap}}.photo-button{display:inline-block}.photo-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.nutrient-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}@media(max-width:520px){.nutrient-form{grid-template-columns:1fr}}
