:root{
  --brand:#FF4B91; --brand-2:#7C4DFF;
  --bg1:#FFF8FB; --bg2:#FDE6F1;
  --ink:#2A2A2A; --muted:#7a7a7a;
  --card:rgba(255,255,255,0.85);
  --radius:18px; --shadow:0 8px 20px rgba(0,0,0,0.06);
}
html[data-theme="dark"]{
  --bg1:#1a1a1a; --bg2:#121212;
  --ink:#f5f5f5; --muted:#9a9a9a;
  --card:rgba(40,40,40,0.9);
  --shadow:0 8px 20px rgba(0,0,0,0.3);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:linear-gradient(180deg,var(--bg1),var(--bg2));color:var(--ink)}
.app{max-width:420px;margin:0 auto;padding-bottom:84px}
.site-header{position:sticky;top:0;z-index:5;padding:16px;background:linear-gradient(#ffffffaa,#ffffff00);backdrop-filter:blur(8px)}
html[data-theme="dark"] .site-header{background:linear-gradient(#0005,#0000)}
.h-row{display:flex;align-items:center;gap:10px}.logo{font-weight:800}.spacer{flex:1}
.pill{padding:6px 10px;border-radius:999px;border:1px solid #e5e7eb;background:#fff;color:#111;cursor:pointer}
html[data-theme="dark"] .pill{background:#222;border-color:#333;color:#eee}
.container{padding:16px}.grid{display:grid;gap:16px}
.card{background:var(--card);backdrop-filter:blur(8px);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);border:1px solid #ffffff55}
html[data-theme="dark"] .card{border-color:#2a2a2a}
.title{font-size:18px;font-weight:800;margin:0 0 8px}.muted{color:var(--muted);font-size:14px}
.loc{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:12px;box-shadow:var(--shadow);text-decoration:none;color:inherit}
html[data-theme="dark"] .loc{background:#1f1f1f}
.badge{background:var(--brand);color:#fff;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:12px;padding:12px 14px;font-weight:700;cursor:pointer}
.btn.primary{background:var(--brand);color:#fff}.btn.ghost{background:#fff;border:1px solid #eee}
html[data-theme="dark"] .btn.ghost{background:#1f1f1f;border-color:#333;color:#eee}
.tabbar{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #eee;height:70px;display:flex;justify-content:space-around;align-items:center;box-shadow:0 -2px 10px rgba(0,0,0,.05);padding-bottom:calc(env(safe-area-inset-bottom))}
html[data-theme="dark"] .tabbar{background:#171717;border-top-color:#2a2a2a;box-shadow:0 -2px 10px rgba(0,0,0,.4)}
.tab{text-align:center;font-size:12px;color:var(--muted);text-decoration:none;display:flex;flex-direction:column;align-items:center}
.tab.active{color:var(--brand)} .tab svg{width:22px;height:22px;margin-bottom:4px}
.msg{background:#ffeff1;color:#7a1c25;padding:10px;border-radius:12px}.msg-ok{background:#e8fff0;color:#209c52;padding:10px;border-radius:12px}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gallery img{width:100%;height:110px;border-radius:14px;object-fit:cover}
