:root{--primary: #F6846F;--primary-light: #FBC1B4;--primary-dark: #DF6B55;--secondary: #30B3A9;--bg-color: #FFF6F3;--card-bg: #FFFFFF;--text-main: #2D3748;--text-muted: #718096;--accent: #FFC72C;--primary-wash: #FFF1EE;--border-warm: rgba(246, 132, 111, .18);--safe-area-inset-top: env(safe-area-inset-top);--transition: all .3s cubic-bezier(.4, 0, .2, 1);--shadow: 0 4px 12px rgba(0, 0, 0, .07), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 28px -3px rgba(0, 0, 0, .1), 0 4px 8px -2px rgba(0, 0, 0, .04);--shadow-warm: 0 4px 16px rgba(246, 132, 111, .18), 0 2px 6px rgba(0, 0, 0, .04);--shadow-warm-lg: 0 10px 32px rgba(246, 132, 111, .25), 0 4px 10px rgba(0, 0, 0, .05)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{scrollbar-gutter:stable}body{font-family:Nunito,Inter,-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;background-color:var(--bg-color);color:var(--text-main);line-height:1.5;overflow-x:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.main-header{padding:calc(2.5rem + var(--safe-area-inset-top)) 1.5rem 2.5rem;background:linear-gradient(135deg,#f87373,#f6846f,#fbc19b);color:#fff;border-radius:0 0 3.5rem 3.5rem;box-shadow:0 8px 32px #f6846f59,0 2px 8px #00000014;text-align:left;position:relative;z-index:200}.main-header:before{content:"";position:absolute;top:0;right:0;width:60%;height:100%;background:radial-gradient(ellipse at 80% 20%,rgba(255,255,255,.18) 0%,transparent 65%);pointer-events:none;z-index:0;border-radius:inherit}.main-header>*{position:relative;z-index:1}.main-title{font-family:PingFang TC,Noto Sans TC,Microsoft JhengHei,Taipei Sans TC Beta,Nunito,sans-serif;font-size:2.25rem;font-weight:800;margin-bottom:.5rem;letter-spacing:0;line-height:1.1;overflow-wrap:anywhere;word-break:normal}.subtitle{font-size:1rem;opacity:.9;margin-bottom:.75rem;font-weight:500;overflow-wrap:anywhere;word-break:normal}.header-stats{font-size:.78rem;opacity:.8;margin-bottom:1.5rem;font-weight:600}.search-step-label{font-size:.8rem;font-weight:800;color:#fff;opacity:.85;margin-bottom:.5rem;letter-spacing:.05em;text-shadow:0 1px 2px rgba(0,0,0,.1)}.search-container{position:relative;max-width:500px;margin:0 0 1.5rem}.search-input-wrapper{position:relative;background:#fff;border-radius:1.25rem;padding:.25rem;display:flex;align-items:center;box-shadow:0 10px 25px #00000026;border:2px solid transparent;transition:var(--transition)}.search-input-wrapper:focus-within{border-color:var(--accent);transform:translateY(-2px)}.search-icon{position:absolute;left:1.25rem;color:var(--text-muted);pointer-events:none}#location-search{width:100%;padding:1rem 1rem 1rem 3.5rem;border:none;border-radius:1.25rem;font-size:1.1rem;font-weight:600;color:var(--text-main);outline:none}#location-search::placeholder{font-size:.95rem;font-weight:500;color:var(--text-muted);opacity:.8}@media(max-width:600px){#location-search{padding:.85rem .5rem .85rem 2.5rem;font-size:16px}#location-search::placeholder{font-size:.82rem}.search-icon{left:.85rem;width:16px;height:16px}}.clear-search{background:#f1f5f9;border:none;width:28px;height:28px;border-radius:50%;color:var(--text-muted);font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-right:.75rem}.autocomplete-dropdown{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;border-radius:1.25rem;box-shadow:var(--shadow-lg);overflow:hidden;z-index:1000;max-height:300px;overflow-y:auto;border:1px solid #e2e8f0}.autocomplete-item{padding:.65rem 1rem;display:flex;align-items:center;gap:.6rem;cursor:pointer;transition:background .2s;text-align:left;border-bottom:1px solid #f1f5f9}.autocomplete-item:hover{background:#f1f5f9}.autocomplete-item.active{background:#e2e8f0}.autocomplete-item .icon{font-size:1rem;color:var(--primary)}.tag.likely{background:#30b3a914;color:var(--secondary);border:1px dashed var(--secondary);opacity:.9}.tag.likely.matched{background:#df6b5517;color:#8f6d63;border:1.5px dashed var(--primary-dark);box-shadow:none;font-weight:700}.tag.likely[title]{cursor:help}.tag.likely[role=button]{-webkit-user-select:none;user-select:none}.tag.likely.expanded{background:#30b3a924;border-color:var(--secondary);box-shadow:0 0 0 3px #30b3a914}.tag-estimate-suffix{font-size:.65em;opacity:.75;letter-spacing:0;margin-left:2px}.tag-estimate-info{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;margin-left:.25rem;font-size:.75em;opacity:.78}.estimated-tag-note{margin:-.85rem 0 1.35rem;padding:.7rem .85rem;border:1px solid rgba(48,179,169,.22);border-radius:.85rem;background:#30b3a912;color:#0f766e;font-size:.8rem;font-weight:600;line-height:1.55}.autocomplete-item .name{font-size:.9rem;font-weight:700;color:var(--text-main)}.autocomplete-item .type{font-size:.7rem;color:var(--text-muted);margin-left:auto}.entry-actions{margin-bottom:1.5rem}.btn-nearby{background:#fff;color:var(--primary);border:none;padding:.875rem 1.75rem;border-radius:2rem;font-size:1rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;transition:var(--transition);box-shadow:0 4px 15px #00000026;max-width:90%;cursor:pointer}.btn-text-desktop{display:inline}.btn-text-mobile{display:none}@media(max-width:600px){.btn-text-desktop{display:none}.btn-text-mobile{display:inline}}.btn-nearby:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.quick-links{text-align:left;max-width:500px;margin:0}.quick-links-label{font-size:.8rem;font-weight:700;opacity:.8;margin-bottom:.5rem;display:block}.quick-links-scroll{display:flex;flex-wrap:wrap;gap:.5rem;overflow-x:visible}.quick-link-item{background:#ffffff2e;border:1px solid rgba(255,255,255,.3);color:#fff;padding:.5rem 1.1rem;border-radius:2rem;font-size:.875rem;font-weight:700;white-space:nowrap;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.35rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0000001a}.quick-link-item:hover{background:#ffffff47;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.quick-link-item.active{background:var(--accent)!important;color:var(--text-main)!important;border-color:var(--accent)!important;box-shadow:0 4px 15px #ffd93d66!important}.search-status-bar{padding:1.25rem 1.5rem;background:var(--bg-color);position:sticky;top:0;z-index:100}.status-content{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:.75rem 1.25rem;border-radius:1.5rem;box-shadow:var(--shadow-warm);border:1px solid rgba(255,126,103,.08)}#current-search-location{font-weight:800;color:var(--text-main);display:flex;align-items:center;gap:.5rem}#current-search-location:before{content:"📍"}.map-view{padding:0 1.5rem 1.5rem;height:300px}#map{width:100%;height:100%;border-radius:1.5rem;box-shadow:var(--shadow)}.filter-section{padding:1rem 1.25rem .5rem;background:#fff}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.filter-title{font-size:.85rem;font-weight:700;color:var(--text-muted)}.filters-scroll{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-width:none}.filters-scroll::-webkit-scrollbar{display:none}.main-search-card{margin:1.5rem auto;width:100%;max-width:500px;background:#ffffff38;border-radius:2rem;border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 20px 45px #0000001f,0 8px 18px #0000000f,inset 0 1px #fff6;overflow:hidden;animation:fadeIn .5s ease-out}#btn-show-results{width:100%;max-width:300px;background:#fff;color:var(--primary-dark);font-weight:800;box-shadow:0 8px 25px #f6846f59,0 4px 10px #0000001a;transition:var(--transition)}#btn-show-results:hover{background:#ffeae5;color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 12px 30px #f6846f73,0 6px 15px #00000026}.search-widget-section{padding:1.5rem}.search-widget-divider{height:1px;background:#ffffff26;margin:0}.main-search-card .filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem}.main-search-card .filter-title,.main-search-card .search-step-label{font-size:.85rem;font-weight:800;color:#fff;letter-spacing:.05em;opacity:.95;margin-bottom:.85rem;display:block}.main-search-card .search-step-label{margin-bottom:.75rem}.main-search-card .btn-text{color:#ffffffe6;padding:.25rem .6rem;font-size:.8rem;font-weight:700;border-radius:.5rem;background:#ffffff26;border:1px solid rgba(255,255,255,.2);transition:var(--transition);white-space:nowrap;flex-shrink:0;line-height:1.2}.main-search-card .btn-text:hover{color:var(--accent);background:#ffffff40;border-color:var(--accent)}.main-search-card .filters-scroll{display:flex;flex-wrap:wrap;gap:.75rem;overflow-x:visible;padding-bottom:0}.main-search-card .filter-chip{flex:1 1 calc(50% - .375rem);justify-content:center;background:#fff3;color:#fff;border-color:#ffffff4d;padding:.75rem .5rem}.main-search-card .filter-chip:hover{background:#ffffff4d}.main-search-card .filter-chip.active{background:var(--accent);color:var(--text-main);border-color:var(--accent);box-shadow:0 4px 15px #ffd93d66}.main-search-card .filter-chip.active:before{content:"✓";margin-right:4px}.main-search-card .optional-cuisine{margin-top:1rem}.main-search-card .optional-cuisine-toggle{width:100%;min-height:2.5rem;display:flex;align-items:center;justify-content:space-between;gap:.65rem;padding:.65rem .85rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.22);background:#ffffff1f;color:#ffffffeb;cursor:pointer;transition:var(--transition)}.main-search-card .optional-cuisine-toggle:hover,.main-search-card .optional-cuisine-toggle.active{background:#fff3;border-color:#ffffff61}.main-search-card .optional-cuisine-title{font-size:.85rem;font-weight:750;min-width:0}.main-search-card .selected-cuisine-label{margin-left:auto;display:inline-flex;align-items:center;min-height:1.65rem;padding:.28rem .65rem;border-radius:999px;background:var(--accent);color:var(--text-main);border:1px solid rgba(255,217,61,.75);font-size:.8rem;font-weight:800;line-height:1.1;white-space:nowrap}.main-search-card .optional-cuisine-arrow{font-size:1rem;line-height:1;transition:transform .2s ease;flex-shrink:0}.main-search-card .optional-cuisine-toggle.active .optional-cuisine-arrow{transform:rotate(180deg)}.main-search-card .optional-cuisine-panel{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.16)}.main-search-card .optional-cuisine-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;color:#fff;font-size:.85rem;font-weight:800;letter-spacing:.05em;opacity:.95}.main-search-card .cuisines-scroll{display:flex;flex-wrap:wrap;gap:.5rem;overflow-x:visible;padding-bottom:0}.main-search-card .cuisines-scroll::-webkit-scrollbar{display:none}.main-search-card .cuisine-chip{flex:1 1 calc(50% - .25rem);justify-content:center;min-width:8rem;padding:.5rem 1rem;border-radius:2rem;background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.25);font-size:.9rem;font-weight:700;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.3rem}.main-search-card .cuisine-chip:hover{background:#ffffff47;border-color:#fff6;transform:translateY(-1px)}.main-search-card .cuisine-chip:active{transform:translateY(0)}.main-search-card .cuisine-chip.active{background:var(--accent);color:var(--text-main);border-color:var(--accent);box-shadow:0 4px 12px #ffd93d59}.main-search-card .cuisine-chip.active:before{content:"✓";margin-right:2px;font-weight:800}.main-search-card .search-container{max-width:100%;width:100%;margin-bottom:0}.main-search-card .quick-links{margin-top:1.25rem}.search-input-wrapper #location-search{flex:1;min-width:0;width:auto;padding-right:.5rem}.btn-nearby-embed{background:#ff7e671f;border:none;width:34px;height:34px;border-radius:50%;color:var(--primary);font-size:1.15rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-right:.5rem;transition:var(--transition);flex-shrink:0}@media(hover:hover){.btn-nearby-embed:hover{background:#ff7e6733;transform:scale(1.08)}}.search-magnifier-embed{background:none;border:none;cursor:pointer;padding:0;color:var(--text-muted);width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;margin-right:.5rem;flex-shrink:0;transition:var(--transition);opacity:.8}.search-magnifier-embed svg{display:block}.filter-chip{flex-shrink:0;padding:.6rem 1.1rem;border-radius:2rem;background:#f8fafc;color:#64748b;border:1px solid #e2e8f0;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.4rem}.filter-chip:hover{background:#f1f5f9;border-color:#cbd5e1;transform:translateY(-1px)}.filter-chip:active{transform:translateY(0)}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #22c55e33}.filter-chip.active:before{content:"✓";font-weight:800}.results-section{margin-bottom:2rem;padding:0 1.5rem}.section-header{font-size:1.1rem;font-weight:900;color:var(--text-main);margin-bottom:1rem;padding:.25rem .75rem;display:inline-flex;align-items:center;gap:.4rem;background:transparent;border-radius:2rem;border-left:3px solid var(--primary)}.toggle-others-btn{width:100%;background:#fff;border:1px dashed var(--text-muted);padding:1rem;border-radius:1rem;color:var(--text-muted);font-weight:700;display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin-bottom:1rem}.toggle-others-btn .arrow{transition:transform .3s}.toggle-others-btn.active .arrow{transform:rotate(180deg)}.collapsible-content{transition:all .3s ease-out}.collapsible-content.hidden{display:none}.fallback-hint{background:linear-gradient(135deg,#eff8ff,#e8f4ff);border:1px solid #BFDBFE;color:#1d4ed8;padding:1rem 1.125rem;border-radius:1.25rem;margin:0 1.5rem 1.5rem;font-size:.95rem;font-weight:600;line-height:1.5;box-shadow:0 2px 8px #3b82f614}.suggestion-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1.5rem}.suggestion-chip{background:#fff;border:1.5px solid var(--primary);color:var(--primary);padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:700;cursor:pointer}.hidden{display:none!important}.btn-text{background:none;border:none;color:var(--secondary);font-weight:700;font-size:.875rem;cursor:pointer;padding:.5rem;transition:var(--transition);white-space:nowrap;flex-shrink:0}@keyframes marker-pulse{0%{transform:scale(1)}50%{transform:scale(1.5)}to{transform:scale(1)}}.marker-highlight div{animation:marker-pulse .5s ease-in-out 3;border:3px solid #000!important;z-index:9999!important}.custom-pin{display:flex;justify-content:center;align-items:center}.pin-teardrop{width:24px;height:24px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);position:relative;border:2px solid white;box-shadow:0 2px 5px #0000004d}.pin-teardrop:after{content:"";width:10px;height:10px;background:#fff;position:absolute;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.pin-teardrop.hollow{background:#fff!important}.pin-teardrop.hollow:after{background:transparent;border:1px solid currentColor}.map-popup-card{min-width:180px}.map-popup-compact{min-width:160px;max-width:220px}.map-popup-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.map-popup-name{font-weight:800;font-size:.95rem;color:var(--text-main);line-height:1.3;overflow-wrap:anywhere;word-break:normal}.map-popup-meta-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.map-popup-level-tag{font-size:10px;color:#fff;padding:2px 6px;border-radius:4px;font-weight:700;white-space:nowrap}.map-popup-time-mini{font-size:10px;color:var(--text-muted);white-space:nowrap}.map-popup-address{font-size:11px;color:var(--text-muted);margin-bottom:10px;line-height:1.4}.map-popup-action{width:100%;padding:8px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:700;font-size:.85rem;cursor:pointer;transition:var(--transition)}.map-popup-action:active{transform:scale(.95)}.leaflet-popup-content-wrapper{padding:1px;border-radius:12px;box-shadow:0 3px 14px #0006}.leaflet-popup-content{margin:13px 24px 13px 20px;line-height:1.3}.leaflet-popup-tip{box-shadow:0 3px 14px #0006}.results-container{padding-bottom:5rem}.card-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.6rem;padding-right:6.5rem}.card-address-row{display:flex;align-items:center;gap:.35rem;margin-top:.1rem;margin-bottom:.65rem;min-width:0;color:var(--text-muted);font-size:.78rem;font-weight:500;line-height:1.3}.card-address-row svg{flex-shrink:0;color:var(--text-muted);opacity:.75}.restaurant-district{flex:0 0 auto;color:#64748b;font-weight:800;white-space:nowrap}.restaurant-address{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-tag,.time-tag-text{background:#f8fafc;border:1.5px solid #e2e8f0;color:#64748b;padding:.35rem .65rem;border-radius:2rem;font-size:.72rem;font-weight:700;display:flex;align-items:center;gap:.3rem;transition:all .2s;white-space:nowrap;flex-shrink:0}.card-footer-time{color:#64748b;font-size:.72rem;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center}.card-meta-row{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .35rem;font-size:.75rem;margin-top:-.25rem;margin-bottom:.55rem;padding-right:6.5rem;color:var(--text-muted)}.card-cuisine{white-space:nowrap}.time-tag{cursor:pointer}.time-tag:hover{background:#f1f5f9;border-color:#cbd5e1;color:var(--primary);transform:translateY(-1px)}.time-tag:active{transform:translateY(0)}.restaurant-card{background:var(--card-bg);border-radius:1.75rem;padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow-warm);animation:fadeIn .4s ease-out forwards;transition:var(--transition);border:1px solid rgba(255,126,103,.08)}.restaurant-card:active{transform:scale(.98)}.restaurant-name{font-size:1.25rem;font-weight:700;margin-bottom:.25rem;color:var(--text-main);overflow-wrap:anywhere;word-break:normal}.decision-summary{font-size:.85rem;font-weight:700;padding:.25rem .6rem;border-radius:.5rem;display:inline-block}.decision-summary{display:inline-flex;align-items:center;padding:.2rem .75rem;border-radius:2rem;font-size:.75rem;font-weight:800;gap:.35rem;line-height:1.2}.card-status-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem;flex-wrap:wrap}.decision-summary.high{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#059669;border:1px solid #a7f3d0}.decision-summary.high .status-dot{background:#10b981}.decision-summary.medium{background:linear-gradient(135deg,#f7fee7,#ecfccb);color:#4d7c0f;border:1px solid #d9f99d}.decision-summary.medium .status-dot{background:#84cc16}.decision-summary.low-match{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);color:#0284c7;border:1px solid #bae6fd}.decision-summary.low-match .status-dot{background:#38bdf8}.decision-summary.info{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:#64748b;border:1px solid #e2e8f0}.decision-summary.info .status-dot{background:#94a3b8}.decision-summary.attention{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;border:1px solid #fecaca}.decision-summary.attention .status-dot{background:#ef4444}.summary-tags-text{font-size:.75rem;font-weight:800;opacity:.9;line-height:1.2}.summary-tags-text.high{color:#059669}.summary-tags-text.medium{color:#4d7c0f}.summary-tags-text.info{color:#64748b}.summary-tags-text.attention{color:#dc2626}.summary-tags-text.low-match{color:#0284c7}.tag-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.tag{font-size:.65rem;font-weight:600;padding:.2rem .5rem;background:#4fb3aa0d;color:var(--secondary);border-radius:2rem;display:flex;align-items:center;gap:.25rem}.detail-content .tag{font-size:.85rem;padding:.4rem .8rem;font-weight:700}.amenity-status-legend{margin-bottom:.8rem;color:#64748b;font-size:.75rem;line-height:1.45}.detail-content .tag.amenity-available{background:#10b98114;color:#047857;border:1px solid rgba(16,185,129,.24);box-shadow:none}.detail-content .tag.amenity-available.selected-filter{border-color:var(--primary);box-shadow:0 0 0 2px #ff7e671f}.tag-availability-icon{color:#059669;font-weight:900}.tag-label{display:inline-flex;align-items:center}.tag-user-condition{margin-left:.2rem;padding:.1rem .35rem;border-radius:999px;background:var(--primary);color:#fff;font-size:.62rem;font-weight:800;line-height:1.35;white-space:nowrap}.tag.matched{background:var(--primary);color:#fff;box-shadow:0 4px 10px #ff7e6733;font-weight:700}.btn{flex:1;padding:.75rem;border-radius:.75rem;border:none;font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:var(--primary);color:#fff}.view{display:none;min-height:100vh}.view.active{display:block}#detail-view{position:fixed;top:calc(-1 * var(--safe-area-inset-top));left:0;right:0;bottom:0;width:100%;height:calc(100vh + var(--safe-area-inset-top));height:calc(100dvh + var(--safe-area-inset-top));padding-top:var(--safe-area-inset-top);background:var(--bg-color);z-index:5000;overflow:hidden;overscroll-behavior:contain;transition:transform .3s cubic-bezier(.25,1,.3,1),opacity .3s cubic-bezier(.25,1,.3,1),visibility .3s cubic-bezier(.25,1,.3,1);transform:translate3d(100%,0,0);opacity:0;visibility:hidden;display:flex!important;flex-direction:column}#detail-view.no-transition{transition:none!important}#detail-view.active{transform:translateZ(0);opacity:1;visibility:visible}.detail-header{padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;flex:0 0 auto;position:relative;z-index:2;touch-action:manipulation}.back-btn{width:2.5rem;height:2.5rem;border-radius:1.25rem;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);border:none;color:var(--text-muted);cursor:pointer;transition:var(--transition)}@media(hover:hover){.back-btn:hover{color:var(--primary);transform:scale(1.08);box-shadow:var(--shadow-lg)}}.back-btn:active{transform:scale(.95)}.detail-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:1.5rem 1.5rem 6.5rem}.detail-content h1{overflow-wrap:anywhere;word-break:normal}.ai-summary{background:linear-gradient(135deg,#fff9f0,#fff5e8);border-radius:1.5rem;padding:1.35rem;margin-top:1.5rem;border:1px solid #FFE0BC;box-shadow:0 2px 12px #fbbf2414}.ai-summary-header{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;margin-bottom:.6rem}.ai-summary-title{font-size:.875rem;font-weight:700;color:#d97706;margin-bottom:0;display:flex;align-items:center;gap:.4rem}.ai-summary-info-btn{width:1.15rem;height:1.15rem;border:1px solid rgba(217,119,6,.2);border-radius:50%;background:#ffffffd1;color:#b45309;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:inherit;font-size:.72rem;font-weight:800;line-height:1.2;cursor:pointer}.ai-summary-info-btn:hover,.ai-summary-info-btn:focus-visible,.ai-summary-info-btn[aria-expanded=true]{border-color:#d9770673;background:#fff;outline:none}.ai-summary-tooltip{max-width:34rem;width:fit-content;margin:0 0 .75rem;padding:.55rem .7rem;border:1px solid rgba(217,119,6,.18);border-radius:.7rem;background:#ffffffdb;color:#9a3412;font-size:.75rem;font-weight:600;line-height:1.5;box-shadow:0 4px 12px #78350f0f}.ai-summary-text{font-size:.9rem;color:#92400e;line-height:1.6}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.empty-icon{font-size:4rem;margin-bottom:1.5rem;display:block}.fab{position:fixed;bottom:2.5rem;right:1.25rem;width:2.75rem;height:2.75rem;border-radius:50%;background:#fff;color:var(--text-muted);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #00000014;border:1px solid #E2E8F0;font-size:1.1rem;z-index:2010;transition:var(--transition);cursor:pointer}.fab:hover{transform:translateY(-2px);background:#f8fafc;color:var(--primary);border-color:var(--primary-light);box-shadow:0 6px 16px #0000001a}.fab:active{transform:scale(.95)}.site-feedback-fab{position:fixed;right:1.25rem;bottom:calc(5.1rem + env(safe-area-inset-bottom));min-width:5.6rem;height:2.75rem;padding:0 1rem;border:1px solid rgba(48,179,169,.22);border-radius:999px;background:#fffffff0;color:var(--secondary);box-shadow:0 4px 14px #0f172a1a;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-size:.92rem;font-weight:800;font-family:inherit;z-index:2009;cursor:pointer;transition:var(--transition)}.site-feedback-fab:hover{transform:translateY(-2px);border-color:#30b3a96b;background:#f2fffe;box-shadow:0 8px 22px #0f172a21}.site-feedback-fab:active{transform:scale(.97)}.site-feedback-fab svg{flex-shrink:0}.toast{position:fixed;bottom:5rem;left:50%;transform:translate(-50%) translateY(20px);background:#1e293be6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:.75rem 1.5rem;border-radius:2rem;font-size:.875rem;font-weight:600;z-index:1000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-lg);text-align:center;max-width:90%;width:max-content}.toast.show{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.warning-item{font-size:.85rem;color:#ef4444;font-weight:700}.card-summary{font-size:.9rem;color:var(--text-main);background:#fff9f7;padding:.75rem .875rem;border-radius:1rem;margin:.75rem 0;border-left:3px solid rgba(255,126,103,.25);line-height:1.55}.distance-badge{background:#f1f5f9;color:var(--text-muted);font-size:.75rem;padding:.25rem .5rem;border-radius:.5rem;font-weight:700}.map-view{position:relative;z-index:10;height:40vh;min-height:300px;margin:1.5rem;border-radius:1.5rem;overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid #e2e8f0;transition:height .4s cubic-bezier(.4,0,.2,1),margin .4s cubic-bezier(.4,0,.2,1),border-radius .4s cubic-bezier(.4,0,.2,1),max-width .4s cubic-bezier(.4,0,.2,1);outline:none!important}.map-view.enlarged{height:70vh!important;margin:1.5rem 0!important;border-radius:0!important;max-width:none!important;border:none!important;outline:none!important}#map,.leaflet-container{outline:none!important}#map{height:100%;width:100%;z-index:1}.map-overlay-controls{position:absolute;bottom:.75rem;left:.75rem;z-index:1000;pointer-events:none;display:flex;gap:.5rem}.map-toggle{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.6rem 1rem;border-radius:2rem;display:flex;align-items:center;gap:.6rem;box-shadow:var(--shadow-lg);cursor:pointer;font-size:.8rem;font-weight:800;color:var(--text-main);border:1px solid rgba(255,255,255,.3);pointer-events:auto;transition:var(--transition)}.map-toggle:hover{transform:translateY(-1px);box-shadow:0 12px 20px -5px #0003}.map-toggle input{width:1.1rem;height:1.1rem;cursor:pointer;accent-color:var(--primary)}@media(max-width:768px){.map-overlay-controls{bottom:.5rem;left:.5rem;gap:.4rem}.map-toggle,.map-toggle-btn{padding:.4rem .75rem;font-size:.75rem;gap:.35rem}.map-toggle input{width:.95rem;height:.95rem}}.map-toggle-btn{background:#fffffff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.6rem 1rem;border-radius:2rem;display:flex;align-items:center;gap:.4rem;box-shadow:var(--shadow-lg);cursor:pointer;font-size:.8rem;font-weight:800;color:var(--text-main);border:1px solid rgba(255,255,255,.3);pointer-events:auto;transition:var(--transition)}.map-toggle-btn:hover{transform:translateY(-1px);box-shadow:0 12px 20px -5px #0003}.map-toggle-btn:active{transform:scale(.95)}.trending-section{padding:1rem 1.5rem 4rem;max-width:600px;margin:0 auto}.section-title{font-size:1.1rem;font-weight:700;color:var(--text-main);margin-bottom:1.25rem;text-align:left}.trending-grid{display:flex;flex-direction:column;gap:.75rem}.trending-item{background:#fff;border:1px solid #e2e8f0;padding:1.125rem 1.25rem;border-radius:1.25rem;text-align:left;font-size:.95rem;font-weight:700;color:var(--text-main);cursor:pointer;transition:var(--transition);display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 2px 4px #00000005;line-height:1.5}.trending-item:after{content:"→";color:var(--primary);font-weight:800;opacity:.5}.trending-item:hover{border-color:var(--primary-light);background:#ff7e6705;transform:translate(4px);box-shadow:0 4px 12px #ff7e6714}.trending-item:hover:after{opacity:1}@media(max-width:480px){.main-title{font-size:2rem}}@media(min-width:768px){.main-header{width:100%;max-width:none;border-radius:0 0 3rem 3rem;padding-top:4rem;padding-bottom:4rem}.main-header>*{max-width:900px;margin-left:auto;margin-right:auto;position:relative;z-index:1}.trending-section{max-width:900px;margin:0 auto;padding:4rem 2rem}.trending-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem}#search-results-view{display:block;height:auto;overflow:visible}#search-status-bar .status-content{max-width:900px;margin:0 auto}#map-container{max-width:900px;margin:2rem auto!important;height:450px!important;border-radius:2rem!important;box-shadow:var(--shadow-lg)}.results-content-wrapper{display:block;max-width:900px;margin:0 auto;background:transparent}.filter-section{position:static;background:transparent;box-shadow:none;padding:1.5rem 0;border-bottom:1px solid #e2e8f0;margin-bottom:2rem}.results-container{padding:0}.restaurant-card{margin-bottom:2rem;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.restaurant-card:hover{transform:translateY(-3px) scale(1.005);box-shadow:var(--shadow-warm-lg);border-color:#ff7e6726}#detail-view{background:#f8fafc;display:block!important;overflow-y:auto;-webkit-overflow-scrolling:touch}.detail-content{width:calc(100% - 3rem);max-width:800px;margin:2rem auto 5rem;background:#fff;border-radius:2.5rem;box-shadow:var(--shadow-lg);padding:4rem;overflow:visible;min-height:auto}.detail-header{width:calc(100% - 3rem);max-width:800px;margin:1.5rem auto 0;background:#fff;border-radius:1.5rem;padding:1rem 1.5rem}}.search-center-marker-inner{animation:markerPulse 2s infinite ease-in-out;transform-origin:bottom center}@keyframes markerPulse{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}.map-popup-card{min-width:200px;padding:4px 0}.map-popup-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:6px}.map-popup-title{font-weight:800;font-size:1rem;color:var(--text-main);line-height:1.3;flex:1}.map-popup-time{font-size:.75rem;font-weight:700;color:var(--secondary);background:#4fb3aa1a;padding:3px 8px;border-radius:6px;display:flex;align-items:center;gap:2px;white-space:nowrap;flex-shrink:0}.map-popup-btn{width:100%;padding:8px;background:var(--primary);color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer;margin-top:8px}.features-header{grid-column:1 / -1;text-align:center;margin-bottom:1.5rem}.features-badge{background:linear-gradient(135deg,#ff7e6726,#ffaa8026);color:var(--primary);padding:.4rem 1.1rem;border-radius:2rem;font-size:.85rem;font-weight:800;display:inline-block;margin-bottom:.75rem;letter-spacing:.05em;border:1px solid rgba(255,126,103,.2)}.features-header h2{font-size:1.75rem;font-weight:800;color:var(--text-main);letter-spacing:-.02em}@media(max-width:600px){.features-header h2{font-size:1.45rem}}.features-section{padding:3rem 1.5rem 5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;max-width:1080px;margin:0 auto;animation:fadeIn .6s ease-out .2s both}.feature-card{background:#ffffff75;padding:1.25rem 1.35rem;border-radius:.9rem;text-align:left;box-shadow:none;border:1px solid rgba(148,163,184,.22);display:grid;grid-template-columns:auto 1fr;column-gap:.9rem;align-items:start;cursor:default}.feature-card:hover{border-color:#94a3b838;box-shadow:none;transform:none}.features-section .feature-card:nth-child(2){background:#fff8f68f;border-color:#ff7e6729}.features-section .feature-card:nth-child(3){background:#f2fffe8f;border-color:#3cbdb529}.features-section .feature-card:nth-child(4){background:#fffcf29e;border-color:#ffcc2f2e}.feature-icon{font-size:1.45rem;margin:.1rem 0 0;display:flex;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;border-radius:.85rem;background:#ff7e6714}.features-section .feature-card:nth-child(3) .feature-icon{background:#3cbdb51a}.features-section .feature-card:nth-child(4) .feature-icon{background:#ffcc2f24}.feature-card h3{font-size:1.02rem;font-weight:900;color:var(--text-main);margin:0 0 .35rem;letter-spacing:0}.feature-card p{font-size:.86rem;color:var(--text-muted);line-height:1.65;text-align:left;margin:0;grid-column:2}@media(max-width:600px){.features-section{padding:2.5rem 1.25rem 4rem;gap:.85rem}.feature-card{padding:1rem 1.05rem;border-radius:.85rem}.feature-icon{font-size:1.35rem;width:2.35rem;height:2.35rem}}.home-feedback-section{max-width:1080px;margin:0 auto 4rem;padding:1.35rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;background:#ffffffa3;border:1px solid rgba(148,163,184,.22);border-radius:.9rem;animation:fadeIn .6s ease-out .28s both}.home-feedback-copy{min-width:0}.home-feedback-badge{display:inline-flex;align-items:center;width:fit-content;margin-bottom:.45rem;padding:.22rem .65rem;border-radius:999px;background:#30b3a91a;border:1px solid rgba(48,179,169,.18);color:var(--secondary);font-size:.75rem;font-weight:900}.home-feedback-copy h2{margin:0 0 .4rem;color:var(--text-main);font-size:1.28rem;line-height:1.3;font-weight:900;letter-spacing:0}.home-feedback-copy p{max-width:36rem;margin:0;color:var(--text-muted);font-size:.9rem;line-height:1.65}.home-feedback-actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.home-feedback-btn{min-height:2.75rem;padding:.72rem 1rem;border-radius:.85rem;font-family:inherit;font-size:.88rem;font-weight:900;line-height:1.2;cursor:pointer;transition:var(--transition);white-space:nowrap}.home-feedback-btn-primary{background:var(--secondary);color:#fff;border:1px solid rgba(48,179,169,.24);box-shadow:0 6px 16px #30b3a92e}.home-feedback-btn-primary:hover{background:#269f96;transform:translateY(-1px);box-shadow:0 8px 22px #30b3a93d}.home-feedback-btn-secondary{background:#fff;color:var(--text-main);border:1px solid rgba(148,163,184,.32)}.home-feedback-btn-secondary:hover{border-color:#30b3a96b;color:var(--secondary);background:#f2fffe;transform:translateY(-1px)}@media(max-width:760px){.home-feedback-section{margin:-1.5rem 1.25rem 3rem;padding:1.15rem;flex-direction:column;align-items:stretch;gap:1rem}.home-feedback-actions{flex-direction:column;align-items:stretch}.home-feedback-btn{width:100%;white-space:normal}}.home-feedback-links{max-width:1080px;margin:-1.25rem auto 3.5rem;padding:0 1.5rem;display:flex;align-items:center;justify-content:center;gap:.65rem;color:#718096b8;font-size:.86rem;font-weight:700;position:relative;z-index:250;pointer-events:auto}.home-feedback-links a{color:var(--text-muted);display:inline-flex;align-items:center;min-height:2rem;padding:.1rem .15rem;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;cursor:pointer;transition:color .2s ease,text-decoration-color .2s ease}.home-feedback-links a:hover,.home-feedback-links a:focus-visible{color:var(--secondary);text-decoration-color:currentColor;outline:none}@media(min-width:601px){.site-feedback-fab{display:none}}@media(max-width:600px){.home-feedback-links{margin:-1.75rem auto 3rem;padding:0 1.25rem;flex-wrap:wrap;font-size:.84rem}}.match-rate-badge{font-size:.7rem;font-weight:800;color:var(--secondary);background:#4fb3aa14;border:1px solid rgba(79,179,170,.2);padding:2px 8px;border-radius:6px;white-space:nowrap;display:inline-flex;align-items:center}.status-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.detail-content .decision-summary{padding:.4rem .8rem;font-size:.85rem;border-radius:2rem;gap:.4rem}.detail-content .decision-summary .status-dot{width:8px;height:8px}.shortlist-fab{right:1.25rem;bottom:1.5rem;background:var(--primary);color:#fff;border-color:var(--primary-light);box-shadow:0 4px 15px #ff7e6759}.shortlist-fab:hover{background:var(--primary-light);color:#fff;box-shadow:0 6px 20px #ff7e6780;border-color:var(--primary)}.shortlist-fab .badge{position:absolute;top:-5px;right:-5px;background:var(--accent);color:var(--text-main);font-size:.7rem;font-weight:800;width:1.25rem;height:1.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 2px 4px #0000001a}.restaurant-card{position:relative}.card-favorite-btn{position:absolute;top:1rem;right:1rem;width:2.25rem;height:2.25rem;border-radius:50%;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;font-size:1.05rem;cursor:pointer;transition:var(--transition);z-index:10;box-shadow:0 2px 8px #0000000f}.card-favorite-btn:hover{transform:scale(1.1);background:#fff;box-shadow:0 4px 12px #ff7e6733;color:var(--primary)}.card-favorite-btn.active{background:#fffffff2;border-color:#0000000d}.card-map-btn{position:absolute;top:1rem;right:3.75rem;width:2.25rem;height:2.25rem;border-radius:50%;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;color:var(--text-muted);cursor:pointer;transition:var(--transition);z-index:10;box-shadow:0 2px 8px #0000000f}.card-map-btn:hover{transform:scale(1.1);background:#fff;box-shadow:0 4px 12px #4fb3aa33;color:var(--secondary)}.card-map-btn svg{display:block;transition:var(--transition)}.drawer-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2020;opacity:0;visibility:hidden;transition:all .3s ease}.drawer-overlay.active{opacity:1;visibility:visible}.drawer{position:fixed;bottom:0;left:0;width:100vw;height:75vh;max-height:650px;background:#ffffffe6;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:2rem 2rem 0 0;box-shadow:0 -4px 20px #00000026;z-index:2021;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .4s cubic-bezier(.16,1,.3,1),height .4s cubic-bezier(.16,1,.3,1),max-height .4s cubic-bezier(.16,1,.3,1);border-top:1px solid rgba(255,255,255,.4)}.drawer.active{transform:translateY(0)}.drawer-drag-handle{width:40px;height:5px;background:#00000026;border-radius:3px;margin:10px auto 2px;cursor:pointer;flex-shrink:0;transition:background .3s}.drawer-drag-handle:hover{background:#00000040}@media(max-width:767px){.drawer.full-height{height:95vh!important;max-height:95vh!important}}.drawer-header{padding:1.5rem 1.5rem 1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;border-bottom:1px solid rgba(0,0,0,.05)}.drawer-title-area{display:flex;align-items:center;gap:.5rem;min-width:0}.drawer-title{font-size:1.25rem;font-weight:800;color:var(--text-main);white-space:nowrap}.drawer-icon{font-size:1.4rem}.drawer-header .badge{background:var(--primary);color:#fff;font-size:.75rem;font-weight:800;padding:.15rem .5rem;border-radius:1rem}.drawer-actions{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin-left:auto;flex-wrap:nowrap}.btn-clear-all{background:#ef444414;color:#ef4444;border:1px solid rgba(239,68,68,.2);padding:.4rem .8rem;border-radius:.75rem;font-size:.75rem;font-weight:700;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.25rem;line-height:1;white-space:nowrap}@media(hover:hover){.btn-clear-all:hover{background:#ef4444;color:#fff;border-color:#ef4444}}.btn-share-list{background:#0284c714;color:#0284c7;border:1px solid rgba(2,132,199,.2);padding:.4rem .8rem;border-radius:.75rem;font-size:.75rem;font-weight:700;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.25rem;line-height:1;white-space:nowrap}@media(hover:hover){.btn-share-list:hover{background:#0284c7;color:#fff;border-color:#0284c7}}.btn-expand-comparison{width:34px;height:34px;border:1px solid rgba(2,132,199,.2);border-radius:.75rem;background:#0284c714;color:#0284c7;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);flex-shrink:0}@media(hover:hover){.btn-expand-comparison:hover{background:#0284c7;color:#fff;border-color:#0284c7}}.close-btn{background:#f1f5f9;border:none;width:32px;height:32px;border-radius:50%;color:var(--text-muted);font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition)}.close-btn:hover{background:#e2e8f0;color:var(--text-main)}.drawer-tabs{display:flex;background:#00000008;padding:4px;margin:.5rem 1.5rem;border-radius:.75rem;border:1px solid rgba(0,0,0,.02)}.drawer-tab{flex:1;border:none;background:transparent;padding:.5rem;border-radius:.5rem;font-weight:700;font-size:.85rem;color:var(--text-muted);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.3rem}.drawer-tab.active{background:#fff;color:var(--primary);box-shadow:0 2px 6px #0000000d}.drawer-body{flex:1;overflow-y:auto;padding:0 1.5rem 1.5rem;min-height:0}.drawer-view{display:none;height:100%}.drawer-view.active{display:block;animation:fadeIn .3s ease}.shortlist-list{display:flex;flex-direction:column;gap:1rem;padding-top:.5rem}.shortlist-card{background:#fff;border:1px solid rgba(0,0,0,.05);border-radius:1.25rem;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:var(--shadow);transition:var(--transition)}.shortlist-card:hover{border-color:var(--primary-light);transform:translateY(-1px)}.shortlist-info{flex:1;min-width:0}.shortlist-name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.shortlist-name{font-weight:700;color:var(--text-main);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shortlist-summary{font-size:.8rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.shortlist-amenities{font-size:.75rem;color:var(--secondary);font-weight:600}.shortlist-del-btn{background:transparent;border:none;color:#cbd5e1;font-size:1.1rem;cursor:pointer;padding:.5rem;border-radius:.5rem;transition:var(--transition)}.shortlist-del-btn:hover{color:#ef4444;background:#ef44440d}.comparison-table-wrapper{width:100%;overflow-x:auto;border:1px solid rgba(0,0,0,.08);border-radius:1.25rem;background:#fff;box-shadow:var(--shadow);margin-top:.5rem}.comparison-table{width:100%;border-collapse:collapse;font-size:.8rem;text-align:center}.comparison-table th,.comparison-table td{padding:.75rem 1rem;border-bottom:1px solid rgba(0,0,0,.05);white-space:nowrap}.comparison-table th{background:#f8fafc;color:var(--text-muted);font-weight:800}.comparison-table th:first-child,.comparison-table td:first-child{position:sticky;left:0;background:#fff;z-index:2;text-align:left;font-weight:700;box-shadow:2px 0 5px #00000008;border-right:1px solid rgba(0,0,0,.05);white-space:normal}.comparison-table th:first-child{background:#f8fafc}.comparison-table tr:hover td{background:#fafafa}.comparison-table td .check-icon{color:#10b981;font-weight:800;font-size:.9rem}.comparison-table td .check-icon.likely-icon{color:#10b981;font-weight:600;font-size:.8rem;border:1px dashed #10b981;padding:.1rem .3rem;border-radius:4px;background:#10b9810d;cursor:help}.comparison-table td .cross-icon{color:#ef4444;font-weight:800;font-size:.9rem}.comparison-table td .unknown-icon{color:#94a3b8;font-size:.8rem}.comparison-table-name-cell{display:flex;flex-direction:column;gap:.2rem;max-width:180px;min-width:120px;white-space:normal;word-break:break-word;overflow-wrap:break-word}.comparison-table-name-cell a{color:var(--text-main);text-decoration:none;font-weight:800}.comparison-table-name-cell a:hover{color:var(--primary)}.comparison-table-del{color:#cbd5e1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:.4rem;border-radius:.5rem;transition:var(--transition)}.comparison-table-del:hover{color:#ef4444;background:#ef44440d}.comparison-modal-overlay{position:fixed;inset:0;background:#0f172a7a;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:3050;opacity:0;visibility:hidden;transition:all .25s ease}.comparison-modal-overlay.active{opacity:1;visibility:visible}.comparison-modal{position:fixed;top:4vh;left:50%;width:min(1180px,calc(100vw - 48px));height:88vh;background:#fffffff5;border:1px solid rgba(0,0,0,.08);border-radius:1.5rem;box-shadow:0 24px 80px #0f172a3d;z-index:3051;display:flex;flex-direction:column;opacity:0;visibility:hidden;transform:translate(-50%) scale(.96);transition:all .25s cubic-bezier(.16,1,.3,1);overflow:hidden}.comparison-modal.active{opacity:1;visibility:visible;transform:translate(-50%) scale(1)}.comparison-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}.comparison-modal-kicker{color:var(--primary);font-size:.78rem;font-weight:800;margin-bottom:.1rem}.comparison-modal-header h2{color:var(--text-main);font-size:1.35rem;font-weight:900;line-height:1.2}.comparison-modal-body{flex:1;min-height:0;padding:1rem 1.5rem 1.5rem;overflow:hidden}.comparison-modal-body .comparison-table-wrapper{height:100%;margin-top:0;overflow:auto;border-radius:1rem;box-shadow:none}.comparison-modal-body .comparison-table{min-width:980px;font-size:.86rem}.comparison-modal-body .comparison-table th,.comparison-modal-body .comparison-table td{padding:.85rem 1rem}.comparison-modal-body .comparison-table-name-cell{max-width:240px;min-width:180px}@media(max-width:767px){.btn-expand-comparison,.comparison-modal,.comparison-modal-overlay{display:none!important}}.drawer-empty-state{text-align:center;padding:3rem 1rem;color:var(--text-muted)}.drawer-empty-icon{font-size:3rem;margin-bottom:1rem;display:block}.drawer-empty-state h3{font-size:1.1rem;font-weight:800;color:var(--text-main);margin-bottom:.5rem}.drawer-empty-state p{font-size:.85rem}@media(min-width:768px){.drawer{width:450px;left:auto;right:1.5rem;bottom:1.5rem;height:600px;max-height:none;border-radius:2rem;border:1px solid rgba(0,0,0,.08);transform:translateY(120%)}.drawer.active{transform:translateY(0)}.drawer-header{align-items:flex-start}.drawer-title-area{flex:1 1 150px}.drawer-actions{flex:1 0 100%;justify-content:flex-end}}@media(max-width:480px){.drawer-header{position:relative;flex-direction:column;align-items:flex-start;gap:.85rem;padding:1.25rem 1.25rem 1rem}.drawer-actions{width:100%;justify-content:flex-start;gap:.6rem;padding-right:2.5rem;box-sizing:border-box}.drawer-actions .close-btn{position:absolute;top:1.25rem;right:1.25rem;margin:0}}@media(max-height:520px){.drawer{height:92vh!important;max-height:100vh!important;width:100vw!important;left:0!important;right:0!important;bottom:0!important;margin:0!important;border-radius:2rem 2rem 0 0!important}.drawer-header{padding:.6rem 1rem .4rem!important;flex-direction:row!important;align-items:center!important;gap:1rem!important}.drawer-header .drawer-title-area{gap:.35rem!important}.drawer-header .drawer-title{font-size:1.1rem!important}.drawer-header .drawer-icon{font-size:1.2rem!important}.drawer-actions{width:auto!important;padding-right:0!important;margin:0!important;display:flex!important;align-items:center!important;gap:.5rem!important}.drawer-actions .close-btn{position:static!important;width:28px!important;height:28px!important;font-size:1.2rem!important}.btn-share-list,.btn-clear-all{padding:.3rem .6rem!important;font-size:.7rem!important}.drawer-tabs{margin:.25rem 1rem!important;padding:2px!important}.drawer-tab{padding:.35rem!important;font-size:.8rem!important}.drawer-body{padding:0 1rem .75rem!important}.comparison-table-wrapper{margin-top:.25rem!important}.comparison-table th,.comparison-table td{padding:.5rem .75rem!important}}.comparison-mobile-tip{display:flex;align-items:center;gap:.5rem;background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;padding:.6rem .8rem;border-radius:.75rem;font-size:.75rem;font-weight:600;margin-bottom:.75rem;line-height:1.4;text-align:left}.comparison-mobile-tip .tip-icon{font-size:.9rem;flex-shrink:0}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172a80;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:6000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.16,1,.3,1)}.modal-overlay.active{opacity:1;visibility:visible}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-45%) scale(.95);width:calc(100vw - 2rem);max-width:580px;max-height:85vh;background:#fffffff2;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-radius:2rem;border:1px solid rgba(255,255,255,.4);box-shadow:0 25px 50px -12px #0f172a40;z-index:6001;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease,visibility .3s ease;overflow:hidden}.modal.active{transform:translate(-50%,-50%) scale(1);opacity:1;visibility:visible}.modal-close-btn{position:absolute;top:1.25rem;right:1.25rem;background:#f1f5f9;border:none;width:32px;height:32px;border-radius:50%;color:var(--text-muted);font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition);z-index:10}.modal-close-btn:hover{background:#e2e8f0;color:var(--text-main);transform:rotate(90deg)}.modal-header{padding:2rem 2rem 1.25rem;border-bottom:1px solid rgba(0,0,0,.05);flex-shrink:0}.modal-title{font-size:1.35rem;font-weight:800;color:var(--text-main);margin-bottom:.35rem;display:flex;align-items:center;gap:.5rem}.modal-subtitle{font-size:.85rem;color:var(--text-muted);line-height:1.4}.modal-body{padding:1.5rem 2rem 2rem;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:1.25rem;box-sizing:border-box}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.85rem;font-weight:700;color:var(--text-main)}.form-input,.form-textarea{width:100%;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:.85rem;font-size:.9rem;color:var(--text-main);background:#fff;font-family:inherit;transition:var(--transition);box-sizing:border-box}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff7e6726}.form-input.readonly{background:#f1f5f9;color:#64748b;border-color:#e2e8f0;cursor:not-allowed;font-weight:600}.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;background:#f8fafc;padding:1rem;border-radius:1rem;border:1px solid rgba(0,0,0,.02)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:#475569;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s}.checkbox-label:hover{color:var(--text-main)}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;border-radius:4px;border:1.5px solid #cbd5e1;cursor:pointer;accent-color:var(--primary)}.text-danger{color:#ef4444!important}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.btn-cancel{background:#f1f5f9;color:var(--text-muted);border:none;padding:.75rem 1.5rem;border-radius:1rem;font-weight:700;font-size:.9rem;cursor:pointer;transition:var(--transition)}.btn-cancel:hover{background:#e2e8f0;color:var(--text-main)}.btn-submit{background:var(--primary);color:#fff;border:none;padding:.75rem 1.75rem;border-radius:1rem;font-weight:700;font-size:.9rem;cursor:pointer;box-shadow:0 4px 12px #ff7e6733;transition:var(--transition);display:inline-flex;align-items:center;gap:.5rem}.btn-submit:hover{background:var(--primary-light);box-shadow:0 6px 16px #ff7e6759}.btn-submit:disabled{background:#cbd5e1;color:#94a3b8;box-shadow:none;cursor:not-allowed}.site-feedback-modal{max-width:520px}#site-feedback-modal.active{opacity:1!important;visibility:visible!important;transform:translate(-50%,-50%) scale(1)!important}.rating-scale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.rating-option{position:relative;display:block;cursor:pointer}.rating-option input{position:absolute;opacity:0;pointer-events:none}.rating-option span{width:100%;min-height:2.75rem;border:1.5px solid #e2e8f0;border-radius:.85rem;background:#fff;color:var(--text-main);display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:900;transition:var(--transition)}.rating-option:hover span{border-color:var(--primary-light);background:var(--primary-wash)}.rating-option input:focus-visible+span{outline:3px solid rgba(48,179,169,.18);outline-offset:2px}.rating-option input:checked+span{background:var(--secondary);border-color:var(--secondary);color:#fff;box-shadow:0 5px 16px #30b3a947}.rating-scale-labels{display:flex;justify-content:space-between;gap:1rem;color:var(--text-muted);font-size:.78rem;font-weight:700;position:relative;z-index:250;pointer-events:auto}.detail-feedback-heading{margin-bottom:.38rem}.detail-feedback-title{color:var(--text-muted);font-size:.8rem;font-weight:700}.btn-feedback-trigger{width:100%;margin-top:.65rem;padding:.85rem 1.125rem;background:transparent;border:1.5px solid #e2e8f0;border-radius:1rem;color:var(--text-muted);font-size:.85rem;font-weight:700;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.4rem}.btn-feedback-trigger.compact{width:auto;padding:.58rem .95rem;border-radius:.75rem;font-size:.8rem;display:inline-flex;gap:.35rem}.btn-feedback-trigger.inline-report{margin-top:0;padding:.35rem .7rem;border-radius:.5rem;font-size:.75rem;white-space:nowrap}.btn-feedback-trigger:hover{background:#f8fafc;border-color:#cbd5e1;color:var(--text-main)}@media(max-width:600px){.site-feedback-fab{display:none}.modal{max-height:90vh;border-radius:2rem 2rem 0 0;bottom:0;top:auto;left:0;transform:translateY(100%);width:100vw}.modal.active{transform:translateY(0)}#site-feedback-modal.active{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}.modal-header{padding:1.5rem 1.5rem 1rem}.modal-body{padding:1rem 1.5rem 1.5rem}.checkbox-grid{grid-template-columns:1fr;padding:.75rem;gap:.65rem}.rating-scale{gap:.4rem}.rating-option span{min-height:2.55rem;border-radius:.75rem}}@media(min-width:601px){#feedback-modal .drawer-drag-handle{display:none}}.search-active .main-header{padding:calc(1rem + var(--safe-area-inset-top)) 1.5rem 1rem;border-radius:0 0 1.5rem 1.5rem}.header-collapsed .main-header{display:none!important}.active-filters-bar-compact{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.active-filters-bar-compact .filter-indicator-mini{font-size:.7rem;background:#ff7e671a;color:var(--primary);padding:1px 6px;border-radius:4px;font-weight:700;display:inline-flex;align-items:center;gap:2px;border:1px solid rgba(255,126,103,.15)}.active-filters-bar-compact .filter-cuisine-indicator{background:#ffd93d26;border-color:#ffd93d66;color:#b25e00}.card-meta-dot{color:#cbd5e1;font-weight:700;margin:0 .05rem}.feedback-vote-btn:hover{background:#e2e8f0!important;border-color:#94a3b8!important;transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.feedback-vote-btn:active{transform:translateY(0)}.no-wrap{white-space:nowrap}.pwa-prompt{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(100px);width:calc(100% - 32px);max-width:480px;background:#ffffffe0;backdrop-filter:blur(20px) saturate(190%);-webkit-backdrop-filter:blur(20px) saturate(190%);border:1px solid rgba(255,255,255,.6);border-radius:1.5rem;box-shadow:0 15px 35px #00000026,0 5px 15px #00000014;padding:1.25rem;z-index:9999;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s ease;opacity:0;pointer-events:none;box-sizing:border-box}.pwa-prompt.show{transform:translate(-50%) translateY(0);opacity:1;pointer-events:auto}.pwa-prompt-content{display:flex;align-items:center;gap:12px;margin-bottom:12px}.pwa-prompt-icon{width:48px;height:48px;flex-shrink:0;border-radius:12px;overflow:hidden;box-shadow:0 4px 10px #0000001a}.pwa-prompt-icon img{width:100%;height:100%;object-fit:cover}.pwa-prompt-text-wrapper{flex-grow:1}.pwa-prompt-title{font-size:.95rem;font-weight:800;color:var(--text-main);margin-bottom:2px}.pwa-prompt-desc{font-size:.78rem;color:var(--text-muted);line-height:1.3}.pwa-prompt-actions{display:flex;justify-content:flex-end;gap:8px;width:100%}.pwa-btn-secondary{background:transparent;border:none;color:var(--text-muted);font-size:.85rem;font-weight:600;padding:8px 16px;cursor:pointer;border-radius:10px;transition:var(--transition)}.pwa-btn-secondary:hover{background:#0000000d;color:var(--text-main)}.pwa-btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-light));border:none;color:#fff;font-size:.85rem;font-weight:700;padding:8px 18px;cursor:pointer;border-radius:10px;box-shadow:0 4px 10px #ff7e674d;transition:var(--transition)}.pwa-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 14px #ff7e6766}.pwa-ios-guideline{margin-top:12px;border-top:1px dashed rgba(0,0,0,.1);padding-top:12px;position:relative;text-align:center}.pwa-ios-text{font-size:.82rem;color:var(--text-main);line-height:1.5}.pwa-ios-arrow{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid rgba(255,255,255,.88);filter:drop-shadow(0 2px 2px rgba(0,0,0,.1))}.pwa-browser-guideline{margin-top:12px;border-top:1px dashed rgba(0,0,0,.1);padding-top:12px;text-align:left}.pwa-browser-text{font-size:.82rem;color:var(--text-main);line-height:1.6}.pwa-step{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px}.pwa-step-num{flex-shrink:0;width:20px;height:20px;background:var(--primary);color:#fff;border-radius:50%;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin-top:2px}.pwa-step-desc{flex:1;color:var(--text-main)}.btn-load-more{display:block;width:100%;max-width:220px;margin:1.5rem auto;padding:.75rem 1.5rem;background-color:#fff;color:var(--primary);border:1.5px solid var(--primary);border-radius:2rem;font-size:.95rem;font-weight:700;text-align:center;cursor:pointer;transition:var(--transition)}.btn-load-more:hover{background-color:var(--primary);color:#fff;box-shadow:0 4px 10px #ff7e6733}.results-refreshing{opacity:.4;pointer-events:none;transition:opacity .2s ease-out}#modify-search{display:none}.header-collapsed #modify-search{display:block}.visit-actions-section{margin:1.05rem 0 1.35rem}.visit-actions-title{margin-bottom:.65rem;color:var(--text-muted);font-size:1rem;font-weight:700}.visit-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.25rem,1fr));gap:.5rem}.visit-action-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.35rem;padding:.55rem .75rem;border:1px solid #f3c8ba;border-radius:.55rem;background:#fff6f1;color:#9a4b38;text-decoration:none;font-size:.84rem;font-weight:800;line-height:1.25;text-align:center;box-sizing:border-box;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.visit-action-btn:hover{border-color:#eba995;box-shadow:0 .3rem .8rem #9a4b381a;transform:translateY(-1px)}.visit-action-btn.map{background:#fffaf7;border-color:#ead7ce;color:#8a6f65}@media(max-width:520px){.visit-actions-grid{grid-template-columns:1fr}}.card-detail-hint{margin-top:.7rem;padding-top:.7rem;border-top:1px solid #edf2f7;color:#a98074;font-size:.82rem;font-weight:800;line-height:1.35}.restaurant-card:hover .card-detail-hint{color:var(--primary-dark)}.price-filters-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;width:100%}.main-search-card .price-filters-container .price-chip,.price-filters-container .price-chip{position:relative;flex:initial;width:100%;min-width:0;min-height:4.25rem;box-sizing:border-box;justify-content:center;text-align:center;white-space:normal;line-height:1.1;padding:.55rem .35rem;gap:0;overflow:hidden}.price-chip-label{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.price-chip-main{display:block;font-size:.95rem;font-weight:900;line-height:1.05;white-space:nowrap}.price-chip-range{display:block;margin-top:.22rem;font-size:.72rem;font-weight:800;line-height:1.1;white-space:nowrap;opacity:.96}.main-search-card .price-filters-container .price-chip.active:before,.price-filters-container .price-chip.active:before{position:absolute;left:.45rem;top:50%;transform:translateY(-50%);margin-right:0;font-size:1rem;line-height:1}@media(max-width:520px){.price-filters-container{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.main-search-card .price-filters-container .price-chip,.price-filters-container .price-chip{min-height:4rem;padding:.5rem .25rem}.price-chip-main{font-size:.88rem}.price-chip-range{font-size:.68rem}}@media(max-width:360px){.price-filters-container{gap:.35rem}.price-chip-main{font-size:.8rem}.price-chip-range{font-size:.62rem}.main-search-card .price-filters-container .price-chip.active:before,.price-filters-container .price-chip.active:before{left:.32rem;font-size:.9rem}}
