:root{--bg:#0b0f17;--ink:#e8fafc;--accent:#ffb703;--hot:#ef4444;--smoke:#111827; --body-font:"Noto Sans",system-ui,Segoe UI,Roboto,Ubuntu; --neon-bg: linear-gradient(180deg,#00111a,#003344); --neon-accent:#00ffe5; --neon-glow:#ff00cc}
:root{
  --hero-photo-url: "";
  --hero-photo-opacity: .35;
  --hero-photo-blur: 1.5px;
  --header-overlay: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.7));
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:var(--body-font, "Noto Sans",system-ui,Segoe UI,Roboto,Ubuntu);
  background:var(--neon-bg, linear-gradient(180deg,#00111a,#003344));
  color:var(--ink)
}
.wrap{max-width:960px;margin:0 auto;padding:20px}
header{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:16px;margin:12px 0;border:1px solid #1bb3c6;border-radius:16px;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.6));box-shadow:0 0 20px rgba(34,211,238,.15)}
header.themed-header{background:var(--header-grad, linear-gradient(90deg,#1e3a8a,#0d9488,#065f46));text-align:center;position:relative;overflow:hidden}
header.themed-header::before{
  content:"";position:absolute;inset:0;background:url(var(--hero-photo-url)) center/cover no-repeat;opacity:var(--hero-photo-opacity);filter:blur(var(--hero-photo-blur)) saturate(1.05);z-index:-1;
}
h1,h2{
  font-family:var(--heading-display, "Cal Sans","Noto Sans",system-ui);
  color:var(--neon-accent,#00ffe5);
  text-shadow:0 0 8px var(--neon-glow,#ff00cc);
}
.header-cta{text-align:right}
.btn{display:inline-block;padding:14px 16px;border-radius:12px;border:1px solid #22d3ee;background:#031e23;color:#a5f3fc;text-decoration:none;font-weight:600;min-width:44px;min-height:44px}
.btn.hot{background:var(--hot);border-color:var(--hot);color:white}
.grid{display:grid;gap:16px}
.two{grid-template-columns:1fr 1fr}
@media(max-width:720px){.two{grid-template-columns:1fr}.header-cta{text-align:left}}
.card{border:1px solid #1bb3c6;border-radius:16px;padding:16px;background:linear-gradient(180deg,#0b1325,#0c1a29)}
.menu h3{margin:8px 0;color:#93c5fd}
.price{float:right;color:#ffd166;font-weight:800}
ul{list-style:none;padding:0;margin:0}
li{padding:10px 0;border-bottom:1px dashed #155e75}
.note{color:#9ca3af;font-size:14px}
.menu-section{
  border:2px solid var(--neon-accent,#00ffe5);
  border-radius:12px;
  background:rgba(0,0,0,.6);
  box-shadow:0 0 12px #ffcc00;
}
footer{margin:24px 0;text-align:center;color:#93c5fd}
.qr{width:140px;height:140px;border-radius:12px;border:1px solid #22d3ee}
.hero{display:grid;gap:16px;align-items:center}
.tag{display:inline-block;padding:4px 10px;border:1px solid #22d3ee;border-radius:999px;color:#a5f3fc;margin-right:6px;font-size:12px}
.action-row{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}
.map{width:100%;height:320px;border:0;border-radius:12px}
.qr-row{margin-top:12px;display:flex;align-items:center;gap:12px}
.island{background: var(--island-bg-color, #0d1b2a); border-radius:16px; box-shadow:inset 0 0 100px rgba(0,0,0,.35)}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.tags span{display:inline-block;padding:6px 12px;border-radius:999px;background:#065f46;color:#fefae0;font-size:13px}
.menu-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:8px 0 12px}
.menu-tabs .tab{padding:10px 14px;border-radius:10px;border:1px solid #22d3ee;background:#031e23;color:#a5f3fc}
.menu-tabs .tab.active{background:#0b3140;color:#e8fafc}
.panel[hidden]{display:none}
.review-banner{
  background:#ff00cc;
  color:#fff;
  padding:12px;
  text-align:center;
  border-radius:8px;
  font-weight:bold;
  margin-top:20px;
  text-shadow:0 0 5px #000;
}