:root{color-scheme:light;--bg:#f8f5f0;--bg-elev:#fffdfa;--panel:#fffdfa;--text:#171717;--muted:#737373;--accent:16.0396039604 100% 60.3921568627%;--accent-h:34;--accent-s:62%;--accent-l:52%;--accent-glow-alpha-light:0.05;--accent-glow-alpha-dark:0.11;--brand-orange:#ff8c42;--border:rgba(68,46,29,.13);--shadow:0 2px 10px rgba(62,39,21,.09);--bg-accent-glow:hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) + 8%)/var(--accent-glow-alpha-light));--bg-base-glow:rgba(255,200,145,.06);--surface-soft:rgba(85,55,31,.03);--surface-strong:rgba(85,55,31,.045);--card-bg:#fffdfa;--card-border:rgba(120,85,52,.2);--card-primary-border:rgba(120,85,52,.26);--card-primary-shadow:0 2px 10px rgba(62,39,21,.11);--restaurant-text:rgba(38,38,38,.82);--protein-text:rgba(82,82,82,.9);--macro-text:rgba(82,82,82,.92);--macro-label:hsla(0,0%,45%,.9);--macro-divider:hsla(0,0%,45%,.62);--macro-value:hsla(0,0%,9%,.92);--why-text:rgba(38,38,38,.9);--link-hover-bg:rgba(85,55,31,.04);--cta-secondary-text:rgba(38,38,38,.86);--cta-secondary-border:rgba(120,85,52,.22);--cta-secondary-hover-bg:rgba(85,55,31,.06);--cta-secondary-hover-text:hsla(0,0%,9%,.94);--cta-secondary-hover-border:rgba(120,85,52,.28);--mode-active-text:#6d230c;--secondary-btn-bg:rgba(255,253,250,.98);--secondary-btn-text:#171717;--secondary-btn-border:rgba(120,85,52,.26)}.dark{color-scheme:dark;--bg:#0f0f10;--bg-elev:#17181a;--panel:#1d1f22;--text:#f4f4f5;--muted:#b5b8bd;--accent:16.0396039604 100% 60.3921568627%;--accent-h:34;--accent-s:62%;--accent-l:52%;--accent-glow-alpha-light:0.05;--accent-glow-alpha-dark:0.11;--brand-orange:#ff8c42;--border:hsla(0,0%,100%,.08);--shadow:0 10px 30px rgba(0,0,0,.35);--bg-accent-glow:hsl(var(--accent-h) calc(var(--accent-s) * 0.9) calc(var(--accent-l) + 4%)/var(--accent-glow-alpha-dark));--bg-base-glow:hsla(0,0%,100%,.035);--surface-soft:hsla(0,0%,100%,.015);--surface-strong:hsla(0,0%,100%,.03);--card-bg:hsla(0,0%,100%,.02);--card-border:hsla(0,0%,100%,.12);--card-primary-border:hsla(0,0%,100%,.22);--card-primary-shadow:0 14px 34px rgba(0,0,0,.42);--restaurant-text:hsla(240,5%,96%,.84);--protein-text:hsla(218,6%,73%,.9);--macro-text:hsla(218,6%,73%,.88);--macro-label:hsla(218,6%,73%,.7);--macro-divider:hsla(218,6%,73%,.58);--macro-value:hsla(240,5%,96%,.88);--why-text:hsla(240,5%,96%,.92);--link-hover-bg:hsla(0,0%,100%,.04);--cta-secondary-text:hsla(240,5%,96%,.82);--cta-secondary-border:hsla(0,0%,100%,.09);--cta-secondary-hover-bg:hsla(0,0%,100%,.03);--cta-secondary-hover-text:hsla(240,5%,96%,.9);--cta-secondary-hover-border:hsla(0,0%,100%,.12);--mode-active-text:#ffd8ca;--secondary-btn-bg:transparent;--secondary-btn-text:var(--text);--secondary-btn-border:var(--border)}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;overflow-x:hidden;overflow-x:clip;background:radial-gradient(circle at 16% 8%,var(--bg-accent-glow),transparent 62%),radial-gradient(circle at 88% 0,var(--bg-base-glow),transparent 66%),var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.theme-transition,.theme-transition *{transition-property:background-color,background-image,color,border-color;transition-duration:.15s;transition-timing-function:ease-out}a{color:inherit;text-decoration:none}main{min-height:100vh}.container{width:min(960px,100% - 2rem);margin:0 auto;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));box-sizing:border-box}.hero{display:grid;place-items:center;min-height:100vh;padding:2rem 0}.hero-card{width:min(540px,100%);background:linear-gradient(180deg,var(--surface-strong),var(--surface-soft));border:1px solid var(--border);border-radius:20px;padding:1.25rem;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.brand{font-size:1.6rem;font-weight:800;letter-spacing:.02em;margin:0}.brand,.eyebrow{color:var(--brand-orange)}.eyebrow{margin:0 0 .45rem;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.tagline{margin:.6rem 0 1.25rem;color:var(--muted);font-size:1rem;line-height:1.4}.form-grid{display:grid;grid-gap:.75rem;gap:.75rem}.label{font-size:.9rem;color:var(--muted)}.button,.input{width:100%;border-radius:12px;border:1px solid var(--border);font:inherit}.input{background:var(--panel);color:var(--text);padding:.9rem .95rem}.input:focus-visible,.select:focus-visible{outline:2px solid hsl(var(--accent));outline-offset:2px}.button{background-color:hsl(var(--accent));color:#f8fafc;font-weight:700;padding:.9rem 1rem;cursor:pointer}.button:hover{background-color:hsl(from hsl(var(--accent)) h s calc(l - 7%))}.button:active{background-color:hsl(from hsl(var(--accent)) h s calc(l - 12%))}.button.secondary{background:var(--secondary-btn-bg);color:var(--secondary-btn-text);border-color:var(--secondary-btn-border)}.footer-note{margin-top:1rem;color:var(--muted);font-size:.9rem}.results-shell{padding:1.5rem 0 3rem;max-width:100%}.results-page-container,.results-shell{width:100%;box-sizing:border-box;min-width:0}.results-page-container{max-width:48rem;margin:0 auto;padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}@media (min-width:640px){.results-page-container{padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right))}}.results-header{margin-bottom:1rem}.results-title{margin:0;font-size:1.55rem;line-height:1.1}.results-subtitle{margin:.4rem 0 0;color:var(--muted);font-size:.95rem}.results-grid{display:grid;grid-gap:.9rem;gap:.9rem;margin-top:1.35rem}.filters-row{margin-top:.9rem;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.75rem;min-width:0}.filters-row>*,.sort-inline{min-width:0;max-width:100%}.sort-inline{flex-wrap:nowrap;flex:0 1 auto}.provider-inline,.sort-inline{display:flex;align-items:center;gap:.55rem;width:auto}.provider-inline{flex-wrap:nowrap;min-width:0;max-width:100%}.filters-text{font-size:.82rem;color:var(--muted);font-weight:500;letter-spacing:.01em}.provider-control,.sort-control{width:auto;min-width:0;max-width:15rem}.provider-control{margin-left:auto}.provider-select-wrap,.sort-select-wrap{width:auto;min-width:0;max-width:15rem}.provider-label,.sort-label{min-width:0}.cravings-toggle{border:1px solid var(--border);background:var(--surface-soft);color:var(--muted);border-radius:9px;padding:.5rem .65rem;font:inherit;display:inline-flex;align-items:center;gap:.35rem;cursor:pointer;min-width:0;flex:0 1 auto}.chevron{font-size:.95rem;line-height:1;transition:transform .12s ease}.chevron.open{transform:rotate(180deg)}.select.compact{min-width:11.25rem;max-width:15rem;width:auto;padding:.45rem .65rem;font-size:.85rem;border-radius:9px}.provider-select,.sort-select{width:auto;max-width:15rem;min-width:0}.craving-panel{margin-top:.6rem;border:1px solid var(--border);border-radius:12px;padding:.65rem;background:var(--surface-soft)}.craving-panel-header{display:flex;align-items:center;justify-content:flex-end}.chip-wrap{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.65rem}.mode-toggle{margin-top:.75rem;display:inline-flex;width:100%;max-width:260px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--surface-soft)}.mode-option{flex:1 1;border:0;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;padding:.55rem .7rem;cursor:pointer}.mode-option+.mode-option{border-left:1px solid var(--border)}.mode-option.active{background:rgba(255,107,53,.14);color:var(--mode-active-text)}.chip{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:999px;padding:.45rem .7rem;font:inherit;font-size:.8rem;line-height:1;cursor:pointer}.chip.selected{border-color:rgba(255,107,53,.45);background:rgba(255,107,53,.14);color:var(--mode-active-text)}.clear-button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.8rem;cursor:pointer;padding:.15rem 0}.clear-button:disabled{opacity:.45;cursor:default}.select{width:100%;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:.65rem .75rem;font:inherit}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;width:100%;max-width:100%;box-sizing:border-box;padding:.95rem;box-shadow:var(--shadow)}.card-primary{border-color:var(--card-primary-border);box-shadow:var(--card-primary-shadow);padding:1.05rem}.recommended-label{margin:0 0 .65rem;color:var(--muted);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;opacity:.7}.card-clickable{cursor:pointer}.card-top{display:flex;justify-content:space-between;align-items:start;gap:1rem;width:100%;min-width:0}.card-main{flex:1 1 auto;min-width:0}.item-name{margin:0;font-weight:800;font-size:1.1rem;line-height:1.25}.item-name,.restaurant-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.restaurant-name{margin:.38rem 0 0;color:var(--restaurant-text);font-size:.96rem;font-weight:600}.card-stats{display:grid;justify-items:end;grid-gap:.28rem;gap:.28rem;text-align:right;flex-shrink:0}.calories-main{margin:0;font-size:1.04rem;font-weight:700;letter-spacing:.01em}.protein-main{margin:0;color:var(--protein-text);font-size:.8rem;font-weight:450;line-height:1.2}.info-block{margin-top:1.05rem}.macro-row{margin:0;color:var(--macro-text);font-size:.82rem;font-weight:400;line-height:1.35;padding-bottom:1px}.macro-label{color:var(--macro-label)}.macro-divider{margin:0 .3rem;color:var(--macro-divider)}.macro-value{color:var(--macro-value);font-weight:500}.dot{display:inline-block;margin:0 .35rem;opacity:.7}.why{margin-top:1rem;color:var(--why-text);line-height:1.35;font-size:.8rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-bottom:1px}.card-actions{display:flex;align-items:center;gap:.6rem;min-width:0;flex-wrap:nowrap}.link-button{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--text);padding:.65rem .8rem;font-weight:600;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.link-button:hover{background:var(--link-hover-bg)}.link-button:active{transform:scale(.98)}.cta-primary{min-width:120px}.cta-primary,.cta-secondary{padding-inline:1rem;gap:.42rem}.cta-secondary{min-width:88px;font-weight:500;color:var(--cta-secondary-text);border-color:var(--cta-secondary-border)}.cta-secondary:hover{background:var(--cta-secondary-hover-bg);color:var(--cta-secondary-hover-text);border-color:var(--cta-secondary-hover-border)}.distance-icon{display:inline-flex;width:.95rem;height:.95rem;opacity:.72}.distance-svg{width:100%;height:100%}.provider-icon{display:inline-flex;width:.95rem;height:.95rem;opacity:.82}.provider-svg{width:100%;height:100%}.order-chooser{margin-top:.7rem;display:grid;grid-gap:.5rem;gap:.5rem;border:1px solid var(--border);border-radius:10px;padding:.55rem;background:var(--surface-soft)}.card-footer{margin-top:1.05rem}.chooser-option{width:100%;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font:inherit;font-size:.86rem;padding:.55rem .7rem;text-align:left;cursor:pointer}.empty{color:var(--muted);border:1px dashed var(--border);border-radius:14px;padding:1rem}.pagination{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;margin-top:1rem;min-width:0}.pagination>*{min-width:0;max-width:100%;flex:1 1 10rem}.pagination .link-button{width:100%}@media (min-width:700px){.hero-card{padding:1.5rem}.item-name{font-size:1.12rem}.calories-main{font-size:1.08rem}}@media (min-width:640px){.sort-inline{flex:0 1 auto}.provider-select,.sort-select{width:auto}}@media (max-width:700px){.order-chooser{position:fixed;left:.75rem;right:.75rem;bottom:.75rem;z-index:30;background:var(--panel);box-shadow:0 -6px 24px rgba(0,0,0,.35)}}.settings-header{position:fixed;top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));z-index:60}.settings-gear{border:1px solid var(--border);background:var(--panel);color:var(--text);width:2.2rem;height:2.2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font:inherit;font-size:1rem;cursor:pointer;box-shadow:var(--shadow)}.settings-overlay{position:fixed;inset:0;z-index:69;background:rgba(0,0,0,.22);opacity:0;pointer-events:none;transition:opacity .15s ease-out}.settings-overlay.open{opacity:1;pointer-events:auto}.settings-panel{position:fixed;top:0;right:0;height:100dvh;width:100vw;max-width:384px;z-index:70;border-left:1px solid var(--border);background:var(--bg-elev);box-shadow:-14px 0 28px rgba(0,0,0,.2);transform:translateX(100%);transition:transform .15s ease-out;padding:calc(12px + env(safe-area-inset-top)) 14px calc(12px + env(safe-area-inset-bottom))}.settings-panel.open{transform:translateX(0)}.settings-panel-header{display:flex;align-items:center;justify-content:space-between}.settings-title{margin:0;font-size:1rem;font-weight:700}.settings-close{border:1px solid var(--border);background:var(--panel);color:var(--text);width:2rem;height:2rem;border-radius:10px;font:inherit;cursor:pointer}.settings-section{margin-top:.72rem}.settings-section-title{margin:0 0 .42rem;color:var(--muted);font-size:.78rem;letter-spacing:.1em;opacity:.78;text-transform:uppercase}.settings-option{display:flex;align-items:center;gap:.45rem;color:var(--text);font-size:.95rem}.settings-row{position:relative;min-height:2.25rem;border-radius:10px;padding:.35rem .45rem;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:transparent}.settings-row:hover{background:color-mix(in oklab,var(--text) 6%,transparent)}.settings-row.selected{background:color-mix(in oklab,var(--text) 10%,transparent)}.settings-row-check{width:1rem;display:inline-flex;align-items:center;justify-content:center;color:color-mix(in oklab,var(--text) 80%,var(--panel));font-size:.78rem;line-height:1}.settings-accent-row .settings-row-check{display:none}.settings-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.settings-row:has(.settings-radio:focus-visible){outline:2px solid color-mix(in oklab,var(--text) 40%,transparent);outline-offset:2px}.settings-accent-dot{width:11px;height:11px;border-radius:999px;border:1px solid color-mix(in oklab,var(--text) 22%,var(--panel));box-shadow:inset 0 0 0 0 transparent;flex:0 0 auto}.settings-accent-dot.selected{box-shadow:0 0 0 2px color-mix(in oklab,var(--text) 14%,transparent)}.settings-option+.settings-option{margin-top:.22rem}