:root{--background: #FAFAF8;--foreground: #1A1A1A;--card: #FFFFFF;--card-foreground: #1A1A1A;--primary: #E8593C;--primary-foreground: #FFFFFF;--secondary: #F3F3F3;--secondary-foreground: #1A1A1A;--muted: #F3F3F3;--muted-foreground: #6B6B6B;--border: #EBEBEB;--input: #EBEBEB;--ring: #E8593C;--radius: .625rem}*{box-sizing:border-box;border-color:var(--border)}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--background);color:var(--foreground)}#splash{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--primary);color:var(--primary-foreground);display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;z-index:50;transition:opacity .35s}.logo{font-size:56px}.splash-name{font-weight:800;font-size:22px}#topnav,#topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--card);border-bottom:1px solid var(--border)}#topnav .brand{text-decoration:none;color:var(--foreground);font-size:18px}#topnav nav{display:flex;gap:14px;align-items:center}#topnav nav a{text-decoration:none;color:var(--foreground);font-size:14px;font-weight:500}#topnav nav a.cta{background:var(--primary);color:var(--primary-foreground);padding:8px 14px;border-radius:var(--radius);font-weight:600}.wrap{max-width:1080px;margin:0 auto;padding:0 16px 40px}.map-box{border-radius:var(--radius);margin-top:14px;border:1px solid var(--border);overflow:hidden}.map-box #map{height:46vh;min-height:300px;z-index:1}.map-box .leaflet-tile-pane{filter:grayscale(1) contrast(1.02)}.hero h1{font-size:clamp(26px,4vw,40px);line-height:1.15;margin:18px 0 6px;letter-spacing:-.5px}.hero .sub{color:var(--muted-foreground);margin:0 0 12px}.pill{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;line-height:1;padding:5px 10px;border-radius:999px;background:var(--secondary);color:var(--secondary-foreground);border:1px solid var(--border);white-space:nowrap}.pill.live{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.lang-toggle{display:inline-flex;border:1px solid var(--border);border-radius:999px;overflow:hidden}.lang-toggle button{border:0;background:var(--card);color:var(--muted-foreground);font-size:12px;font-weight:700;padding:6px 10px;cursor:pointer}.lang-toggle button.on{background:var(--foreground);color:var(--background)}#filter-bar,#filter-sheet{display:flex;gap:8px;flex-wrap:wrap}#filter-bar button,#filter-sheet button{border:1px solid var(--border);background:var(--card);color:var(--foreground);border-radius:999px;padding:8px 14px;font-size:14px;cursor:pointer}#filter-bar button.on{background:var(--foreground);color:var(--background);border-color:var(--foreground)}h2{font-size:20px;margin:26px 0 12px}#areas{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}#areas::-webkit-scrollbar{display:none}.area-pill{display:inline-flex;align-items:center;flex-shrink:0;font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--card);border:1px solid var(--border);color:var(--foreground);text-decoration:none;white-space:nowrap}.area-pill.live{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}#feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.spot,.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;color:var(--card-foreground)}.spot{display:flex;gap:10px;justify-content:space-between}.spot .dish{font-weight:600;margin:0 0 4px}.spot .meta,.card small{color:var(--muted-foreground);font-size:13px;margin:0}.spot .price{font-weight:800;color:var(--primary);white-space:nowrap}.spot .ver{font-size:12px;color:var(--muted-foreground)}input,select{border:1px solid var(--input);border-radius:var(--radius);background:var(--card);color:var(--foreground)}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}footer{max-width:1080px;margin:0 auto;padding:22px 16px;color:var(--muted-foreground);font-size:14px;border-top:1px solid var(--border)}footer a{color:var(--muted-foreground)}@media (max-width: 640px){#topnav nav a:not(.cta){display:none}#topnav nav .lang-toggle{display:inline-flex}.map-box #map{height:38vh}}
