@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/55c55f0601d81cf3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/26a46d62cd723877-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/97e0cb1ae144a2a9-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/581909926a08bbc8-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_e8ce0c{font-family:Inter,Inter Fallback;font-style:normal}

/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;700;900&family=Noto+Sans+TC:wght@300;400;500;700;900&family=Noto+Serif+TC:wght@400;700;900&display=swap";.review-scroll-container::-webkit-scrollbar{display:none!important}.review-scroll-container{-ms-overflow-style:none!important;scrollbar-width:none!important}.restaurant-reviews-section::-webkit-scrollbar,.review-stats-section::-webkit-scrollbar{display:none!important}[style*="overflow-y: auto"]::-webkit-scrollbar,[style*="overflowY: 'auto'"]::-webkit-scrollbar{display:none!important}.restaurant-reviews-section,.review-stats-section,[style*="overflow-y: auto"],[style*="overflowY: 'auto'"]{-ms-overflow-style:none!important;scrollbar-width:none!important}:root{--primary-navy:#0f172a;--primary-blue:#1e40af;--primary-sky:#0284c7;--accent-gold:#f59e0b;--accent-amber:#fbbf24;--accent-champagne:#fef3c7;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#0ea5e9;--background:#fff;--background-secondary:#f9fafb;--foreground:#111827;--foreground-secondary:#4b5563;--foreground-muted:#9ca3af;--gradient-primary:linear-gradient(135deg,#1e40af,#0284c7);--gradient-accent:linear-gradient(135deg,#f59e0b,#fbbf24);--gradient-dark:linear-gradient(135deg,#0f172a,#1e293b);--gradient-elegant:linear-gradient(135deg,#1e40af,#0284c7 50%,#f59e0b);--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--shadow-glow:0 0 20px #1e40af26;--shadow-gold:0 0 20px #f59e0b33}*{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--background);color:var(--foreground);letter-spacing:.02em;min-height:100vh;font-family:Noto Sans TC,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft JhengHei,微軟正黑體,Roboto,sans-serif;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--primary-navy);letter-spacing:.01em;font-family:Noto Sans TC,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft JhengHei,微軟正黑體,sans-serif;font-weight:600;line-height:1.4}:lang(zh),:lang(zh-HK),:lang(zh-TW){font-family:Noto Sans TC,Microsoft JhengHei,微軟正黑體,sans-serif}:lang(en),:lang(fr){font-family:Inter,system-ui,sans-serif}h1:lang(zh),h1:lang(zh-TW),h2:lang(zh),h2:lang(zh-TW),h3:lang(zh),h3:lang(zh-TW),h4:lang(zh),h4:lang(zh-TW),h5:lang(zh),h5:lang(zh-TW),h6:lang(zh),h6:lang(zh-TW){font-family:Noto Sans TC,Microsoft JhengHei,微軟正黑體,sans-serif;font-weight:600}::-webkit-scrollbar{width:10px;height:6px}::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#1e40af,#0284c7);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary-blue)}.photo-scroll-container::-webkit-scrollbar{display:none}.photo-scroll-container{-ms-overflow-style:none;scrollbar-width:none}.glass{box-shadow:var(--shadow-lg);background:#ffffffd9;border:1px solid #ffffffe6}.glass,.glass-dark{-webkit-backdrop-filter:blur(10px)}.glass-dark{box-shadow:var(--shadow-xl);background:#0f172ad9;border:1px solid #1e293b80}.gradient-primary{background:var(--gradient-primary)}.gradient-accent{background:var(--gradient-accent)}.gradient-dark{background:var(--gradient-dark)}.gradient-elegant{background:var(--gradient-elegant)}.gradient-text{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn-primary{background:var(--gradient-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-md);letter-spacing:.025em;border:none;border-radius:8px;padding:12px 28px;font-family:Noto Sans TC,Inter,sans-serif;font-weight:500;transition:all .3s}.btn-primary:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.btn-accent{background:var(--gradient-accent);color:var(--primary-navy);cursor:pointer;box-shadow:var(--shadow-md);border:none;border-radius:8px;padding:12px 28px;font-family:Noto Sans TC,Inter,sans-serif;font-weight:600;transition:all .3s}.btn-accent:hover{box-shadow:var(--shadow-gold);transform:translateY(-2px)}.btn-outline{color:var(--primary-blue);cursor:pointer;border:2px solid var(--primary-blue);background:0 0;border-radius:8px;padding:11px 27px;font-family:Noto Sans TC,Inter,sans-serif;font-weight:500;transition:all .3s}.btn-outline:hover{background:var(--primary-blue);color:#fff;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card{border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;padding:24px;transition:all .3s}.card:hover{box-shadow:var(--shadow-xl);border-color:var(--primary-sky);transform:translateY(-4px)}.input-modern{border:2px solid var(--gray-200);color:var(--foreground);background:#fff;border-radius:8px;padding:12px 16px;font-family:Noto Sans TC,Inter,sans-serif;font-size:15px;transition:all .3s}.input-modern:focus{border-color:var(--primary-blue);outline:none;box-shadow:0 0 0 3px #1e40af1a}.input-modern::-moz-placeholder{color:var(--foreground-muted)}.input-modern::placeholder{color:var(--foreground-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.loading-spinner{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-slide-up{animation:slideIn .6s ease-out}.animate-float{animation:float 4s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#f8f8f8 50%,#f0f0f0 75%) 0 0/1000px 100%;animation:shimmer 2s infinite}.badge{letter-spacing:.025em;border-radius:20px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-block}body,html{max-width:100%;overflow-x:hidden}*{-ms-overflow-style:none!important;scrollbar-width:none!important}::-webkit-scrollbar{display:none!important}*{box-sizing:border-box}@media (max-width:640px){.w-full{width:100%!important}[class*=max-w-]{max-width:100%!important}.rating-badge{gap:2px!important;padding:6px 12px!important}.rating-badge .rating-count{font-size:12px!important}body{font-size:14px}h1{font-size:24px!important}h2{font-size:20px!important}h3{font-size:18px!important}a,button{min-width:44px;min-height:44px}input,select,textarea{min-height:44px;font-size:16px!important}.container,[class*=px-],main{padding-left:12px!important;padding-right:12px!important}[class*=py-]{padding-top:12px!important;padding-bottom:12px!important}main>div:first-child{padding:12px!important}.card{margin-bottom:16px!important}.desktop-only{display:none!important}.split-view{flex-direction:column!important}.split-view>div{width:100%!important}.map-container,[class*=h-screen],[style*="height: 100vh"]{height:400px!important;max-height:60vh!important}.mapboxgl-marker{z-index:1!important}.mapboxgl-popup{max-width:280px!important}.mapboxgl-popup-content{padding:12px!important;font-size:14px!important}table{white-space:nowrap;display:block;overflow-x:auto}img{max-width:100%;height:auto}.modal,.popup{width:90%!important;max-width:100%!important;margin:20px!important}nav{padding:0 12px!important}.restaurant-grid{grid-template-columns:1fr!important;gap:16px!important;padding:0!important}.restaurant-card{width:100%!important;margin:0!important;padding:12px!important}[role=group]{gap:8px!important;width:100%!important;display:flex!important}[role=group] button{flex:1!important;padding:10px!important;font-size:14px!important}.filter-container,.filter-controls,[class*=flex][class*=gap]{flex-direction:column!important;gap:12px!important;width:100%!important}.filter-container>*,.filter-controls>*{width:100%!important}input[placeholder],input[type=search],input[type=text],select{width:100%!important;padding:12px!important;font-size:16px!important}.pagination{flex-wrap:wrap!important;justify-content:center!important;gap:4px!important}.pagination button{min-width:40px!important;padding:8px 12px!important;font-size:14px!important}.flex-col{width:100%!important}.restaurant-details{flex-direction:column!important}.restaurant-details>div{width:100%!important}.restaurant-layout-container{flex-direction:column!important;gap:20px!important;padding:0!important}.restaurant-layout-container>div{flex:none!important;width:100%!important}.photo-review-container{flex-direction:column!important;gap:20px!important}.photo-section,.review-stats-section{flex:none!important;width:100%!important}.restaurant-map-section{width:100%!important;height:300px!important;position:relative!important;top:0!important}.restaurant-reviews-section{width:100%!important;padding:16px!important}.restaurant-info-section{padding:16px!important}.photo-gallery-container{width:100%!important;margin-bottom:16px!important;padding:12px!important}.photo-scroll-container{gap:8px!important;padding-bottom:8px!important}.photo-scroll-container img{width:auto!important;height:200px!important}[class*=mb-],[style*=marginBottom]{margin-bottom:16px!important}.rating-stars{font-size:16px!important}.review-card{margin-bottom:12px!important;padding:12px!important}.review-details-container{flex-direction:row!important;gap:8px!important;width:100%!important;display:flex!important}.review-rating-details{flex:0 0 45%!important;min-width:0!important;padding:10px!important}.review-photos-section{flex:1!important;min-width:0!important;padding:10px!important}.review-details-container:has(.review-rating-details):not(:has(.review-photos-section)) .review-rating-details{flex:1!important}.review-rating-details>div:first-child{margin-bottom:6px!important;font-size:11px!important}.review-rating-details span{font-size:10px!important}.review-rating-details [style*="width: 60px"]{width:40px!important}.review-photos-section>div:first-child{margin-bottom:6px!important;font-size:11px!important}.review-photos-section [style*="flex: 0 0 140px"]{flex:0 0 80px!important;height:60px!important}.review-scroll-container{-ms-overflow-style:none!important;scrollbar-width:none!important;max-height:none!important;overflow:visible!important}.review-scroll-container::-webkit-scrollbar{display:none!important}.restaurant-reviews-section,.review-stats-section,div[style*=overflow]{-ms-overflow-style:none!important;scrollbar-width:none!important}.restaurant-reviews-section::-webkit-scrollbar,.review-stats-section::-webkit-scrollbar{display:none!important}div[style*=overflow]::-webkit-scrollbar{display:none!important}.rating-stats{padding:12px!important;font-size:14px!important}.button-group{flex-direction:column!important;gap:8px!important}.button-group button{width:100%!important}.badge,[class*=bg-][class*=text-]{padding:6px 10px!important;font-size:12px!important}details{width:100%!important}details summary{padding:10px!important;font-size:14px!important}.action-buttons{z-index:10!important;gap:8px!important;display:flex!important;position:fixed!important;bottom:20px!important;right:20px!important}.back-button{z-index:5!important;background:#fff!important;padding:8px 12px!important;position:sticky!important;top:64px!important}h1,h2,h3{margin-bottom:12px!important}p{margin-bottom:8px!important}}@media (max-width:375px){.rating-badge{padding:4px 8px!important}.rating-badge span{font-size:12px!important}.rating-count{margin-left:4px!important;display:inline-block!important}h1{font-size:20px!important}h2{font-size:18px!important}[style*="gap: 12px"]{gap:6px!important}}@media (min-width:641px) and (max-width:1024px){.container{padding:20px!important}.restaurant-grid{grid-template-columns:repeat(2,1fr)!important}.split-view{flex-direction:row!important}}@media (hover:none) and (pointer:coarse){a:hover,button:hover{background-color:inherit!important;color:inherit!important}.clickable{padding:12px!important}.scrollable{-webkit-overflow-scrolling:touch;overflow-y:auto}}@supports (-webkit-touch-callout:none){.button,button{-webkit-touch-callout:none;-webkit-user-select:none}input,textarea{-webkit-appearance:none;border-radius:0}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}}@media print{.no-print,nav{display:none!important}.container{max-width:100%!important}}.badge-primary{background:var(--primary-blue);color:#fff}.badge-accent{background:var(--accent-gold);color:var(--primary-navy)}.badge-success{background:var(--success);color:#fff}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-2{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.mapboxgl-popup-content{border:1px solid var(--gray-200)!important;color:var(--foreground)!important;box-shadow:var(--shadow-xl)!important;background:#fff!important;border-radius:12px!important;font-family:Noto Sans TC,Inter,sans-serif!important}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{border-top-color:#fff!important}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.feature-card{flex-direction:column;height:100%;display:flex}.feature-card h3{margin-bottom:.75rem;line-height:1.3}.feature-card p{flex-grow:1;align-items:flex-start;display:flex}:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}*{transition:color .3s,background-color .3s,border-color .3s}.admin-container{width:100%;min-width:0;max-width:100%;position:relative;overflow-x:visible}body:has(.admin-container){overflow:auto}nav+.admin-container{z-index:1;margin-top:0;position:relative}.admin-container *{box-sizing:border-box;max-width:100%}body:has(.admin-container) nav{z-index:40;position:relative}@media (min-width:640px){.container{max-width:640px;padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (max-width:768px){body{font-size:15px}h1{font-size:2rem}h2{font-size:1.5rem}.card{padding:20px}.btn-accent,.btn-outline,.btn-primary{padding:10px 20px;font-size:14px}.container{padding-left:1rem;padding-right:1rem}.restaurant-layout-container{flex-direction:column!important;gap:20px!important}.restaurant-layout-container>div{flex:none!important;width:100%!important}}@media (min-width:769px){.restaurant-layout-container{flex-direction:row;align-items:flex-start;gap:32px;width:100%;display:flex}.restaurant-layout-container>div{flex:0 0 calc(50% - 16px);width:calc(50% - 16px)}}