/* Public pages: all skins, one skin, leaderboard, What's new. Uses the tokens from site.css. */
.pg { padding-top: 34px; padding-bottom: 70px; }
.pg h1 { font-family: var(--display); font-size: clamp(2rem, 5vw, 3.2rem); letter-spacing: -.03em; margin: 6px 0 8px; }
.pg h2 { font-family: var(--display); font-size: 1.35rem; margin: 40px 0 14px; }
.pg h2 .muted { font-size: .9rem; font-weight: 500; }
.pg-lead { max-width: 640px; }
.pg-crumb { font-size: .9rem; color: var(--mist); } .pg-crumb a { color: var(--gold); }
.pg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 14px; }
.pg-tile { display: block; color: var(--bone); text-decoration: none; }
.pg-tile b { display: block; margin-top: 8px; font-weight: 600; }
.pg-pic { position: relative; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: #05070a; border: 1px solid var(--rule); transition: border-color .2s, transform .2s; }
.pg-pic canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.pg-tile:hover .pg-pic { border-color: var(--gold); transform: translateY(-2px); }
.pg-kind { position: absolute; top: 8px; left: 8px; z-index: 1; padding: 3px 8px; border-radius: 99px; font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--bone); background: rgba(9, 9, 13, .75); }
.pg-kind.pro { color: #1a1205; background: var(--gold); }
.pg-kind.big { position: static; display: inline-block; font-size: .75rem; }
.pg-hero { display: grid; grid-template-columns: 1.5fr 1fr; gap: 34px; align-items: start; margin-top: 16px; }
.pg-stage { position: relative; aspect-ratio: 16 / 9; border-radius: 14px; overflow: hidden; background: #05070a; border: 1px solid var(--rule); box-shadow: 0 30px 80px -40px rgba(0, 0, 0, .9); }
.pg-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.pg-candles { position: absolute; inset: 12% 2% 10%; pointer-events: none; }
.pg-candles svg { width: 100%; height: 100%; display: block; }
.pg-info p { margin: 10px 0; }
.pg-mood { margin: 14px 0 4px; }
.pg-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.pg-nav { display: flex; justify-content: space-between; gap: 10px; font-size: .9rem; } .pg-nav a { color: var(--mist); } .pg-nav a:hover { color: var(--gold); }
/* leaderboard */
.pg-lb { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 6px; max-width: 720px; }
.pg-lb li { display: grid; grid-template-columns: 40px 1fr auto auto; gap: 14px; align-items: center; padding: 11px 14px; border: 1px solid var(--rule); border-radius: 10px; background: var(--slate); }
.pg-lb .pl { font-family: var(--display); font-weight: 700; color: var(--mist); text-align: center; }
.pg-lb .who { display: flex; align-items: center; gap: 10px; min-width: 0; } .pg-lb .who b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pg-lb .who em { font-style: normal; font-size: .7rem; font-weight: 700; padding: 2px 7px; border-radius: 99px; color: #1a1205; background: var(--gold); }
.pg-lb .tm { font-family: var(--display); font-weight: 700; }
.pg-lb li.top1 { border-color: var(--gold); box-shadow: 0 0 30px -10px rgba(242, 182, 75, .6); } .pg-lb li.top1 .pl { color: var(--gold); }
.pg-lb li.top2 .pl { color: #d8dbe2; } .pg-lb li.top3 .pl { color: #d79a62; }
.pg-lb li.me { outline: 2px solid var(--gold); outline-offset: 1px; }
/* what's new */
.pg-log { max-width: 720px; display: grid; gap: 18px; margin-top: 20px; }
.pg-log article { border: 1px solid var(--rule); border-radius: 12px; padding: 18px 20px; background: var(--slate); }
.pg-log time { color: var(--gold); font-size: .85rem; font-weight: 600; }
.pg-log h2 { margin: 4px 0 10px; font-size: 1.2rem; }
.pg-log ul { margin: 0; padding-left: 18px; } .pg-log li { margin: 6px 0; }
@media (max-width: 860px) { .pg-hero { grid-template-columns: 1fr; } .pg-lb li { grid-template-columns: 30px 1fr auto; } .pg-lb .rk { display: none; } }
