/* ==========================================================================
   単独診断ページ（/bottleneck-check/ /game-check/）
   post-form.css・builder.css のクラスをベースに、CPU/GPUの2択だけの
   軽量レイアウトに絞って拡張する。
   ========================================================================== */
.diagnose-page { padding: 150px 0 110px; }
.diagnose-container { max-width: 640px; }

.diagnose-picker .part-picker-list { gap: 14px; }
.diagnose-picker-fields { grid-template-columns: 1fr; }

.diagnose-result { margin-top: 24px; }
.diagnose-result[hidden] { display: none; }
#diagnoseResultGroup { display: contents; }

.diagnose-cta {
  margin-top: 28px;
  text-align: center;
  background: var(--grad-soft);
  border: 1px solid var(--border);
  border-radius: 6px 20px 6px 20px;
  padding: 22px;
}
.diagnose-cta[hidden] { display: none; }
.diagnose-cta p { font-size: 13px; color: var(--text-muted); margin-bottom: 14px; }

/* ==========================================================================
   投稿ギャラリー横断帯（「画像投稿」×「ゲーム快適度診断」の2軸をつなぐ）
   ========================================================================== */
.diagnose-showcase { padding: 72px 0 56px; margin-top: 8px; border-top: 1px solid var(--border); }
.diagnose-showcase-head { text-align: center; max-width: 620px; margin: 0 auto 36px; }
.diagnose-showcase-head .eyebrow { justify-content: center; }
.diagnose-showcase-head .serif-title { font-size: clamp(22px, 3vw, 28px); }
.diagnose-showcase-desc { color: var(--text-muted); font-size: 14px; margin-top: 10px; }

.diagnose-marquee {
  overflow: hidden;
  padding: 6px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.diagnose-marquee-track {
  display: flex;
  gap: 20px;
  width: max-content;
  animation: gpc-diagnose-marquee 42s linear infinite;
}
.diagnose-marquee:hover .diagnose-marquee-track { animation-play-state: paused; }

@keyframes gpc-diagnose-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.diagnose-marquee-card {
  flex-shrink: 0;
  width: 200px;
  display: flex;
  flex-direction: column;
  border-radius: 6px 20px 6px 20px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--border);
  transition: transform .25s ease, box-shadow .25s ease;
}
.diagnose-marquee-card:hover { transform: translateY(-4px); box-shadow: 0 16px 30px -18px rgba(139, 92, 246, .35); }
.diagnose-marquee-media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--surface-alt); }
.diagnose-marquee-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.diagnose-marquee-placeholder {
  width: 100%; height: 100%;
  display: flex; align-items: center; justify-content: center;
  font-size: 30px;
  background: var(--grad-soft);
}
.diagnose-marquee-title {
  padding: 10px 12px 12px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.diagnose-showcase-cta { display: flex; justify-content: center; gap: 14px; margin-top: 36px; flex-wrap: wrap; }

@media (prefers-reduced-motion: reduce) {
  .diagnose-marquee-track { animation: none; }
}

@media (max-width: 620px) {
  .diagnose-marquee-card { width: 160px; }
}
