/* FAQ cards match the tracker. */
.faq .faq-list { display:grid; gap:10px; margin-top:26px; }
.faq .faq-list .faq-item { box-sizing:border-box; padding:0; border:1px solid #806b45; background:#14120f url('faq-surface-bronze.png') center / cover no-repeat; background-clip:padding-box; box-shadow:inset 0 0 0 2px rgba(201,174,119,.08); }
.faq .faq-item summary { display:block; position:relative; padding:20px 60px 20px 32px; color:#e8d6b5; font-size:20px; line-height:1.35; list-style:none; cursor:pointer; overflow-wrap:anywhere; }
.faq .faq-item summary::-webkit-details-marker { display:none; }
.faq .faq-item summary::after { content:''; position:absolute; right:14px; top:50%; width:32px; height:32px; transform:translateY(-50%); background:url('faq-toggle-bronze.png') center / 70px auto no-repeat; pointer-events:none; }
.faq .faq-item[open] summary::after { content:''; clip-path:inset(42% 0 42% 0); }
.faq .faq-item summary:hover { background:rgba(212,189,143,.06); }
.faq .faq-item[open] summary { border-bottom:1px solid rgba(212,189,143,.23); }
.faq .faq-item summary:focus-visible { outline:2px solid #e1c487; outline-offset:-3px; }
.faq .faq-item p { max-width:none; margin:0; padding:18px 32px 24px; color:#cfc1a9; font-size:18px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
/* Leaderboard surfaces, table and controls follow the tracker. */
.leaderboard .ranking-frame { border:0; padding:0; background:transparent; box-shadow:none; }
.leaderboard .mode-tabs { gap:10px; padding:0 0 18px; border-bottom:1px solid #544a35; }
.leaderboard .mode-tabs button, .leaderboard .pagination button { min-height:44px; margin:0; padding:10px 18px; color:#e8d5ad; background:#191711; border:1px solid #766542; font:18px Agmena,Georgia,serif; cursor:pointer; }
.leaderboard .mode-tabs button.active { color:#fff0d3; border-color:#d4bd8f; background:#282318; }
.leaderboard .mode-tabs button:hover, .leaderboard .pagination button:hover { color:#fff0d3; border-color:#d4bd8f; }
.leaderboard .pagination button:disabled { opacity:.55; cursor:default; }
.leaderboard .ranking-status { margin:20px 0 0; padding:14px 18px; border:1px solid rgba(205,171,111,.28); background:rgba(60,46,26,.35); color:#e8d6b5; font-size:18px; line-height:1.4; text-align:left; }
.leaderboard .ranking-status[hidden], .leaderboard table[hidden], .leaderboard .pagination[hidden] { display:none; }
.leaderboard .table-wrap { width:100%; height:auto; margin-top:24px; overflow-x:auto; }
.leaderboard #ranking-table { min-width:1000px; width:100%; height:auto; border-collapse:collapse; margin:8px 0 18px; }
.leaderboard #ranking-table thead th { padding:13px 26px 13px 10px; color:#d9c49d; background:#1d1a14; border-bottom:1px solid #665538; font-size:18px; white-space:nowrap; }
.leaderboard #ranking-table tbody td { padding:12px 10px; color:#eee1c9; background:#11100d; border-bottom:1px solid rgba(212,189,143,.12); font-size:18px; text-align:center; }
.leaderboard #ranking-table tbody tr:nth-child(even) td { background:#181610; }
.leaderboard #ranking-table tbody tr:hover td { background:#282318; }
.leaderboard #ranking-table tbody td:nth-child(3) { text-align:left; overflow-wrap:anywhere; }
.leaderboard #ranking-table tbody td:first-child { color:#e5c990; }
.leaderboard #ranking-table tbody td:nth-child(4) img, .leaderboard .ranking-avatar-placeholder { display:block; width:54px; max-width:54px; height:54px; margin:0 auto; object-fit:cover; border:1px solid #665538; }
.leaderboard .ranking-avatar-placeholder { background:#17140f url('default-profile-silhouette.png') center / cover no-repeat; }
.leaderboard .pagination { display:flex; align-items:center; justify-content:flex-end; gap:12px; color:#d8cdbb; font-size:18px; }
@media(max-width:600px) { .faq .faq-item summary { padding:18px 48px 18px 24px; } .faq .faq-item p { padding:16px 24px 22px; } }

.section-heading > div { min-width:0; }
.section-heading h1, .section-heading h2 { overflow-wrap:anywhere; }
