:root{--ink:#20352f;--green:#17493d;--green2:#28604f;--mint:#eaf2ee;--paper:#f6f8f9;--line:#dde4e2;--muted:#5e6c67;--orange:#be5734;--red:#a02e2b;--amber:#77501b;--radius:16px;--gutter:clamp(18px,3vw,48px);font:100%/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-synthesis:none;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,select,summary{cursor:pointer}button,a,input,select,summary{touch-action:manipulation}button{border:0;background:transparent;color:inherit}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-underline-offset:3px}input,select{min-width:0}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b96329;outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2,h3{line-height:1.25}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:fixed;left:12px;top:-80px;z-index:3000;padding:14px;background:white}.skip-link:focus{top:12px}
/* The search and visible allergy summary lead into a single results workspace. */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:12px var(--gutter);background:white;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:1.4rem;font-weight:750;letter-spacing:-.8px;text-decoration:none}.brand img{border-radius:9px}.brand-dot{color:var(--orange)}nav{display:flex;gap:4px}.nav-button{min-height:44px;padding:10px 18px;border-radius:100px;font-size:.875rem;font-weight:600}.nav-button.active{color:var(--green);background:var(--mint)}.nav-button:hover,.install-button:hover{background:var(--mint)}#savedCount{margin-left:5px;font-size:.8rem}.install-button{min-height:44px;border:1px solid var(--line);border-radius:100px;padding:9px 16px;font-size:.875rem;font-weight:600}.install-button span{margin-left:12px}main{max-width:1720px;margin:auto}.search-section{padding:26px var(--gutter) 0}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}h1{margin:0;font-size:clamp(1.6rem,2.2vw,2rem);font-weight:650;letter-spacing:-.8px}.coverage-count{margin:0;font-size:.8rem;color:var(--muted);text-align:right}.finder-form{display:flex;gap:8px;align-items:stretch;padding:7px;background:white;border:1px solid #c6d4cf;border-radius:15px;box-shadow:0 3px 10px #20352f04}.finder-form:focus-within{border-color:#668f7e}.search-field{padding:3px 15px;min-width:0}.search-field label{display:block;font-size:.875rem;font-weight:600}.search-field>div{display:flex;align-items:center;gap:8px;min-height:38px}.search-field input{width:100%;padding:4px 0;border:0;background:transparent;color:var(--ink);font-size:1rem}.search-field input::placeholder{color:#67776f}.location-field{flex:0 1 36%;border-right:1px solid var(--line)}.dish-field{flex:1}#locateButton{flex:0 0 44px;min-height:44px;border-radius:8px;font-size:1.55rem;color:var(--green)}#locateButton:hover{background:var(--mint)}.primary-button{border-radius:10px;padding:12px 25px;background:var(--green);color:white;font-size:.9375rem;font-weight:600;white-space:nowrap}.primary-button:hover,.apply-filters:hover{background:#103d32}.primary-button span{margin-left:15px}
.refine-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.52fr);gap:10px;margin-top:12px;align-items:start}.refine-control{border:1px solid var(--line);border-radius:12px;background:white;min-width:0}details summary{display:flex;align-items:center;gap:12px;list-style:none;min-height:48px;font-size:.875rem}summary::-webkit-details-marker{display:none}.refine-control>summary{padding:12px 15px;flex-wrap:wrap}.refine-label{display:inline-flex;align-items:center;gap:7px;font-weight:650}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;border-radius:7px;background:var(--mint);font-size:.8rem}#selectionSummary{color:var(--muted);flex:1 1 160px;overflow-wrap:anywhere}.summary-action{display:flex;gap:12px;align-items:center;margin-left:auto;font-weight:600;color:var(--green)}.chevron{display:inline-block;margin-left:auto;transition:transform .15s}details[open]>summary>.chevron,details[open]>summary .summary-action .chevron{transform:rotate(180deg)}#areaSummary{color:var(--muted);margin-left:auto;overflow-wrap:anywhere}.refine-control[open]{border-color:#9fb8ab}.refine-content{padding:3px 16px 16px}.control-heading{margin:7px 0 12px;font-size:.9375rem;font-weight:600}.allergen-grid{display:flex;flex-wrap:wrap;gap:8px}.allergen-chip{position:relative;cursor:pointer}.allergen-chip input{position:absolute;opacity:0;width:1px;height:1px}.allergen-chip span{display:flex;align-items:center;min-height:44px;padding:9px 13px;border:1px solid #c9d5d0;border-radius:9px;font-size:.875rem}.allergen-chip input:checked+span{color:white;background:var(--green);border-color:var(--green)}.allergen-chip input:checked+span::before{content:'✓';margin-right:7px}.allergen-chip input:focus-visible+span{outline:3px solid #b96329;outline-offset:2px}.profile-help{font-size:.8rem;color:var(--muted);margin:12px 0 16px}.filter-options{border-top:1px solid var(--line);padding-top:3px}.filter-option{display:flex;align-items:flex-start;gap:11px;cursor:pointer;padding:13px 0}.filter-option input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--green)}.filter-option strong{display:block;font-size:.875rem;font-weight:600}.filter-option small{display:block;margin-top:3px;font-size:.8rem;color:var(--muted)}.filter-explainer{font-size:.875rem;color:var(--muted);margin:8px 0}.apply-filters{min-height:44px;margin-top:9px;padding:10px 24px;color:white;border-radius:9px;background:var(--green);font-weight:600;font-size:.875rem}.region-strip{display:flex;gap:6px;flex-wrap:wrap}.region-button{min-height:44px;border:1px solid var(--line);padding:8px 12px;border-radius:8px;font-size:.875rem}.region-button.active{border-color:var(--green);color:white;background:var(--green);font-weight:600}.region-button:hover:not(.active){background:var(--mint)}.filter-status{margin-top:10px;color:var(--muted);font-size:.875rem;line-height:1.5}.filter-status strong{color:var(--green);font-weight:600}.filter-status.caution{background:#fff2dc;padding:10px 13px;border:1px solid #e4c99d;border-radius:8px;color:var(--amber)}.filter-status.caution strong{color:inherit}.safety-note{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px;color:var(--muted);font-size:.875rem}.safety-note p{margin:0}.safety-note strong{color:var(--ink);font-weight:600}.safety-note button{min-height:28px;padding:2px 0;margin-left:5px;flex-shrink:0;font-size:.875rem;text-decoration:underline}.connection-note{padding:14px 16px;border:1px solid #e4c99d;border-radius:10px;color:var(--amber);background:#fff2dc;font-size:.875rem}
/* Quiet cards carry the result; warning text never depends on color alone. */
.results-section{padding:16px var(--gutter) 0}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:17px}.list-summary{min-width:0}.list-summary h2{font-size:1.2rem;font-weight:650;letter-spacing:-.3px;margin:0 0 5px}.list-summary p{margin:0;font-size:.875rem;color:var(--muted)}.result-tools{display:flex;align-items:center;gap:16px;flex-shrink:0}.view-tabs{display:flex;border:1px solid var(--line);background:#edf1ef;border-radius:10px;padding:3px}.view-tabs button{min-width:0;overflow-wrap:anywhere;padding:9px 17px;min-height:40px;font-size:.875rem;border-radius:7px}.view-tabs .active{background:white;font-weight:650;box-shadow:0 1px 3px #142c2514}.sort-label{display:flex;align-items:center;gap:7px;font-size:.875rem;color:var(--muted)}.sort-label select{min-height:44px;max-width:180px;border:0;background:transparent;color:var(--ink);font-size:.875rem;padding:7px 3px}.active-filters{display:flex;gap:6px;flex-wrap:wrap}.filter-token{display:flex;align-items:center;gap:4px;padding:0 3px 0 10px;margin-top:8px;background:var(--mint);border-radius:8px;font-size:.875rem}.filter-token button{min-height:36px;min-width:36px;font-size:1.2rem}.workspace{display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1.25fr);gap:20px;align-items:start}.list-pane{min-width:0}.results-list{display:grid;gap:12px}.result-card{padding:19px;background:white;border:1px solid var(--line);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s}.result-card:hover,.result-card:focus-within{border-color:#86a697;box-shadow:0 3px 12px #173d3306}.card-top{display:flex;align-items:flex-start;gap:12px}.restaurant-icon{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border-radius:11px;background:var(--mint);color:var(--green);font-size:1.15rem;font-weight:650}.card-title{flex:1;min-width:0}.card-title h3{font-size:1rem;letter-spacing:-.2px;font-weight:650;margin:0 0 5px;line-height:1.4}.card-title>p{margin:0;color:var(--muted);font-size:.8rem}.favorite-button{width:44px;height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;font-size:1.45rem}.favorite-button:hover{background:var(--paper)}.favorite-button[aria-pressed=true]{color:#a7402f;background:#fff2eb;border-color:#ecc7b7}.dish-description{font-size:.875rem;line-height:1.6;color:var(--muted);margin:13px 0 10px}.evidence-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.evidence-pill{font-size:.8rem;padding:5px 8px;border-radius:6px;line-height:1.4}.evidence-pill.claim{color:#365270;background:#edf2f8}.evidence-pill.unknown{color:var(--amber);background:#fbf2e2}.evidence-pill.contains{color:var(--red);background:#fcece9}.evidence-pill.possible{color:var(--amber);background:#ffedd2}.evidence-pill.neutral{color:var(--muted);background:#f0f3f2}.card-source{font-size:.875rem;line-height:1.5;color:var(--muted);margin:12px 0 0}.card-source.contains,.card-source.avoid{color:var(--red);font-weight:600}.card-source.possible{color:var(--amber);font-weight:600}.card-kitchen{font-size:.875rem;line-height:1.5;color:var(--amber);margin:12px 0 0;border-left:2px solid #dbbc83;padding-left:10px}.card-kitchen.avoid{color:var(--red);border-color:#c6756b;font-weight:650}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:13px;padding-top:8px;border-top:1px solid #edf0ef}.card-bottom>span{font-size:.8rem;color:var(--muted)}.details-button{min-height:44px;padding:8px 0;font-size:.875rem;font-weight:650;text-align:left;color:var(--green)}.details-button:hover{text-decoration:underline}.load-more{width:100%;min-height:46px;margin-top:13px;padding:12px;background:white;border:1px solid var(--line);border-radius:10px;font-size:.875rem;font-weight:600}.catalog-note{margin:14px 0 0;color:var(--muted);font-size:.8rem;line-height:1.6}.empty-state{padding:26px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.empty-state h3{margin-top:0;font-size:1.1rem}.empty-state p{color:var(--muted);font-size:1rem}.empty-state button{min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:8px;font-size:.875rem;font-weight:600}
/* A large map shares the workspace and can expand without losing the search. */
.map-card{position:sticky;top:16px;min-width:0;background:white;border:1px solid #cbd8d2;border-radius:var(--radius);overflow:hidden;isolation:isolate}.map-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 15px;border-bottom:1px solid var(--line)}.map-toolbar strong{font-size:.875rem;font-weight:600}.map-actions{display:flex;gap:5px;flex-wrap:wrap}.map-actions button{min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:.875rem}.map-stage{position:relative}.map-canvas{height:clamp(440px,62vh,760px);width:100%;background:#e8efea;z-index:0}.map-overlays{position:absolute;top:15px;left:60px;right:16px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;z-index:4;pointer-events:none}.map-overlays button{pointer-events:auto;min-height:44px;padding:10px 17px;border-radius:100px;background:white;color:var(--green);box-shadow:0 2px 12px #173d3329;font-size:.875rem;font-weight:650}.map-overlays #clearMapButton{background:var(--green);color:white}.map-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 15px;font-size:.875rem}.map-footer button{min-height:44px;font-weight:600}.map-help{padding:0 15px 14px;margin:0;font-size:.8rem;color:var(--muted)}#mapStatus{margin:0 15px 12px;padding:10px;font-size:.875rem;background:#fff2dc;color:var(--amber);border-radius:8px}.map-pin{background:transparent;border:0}.map-pin span{display:grid;place-items:center;min-width:36px;height:36px;padding:0 8px;border-radius:50%;border:3px solid white;background:var(--green);color:white;font:700 13px system-ui;box-shadow:0 2px 8px #123b3240}.map-pin.selected span{background:var(--orange);transform:scale(1.15)}.map-popup strong{display:block;margin:3px 0 8px;font-size:1rem}.map-popup p{font-size:.875rem}.map-popup button{display:block;width:100%;min-height:44px;padding:8px 0;border-bottom:1px solid var(--line);text-align:left;color:var(--green);font-size:.875rem;font-weight:600}.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:12px!important}.leaflet-control-zoom a{width:40px!important;height:40px!important;line-height:40px!important}.workspace.map-expanded{grid-template-columns:1fr}.workspace.map-expanded .list-pane{display:none}.workspace.map-expanded .map-canvas{height:72vh}.mobile-view-button{display:none}
.about-strip{display:flex;align-items:center;gap:22px;margin:30px var(--gutter) 0;padding:25px 0;border-top:1px solid var(--line)}.about-strip img{width:72px;height:72px;flex-shrink:0;border-radius:14px;object-fit:cover}.about-strip h2{font-size:1.05rem;font-weight:600;letter-spacing:-.2px;margin:0}.about-strip p{margin:6px 0 0;color:var(--muted);font-size:.875rem}.about-strip>button{margin-left:auto;min-height:44px;font-size:.875rem;font-weight:600;flex-shrink:0}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px var(--gutter);border-top:1px solid var(--line);font-size:.8rem;color:var(--muted);background:white}footer>div{display:flex;gap:20px;flex-wrap:wrap}footer button{font-size:.875rem;min-height:44px}
/* Details disclose sources and full checklists, with selected checks and warnings open. */
dialog{border:1px solid var(--line);border-radius:22px;max-width:740px;width:calc(100% - 32px);max-height:92dvh;padding:0;color:var(--ink);background:white;box-shadow:0 25px 90px #132d2a38}dialog::backdrop{background:#132a255c;backdrop-filter:blur(3px)}.dialog-shell{padding:30px}.dialog-close{position:sticky;top:0;float:right;width:44px;height:44px;margin:-10px -10px 5px 10px;border:1px solid var(--line);border-radius:50%;background:white;box-shadow:0 2px 8px #173d330a;font-size:1.7rem;z-index:2}.dialog-kicker{margin:0 0 10px;padding-right:32px;color:var(--green2);font-size:.875rem;font-weight:600}.dialog-kicker.status-unknown,.dialog-kicker.status-possible{color:var(--amber)}.dialog-kicker.status-contains,.dialog-kicker.status-avoid{color:var(--red)}#dialogTitle{font-size:1.7rem;line-height:1.25;font-weight:650;letter-spacing:-.5px;margin:0 26px 10px 0}.dialog-restaurant{color:var(--muted);font-size:1rem;margin:8px 0 16px;line-height:1.6}.dialog-shell h3{font-size:1.05rem;font-weight:650}.warning-box{padding:14px 16px;margin:16px 0;border-radius:10px;background:#fbf3e5;color:#714d21;font-size:.9375rem;line-height:1.6}.warning-box strong{display:block}.kitchen-warning{margin:16px 0;padding:15px 17px;border:1px solid #dcc7a7;border-left:3px solid #b68b47;border-radius:10px;color:var(--amber);background:#fffbf4;font-size:.9375rem;line-height:1.6}.kitchen-warning p{margin:4px 0 8px}.kitchen-warning a{font-size:.875rem}.kitchen-warning.possible{background:#fff5e3;border-color:#dec28f}.kitchen-warning.avoid{background:#fdf0ed;border-color:#d29a90;color:var(--red)}.dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.dialog-actions>a,.dialog-actions>button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:9px;padding:10px 13px;text-decoration:none;font-size:.875rem;font-weight:600}.dialog-actions>a:first-child{color:white;background:var(--green);border-color:var(--green)}.dialog-actions>button:hover{background:var(--mint)}.connection-status{font-size:.875rem;line-height:1.6;color:var(--muted);padding:0;margin:18px 0}.source-card{padding:16px;background:var(--paper);border-radius:10px;font-size:.9375rem;line-height:1.65}.source-card p{margin:0 0 10px}.source-card p:last-child{margin-bottom:0}.source-card a{overflow-wrap:anywhere;font-weight:600}.detail-section{margin-top:22px;border-top:1px solid var(--line)}.detail-section>summary{padding:17px 0;justify-content:space-between;align-items:flex-start}.detail-section>summary strong{display:block;font-size:1rem;font-weight:650}.detail-section>summary small{display:block;font-size:.875rem;color:var(--muted);margin-top:4px}.detail-section>summary small.has-conflict{color:var(--red)}.detail-section>summary .chevron{margin-top:4px}.detail-section[open]{padding-bottom:6px}.dialog-dishes{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.dialog-dishes>button{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:17px;text-align:left;font-size:1rem;line-height:1.5;border-bottom:1px solid var(--line)}.dialog-dishes>button:last-child{border-bottom:0}.dialog-dishes>button:hover{background:var(--paper)}.dialog-dishes strong{font-weight:600}.dialog-dishes span{font-size:.875rem;color:var(--muted);max-width:52%}.dialog-dishes .contains,.dialog-dishes .avoid{color:var(--red)}.dialog-dishes .possible{color:var(--amber)}.dialog-dishes>p{padding:0 17px}.selected-evidence{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.selected-evidence .evidence-pill{font-size:.875rem;padding:8px 11px}.ingredient-panel{margin:20px 0;font-size:.9375rem;line-height:1.65}.ingredient-panel h3{margin:0 0 10px}.ingredient-level{display:inline-block;font-size:.875rem;font-weight:600;padding:6px 9px;border-radius:6px;background:#f0f3f2}.ingredient-list{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:14px 0}.ingredient-list li{border:1px solid var(--line);border-radius:7px;padding:6px 10px;font-size:.875rem;max-width:100%;overflow-wrap:anywhere}.ingredient-panel p{color:var(--muted)}.ingredient-panel>a{font-size:.875rem}.evidence-table{display:grid}.evidence-item{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(0,1.5fr);gap:20px;border-bottom:1px solid var(--line);padding:15px 0;font-size:.9375rem;line-height:1.6}.evidence-item>span{color:var(--muted)}.evidence-item small{display:block;font-size:.8rem;font-weight:400;color:var(--muted)}.evidence-item a{display:inline-block;margin-top:5px;font-size:.875rem}.evidence-item.contains b{color:var(--red)}.evidence-item.possible b{color:var(--amber)}.question-box{display:block;resize:vertical;width:100%;min-height:210px;border:1px solid #bccfc5;border-radius:12px;padding:15px;color:var(--ink);background:var(--paper);font:inherit}.toast{position:fixed;bottom:calc(22px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%,18px);padding:13px 20px;border-radius:12px;color:white;background:var(--green);box-shadow:0 4px 20px #173d332e;opacity:0;pointer-events:none;z-index:3000;transition:.2s;width:max-content;max-width:calc(100vw - 32px);font-size:.875rem}.toast.show{opacity:1;transform:translate(-50%,0)}.noscript{padding:30px}
@media(min-width:1100px){.results-list{max-height:78vh;overflow-y:auto;scrollbar-width:thin;padding:2px 6px 3px 1px}}
@media(max-width:1100px){.result-tools{gap:10px}.sort-label>span{display:none}.results-toolbar{align-items:flex-start}.workspace{grid-template-columns:minmax(320px,.9fr) minmax(0,1fr);gap:14px}.coverage-count{max-width:280px}.refine-row{grid-template-columns:minmax(0,1fr) minmax(225px,.5fr)}.about-strip>button{flex-shrink:1}}
@media(max-width:900px){.results-toolbar{flex-wrap:wrap}.result-tools{width:100%;justify-content:space-between}.workspace{grid-template-columns:minmax(300px,1fr) minmax(0,1fr)}.refine-row{grid-template-columns:1fr}.refine-control>summary{padding-top:10px;padding-bottom:10px}.area-control>summary{justify-content:flex-start}#areaSummary{margin-left:0}}
@media(max-width:760px){.topbar{min-height:64px;gap:8px;flex-wrap:wrap;padding:10px 16px}.brand{gap:7px;font-size:1.25rem}.brand img{width:30px;height:30px}.nav-button{padding:8px 12px}.install-button{padding:8px 11px}.install-button span{display:none}.search-section{padding-top:20px}.page-heading{display:block;margin-bottom:16px}h1{font-size:1.6rem}.coverage-count{text-align:left;max-width:none;margin-top:7px}.finder-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;padding:4px}.location-field{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line);padding:6px 11px}.dish-field{padding:9px 11px}.primary-button{margin:8px 4px;padding:10px 15px}.primary-button span{display:none}.search-field input{font-size:1rem}.search-field>div{min-height:34px}.location-field>div{min-height:38px}.refine-row{gap:8px}.refine-control>summary{gap:5px 10px}#profileDetails>summary{display:grid;grid-template-columns:minmax(0,1fr) auto}#selectionSummary{grid-column:1;font-size:.875rem}.summary-action{grid-column:2;grid-row:1/3}.filter-status{font-size:.875rem}.safety-note{display:block;margin-top:9px}.safety-note button{text-align:left}.results-section{padding-top:13px}.results-toolbar{gap:12px}.result-tools{display:flex;flex-wrap:wrap;gap:8px}.view-tabs{flex:1}.view-tabs button{flex:1;padding-left:10px;padding-right:10px}.sort-label{order:3;flex:1 0 100%}.sort-label>span{display:inline}.sort-label select{max-width:100%}.mobile-view-button{display:block;border:1px solid #b9cec2;background:white;color:var(--green);border-radius:10px;padding:10px 13px;min-height:48px;font-size:.875rem;font-weight:650}.workspace{display:flex;flex-direction:column;gap:0}.list-pane{width:100%}.map-card{width:100%;position:relative;top:auto}.workspace.mobile-list .map-card{display:none}.workspace.mobile-map .list-pane{display:none}.map-canvas{height:58svh;min-height:340px}.map-toolbar{gap:8px;padding:10px 12px}.map-toolbar>div:first-child{flex:1 1 100%}.map-actions{width:100%;justify-content:flex-end}.map-overlays{left:58px;right:12px}.map-overlays button{padding:10px 13px}.map-footer{flex-wrap:wrap}.workspace.map-expanded .map-card{position:fixed;inset:8px;width:calc(100% - 16px);height:calc(100dvh - 16px);z-index:1000;display:flex;flex-direction:column;overflow-y:auto}.workspace.map-expanded .map-stage{flex:1 0 180px;display:flex}.workspace.map-expanded .map-canvas{flex:1;height:auto;min-height:180px}.map-expanded .map-toolbar,.map-expanded .map-footer,.map-expanded .map-help{flex-shrink:0}.result-card{padding:17px}.about-strip{gap:15px;margin-top:24px;flex-wrap:wrap}.about-strip>div{flex:1;min-width:160px}.about-strip>button{margin-left:0}footer{flex-wrap:wrap;gap:8px;padding-top:14px;padding-bottom:14px}dialog{width:calc(100% - 16px);max-height:94dvh;border-radius:18px}.dialog-shell{padding:23px 20px}#dialogTitle{font-size:1.5rem}.dialog-dishes>button{flex-direction:column;gap:5px}.dialog-dishes span{max-width:none}.evidence-item{grid-template-columns:minmax(90px,.75fr) minmax(0,1.2fr);gap:14px}}
@media(max-width:760px){
 .page-heading h1{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .page-heading{margin-bottom:12px}.coverage-count{margin-top:0}.search-section{padding-top:16px}
 .location-field{position:relative;padding-right:55px}.location-field>div{min-height:34px}
 #locateButton{position:absolute;right:8px;top:14px;width:44px}
 .refine-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}
 .area-control>summary{min-height:50px;gap:8px}
 .area-control #areaSummary{display:none}
 .refine-control[open]{grid-column:1/-1}
 .results-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
 .list-summary{grid-column:1;grid-row:1}.result-tools{display:contents}
 .view-tabs{grid-column:1;grid-row:2}.mobile-view-button{grid-column:2;grid-row:2}
 .sort-label{grid-column:2;grid-row:1;max-width:155px}.sort-label>span{display:none}
 .sort-label select{width:100%;font-size:.875rem}
}
@media(max-width:380px){.refine-row{grid-template-columns:1fr}.area-control #areaSummary{display:inline}.sort-label{max-width:140px}}
@media(max-width:480px){.topbar .install-button{display:none}.brand{font-size:1.2rem}.nav-button{padding:8px 10px}.card-top{gap:9px}.restaurant-icon{width:35px;height:38px}}
@media(max-width:350px){.topbar{padding-left:12px;padding-right:12px}.brand{font-size:1.1rem}.brand img{width:27px;height:27px}.nav-button{padding:8px}#savedCount{margin-left:2px}.restaurant-icon{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Compact allergen summary on each menu row; full evidence remains in dish details. */
.menu-row-evidence{display:flex!important;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.dialog-dishes .menu-row-evidence .evidence-pill{display:inline-flex;font-size:.875rem;line-height:1.4;margin:0}.connection-status p+p{margin-top:.85rem}
/* Meal-first search: a calm working surface with details on demand. */
:root{--paper:#f5f7f8;--line:#dfe5e3;--radius:14px}
.search-section{padding-top:24px}.page-heading{margin-bottom:16px}.page-heading h1{font-weight:650;letter-spacing:-.6px}
.finder-form{padding:8px;border-radius:16px;box-shadow:0 4px 18px #20352f06}.dish-field{flex:1.5;border-right:1px solid var(--line)}.location-field{flex:1;border-right:0}
.search-shortcuts{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:8px 0 2px;color:var(--muted);font-size:.875rem}.search-shortcuts>span{margin-right:2px}.search-shortcuts button{min-height:40px;padding:7px 12px;border-radius:100px;color:var(--green);font-size:.875rem}.search-shortcuts button:hover,.search-shortcuts button:focus-visible{background:var(--mint)}
.refine-row{margin-top:8px}.refine-control>summary{padding:10px 14px}.filter-status{margin-top:8px}.safety-note{margin-top:4px}
.results-section{padding-top:22px}.results-toolbar{padding-bottom:12px}.workspace{grid-template-columns:minmax(360px,1fr) minmax(0,1fr)}
.result-guidance{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:0 0 14px;padding:10px 14px;background:#edf2f6;color:#344f68;border-radius:10px;font-size:.875rem}.result-guidance span{max-width:80ch}.result-guidance button{min-height:44px;font-weight:650;text-align:left;flex-shrink:0;text-decoration:underline;text-underline-offset:3px}
.active-filters:empty{display:none}.query-requirement{flex:1 1 100%;font-size:.875rem;color:var(--muted);margin:3px 0 2px}
.result-card{padding:20px;box-shadow:none}.card-title h3{font-size:1.1rem;line-height:1.35;margin-bottom:5px}.card-title>p{font-size:.875rem}.favorite-button{border-color:transparent;background:var(--paper);width:42px;height:42px}.meal-status{font-size:.875rem;font-weight:650;margin:15px 0 0;color:var(--amber)}.meal-status.claim{color:#344f68}.meal-status.contains,.meal-status.avoid{color:var(--red)}
.evidence-row{margin-top:8px}.evidence-pill{font-size:.875rem;padding:4px 8px}.dish-description{font-size:1rem;line-height:1.55;margin:15px 0 0;color:var(--ink)}.recipe-caption{display:block;color:var(--muted);font-size:.8125rem;margin-bottom:4px}.card-kitchen{font-size:.875rem;margin-top:12px}.branch-button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:44px;margin:8px 0 0;color:var(--green);font-size:.875rem;font-weight:600;text-align:left}.branch-button:hover{text-decoration:underline}.card-bottom{margin-top:10px;padding-top:10px;gap:16px}.card-reference{display:grid;gap:3px;min-width:0}.card-reference>a{font-size:.875rem}.card-reference>span{font-size:.8125rem;color:var(--muted)}.details-button{flex-shrink:0}.empty-actions{display:flex;flex-wrap:wrap;gap:8px}
.dish-menu-source{font-size:.875rem;color:var(--muted);line-height:1.6;margin:12px 0}.dish-menu-source a{font-weight:600}.dish-order-note{font-size:1rem;line-height:1.6;color:var(--ink);padding:14px 16px;background:var(--paper);border-radius:10px}.ingredient-panel{font-size:1rem}.dialog-dishes>button{display:grid;gap:6px}.dialog-dishes>button>span{max-width:none}.location-choices>button{width:100%}.location-choices>button>span{font-size:.875rem}.dialog-dishes .menu-row-evidence{gap:6px}
@media(min-width:1100px){.results-list{max-height:none;overflow:visible;padding:0}.map-card{top:16px}}
@media(max-width:900px){.workspace{grid-template-columns:minmax(300px,1fr) minmax(0,1fr)}.result-guidance{align-items:flex-start;flex-direction:column;gap:0}.result-guidance button{flex-shrink:1}}
@media(max-width:760px){
 .search-section{padding-top:18px}.page-heading h1{position:static;width:auto;height:auto;clip-path:none;overflow:visible;font-size:1.45rem}.coverage-count{margin-top:5px;font-size:.8125rem}.page-heading{margin-bottom:13px}
 .finder-form{grid-template-columns:minmax(0,1fr) auto;padding:5px;gap:0}.dish-field{grid-column:1/-1;border-right:0;border-bottom:1px solid var(--line);padding:7px 10px 10px}.location-field{grid-column:1;grid-row:2;border-bottom:0;padding:8px 43px 8px 10px}.primary-button{grid-column:2;grid-row:2;margin:8px 3px;padding:10px 14px}.location-field #locateButton{right:0;top:15px;width:40px}
 .search-shortcuts{gap:1px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.search-shortcuts button{flex-shrink:0;padding:7px 10px}.search-shortcuts>span{display:none}
 .refine-row{grid-template-columns:minmax(0,1fr) auto}.refine-control[open]{grid-column:1/-1}.results-section{padding-top:18px}.result-guidance{padding:10px 12px}.result-guidance button{min-height:40px;font-size:.875rem}
 .result-card{padding:18px}.card-title h3{font-size:1.0625rem}.card-bottom{gap:10px}.dish-description{font-size:1rem}.dish-menu-source{line-height:1.6}.dialog-shell{padding:24px 18px}.dish-order-note{padding:12px}.dialog-dishes>button{padding:16px}
}
@media(max-width:380px){.finder-form{grid-template-columns:1fr}.location-field{grid-column:1;grid-row:2}.primary-button{grid-column:1;grid-row:3;margin:4px;min-height:44px}.refine-row{grid-template-columns:1fr}.card-bottom{flex-wrap:wrap}.card-reference{flex:1 1 160px}.card-title h3{font-size:1rem}}
footer a{color:inherit;font-size:.875rem;text-underline-offset:4px;padding:10px 6px}
