:root{--color-page-background:#f5f5f1;--color-surface:#fff;--color-text-primary:#1f2933;--color-text-secondary:#46515c;--color-border-neutral:#c9ced3;--color-link:#174f78;--color-link-hover:#103a59;--color-focus:#005fcc;--color-navy:#082b57;--color-navy-muted:#dceafa;--color-eat-background:#dcefe1;--color-eat-border:#2f7d45;--color-eat-strong:#1f6a38;--color-eat-hover:#174f2a;--color-eat-text:#173b23;--color-avoid-background:#f7dddd;--color-avoid-border:#b3261e;--color-avoid-strong:#98231c;--color-avoid-hover:#771c17;--color-avoid-text:#4e1714;--color-recipe-background:#e3ebf4;--color-recipe-border:#416b91;--color-recipe-strong:#315a7e;--color-recipe-hover:#254765;--color-recipe-text:#203b52;--font-size-body:1.25rem;--font-size-small:1.05rem;--font-size-button:1.3rem;--font-size-card-title:2rem;--font-size-page-title:clamp(2.5rem, 4vw, 3.75rem);--font-size-site-title:1.65rem;--line-height-body:1.55;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4rem;--radius-small:.5rem;--radius-medium:.9rem;--radius-large:1.25rem;--content-max-width:1180px}*{box-sizing:border-box}html{color:var(--color-text-primary);background:var(--color-page-background);font-family:Segoe UI,Arial,Helvetica,sans-serif}body{min-width:0;min-height:100vh;font-size:var(--font-size-body);line-height:var(--line-height-body);margin:0}button,a{font:inherit}a{color:var(--color-link);text-underline-offset:.18em}a:hover{color:var(--color-link-hover)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}#root{min-height:100vh}.app-shell{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.site-header{background:var(--color-navy);color:var(--color-surface);border-bottom:1px solid #ffffff4d}.site-header__inner,.site-footer__inner,.site-main{width:min(calc(100% - (2 * var(--space-5))), var(--content-max-width));margin-inline:auto}.site-header__inner{align-items:center;gap:var(--space-2);min-height:4.25rem;display:flex}.site-title{color:var(--color-surface);font-size:var(--font-size-site-title);font-weight:700;line-height:1.2}.site-subtitle{color:var(--color-navy-muted);font-size:var(--font-size-small);font-weight:600}.site-title--link{text-decoration-thickness:2px}.site-title--link:hover{color:var(--color-navy-muted)}.site-main{padding-block:var(--space-4)}.site-main--home{width:100%;max-width:none;padding:var(--space-6) max(var(--space-5), calc((100% - var(--content-max-width)) / 2));background-color:var(--color-navy);background-image:linear-gradient(#0414263d,#0414263d),url(/images/brand/dads-table-mets-background.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;margin:0}.site-footer{background:var(--color-navy);color:var(--color-navy-muted);font-size:var(--font-size-small);border-top:1px solid #ffffff4d}.site-footer__inner{padding-block:var(--space-3)}h1,h2{margin-block:0;line-height:1.12}h1{font-size:var(--font-size-page-title)}p{margin-block:0}@media (width<=44rem){.site-header__inner,.site-footer__inner,.site-main:not(.site-main--home){width:min(calc(100% - (2 * var(--space-3))), var(--content-max-width))}.site-main--home{width:100%;padding-inline:var(--space-3)}}.page-header{margin-bottom:var(--space-4)}.page-header__description{max-width:46rem;margin-top:var(--space-1);color:var(--color-text-secondary)}.page-header--eat,.page-header--avoid,.page-header--recipe{padding-left:var(--space-4);border-left:.5rem solid}.page-header--eat{border-color:var(--color-eat-border)}.page-header--avoid{border-color:var(--color-avoid-border)}.page-header--recipe{border-color:var(--color-recipe-border)}.home-page>.page-header{margin-bottom:var(--space-4);padding:var(--space-4);border-radius:var(--radius-large);color:var(--color-surface);text-align:center;background:#061f43e0;border:1px solid #ffffff59;box-shadow:0 .75rem 1.5rem #0003}.home-page>.page-header .page-header__description{color:var(--color-navy-muted);margin-inline:auto}.primary-choice-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.primary-choice-card{min-width:0;min-height:18rem;padding:var(--space-4);border-radius:var(--radius-large);border:3px solid;flex-direction:column;align-items:flex-start;display:flex;box-shadow:0 .75rem 1.5rem #00000038}.primary-choice-card--eat{border-color:var(--color-eat-border);background:var(--color-eat-background);color:var(--color-eat-text)}.primary-choice-card--avoid{border-color:var(--color-avoid-border);background:var(--color-avoid-background);color:var(--color-avoid-text)}.primary-choice-card--recipe{border-color:var(--color-recipe-border);background:var(--color-recipe-background);color:var(--color-recipe-text)}.primary-choice-card__icon{width:4rem;height:4rem;margin-bottom:var(--space-3);color:var(--color-surface);border-radius:50%;place-items:center;font-size:2.7rem;font-weight:700;line-height:1;display:grid}.primary-choice-card--eat .primary-choice-card__icon{background:var(--color-eat-strong)}.primary-choice-card--avoid .primary-choice-card__icon{background:var(--color-avoid-strong)}.primary-choice-card--recipe .primary-choice-card__icon{background:var(--color-recipe-strong);font-size:2.25rem}.primary-choice-card h2{font-size:var(--font-size-card-title)}.primary-choice-card p{margin-block:var(--space-2) var(--space-4);flex:1}.primary-choice-card .link-button{width:100%}.link-button{min-height:3.5rem;padding:var(--space-2) var(--space-4);border-radius:var(--radius-small);background:var(--color-link);color:var(--color-surface);font-size:var(--font-size-button);text-align:center;border:3px solid #0000;justify-content:center;align-items:center;font-weight:700;line-height:1.25;text-decoration:none;display:inline-flex}.link-button:hover{background:var(--color-link-hover);color:var(--color-surface)}.link-button:active,.navigation-actions__button:active{box-shadow:inset 0 0 0 2px #ffffff73}.link-button--eat{background:var(--color-eat-strong)}.link-button--eat:hover{background:var(--color-eat-hover)}.link-button--avoid{background:var(--color-avoid-strong)}.link-button--avoid:hover{background:var(--color-avoid-hover)}.link-button--recipe{background:var(--color-recipe-strong)}.link-button--recipe:hover{background:var(--color-recipe-hover)}.link-button--secondary{border-color:var(--color-link);background:var(--color-surface);color:var(--color-link)}.link-button--secondary:hover{border-color:var(--color-link-hover);color:var(--color-link-hover);background:#eef2f5}.classification-badge{align-items:center;gap:var(--space-1);min-height:2.75rem;padding:var(--space-1) var(--space-3);border-radius:var(--radius-medium);font-size:var(--font-size-body);border:2px solid;font-weight:700;display:inline-flex}.classification-badge--eat{border-color:var(--color-eat-border);background:var(--color-eat-background);color:var(--color-eat-text)}.classification-badge--avoid{border-color:var(--color-avoid-border);background:var(--color-avoid-background);color:var(--color-avoid-text)}.classification-badge__icon{font-size:1.4em;line-height:1}.navigation-actions{gap:var(--space-3);margin-top:var(--space-5);flex-wrap:wrap;display:flex}.navigation-actions__button{cursor:pointer}.placeholder-page{padding:var(--space-5);border:1px solid var(--color-border-neutral);border-radius:var(--radius-large);background:var(--color-surface)}.catalog-page,.detail-page{min-width:0}.catalog-note{max-width:52rem;margin-bottom:var(--space-5);padding:var(--space-3) var(--space-4);border-left:.5rem solid var(--color-eat-border);border-radius:var(--radius-small);background:var(--color-eat-background);color:var(--color-eat-text);font-weight:600}.catalog-sections{min-width:0}.catalog-section+.catalog-section{margin-top:var(--space-7)}.catalog-section__heading{margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:3px solid var(--color-border-neutral);font-size:var(--font-size-card-title)}.catalog-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));display:grid}.food-card,.recipe-card{border-radius:var(--radius-large);border:3px solid;flex-direction:column;min-width:0;display:flex;overflow:hidden}.food-card--eat{border-color:var(--color-eat-border);background:var(--color-eat-background);color:var(--color-eat-text)}.food-card--avoid{border-color:var(--color-avoid-border);background:var(--color-avoid-background);color:var(--color-avoid-text)}.recipe-card{border-color:var(--color-recipe-border);background:var(--color-recipe-background);color:var(--color-recipe-text)}.card-image-container,.detail-image-container{background:var(--color-surface);overflow:hidden}.card-image-container{aspect-ratio:4/3;border-bottom:2px solid}.card-image-container img,.detail-image-container img{object-fit:cover;width:100%;height:100%;display:block}.card-content{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);flex-direction:column;flex:1;display:flex}.card-content h2{overflow-wrap:anywhere;font-size:var(--font-size-card-title)}.card-description{flex:1}.card-content .link-button{margin-top:auto}.card-metadata{gap:var(--space-2);width:100%;margin:0;display:grid}.card-metadata div{gap:var(--space-1);flex-wrap:wrap;display:flex}.card-metadata dt{font-weight:700}.card-metadata dt:after{content:":"}.card-metadata dd{margin:0}.empty-state,.missing-record-page{padding:var(--space-5);border:2px solid var(--color-border-neutral);border-radius:var(--radius-large);background:var(--color-surface)}.empty-state{text-align:center}.empty-state h2{font-size:var(--font-size-card-title)}.empty-state p{max-width:42rem;margin:var(--space-2) auto 0;color:var(--color-text-secondary)}.empty-state .navigation-actions{justify-content:center}.detail-hero{gap:var(--space-5);grid-template-columns:minmax(17rem,.9fr) minmax(20rem,1.1fr);align-items:start;display:grid}.detail-image-container{aspect-ratio:4/3;border:3px solid var(--color-border-neutral);border-radius:var(--radius-large)}.food-detail-page--eat .detail-image-container{border-color:var(--color-eat-border)}.food-detail-page--avoid .detail-image-container{border-color:var(--color-avoid-border)}.recipe-detail-page .detail-image-container{border-color:var(--color-recipe-border)}.detail-summary{min-width:0;padding:var(--space-4);border:2px solid var(--color-border-neutral);border-radius:var(--radius-large);background:var(--color-surface)}.detail-summary .page-header{margin-bottom:var(--space-3)}.detail-explanation{margin-top:var(--space-4)}.detail-metadata{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.guidance-grid,.recipe-content-grid{gap:var(--space-4);margin-top:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));display:grid}.guidance-section,.recipe-section,.related-section{padding:var(--space-4);border:2px solid var(--color-border-neutral);border-radius:var(--radius-large);background:var(--color-surface)}.guidance-section h2,.recipe-section h2,.related-section h2{margin-bottom:var(--space-3);font-size:var(--font-size-card-title)}.detail-page>.empty-state,.related-section{margin-top:var(--space-5)}.ingredient-list,.step-list,.related-food-list{padding-left:var(--space-5);margin:0}.ingredient-list li+li,.step-list li+li,.related-food-list li+li{margin-top:var(--space-2)}.step-list li{padding-left:var(--space-2)}.step-list li::marker{color:var(--color-recipe-strong);font-size:1.25em;font-weight:700}.related-food-list a{min-height:2.75rem;padding-block:var(--space-1);font-weight:700;display:inline-block}@media (width<=56rem){.primary-choice-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.detail-hero{grid-template-columns:1fr}}@media (width<=44rem){.placeholder-page,.primary-choice-card,.card-content,.empty-state,.missing-record-page,.detail-summary,.guidance-section,.recipe-section,.related-section{padding:var(--space-3)}}
