
*{box-sizing:border-box}
:root{
  --bg:#080b0f;--panel:#10151b;--panel2:#07182b;--text:#f5f5f1;--muted:#9da5ad;
  --line:#27313b;--yellow:#ffd538;--blue:#0c76ff;--deep:#061b3a;--red:#ff4b44;
  --max:1220px;--radius:22px;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"Noto Sans JP",system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{max-width:100%}
.wrap{width:min(var(--max),calc(100% - 32px));margin:auto;min-width:0}
.disclosure{font-size:10px;color:#858d95;text-align:center;padding:7px 10px;background:#06080b;border-bottom:1px solid #181d22}
.site-header{position:sticky;top:0;z-index:30;background:rgba(8,11,15,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav{height:66px;display:flex;align-items:center;gap:18px;min-width:0}
.brand{display:flex;flex-direction:column;line-height:1}
.brand-top{font-size:10px;letter-spacing:.19em;color:#abb2b8;font-weight:800}
.brand-main{font-size:17px;letter-spacing:.09em;font-weight:950;margin-top:5px}
.brand-main b{color:var(--yellow)}
.nav-spacer{flex:1}
.nav-link{font-size:11px;color:#b8c0c6}
.hero{padding:76px 0 48px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-8%;top:8%;width:min(46vw,600px);aspect-ratio:1;border-radius:50%;background:
radial-gradient(circle,transparent 0 35%,#ffd53812 35.5% 36.5%,transparent 37%),
repeating-radial-gradient(circle,#0c76ff10 0 2px,transparent 3px 28px);pointer-events:none}
.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:900;color:var(--yellow)}
.hero h1{font-size:clamp(52px,8vw,108px);line-height:.84;letter-spacing:-.065em;margin:12px 0 22px;max-width:970px}
.hero h1 span{display:block;color:var(--yellow)}
.hero-lead{max-width:680px;font-size:18px;line-height:1.8;margin:0 0 12px}
.hero-sub{max-width:680px;color:#aeb6bc;line-height:1.85;font-size:13px}
.section-label{font-size:10px;letter-spacing:.18em;color:#858e96;font-weight:900;margin-bottom:13px}
.pac-section{margin:12px 0 70px;border:1px solid #173c65;border-radius:28px;overflow:hidden;background:#061b3a}
.pac-head{min-height:245px;padding:34px;display:flex;align-items:flex-end;position:relative;background:
repeating-linear-gradient(90deg,#0c76ff1a 0 3px,transparent 3px 54px),
repeating-linear-gradient(0deg,#0c76ff12 0 3px,transparent 3px 54px)}
.pac-head:after{content:"";position:absolute;right:8%;top:24%;width:95px;height:95px;border-radius:50%;background:conic-gradient(var(--yellow) 0 330deg,transparent 330deg);filter:drop-shadow(0 0 16px #ffd53835)}
.pac-head h2{position:relative;z-index:2;font-size:clamp(45px,7vw,86px);line-height:.88;letter-spacing:-.05em;margin:0}
.pac-head p{position:relative;z-index:2;margin:10px 0 0;font-size:10px;letter-spacing:.18em;color:#a8c5e8}
.select-card{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);border-top:1px solid #173c65;min-width:0}
.card-media{min-height:380px;background:#efefeb;display:grid;place-items:center;position:relative;overflow:hidden;color:#151515}
.image-lock{padding:40px;text-align:center;max-width:440px}
.image-lock .lock-icon{width:78px;height:78px;border:2px solid #181818;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;font-weight:950;font-size:11px}
.image-lock b{font-size:21px;display:block;margin-bottom:8px}
.image-lock p{font-size:11px;line-height:1.8;color:#666;margin:0}
.image-lock small{display:block;margin-top:14px;color:#8a8a8a;font-size:9px;letter-spacing:.08em}
.card-copy{padding:34px;min-width:0}
.lock-badge{display:inline-flex;padding:7px 9px;border-radius:999px;background:#e9ff54;color:#101010;font-size:9px;font-weight:950;letter-spacing:.1em}
.card-copy h3{font-size:clamp(32px,4vw,56px);line-height:.92;letter-spacing:-.045em;margin:17px 0 14px}
.card-copy>p{font-size:14px;line-height:1.85;color:#d2d9df;max-width:600px}
.mini-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:22px 0}
.meta-box{border:1px solid #ffffff1f;border-radius:13px;padding:12px;min-width:0}
.meta-box b{display:block;color:var(--yellow);font-size:18px}.meta-box span{display:block;font-size:8px;color:#92a0ad;margin-top:4px;letter-spacing:.06em}
.primary-btn{display:inline-flex;align-items:center;justify-content:center;background:var(--yellow);color:#111;font-weight:950;padding:15px 20px;border-radius:13px;margin-top:5px}
.editor-note{margin-top:16px;color:#8193a4;font-size:10px;line-height:1.7}
.footer{padding:20px 0 70px;color:#747d85;font-size:10px;line-height:1.8;border-top:1px solid #171c21}
.footer-links{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px}

/* detail */
.detail-page{background:#061b3a;background-image:
repeating-linear-gradient(90deg,#ffffff07 0 3px,transparent 3px 52px),
repeating-linear-gradient(0deg,#ffffff05 0 3px,transparent 3px 52px)}
.detail-top{padding:24px 0 4px}
.back{display:inline-flex;border:1px solid #ffffff30;border-radius:999px;padding:9px 13px;background:#0003;font-size:11px}
.product-layout{display:grid;grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);gap:48px;align-items:start;padding:20px 0 74px;min-width:0}
.media-column,.info-column{min-width:0}
.product-media{min-height:465px;border-radius:26px;background:#f0f0ec;position:relative;display:grid;place-items:center;overflow:hidden;color:#151515;border:1px solid #ffffff28}
.product-media img{width:100%;height:100%;object-fit:contain;display:none}
.product-image-fallback{text-align:center;padding:35px;max-width:430px}
.product-image-fallback .tee{width:150px;height:150px;margin:0 auto 23px;background:#1a1c1e;clip-path:polygon(22% 0,38% 8%,62% 8%,78% 0,100% 18%,86% 34%,78% 26%,78% 100%,22% 100%,22% 26%,14% 34%,0 18%);position:relative}
.product-image-fallback .tee:after{content:"IMAGE\\A LOCK";white-space:pre;position:absolute;left:24%;right:24%;top:31%;bottom:31%;display:grid;place-items:center;border:2px solid #ffd538;color:#ffd538;font-size:11px;font-weight:900}
.product-image-fallback b{display:block;font-size:17px;margin-bottom:6px}
.product-image-fallback p{margin:0;color:#666;font-size:10px;line-height:1.7}
.photo-note{position:absolute;left:16px;right:16px;bottom:13px;font-size:9px;color:#6b6b6b}
.game-embed{margin-top:18px;border:1px solid #285b87;border-radius:23px;overflow:hidden;background:#020914;box-shadow:0 16px 45px #0006}
.game-embed-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;border-bottom:1px solid #224768;background:#07182b}
.game-embed-head b{font-size:12px;color:var(--yellow);letter-spacing:.09em}
.game-embed-head span{font-size:9px;color:#768ba0}
.game-frame{display:block;width:100%;height:610px;border:0;background:#030914}
.detail-eyebrow{font-size:10px;letter-spacing:.2em;font-weight:950;color:var(--yellow)}
.info-column h1{font-size:clamp(46px,5.7vw,78px);line-height:.86;letter-spacing:-.055em;margin:10px 0 18px}
.lead{font-size:18px;line-height:1.8;margin:0}
.positioning{margin:25px 0;padding:17px 19px;border-left:4px solid var(--yellow);background:#0003;font-size:13px;line-height:1.85}
.score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:22px 0}
.score-box{border:1px solid #ffffff25;border-radius:14px;padding:12px;background:#0002;min-width:0}
.score-box b{display:block;font-size:19px;color:var(--yellow)}.score-box span{display:block;font-size:8px;color:#ffffffa3;margin-top:4px;letter-spacing:.06em;overflow-wrap:anywhere}
.option-title{font-size:10px;letter-spacing:.14em;margin:18px 0 8px}
.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{border:1px solid #ffffff27;padding:8px 10px;border-radius:9px;background:#0002;font-size:10px}.chip.dim{opacity:.55}
.reason-list{margin:28px 0;border-top:1px solid #ffffff25}.reason{padding:18px 0;border-bottom:1px solid #ffffff22}.reason b{display:block;margin-bottom:6px}.reason span{font-size:12px;line-height:1.8;color:#ffffffb7}
.cta{margin-top:26px;padding:20px;border:1px solid #ffffff2b;border-radius:18px;background:#0003}.cta p{font-size:10px;color:#ffffff9d;line-height:1.7}.amazon-btn{display:block;width:100%;border-radius:14px;padding:17px 18px;background:var(--yellow);color:#111;font-weight:950;text-align:center;margin-top:12px}
.method{margin-top:16px;font-size:9px;line-height:1.8;color:#7590a7}
.mobile-buy{display:none}


/* PAC-MAN product select grid */
.product-select-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  background:#173c65;
  border-top:1px solid #173c65;
}
.product-select{
  min-width:0;
  background:#07192d;
  display:flex;
  flex-direction:column;
}
.product-select-media{
  aspect-ratio:1/1;
  background:#efefeb;
  position:relative;
  overflow:hidden;
  display:grid;
  place-items:center;
  color:#151515;
}
.product-select-media img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.product-status{
  position:absolute;
  top:12px;
  left:12px;
  z-index:2;
  display:inline-flex;
  padding:7px 9px;
  border-radius:999px;
  background:#0b0d10e8;
  color:#fff;
  font-size:8px;
  font-weight:950;
  letter-spacing:.1em;
}
.product-status.locked{background:#e9ff54;color:#111}
.product-status.check{background:#fff;color:#111}

.pending-media{
  width:100%;
  height:100%;
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
  padding:34px;
  background:
    linear-gradient(135deg,#f4f3ee,#e9e8e1);
}
.pending-kicker{
  font-size:8px;
  letter-spacing:.16em;
  font-weight:950;
  color:#78766f;
  margin-bottom:14px;
}
.pending-design{
  font-size:clamp(20px,2.2vw,31px);
  line-height:.96;
  letter-spacing:-.04em;
  font-weight:950;
  color:#171717;
}
.pending-line{
  width:46px;
  height:3px;
  background:#ffd538;
  margin:17px 0;
}
.pending-aside{
  font-size:9px;
  line-height:1.65;
  color:#77746d;
}
.pending-aside b{color:#171717}

.product-select-body{
  padding:22px;
  display:flex;
  flex-direction:column;
  flex:1;
  min-width:0;
}
.product-select-no{
  color:#7897b6;
  font-size:8px;
  letter-spacing:.14em;
  font-weight:900;
}
.product-select h3{
  margin:9px 0 10px;
  font-size:24px;
  line-height:1;
  letter-spacing:-.035em;
}
.product-select p{
  margin:0;
  color:#b7c2cc;
  font-size:11px;
  line-height:1.75;
}
.product-meta{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  margin:15px 0;
}
.product-meta span{
  padding:6px 7px;
  border:1px solid #ffffff1e;
  border-radius:999px;
  color:#91a0ae;
  font-size:8px;
}
.product-scoreline{
  margin-top:auto;
  padding-top:14px;
  border-top:1px solid #ffffff18;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:10px;
}
.product-scoreline span{
  color:#7f91a2;
  font-size:8px;
  letter-spacing:.08em;
}
.product-scoreline b{
  color:#ffd538;
  font-size:22px;
}
.product-card-link{
  display:block;
  margin-top:13px;
  padding:12px;
  border-radius:11px;
  background:#ffd538;
  color:#111;
  text-align:center;
  font-size:11px;
  font-weight:950;
}
.product-card-link.secondary{
  background:transparent;
  border:1px solid #365570;
  color:#d5e1eb;
}

/* Improved image-pending state on detail pages */
.product-image-fallback{
  width:100%;
  max-width:none;
  height:100%;
  min-height:465px;
  padding:42px;
  display:grid;
  align-content:center;
  justify-items:start;
  text-align:left;
  background:
    linear-gradient(135deg,#f5f4ef 0 55%,#eceae3 55% 100%);
}
.product-image-fallback .tee{display:none}
.product-image-fallback:before{
  content:"IMAGE CHECK";
  display:inline-flex;
  border:1px solid #222;
  padding:7px 9px;
  border-radius:999px;
  font-size:8px;
  font-weight:950;
  letter-spacing:.13em;
  margin-bottom:22px;
}
.product-image-fallback b{
  display:block;
  font-size:clamp(27px,3vw,42px);
  line-height:.95;
  letter-spacing:-.045em;
  margin-bottom:13px;
  max-width:360px;
}
.product-image-fallback p{
  max-width:380px;
  margin:0;
  color:#696862;
  font-size:10px;
  line-height:1.8;
}
.product-image-fallback .lock-data{
  margin-top:22px;
  padding-top:15px;
  width:100%;
  max-width:390px;
  border-top:1px solid #c9c7bf;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:6px 16px;
  font-size:8px;
  color:#7b7972;
}
.product-image-fallback .lock-data b{
  font-size:8px;
  line-height:1.4;
  margin:0;
  letter-spacing:.08em;
}
.product-image-fallback .amazon-photo-link{
  margin-top:18px;
  display:inline-flex;
  padding:10px 12px;
  border-radius:9px;
  background:#171717;
  color:#fff;
  font-size:9px;
  font-weight:900;
}
.other-selects{
  margin-top:34px;
  padding-top:23px;
  border-top:1px solid #ffffff1f;
}
.other-selects h2{
  font-size:18px;
  margin:0 0 13px;
  letter-spacing:-.02em;
}
.other-select-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.other-select-card{
  border:1px solid #ffffff1f;
  border-radius:14px;
  padding:14px;
  background:#0002;
}
.other-select-card b{display:block;font-size:12px;margin-bottom:5px}
.other-select-card span{font-size:8px;color:#7890a7}
.other-select-card a{
  display:inline-flex;
  margin-top:10px;
  font-size:9px;
  color:#ffd538;
}

@media(max-width:980px){
  .product-select-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .select-card{grid-template-columns:1fr}
  .product-layout{grid-template-columns:1fr;gap:26px}
  .game-frame{height:650px}
}
@media(max-width:620px){
  .product-select-grid{grid-template-columns:1fr}
  .other-select-grid{grid-template-columns:1fr}
  .product-image-fallback{min-height:340px;padding:28px}
  .wrap{width:min(var(--max),calc(100% - 20px))}
  .nav{height:58px}.nav-link{display:none}
  .hero{padding:45px 0 30px}.hero h1{font-size:52px}.hero-lead{font-size:16px}
  .pac-head{min-height:185px;padding:24px}.pac-head:after{width:68px;height:68px}
  .card-copy{padding:22px}.card-media{min-height:310px}
  .mini-meta{grid-template-columns:1fr 1fr 1fr}.meta-box{padding:9px}
  .product-layout{padding-top:8px;gap:19px}
  .product-media{min-height:340px;border-radius:19px}
  .game-embed{border-radius:18px}.game-embed-head{flex-direction:column;align-items:flex-start}
  .game-frame{height:690px}
  .info-column h1{font-size:45px}.lead{font-size:15px}
  .score-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-buy{display:block;position:fixed;z-index:40;left:10px;right:10px;bottom:10px;background:var(--yellow);color:#111;text-align:center;padding:14px;border-radius:13px;font-weight:950;box-shadow:0 10px 34px #0009}
  .detail-page .footer{padding-bottom:90px}
}
