:root{
  /* 明るめ＆今風の配色（人気のインディゴ×シアン×ミント） */
  --bg:#0d1324;            /* 背景 */
  --panel:#101b31;         /* カード背景 */
  --ink:#f3fbff;           /* 文字 */
  --muted:#9bb3c7;         /* 薄い文字 */
  --line:#1e3350;          /* 枠線 */

  --brand:#7dd3fc;         /* シアン */
  --brand2:#a7f3d0;        /* ミント */
  --accent:#60a5fa;        /* インディゴ */
  --danger:#ef4444;

  --shadow:0 12px 34px rgba(0,0,0,.28);
}

html,body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family: system-ui,-apple-system,Segoe UI,Roboto,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}
a{color:#79d9ff;text-decoration:none}
a:hover{opacity:.9}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.center{text-align:center}
.small{color:var(--muted);font-size:13px}

.grid{display:grid;gap:18px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}
.card{
  background:var(--panel);border:1px solid var(--line);border-radius:18px;
  box-shadow:var(--shadow);padding:20px
}
.btn{display:inline-block;padding:12px 18px;border-radius:999px;border:0;font-weight:800;cursor:pointer}
.btn.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#05333b}
.btn.secondary{background:#b9f1ff;color:#05333b}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--ink)}

.badge{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.2em .6em;color:#c7ecff}
.price{font-size:22px;font-weight:800}
.buy-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.buy{border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);padding:16px;cursor:pointer}
.buy:disabled{opacity:.5;cursor:not-allowed}

/* ヒーロー全面：高さをきちんと与える（以前は高さが足りず“半分だけ”見えていた） */
.hero{position:relative;isolation:isolate;min-height:clamp(320px,46vh,560px)}
.hero-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:-1}
.hero-inner{padding:84px 0;display:grid;gap:14px;place-items:center;text-align:center}
.hero p{max-width:840px;margin:0 auto}

.nav{
  display:flex;gap:14px;flex-wrap:wrap;justify-content:center;padding:14px 0;
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;
  background:linear-gradient(180deg,rgba(13,19,36,.9),rgba(13,19,36,.65));
  backdrop-filter:saturate(1.1) blur(10px)
}

.mv-aspect{position:relative;padding-top:56.25%;background:#000;border-radius:12px;overflow:hidden}
.mv-aspect iframe,.mv-aspect video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}

/* 簡易モーダル（説明ポップ） */
dialog#tip{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:14px;max-width:520px}
dialog#tip::backdrop{background:rgba(0,0,0,.55)}
.tip-title{font-weight:800;margin:0 0 6px}
.tip-body{color:var(--muted);margin:0}
.tip-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
/* 画像タイルをコンパクトに */
.card.compact{padding:12px;border-radius:12px}
.img-tile{aspect-ratio:4/3; max-height:180px; background:#0a0f1d; border:1px solid var(--line); border-radius:10px; overflow:hidden}
.img-tile img{width:100%;height:100%;object-fit:cover;display:block}
