:root { color-scheme: dark; --purple:#d873ff; --gold:#ffd060; --panel:#17171b; --line:#37333e; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 18% 0%,#27172d 0,transparent 34rem),#09090b; color:#f5f1f7; font-family:Arial,sans-serif; }
button,input,select { font:inherit; }
.leaderboard-shell { width:min(1440px,100%); margin:auto; padding:clamp(1rem,3vw,2.5rem); }
.hero { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:1.25rem; margin-bottom:1.5rem; }
.hero h1 { margin:0; color:var(--purple); font-family:righteousfont,Arial,sans-serif; font-size:clamp(2rem,5vw,3.5rem); font-weight:400; }
.hero p { margin:.45rem 0 0; color:#cfc7d4; line-height:1.5; }
.trophy { display:grid; place-items:center; width:72px; height:72px; border:1px solid #806429; border-radius:18px; background:#211b0f; color:var(--gold); box-shadow:0 0 24px #ffd0602b; }
.reset-card { min-width:150px; padding:.8rem 1rem; border:1px solid var(--line); border-radius:12px; background:#121215; text-align:center; }
.reset-card span,.reset-card small { display:block; color:#aaa2ae; font-size:.75rem; text-transform:uppercase; letter-spacing:.08em; }
.reset-card strong { display:block; margin:.25rem 0; color:var(--gold); font-size:1.4rem; font-variant-numeric:tabular-nums; }
.game-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr); gap:1.25rem; align-items:start; }
.game-panel,.standings-panel,.openings-section { border:1px solid var(--line); border-radius:16px; background:linear-gradient(145deg,#1b1a1f,#111114); box-shadow:0 14px 40px #0007; overflow:hidden; }
.game-panel,.standings-panel { padding:1.25rem; }
.openings-section { margin-top:1.25rem; padding:1.25rem; }
.panel-heading { display:flex; justify-content:space-between; gap:1rem; align-items:start; }
.panel-heading h2 { margin:.15rem 0 1rem; font-size:1.35rem; }
.eyebrow { color:#a885ad; text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; font-weight:700; }
.date-chip { padding:.4rem .65rem; border-radius:999px; background:#2a2430; color:#d9bedf; font-size:.85rem; }
.score-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; margin-bottom:1.1rem; }
.score-strip div { padding:.9rem; border:1px solid #302d35; border-radius:12px; background:#0e0e10; }
.score-strip span,.selected-cost span { display:block; color:#aaa2ae; font-size:.78rem; }
.score-strip strong { display:block; margin-top:.25rem; color:var(--gold); font-size:clamp(1.05rem,3vw,1.5rem); }
.notice { margin:0 0 1rem; padding:.85rem 1rem; border:1px solid #765d23; border-radius:10px; background:#241d0f; color:#eadfbf; }
.notice a { display:inline; margin-left:.35rem; color:var(--gold); }
.product-picker label { display:block; margin-bottom:.45rem; font-weight:700; }
.product-picker input,.product-picker select { width:100%; border:1px solid #403a46; background:#0b0b0d; color:#fff; }
.product-picker input { padding:.75rem; border-radius:9px 9px 0 0; }
.product-picker select { min-height:13.5rem; padding:.25rem; border-top:0; border-radius:0 0 9px 9px; }
.product-picker option { padding:.55rem; border-radius:6px; }
.purchase-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; }
.selected-cost strong { display:block; margin-top:.2rem; }
#ranked-open { border:1px solid #a975b9; border-radius:9px; padding:.8rem 1rem; background:#6d3180; color:#fff; cursor:pointer; font-weight:700; }
#ranked-open:hover:not(:disabled) { background:#87409c; box-shadow:0 0 18px #d873ff55; }
#ranked-open:disabled { opacity:.45; cursor:not-allowed; }
.declaration { margin:.75rem 0 0; color:#aaa2ae; font-size:.82rem; line-height:1.45; }
.status { min-height:1.2rem; margin:.7rem 0 0; color:#d8cddd; }
.status.success { color:#8bdf96; }.status.error { color:#ff8383; }
.standing-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:.35rem; }
.standing-tabs button,.date-navigation button { border:1px solid #3b3740; border-radius:8px; padding:.55rem; background:#111114; color:#cbc4cf; cursor:pointer; }
.standing-tabs button.active { border-color:#a885ad; background:#302535; color:#fff; }
.date-navigation { display:grid; grid-template-columns:auto 1fr auto; gap:.4rem; margin:.75rem 0; }
.date-navigation input { min-width:0; border:1px solid #3b3740; border-radius:8px; padding:.5rem; background:#111114; color:#fff; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; }
th,td { padding:.7rem .45rem; border-bottom:1px solid #302d35; text-align:left; white-space:nowrap; }
th { color:#aaa2ae; font-size:.75rem; text-transform:uppercase; }
td:nth-child(1),th:nth-child(1),td:nth-child(4),th:nth-child(4) { text-align:center; }
td:nth-child(3),th:nth-child(3) { text-align:right; }
.empty-state { padding:2rem; border:1px dashed #45404b; border-radius:12px; color:#918995; text-align:center; }
.opening-card { margin-top:1rem; padding-top:1rem; border-top:1px solid #343039; }
.opening-card:first-child { margin-top:0; }
.opening-card h3,.opening-card p { margin:.15rem 0; }.opening-card p { color:#bbb3bf; }
.pull-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:.75rem; margin-top:1rem; }
.pull { min-width:0; overflow:hidden; border:1px solid #3b3740; border-radius:10px; background:#0d0d0f; }
.pull img { display:block; width:100%; aspect-ratio:488/680; object-fit:cover; background:#19191c; }
.pull-label { padding:.55rem; }.pull-label strong,.pull-label span { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pull-label strong { font-size:.85rem; }.pull-label span { margin-top:.25rem; color:#b7aebb; font-size:.75rem; text-transform:capitalize; }
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:980px){.game-grid{grid-template-columns:1fr}.standings-panel{order:2}}
@media(max-width:719px){.leaderboard-shell{padding:.85rem}.hero{grid-template-columns:auto 1fr}.trophy{width:52px;height:52px;font-size:1.65rem}.reset-card{grid-column:1/-1;width:100%}.score-strip{grid-template-columns:1fr 1fr}.score-strip div:first-child{grid-column:1/-1}.purchase-row{align-items:stretch;flex-direction:column}#ranked-open{width:100%}.pull-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-panel,.standings-panel,.openings-section{padding:.9rem}}
@media(max-width:350px){.pull-grid{grid-template-columns:1fr}.score-strip{grid-template-columns:1fr}.score-strip div:first-child{grid-column:auto}}
