:root{line-height:1.6;font-weight:400;font-size:16px;color-scheme:light;color:#1a1a1a;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-header h1,.landing-header h1,:root,h1,h2,h3,h4,h5,h6{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}body{margin:0;min-width:320px;min-height:100vh;min-height:-webkit-fill-available;background-color:#fff;overscroll-behavior:none;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}::selection{background-color:#10b981;color:#fff}button{font-family:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}.app{min-height:100vh;min-height:-webkit-fill-available;display:flex;flex-direction:column;background:#fff;color:#1a1a1a}.app-header{padding:max(.75rem,calc(env(safe-area-inset-top) + .75rem)) 1.25rem .75rem;background:hsla(0,0%,100%,.98);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.8),0 2px 8px rgba(0,0,0,.04);position:-webkit-sticky;position:sticky;top:0;z-index:100;text-align:left}@media (max-width:767px){.app-header{padding-left:.875rem;padding-right:.875rem;padding-bottom:.625rem}}.app-header__inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;width:100%;max-width:100%;margin:0 auto}@media (max-width:767px){.app-header__inner{gap:.5rem}}@media (min-width:768px){.app-header__inner{max-width:720px;padding-left:1.5rem;padding-right:1.5rem;margin-left:auto;margin-right:auto}}@media (min-width:1024px){.app-header__inner{max-width:960px;padding-left:2rem;padding-right:2rem}}.app-header__logo{margin:0;line-height:1;flex-shrink:0}.site-logo-wrap{display:inline-block;line-height:0}.site-logo{display:block;width:auto;height:150px;max-width:520px;margin:0 auto;object-fit:contain}.site-logo--header{height:52px;margin:0;max-width:none}@media (max-width:767px){.site-logo--header{height:40px}}.app-header__meta{flex-shrink:0;display:flex;align-items:center;flex-wrap:wrap;gap:.5rem .75rem;min-width:0}@media (max-width:767px){.app-header__meta{gap:.35rem .5rem}}.app-header__meta .diet-source{margin:0;padding:.2em .5em;font-size:.6875rem;font-weight:500;color:#64748b;background:rgba(100,116,139,.1);border-radius:6px;white-space:nowrap;text-transform:uppercase;letter-spacing:.04em}.app-header__meta .change-diet-btn{margin:0 0 0 .25rem;padding:.45rem .9rem;font-size:.8125rem;font-weight:600;background:rgba(16,185,129,.1);border-radius:10px;border:1px solid rgba(16,185,129,.25);color:#059669;transition:background .2s ease,border-color .2s ease,transform .15s ease}@media (max-width:767px){.app-header__meta .change-diet-btn{margin-left:0;padding:.4rem .65rem;font-size:.75rem}}.app-header__meta .change-diet-btn:hover{background:rgba(16,185,129,.16);border-color:rgba(16,185,129,.4)}.app-header__meta .change-diet-btn:active{transform:scale(.98)}.subtitle{font-size:clamp(.8125rem,2vw,.9375rem);color:#64748b;font-weight:400;letter-spacing:-.01em;line-height:1.4}.change-diet-btn{margin-top:.75rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:#10b981;background:transparent;border:1px solid rgba(16,185,129,.4);border-radius:10px;cursor:pointer;transition:all .2s ease}.change-diet-btn:hover{background:rgba(16,185,129,.08)}.change-diet-link{display:inline-block;margin-bottom:.75rem;padding:0;font-size:inherit;font-weight:500;color:#10b981;background:none;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .2s ease}.change-diet-link:hover{color:#059669}.diet-source{margin-top:.25rem;font-size:.8125rem;color:#64748b}.app-main{flex:1 1;width:100%;padding:1rem 1.25rem max(1.5rem,calc(env(safe-area-inset-bottom) + 1rem));overflow-y:auto;-webkit-overflow-scrolling:touch}@media (min-width:768px){.app-main{max-width:720px;margin:0 auto;padding:2rem 1.5rem}}@media (min-width:1024px){.app-main{max-width:960px;padding:2.5rem 2rem}}