:root { --food-ink:#142b4e; --food-muted:#71809a; --food-blue:#0b6ff2; --food-line:#dce5f0; --food-soft:#f3f8ff; }
.food-main { width:min(1120px,calc(100% - 96px)); flex:1 1 auto; margin:0 auto; padding:42px 0 36px; }
.food-heading { text-align:center; }
.food-heading h1 { margin:0; color:var(--food-ink); font-size:40px; line-height:1.2; }
.food-heading p { margin:12px 0 0; color:var(--food-muted); font-size:18px; }
.food-app[data-page="home"] .food-heading p { max-width:100%; margin-left:auto; margin-right:auto; text-align:center; }
.food-location-panel { max-width:778px; margin:34px auto 0; padding:18px 21px 20px; border:1px solid var(--food-line); border-radius:17px; background:#fff; }
.food-app[data-page="home"] .food-location-panel { width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; box-sizing:border-box; }
.food-location-panel h2 { margin:0 0 16px; display:flex; align-items:center; gap:10px; color:var(--food-ink); font-size:18px; }
.food-location-panel h2 img { width:28px; height:28px; object-fit:contain; }
.food-location-controls { display:flex; align-items:center; gap:14px; }
.food-location-current,.food-location-input { min-height:52px; display:flex; align-items:center; gap:12px; padding:0 16px; border:1px solid var(--food-blue); border-radius:10px; background:#fff; color:var(--food-blue); font-size:17px; font-weight:700; }
.food-location-current { flex:0 0 auto; cursor:pointer; }
.food-location-current:disabled { opacity:.62; cursor:wait; }
.food-location-current:hover { background:var(--food-soft); }
.food-location-current img,.food-location-input img { width:28px; height:28px; object-fit:contain; flex:0 0 28px; }
.food-location-input { border-color:#cbd7e8; color:var(--food-muted); }
.food-location-input:focus-within { border-color:var(--food-blue); box-shadow:0 0 0 3px #edf5ff; }
.food-location-input input { min-width:0; width:100%; border:0; outline:0; color:var(--food-ink); font:inherit; font-weight:400; }
.food-location-input input::placeholder { color:#9aa7ba; }
.food-location-status { min-width:0; margin:0; color:#647590; font-size:13px; line-height:1.45; }
.food-address-picker { margin-top:14px; display:grid; grid-template-columns:1fr 1.25fr 1.15fr 1.7fr; gap:10px; }
.food-address-picker label { min-width:0; display:flex; flex-direction:column; gap:6px; }
.food-address-picker label>span { color:#74839a; font-size:12px; }
.food-address-picker select,.food-address-picker input { min-width:0; width:100%; height:42px; padding:0 11px; border:1px solid #cbd7e8; border-radius:9px; outline:0; background:#fff; color:var(--food-ink); font-size:13px; }
.food-address-picker select:focus,.food-address-picker input:focus { border-color:var(--food-blue); box-shadow:0 0 0 3px rgba(11,111,242,.09); }
.food-filter-row { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:18px; margin-top:25px; }
.food-filter-wrap { position:relative; min-width:0; }
.food-filter { width:100%; min-height:75px; padding:10px 14px; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto auto; align-items:center; border:1px solid var(--food-line); border-radius:12px; background:#fff; color:var(--food-ink); text-align:left; cursor:pointer; }
.food-filter:hover { border-color:#92bfff; background:var(--food-soft); }
.food-filter[aria-expanded="true"] { border-color:#75adfa; box-shadow:0 0 0 3px rgba(11,111,242,.1); }
.food-filter span { grid-column:1 / -1; display:flex; align-items:center; gap:9px; color:var(--food-muted); font-size:14px; }
.food-filter span img { width:24px; height:24px; object-fit:contain; }
.food-filter strong { min-width:0; overflow:hidden; font-size:15px; text-overflow:ellipsis; white-space:nowrap; }
.food-filter b { color:var(--food-ink); font-size:17px; font-weight:400; transition:transform .18s ease; }
.food-filter[aria-expanded="true"] b { transform:rotate(180deg); }
.food-filter-menu { position:absolute; z-index:40; top:calc(100% + 8px); left:0; right:0; max-height:270px; padding:6px; overflow:auto; border:1px solid #d7e1ed; border-radius:12px; background:#fff; box-shadow:0 14px 34px rgba(30,58,96,.16); }
.food-filter-menu[hidden] { display:none; }
.food-filter-option { width:100%; min-height:38px; padding:8px 10px; display:flex; align-items:center; justify-content:space-between; gap:8px; border:0; border-radius:8px; background:transparent; color:var(--food-ink); font-size:13px; line-height:1.35; text-align:left; cursor:pointer; }
.food-filter-option:hover,.food-filter-option:focus-visible { outline:0; background:#edf5ff; color:var(--food-blue); }
.food-filter-option[aria-selected="true"] { background:#e8f2ff; color:var(--food-blue); font-weight:700; }
.food-filter-option[aria-selected="true"]::after { content:'✓'; flex:0 0 auto; }
body[data-ui-theme="dark"] .food-filter-menu { border-color:#34445d; background:#172338; box-shadow:0 16px 36px rgba(0,0,0,.35); }
body[data-ui-theme="dark"] .food-filter-option { color:#f2f6fc; }
body[data-ui-theme="dark"] .food-filter-option:hover,
body[data-ui-theme="dark"] .food-filter-option:focus-visible,
body[data-ui-theme="dark"] .food-filter-option[aria-selected="true"] { background:#213957; color:#8fc3ff; }
.food-content-grid { display:grid; grid-template-columns:minmax(0,1fr) 226px; gap:28px; margin-top:32px; }
.food-start-section h2,.food-method-panel h2 { margin:0 0 17px; color:var(--food-ink); font-size:21px; }
.food-quick-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:17px; }
.food-quick-card { min-height:126px; padding:17px 8px 12px; display:flex; flex-direction:column; align-items:center; justify-content:space-between; border:1px solid var(--food-line); border-radius:13px; background:#fff; color:var(--food-ink); font-size:15px; cursor:pointer; }
.food-quick-card:hover { border-color:#85b8ff; background:var(--food-soft); transform:translateY(-1px); }
.food-quick-card img { width:54px; height:54px; object-fit:contain; }
.food-method-panel { padding:21px 22px 17px; border:1px solid var(--food-line); border-radius:14px; background:#fff; }
.food-method-panel button,.food-refine-panel>button { width:100%; min-height:69px; padding:0; display:grid; grid-template-columns:36px minmax(0,1fr) auto; align-items:center; gap:9px; border:0; border-top:1px solid #edf1f6; background:#fff; color:var(--food-ink); font-size:15px; text-align:left; cursor:pointer; }
.food-method-panel button:first-of-type,.food-refine-panel>button:first-of-type { border-top:0; }
.food-method-panel button:hover,.food-refine-panel>button:hover { color:var(--food-blue); }
.food-method-panel img,.food-refine-panel img { width:32px; height:32px; object-fit:contain; }
.food-method-panel b,.food-refine-panel b { color:#55677f; font-size:22px; font-weight:400; }
.food-prompt-box { max-width:826px; min-height:116px; margin:29px auto 0; padding:0 21px; display:flex; align-items:center; gap:13px; border:1px solid #bac9dd; border-radius:17px; background:#fff; }
.food-prompt-box>img { width:31px; height:31px; object-fit:contain; flex:0 0 31px; }
.food-prompt-box input { min-width:0; flex:1; border:0; outline:0; color:var(--food-ink); font-size:16px; }
.food-prompt-box input::placeholder { color:#7c8ca5; }
.food-prompt-box button { min-width:132px; height:46px; padding:0 18px; flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-radius:12px; background:var(--food-blue); color:#fff; font-size:14px; font-weight:700; line-height:1; cursor:pointer; white-space:nowrap; }
.food-prompt-box button:hover { background:#095fd2; }
.food-prompt-box button img { width:25px; height:25px; display:block; margin:auto; object-fit:contain; filter:brightness(0) invert(1); }
.food-prompt-box button span { display:block; }
.food-disclaimer { margin:19px 0 0; color:#8997aa; font-size:14px; text-align:center; line-height:1.6; }
.food-breadcrumb { display:flex; align-items:center; gap:12px; margin-bottom:27px; color:#667895; font-size:14px; }
.food-breadcrumb a:hover,.food-text-action:hover { color:var(--food-blue); }
.food-results-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.food-results-heading h1 { margin:0; font-size:36px; }
.food-results-heading p { margin:10px 0 0; color:var(--food-muted); font-size:16px; }
.food-text-action { border:0; background:transparent; color:var(--food-blue); font-size:16px; font-weight:700; cursor:pointer; }
.food-result-layout,.food-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:28px; margin-top:28px; }
.food-suggestion,.food-info-panel { padding:23px 24px; border:1px solid #9cc6ff; border-radius:14px; background:linear-gradient(100deg,#f2f8ff,#fff); }
.food-suggestion { display:flex; gap:15px; align-items:flex-start; }
.food-suggestion img { width:30px; height:30px; object-fit:contain; flex:0 0 30px; }
.food-suggestion strong { font-size:18px; }
.food-suggestion p { margin:8px 0 0; color:#607493; line-height:1.55; }
.food-ai-status { min-height:72px; margin-top:15px; padding:14px 16px; display:flex; align-items:center; gap:13px; border:1px solid #cfe0f5; border-radius:12px; background:#f7faff; color:#506681; }
.food-ai-status strong { display:block; color:var(--food-ink); font-size:15px; }
.food-ai-status p { margin:4px 0 0; font-size:13px; line-height:1.45; }
.food-ai-status > div { min-width:0; flex:1; }
.food-ai-status > button { min-height:36px; padding:0 14px; border:1px solid #82b7ff; border-radius:9px; background:#fff; color:var(--food-blue); font-weight:700; cursor:pointer; }
.food-ai-status.is-complete { border-color:#b9dfcc; background:#f4fbf7; }
.food-ai-status.is-error { border-color:#efc4c4; background:#fff7f7; }
.food-ai-spinner { width:22px; height:22px; flex:0 0 22px; border:2px solid #c5d8f0; border-top-color:var(--food-blue); border-radius:50%; animation:food-spin .85s linear infinite; }
.food-ai-status.is-complete .food-ai-spinner,.food-ai-status.is-error .food-ai-spinner { border:0; animation:none; }
.food-ai-status.is-complete .food-ai-spinner::before { content:'✓'; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#e0f5e9; color:#16824d; font-weight:800; }
.food-ai-status.is-error .food-ai-spinner::before { content:'!'; display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:#fde6e6; color:#b43d3d; font-weight:800; }
@keyframes food-spin { to { transform:rotate(360deg); } }
.food-restaurant-card { min-height:146px; margin-top:15px; padding:14px; display:grid; grid-template-columns:174px minmax(0,1fr) 135px; gap:20px; align-items:center; border:1px solid var(--food-line); border-radius:14px; background:#fff; }
.food-generated-card.is-new { animation:food-card-in .22s ease-out both; }
@keyframes food-card-in { from { opacity:0; transform:translateY(9px); } to { opacity:1; transform:translateY(0); } }
.food-restaurant-art { width:174px; height:137px; object-fit:cover; border-radius:8px; }
.food-restaurant-placeholder { width:174px; height:137px; display:grid; place-items:center; border-radius:10px; background:linear-gradient(135deg,#e7f2ff,#f7fbff); color:#2b75ce; font-size:42px; font-weight:800; }
.food-restaurant-visual { width:174px; height:137px; display:grid; place-items:center; overflow:hidden; border:1px solid #dbe7f5; border-radius:10px; background:linear-gradient(135deg,#edf6ff,#fbfdff); }
.food-restaurant-photo { width:100%; height:100%; display:block; object-fit:cover; }
.food-restaurant-logo { max-width:82%; max-height:72%; display:block; object-fit:contain; }
.food-restaurant-favicon { width:64px; height:64px; }
.food-restaurant-name-mark { max-width:90%; padding:8px; display:-webkit-box; overflow:hidden; color:#2268b8; font-size:16px; font-weight:800; line-height:1.25; text-align:center; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:4; }
.food-restaurant-title-row { display:flex; align-items:flex-start; gap:7px; }
.food-restaurant-title-row h2 { min-width:0; flex:1; }
.food-restaurant-index { flex:0 0 auto; color:#7a899d; font-size:14px; font-weight:650; line-height:1.5; }
.food-restaurant-copy h2 { margin:0 0 8px; font-size:20px; }
.food-restaurant-copy p { margin:0; color:#647590; font-size:14px; }
.food-tags { display:flex; gap:9px; margin:14px 0 13px; }
.food-tags span { padding:5px 11px; border:1px solid #d5dfec; border-radius:16px; color:#63748d; font-size:13px; }
.food-restaurant-reason { color:var(--food-ink); font-size:14px; font-weight:500; }
.food-restaurant-facts { margin-top:9px!important; font-size:12px!important; line-height:1.5; }
.food-restaurant-contact { margin-top:10px; display:grid; gap:5px; }
.food-restaurant-fact-line { min-width:0; display:grid; grid-template-columns:70px minmax(0,1fr); gap:7px; align-items:start; font-size:12px!important; line-height:1.5; }
.food-restaurant-fact-line b { color:#53647b; font-weight:650; }
.food-restaurant-fact-line span,.food-restaurant-fact-line a { min-width:0; color:#5f7189; overflow-wrap:anywhere; word-break:break-word; }
.food-restaurant-fact-line a { color:var(--food-blue); text-decoration:none; }
.food-restaurant-fact-line a:hover { text-decoration:underline; }
.food-card-source { display:inline-block; max-width:100%; margin-top:7px; overflow:hidden; color:var(--food-blue); font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.food-restaurant-actions { display:flex; flex-direction:column; align-items:stretch; gap:21px; }
.food-detail-link { color:var(--food-blue); font-size:15px; font-weight:700; text-align:center; white-space:nowrap; }
.food-detail-link.is-disabled { color:#8a98ad; cursor:wait; pointer-events:auto; }
.food-compare { width:100%; }
.food-compare.is-added { border-color:#b8c8dc; color:#7b8ba0; background:#f7f9fc; cursor:default; }
.food-compare-tray { position:fixed; left:50%; bottom:18px; z-index:80; width:min(100% - 36px,960px); transform:translateX(-50%); }
.food-compare-tray[hidden],.food-compare-modal[hidden] { display:none; }
.food-compare-tray-inner { padding:13px 14px; display:flex; align-items:center; justify-content:space-between; gap:16px; border:1px solid #bfd4ef; border-radius:12px; background:rgba(255,255,255,.96); box-shadow:0 12px 34px rgba(25,55,94,.14); backdrop-filter:blur(12px); }
.food-compare-summary { min-width:0; flex:1; }
.food-compare-summary strong { color:var(--food-ink); font-size:15px; }
.food-compare-summary p { margin:4px 0 0; color:#65768e; font-size:12px; }
.food-compare-chips { margin-top:8px; display:flex; flex-wrap:wrap; gap:7px; }
.food-compare-chip { max-width:190px; min-height:30px; padding:0 6px 0 10px; display:inline-flex; align-items:center; gap:7px; border:1px solid #d8e3f1; border-radius:999px; background:#f6faff; color:#294466; font-size:12px; }
.food-compare-chip b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:650; }
.food-compare-chip button { width:22px; height:22px; flex:0 0 22px; border:0; border-radius:50%; background:#e7eef8; color:#516781; cursor:pointer; }
.food-compare-actions { display:flex; align-items:center; gap:9px; }
.food-compare-actions button { min-height:38px; padding:0 14px; white-space:nowrap; }
.food-compare-actions button:disabled { opacity:.48; cursor:not-allowed; }
.food-compare-modal-open .food-compare-tray { display:none; }
.food-compare-modal { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:28px; }
.food-compare-backdrop { position:absolute; inset:0; background:rgba(18,30,48,.38); }
.food-compare-dialog { position:relative; width:min(100%,980px); height:min(82vh,720px); min-height:420px; overflow:hidden; display:flex; flex-direction:column; border:1px solid #cbd8e8; border-radius:12px; background:#fff; box-shadow:0 24px 60px rgba(17,38,70,.22); }
.food-compare-dialog header { padding:18px 20px; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; border-bottom:1px solid #e3eaf3; }
.food-compare-dialog header strong { color:var(--food-ink); font-size:20px; }
.food-compare-dialog header p { margin:5px 0 0; color:#65768e; font-size:13px; }
.food-compare-dialog header button { width:34px; height:34px; border:1px solid #d4dfed; border-radius:8px; background:#fff; color:#60718a; font-size:22px; line-height:1; cursor:pointer; }
.food-compare-table-wrap { flex:1 1 auto; min-height:0; overflow:auto; background:#fff; -webkit-overflow-scrolling:touch; }
.food-compare-dialog footer { padding:13px 16px; display:flex; justify-content:flex-end; gap:10px; border-top:1px solid #e3eaf3; background:#fff; }
.food-compare-dialog footer button { min-height:38px; padding:0 16px; }
.food-compare-table { width:100%; min-width:720px; border-collapse:collapse; }
.food-compare-table th,.food-compare-table td { padding:13px 14px; border-right:1px solid #e4ebf4; border-bottom:1px solid #e4ebf4; color:#4d6078; font-size:13px; line-height:1.55; text-align:left; vertical-align:top; }
.food-compare-table th { width:126px; position:sticky; left:0; z-index:1; background:#f4f8fd; color:#20344f; font-weight:700; }
.food-compare-table td { min-width:180px; }
.food-compare-table tr:last-child th,.food-compare-table tr:last-child td { border-bottom:0; }
.food-compare-table a { color:var(--food-blue); }
.food-refine-panel,.food-before-panel { padding:22px 20px; border:1px solid var(--food-line); border-radius:14px; background:#fff; }
.food-refine-panel h2,.food-before-panel h2 { margin:0 0 13px; font-size:20px; }
.food-continue-card { margin-top:24px; padding:20px; border:1px solid var(--food-line); border-radius:14px; background:#fff; }
.food-continue-card h2 { margin:0 0 17px; font-size:19px; }
.food-mini-form { min-height:96px; padding:14px; display:flex; flex-direction:column; align-items:flex-end; justify-content:space-between; gap:12px; border:1px solid #c4d2e5; border-radius:12px; }
.food-mini-form input { width:100%; border:0; outline:0; color:var(--food-ink); font-size:14px; }
.food-mini-form button { width:37px; height:37px; border:0; border-radius:50%; background:var(--food-blue); color:#fff; font-size:18px; cursor:pointer; }
.food-mini-form button img,.food-mini-form button svg { width:20px; height:20px; display:block; margin:auto; object-fit:contain; }
.food-mini-form button img { filter:brightness(0) invert(1); }
.food-mini-form button svg,.food-prompt-box button svg { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.food-prompt-box button svg { width:20px; height:20px; display:block; margin:0; }
.food-results-disclaimer { text-align:left; }
.food-results-load-more { min-height:76px; margin:16px 0 0; padding:14px 16px; display:flex; align-items:center; gap:13px; border:1px solid #cfe0f5; border-radius:12px; background:#f7faff; color:#5b6f8a; }
.food-results-load-more[hidden] { display:none; }
.food-results-load-more > div { min-width:0; flex:1; }
.food-results-load-more strong { display:block; color:var(--food-ink); font-size:15px; }
.food-results-load-more p { margin:5px 0 0; font-size:13px; line-height:1.55; }
.food-results-load-more > button { min-height:36px; padding:0 14px; border:1px solid #82b7ff; border-radius:9px; background:#fff; color:var(--food-blue); font-weight:600; cursor:pointer; }
.food-results-load-more:not(.is-loading) .food-ai-spinner { border-color:#b8cae0; border-top-color:#438fe8; animation:none; }
.food-results-load-more.is-error { border-color:#efc4c4; background:#fff7f7; }
.food-results-bottom-tip { margin:16px 0 0; padding:15px 17px; border:1px solid #cfe0f5; border-radius:12px; background:#f7faff; color:#5b6f8a; }
.food-results-bottom-tip[hidden] { display:none; }
.food-results-bottom-tip strong { display:block; color:var(--food-ink); font-size:15px; }
.food-results-bottom-tip p { margin:5px 0 0; font-size:13px; line-height:1.55; }
.food-app[data-page="results"] .food-main { padding-top:22px; padding-bottom:24px; }
.food-app[data-page="results"] .food-breadcrumb { margin-bottom:14px; }
.food-app[data-page="results"] .food-results-heading h1 { font-size:30px; line-height:1.2; }
.food-app[data-page="results"] .food-results-heading p { margin-top:6px; font-size:14px; }
.food-app[data-page="results"] .food-text-action { font-size:14px; }
.food-app[data-page="results"] #food-edit-filters { min-width:96px; flex:0 0 auto; font-size:16px; line-height:1.35; text-align:right; white-space:nowrap; }
.food-app[data-page="results"] .food-result-layout { grid-template-columns:minmax(0,1fr) 270px; gap:22px; margin-top:16px; }
.food-app[data-page="results"] .food-suggestion { padding:13px 16px; gap:11px; border-radius:11px; }
.food-app[data-page="results"] .food-suggestion img { width:24px; height:24px; flex-basis:24px; }
.food-app[data-page="results"] .food-suggestion strong { font-size:16px; }
.food-app[data-page="results"] .food-suggestion p { margin-top:4px; font-size:14px; line-height:1.4; }
.food-app[data-page="results"] .food-restaurant-card { min-height:0; margin-top:10px; padding:10px; grid-template-columns:124px minmax(0,1fr) 106px; gap:14px; border-radius:11px; }
.food-app[data-page="results"] .food-aggregate-card { border-style:dashed; border-color:#8dbbff; background:linear-gradient(135deg,#f5f9ff,#fbfdff); }
.food-app[data-page="results"] .food-aggregate-card .food-restaurant-placeholder { background:linear-gradient(135deg,#dcecff,#eff6ff); }
.food-aggregate-label { display:inline-flex; width:max-content; margin-bottom:5px; padding:3px 8px; border-radius:999px; background:#e6f1ff; color:#176dce; font-size:11px; font-weight:700; line-height:1.35; }
.food-app[data-page="results"] .food-restaurant-art,.food-app[data-page="results"] .food-restaurant-placeholder,.food-app[data-page="results"] .food-restaurant-visual { width:124px; height:96px; }
.food-app[data-page="results"] .food-restaurant-name-mark { font-size:13px; }
.food-app[data-page="results"] .food-restaurant-copy h2 { margin-bottom:5px; font-size:17px; }
.food-app[data-page="results"] .food-restaurant-copy p { font-size:13px; }
.food-app[data-page="results"] .food-tags { gap:6px; margin:7px 0; }
.food-app[data-page="results"] .food-tags span { padding:3px 8px; font-size:12px; }
.food-app[data-page="results"] .food-restaurant-reason { display:block; font-size:13px; line-height:1.4; }
.food-app[data-page="results"] .food-restaurant-actions { gap:10px; }
.food-app[data-page="results"] .food-detail-link { font-size:13px; }
.food-app[data-page="results"] .food-compare { min-height:34px; height:34px; padding:0 8px; gap:5px; font-size:13px; }
.food-app[data-page="results"] .food-compare img { width:17px; height:17px; flex:0 0 17px; object-fit:contain; }
.food-app[data-page="results"] .food-refine-panel { padding:15px 16px; border-radius:11px; }
.food-app[data-page="results"] .food-refine-panel h2 { margin-bottom:7px; font-size:17px; }
.food-app[data-page="results"] .food-refine-panel>button { min-height:46px; grid-template-columns:25px minmax(0,1fr) auto; gap:9px; font-size:13px; }
.food-app[data-page="results"] .food-refine-panel>button img { width:24px; height:24px; }
.food-app[data-page="results"] .food-continue-card { margin-top:12px; padding:13px; border-radius:10px; }
.food-app[data-page="results"] .food-continue-card h2 { margin-bottom:9px; font-size:16px; }
.food-app[data-page="results"] .food-mini-form { min-height:72px; padding:9px; gap:6px; border-radius:9px; }
.food-app[data-page="results"] .food-mini-form button { width:34px; height:34px; }
.food-app[data-page="results"] .food-results-disclaimer { margin-top:10px; font-size:12px; }
.food-detail-heading { display:grid; grid-template-columns:150px minmax(0,1fr) auto; gap:24px; align-items:center; }
.food-detail-hero { width:150px; height:125px; display:flex; align-items:center; justify-content:center; }
.food-detail-hero img { width:145px; height:125px; object-fit:contain; }
.food-detail-heading h1 { margin:0; font-size:36px; }
.food-detail-heading p { margin:12px 0 0; font-size:17px; color:var(--food-ink); }
.food-detail-actions { display:flex; align-items:center; gap:30px; }
.food-detail-main { min-width:0; }
.food-info-panel { margin-bottom:22px; border-color:#9cc6ff; }
.food-info-panel:not(.food-why) { border-color:var(--food-line); background:#fff; }
.food-info-panel h2 { margin:0 0 20px; display:flex; align-items:center; gap:12px; font-size:21px; }
.food-info-panel h2 img { width:31px; height:31px; object-fit:contain; }
.food-info-panel h2 small { color:#73839a; font-size:14px; font-weight:400; }
.food-why p { margin:15px 0; display:flex; align-items:center; gap:13px; font-size:17px; }
.food-why p img { width:25px; height:25px; object-fit:contain; flex:0 0 25px; }
.food-reference-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; }
.food-reference-grid>div { min-height:116px; padding:15px 12px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border:1px solid var(--food-line); border-radius:10px; }
.food-reference-grid img { width:31px; height:31px; object-fit:contain; margin-bottom:7px; }
.food-reference-grid small { color:#7b8ca3; font-size:13px; }
.food-reference-grid strong { margin-top:7px; color:var(--food-ink); font-size:16px; font-weight:500; }
.food-advice h2 { display:block; }
.food-advice p { margin:15px 0; color:var(--food-ink); font-size:16px; line-height:1.6; }
.food-before-panel>button { width:100%; min-height:64px; margin-top:12px; padding:0 14px; display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid var(--food-line); border-radius:11px; background:#fff; color:var(--food-ink); font-size:15px; text-align:left; cursor:pointer; }
.food-live-action { width:100%; min-height:64px; margin-top:12px; padding:0 14px; display:grid; grid-template-columns:30px minmax(0,1fr) auto; align-items:center; gap:10px; border:1px solid var(--food-line); border-radius:11px; background:#fff; color:var(--food-ink); font-size:14px; }
.food-live-action:hover { border-color:#8dbbff; color:var(--food-blue); background:var(--food-soft); }
.food-live-action img { width:28px; height:28px; object-fit:contain; }
.food-live-action b { color:var(--food-blue); font-size:22px; font-weight:400; }
.food-before-panel>button:hover,.food-before-panel>button.is-confirmed { border-color:#8dbbff; color:var(--food-blue); background:var(--food-soft); }
.food-before-panel>button img { width:28px; height:28px; object-fit:contain; }
.food-before-panel>button b { color:var(--food-blue); font-size:22px; font-weight:400; }
.food-source-note { margin:17px 0 0; padding:15px; border:1px solid #d8e7fb; border-radius:10px; background:#f4f8ff; color:#667895; font-size:13px; line-height:1.6; }
.food-action-status { margin:10px 0; padding:10px 12px; border-radius:8px; background:#f3f7fc; color:#5f708a; font-size:12px; line-height:1.6; }
.food-detail-generated-mark { width:124px; height:104px; display:grid; place-items:center; border-radius:12px; background:linear-gradient(135deg,#e7f2ff,#f8fbff); color:#2b75ce; font-size:42px; font-weight:800; }
.food-live-contact-grid { display:grid; grid-template-columns:1.5fr .8fr 1fr; gap:12px; margin-top:16px; }
.food-live-contact-grid > div { min-width:0; padding:13px 14px; border:1px solid #dbe5f0; border-radius:10px; background:#f9fbfe; }
.food-live-contact-grid small { display:block; color:#7788a0; font-size:12px; }
.food-live-contact-grid strong,.food-live-contact-grid a { display:block; margin-top:6px; color:var(--food-ink); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.food-live-contact-grid a { color:var(--food-blue); }
body[data-ui-theme="dark"] .food-ai-status { border-color:#34445d; background:#172338; color:#d9e4f2; }
body[data-ui-theme="dark"] .food-ai-status strong { color:#f4f7fb; }
body[data-ui-theme="dark"] .food-restaurant-placeholder,
body[data-ui-theme="dark"] .food-detail-generated-mark { background:linear-gradient(135deg,#1b3553,#1b2a40); color:#91c5ff; }
body[data-ui-theme="dark"] .food-address-picker select,
body[data-ui-theme="dark"] .food-address-picker input,
body[data-ui-theme="dark"] .food-restaurant-visual { border-color:#34445d; background:linear-gradient(135deg,#1b3553,#172338); }
body[data-ui-theme="dark"] .food-restaurant-name-mark { color:#a7d0ff; }
body[data-ui-theme="dark"] .food-results-bottom-tip { border-color:#34445d; background:#172338; color:#d9e4f2; }
body[data-ui-theme="dark"] .food-results-bottom-tip strong { color:#f4f7fb; }
body[data-ui-theme="dark"] .food-results-load-more { border-color:#34445d; background:#172338; color:#d9e4f2; }
body[data-ui-theme="dark"] .food-results-load-more strong { color:#f4f7fb; }
body[data-ui-theme="dark"] .food-results-load-more > button { border-color:#4f86c6; background:#1d2a3d; color:#b9dcff; }
body[data-ui-theme="dark"] .food-app[data-page="results"] .food-aggregate-card { border-color:#4f86c6; background:linear-gradient(135deg,#172b43,#18263a); }
body[data-ui-theme="dark"] .food-aggregate-label { background:#21446b; color:#b9dcff; }
body[data-ui-theme="dark"] .food-live-contact-grid > div { border-color:#34445d; background:#172338; }
body[data-ui-theme="dark"] .food-live-contact-grid strong { color:#f2f6fc; }
body[data-ui-theme="dark"] .food-compare.is-added { border-color:#3e516d; background:#1d2a3d; color:#b7c5d7; }
body[data-ui-theme="dark"] .food-compare-tray-inner,body[data-ui-theme="dark"] .food-compare-dialog { border-color:#34445d; background:#172338; color:#eaf1f9; }
body[data-ui-theme="dark"] .food-compare-summary strong,body[data-ui-theme="dark"] .food-compare-dialog header strong { color:#f4f7fb; }
body[data-ui-theme="dark"] .food-compare-summary p,body[data-ui-theme="dark"] .food-compare-dialog header p { color:#b7c5d7; }
body[data-ui-theme="dark"] .food-compare-chip,body[data-ui-theme="dark"] .food-compare-dialog header button { border-color:#3e516d; background:#1d2a3d; color:#d9e4f2; }
body[data-ui-theme="dark"] .food-compare-chip button { background:#2a3a51; color:#d9e4f2; }
body[data-ui-theme="dark"] .food-compare-table-wrap { background:#172338; }
body[data-ui-theme="dark"] .food-compare-dialog footer { border-color:#34445d; background:#172338; }
body[data-ui-theme="dark"] .food-compare-table th { background:#1d2a3d; color:#f4f7fb; }
body[data-ui-theme="dark"] .food-compare-table th,body[data-ui-theme="dark"] .food-compare-table td { border-color:#34445d; color:#d9e4f2; }
.food-app[data-page="detail"] .food-main { padding-top:22px; padding-bottom:24px; }
.food-detail-ai-status { margin-bottom:0; }
.food-app[data-page="detail"] .food-breadcrumb { margin-bottom:14px; }
.food-app[data-page="detail"] .food-detail-heading { grid-template-columns:130px minmax(0,1fr) auto; gap:20px; }
.food-app[data-page="detail"] .food-detail-hero { width:130px; height:105px; }
.food-app[data-page="detail"] .food-detail-hero img { width:124px; height:104px; border-radius:10px; }
.food-app[data-page="detail"] .food-detail-heading h1 { font-size:31px; line-height:1.2; }
.food-app[data-page="detail"] .food-detail-heading p { margin-top:8px; font-size:15px; }
.food-app[data-page="detail"] .food-detail-actions { gap:22px; }
.food-app[data-page="detail"] .food-detail-actions .food-compare { width:138px; min-height:42px; height:42px; padding:0 14px; gap:7px; font-size:14px; }
.food-app[data-page="detail"] .food-detail-actions .food-compare img { width:18px; height:18px; flex:0 0 18px; object-fit:contain; }
.food-app[data-page="detail"] .food-detail-actions .food-text-action { font-size:14px; white-space:nowrap; }
.food-app[data-page="detail"] .food-detail-layout { grid-template-columns:minmax(0,1fr) 280px; gap:22px; margin-top:18px; }
.food-app[data-page="detail"] .food-info-panel { margin-bottom:14px; padding:17px 18px; border-radius:11px; }
.food-app[data-page="detail"] .food-info-panel h2 { margin-bottom:13px; gap:9px; font-size:18px; }
.food-app[data-page="detail"] .food-info-panel h2 img { width:25px; height:25px; flex:0 0 25px; object-fit:contain; }
.food-app[data-page="detail"] .food-info-panel h2 small { font-size:12px; }
.food-app[data-page="detail"] .food-why p { margin:10px 0; gap:10px; font-size:14px; line-height:1.45; }
.food-app[data-page="detail"] .food-why p img { width:20px; height:20px; flex-basis:20px; }
.food-app[data-page="detail"] .food-reference-grid { gap:10px; }
.food-app[data-page="detail"] .food-reference-grid>div { min-height:94px; padding:10px 7px; }
.food-app[data-page="detail"] .food-reference-grid img { width:26px; height:26px; margin-bottom:5px; }
.food-app[data-page="detail"] .food-reference-grid small { font-size:11px; }
.food-app[data-page="detail"] .food-reference-grid strong { margin-top:5px; font-size:13px; }
.food-app[data-page="detail"] .food-advice h2 { display:flex; }
.food-app[data-page="detail"] .food-advice p { margin:9px 0; display:flex; align-items:flex-start; gap:9px; font-size:14px; line-height:1.45; }
.food-app[data-page="detail"] .food-advice p img { width:22px; height:22px; flex:0 0 22px; object-fit:contain; }
.food-app[data-page="detail"] .food-before-panel { padding:16px; border-radius:11px; }
.food-app[data-page="detail"] .food-before-panel h2 { margin-bottom:8px; font-size:18px; }
.food-app[data-page="detail"] .food-before-panel>button { min-height:52px; margin-top:9px; padding:0 11px; grid-template-columns:25px minmax(0,1fr) auto; gap:8px; font-size:13px; }
.food-app[data-page="detail"] .food-before-panel>button img { width:24px; height:24px; }
.food-app[data-page="detail"] .food-live-action { min-height:52px; margin-top:9px; padding:0 11px; grid-template-columns:25px minmax(0,1fr) auto; gap:8px; font-size:13px; }
.food-app[data-page="detail"] .food-live-action img { width:24px; height:24px; }
.food-app[data-page="detail"] .food-source-note { margin-top:12px; padding:12px; display:flex; align-items:flex-start; gap:8px; font-size:12px; line-height:1.5; }
.food-app[data-page="detail"] .food-source-note img { width:19px; height:19px; flex:0 0 19px; object-fit:contain; }
.food-app[data-page="detail"] .food-detail-side .food-continue-card { margin-top:14px; padding:15px; border-radius:11px; }
.food-app[data-page="detail"] .food-detail-side .food-continue-card h2 { margin-bottom:10px; font-size:17px; }
.food-app[data-page="detail"] .food-detail-side .food-mini-form { min-height:82px; padding:10px; }
.food-app[data-page="detail"] .food-detail-side .food-mini-form button { width:34px; height:34px; }
@media (max-width:900px) { .food-main { width:min(100% - 40px,1120px); } .food-content-grid,.food-result-layout,.food-detail-layout { grid-template-columns:minmax(0,1fr); } .food-method-panel,.food-refine-panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 13px; } .food-method-panel h2,.food-refine-panel h2,.food-continue-card { grid-column:1/-1; } .food-method-panel button,.food-refine-panel>button { border-top:0; border-bottom:1px solid #edf1f6; } }
@media (max-width:720px) { .food-main { width:calc(100% - 28px); padding-top:28px; } .food-heading h1 { font-size:31px; } .food-heading p { font-size:14px; } .food-location-controls { align-items:flex-start; flex-direction:column; gap:8px; } .food-location-current { width:100%; justify-content:center; } .food-address-picker { grid-template-columns:repeat(2,minmax(0,1fr)); } .food-address-street { grid-column:1/-1; } .food-filter-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .food-filter-wrap:last-child { grid-column:1/-1; } .food-filter-menu { max-height:230px; } .food-quick-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .food-quick-card { min-height:112px; font-size:13px; } .food-method-panel,.food-refine-panel { grid-template-columns:minmax(0,1fr); } .food-method-panel h2,.food-refine-panel h2,.food-continue-card { grid-column:auto; } .food-prompt-box { min-height:92px; padding:10px 13px; flex-wrap:wrap; } .food-prompt-box input { min-width:calc(100% - 56px); font-size:14px; } .food-prompt-box button { width:100%; min-width:0; } .food-results-heading,.food-detail-heading { display:flex; flex-direction:column; align-items:flex-start; } .food-results-heading h1,.food-detail-heading h1 { font-size:29px; } .food-result-layout,.food-detail-layout { margin-top:20px; } .food-restaurant-card { grid-template-columns:100px minmax(0,1fr); gap:12px; } .food-restaurant-art,.food-restaurant-visual { width:100px; height:100px; } .food-restaurant-actions { grid-column:1/-1; flex-direction:row; align-items:center; } .food-reference-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .food-detail-heading { gap:10px; } .food-detail-hero { width:125px; height:105px; } .food-detail-hero img { width:125px; height:105px; } .food-detail-actions { width:100%; justify-content:space-between; } }
@media (max-width:900px) { .food-app[data-page="detail"] .food-detail-layout { grid-template-columns:minmax(0,1fr); } }
@media (max-width:720px) { .food-app[data-page="detail"] .food-detail-heading { display:flex; gap:10px; } .food-app[data-page="detail"] .food-detail-heading h1 { font-size:27px; } .food-app[data-page="detail"] .food-detail-actions { width:100%; justify-content:space-between; gap:12px; } .food-app[data-page="detail"] .food-reference-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }

@media (max-width:720px) {
    .food-app[data-page="results"] .food-results-heading { gap:8px; }
    .food-app[data-page="results"] .food-results-heading h1 { font-size:27px; }
    .food-app[data-page="results"] .food-result-layout {
        grid-template-columns:minmax(0,1fr);
        gap:16px;
        margin-top:16px;
    }
    .food-app[data-page="results"] .food-result-main,
    .food-app[data-page="results"] .food-refine-panel { min-width:0; width:100%; }
    .food-app[data-page="results"] .food-suggestion { padding:14px; }
    .food-app[data-page="results"] .food-restaurant-card {
        grid-template-columns:88px minmax(0,1fr);
        gap:11px;
        padding:10px;
    }
    .food-app[data-page="results"] .food-restaurant-art,
    .food-app[data-page="results"] .food-restaurant-placeholder,
    .food-app[data-page="results"] .food-restaurant-visual { width:88px; height:88px; }
    .food-app[data-page="results"] .food-restaurant-copy h2 { font-size:16px; }
    .food-app[data-page="results"] .food-restaurant-name-mark { font-size:11px; line-height:1.18; }
    .food-app[data-page="results"] .food-tags { flex-wrap:wrap; }
    .food-app[data-page="results"] .food-restaurant-actions {
        grid-column:1 / -1;
        flex-direction:row;
        align-items:center;
        justify-content:flex-end;
    }
    .food-app[data-page="results"] .food-refine-panel {
        display:grid;
        grid-template-columns:minmax(0,1fr);
        gap:0;
    }
    .food-app[data-page="results"] .food-refine-panel h2,
    .food-app[data-page="results"] .food-continue-card { grid-column:auto; }
    .food-compare-tray { width:calc(100% - 20px); bottom:10px; }
    .food-compare-tray-inner { align-items:stretch; flex-direction:column; gap:10px; padding:12px; }
    .food-compare-actions { display:grid; grid-template-columns:1fr 1fr; }
    .food-compare-actions button { width:100%; }
    .food-compare-chip { max-width:100%; }
    .food-compare-modal { padding:12px; }
    .food-compare-dialog { height:86vh; min-height:360px; border-radius:10px; }
    .food-compare-dialog header { padding:14px; }
    .food-compare-dialog header strong { font-size:18px; }
    .food-compare-dialog footer { display:grid; grid-template-columns:1fr 1fr; padding:12px; }
    .food-compare-dialog footer button { width:100%; }
    .food-compare-table { min-width:650px; }
    .food-results-load-more { align-items:flex-start; padding:13px; }
    .food-results-load-more > button { flex:0 0 auto; }
}

@media (max-width:460px) {
    .food-address-picker { grid-template-columns:minmax(0,1fr); }
    .food-address-street { grid-column:auto; }
    .food-location-panel { padding:15px; }
}

@media (prefers-reduced-motion:reduce) {
    .food-generated-card.is-new { animation:none; }
}

@media (max-width:720px) {
    .food-live-contact-grid { grid-template-columns:minmax(0,1fr); }
    .food-ai-status { align-items:flex-start; }
    .food-restaurant-placeholder { width:100px; height:100px; font-size:32px; }
    .food-restaurant-fact-line { grid-template-columns:58px minmax(0,1fr); gap:6px; }
}
