/* games/plinko.css  -  Plinko: pyramid-peg hero with bucket-strip data + math sidebar. */
.plinko-pyramid {
  padding: var(--s-7) 0 var(--s-5);
  background: radial-gradient(ellipse 800px 500px at 50% 0%, rgba(124,58,237,0.10), transparent 60%);
  border-bottom: 1px solid var(--rule);
  position: relative;
}
.plinko-pegs {
  position: absolute; right: 5%; top: 30px; width: 240px; height: 200px;
  opacity: 0.4; z-index: 0;
}
.plinko-pyramid__body { position: relative; z-index: 1; }
.plinko-pyramid__id {
  font-family: var(--font-mono); font-size: 14px; letter-spacing: 0.25em;
  color: var(--brand); text-transform: uppercase; padding-bottom: var(--s-3);
  border-bottom: 1px solid var(--brand); display: inline-block; margin-bottom: var(--s-5);
}
.plinko-h1 {
  font-family: var(--font-serif); font-size: clamp(2rem, 4.5vw, 3.2rem);
  margin: 0 0 var(--s-3);  line-height: 1.05;
}
.plinko-lede { color: var(--ink-dim); font-size: 1.05rem;  }

.bucket-strip {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px;
  background: var(--rule); padding: 1px;
  margin-top: var(--s-5);
}
@media (min-width: 700px) { .bucket-strip { grid-template-columns: repeat(4, 1fr); } }
.bucket {
  background: var(--paper); padding: var(--s-4);
  display: flex; flex-direction: column; gap: 4px;
  text-align: center;
}
.bucket__num { font-family: var(--font-serif); font-size: 1.8rem; font-weight: 700; color: var(--brand); }
.bucket__label { font-family: var(--font-mono); font-size: 14px; letter-spacing: 0.22em; color: var(--ink-mute); text-transform: uppercase; }

.plinko-body { padding: var(--s-7) 0; }
.plinko-body__split { display: grid; grid-template-columns: 1fr; gap: var(--s-6); }
@media (min-width: 880px) { .plinko-body__split { grid-template-columns: 1fr 260px; } }
.plinko-math-card {
  position: sticky; top: calc(var(--header-h) + 16px); align-self: start;
  background: var(--surface); border: 1px solid var(--rule);
  padding: var(--s-5); font-family: var(--font-mono); font-size: 14px;
  display: flex; flex-direction: column; gap: var(--s-3);
}
.plinko-math-card__title {
  font-size: 14px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--brand); padding-bottom: var(--s-3); border-bottom: 1px solid var(--rule);
}
.plinko-math-card__formula {
  font-size: 16px; color: var(--ink); padding: var(--s-2) 0;
}
.plinko-math-card ol { list-style: none; padding: 0; margin: 0; counter-reset: pm; }
.plinko-math-card li { counter-increment: pm; padding: 6px 0; border-bottom: 1px dashed var(--rule); color: var(--ink-dim); }
.plinko-math-card li::before { content: "▸ "; color: var(--brand); }
.plinko-math-card a { color: var(--brand); }

.plinko-siblings {
  padding: var(--s-7) 0; border-top: 1px solid var(--rule);
  background: linear-gradient(180deg, rgba(124,58,237,0.04), transparent);
}
.plinko-siblings h2 { font-family: var(--font-serif); font-style: italic; font-weight: 600; margin: 0 0 var(--s-5); }
.plinko-siblings__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--s-4); }
.plinko-sibling {
  padding: var(--s-4); background: var(--paper); border: 1px solid var(--rule);
  border-top: 3px solid var(--brand);
  text-decoration: none; color: inherit;
  display: flex; flex-direction: column; gap: var(--s-2);
  transition: transform var(--dur-quick);
}
.plinko-sibling:hover { transform: translateY(-2px); }
.plinko-sibling__name { font-family: var(--font-serif); font-size: 1.15rem; font-weight: 700; color: var(--ink); }
.plinko-sibling__rtp { font-family: var(--font-mono); font-size: 14px; letter-spacing: 0.15em; color: var(--brand); }

.plinko-toc { padding: var(--s-5) 0; background: var(--surface-2); border-bottom: 1px solid var(--rule); }
.plinko-toc__title { font-family: var(--font-mono); font-size: 14px; letter-spacing: 0.22em; color: var(--brand); margin: 0 0 var(--s-3); text-transform: uppercase; }
.plinko-toc__buckets { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 4px; }
.plinko-toc__bucket { display: grid; grid-template-columns: 36px 1fr; align-items: center; padding: var(--s-2) var(--s-3); background: var(--surface); border-top: 3px solid var(--brand); color: var(--ink); font-family: var(--font-mono); font-size: 14px; gap: var(--s-2); }
.plinko-toc__bucket span { color: var(--brand); font-weight: 700; }
.plinko-toc__bucket:hover { background: var(--brand-soft); }

