/* Rankings: selected Home palette, existing scoring and table hierarchy retained. */
body.ci-visitor{--accent:#35cc68;--bg:#04060c;--ink:#fff;--subtle:#c3ccda;--ci-bg:#04060c;--ci-surface:#101622;--ci-line:#77869c;--border-color:#77869c;background:#04060c;color:#fff}
body.ci-visitor :is(header,.bottom-nav){background:#090d15;border-color:#303d50}
body.ci-visitor .bottom-nav a[aria-current=page]{color:#35cc68}
body.ci-visitor .bottom-nav .scan-nav{background:#35cc68;color:#04160d;border-color:#35cc68;box-shadow:none}
body.ci-visitor main :is(.card,.ranking-game-row,.museum-index-card,.champion-choices .champion-choice,.champion-empty){background:#101622;background-image:none;border:1px solid #77869c;border-radius:6px;box-shadow:none}
body.ci-visitor main :is(.ranking-section-intro,.ranking-game-result>span:first-child,.ranking-game-empty){color:#c3ccda}
body.ci-visitor main .ranking-directory>.function-title{color:#35cc68}
body.ci-visitor main :is(input,select){background:#090f19;color:#fff;border-color:#77869c;border-radius:4px}
body.ci-visitor main .ranking-search button{background:#35cc68;color:#04160d;border:1px solid #35cc68;border-radius:4px;box-shadow:none}
body.ci-visitor main :is(.ux-filters a,.ranking-sort summary,.ranking-compact,.ui-action){background:#101622;color:#e6edf5;border:1px solid #77869c;border-radius:4px;box-shadow:none}
body.ci-visitor main :is(.ux-filters a[aria-current],.ranking-compact[aria-current]){background:#12351f;color:#63e38d;border-color:#35cc68}
body.ci-visitor main .ranking-sort>div{background:#101622;border-color:#77869c;border-radius:6px}
body.ci-visitor main .ranking-sort a[aria-current]{color:#63e38d}
body.ci-visitor main :is(.ranking-game-row,.champion-choice):hover{background:#162237;border-color:#b8c2d1}
body.ci-visitor main :is(a,button,input,select,summary):focus-visible{outline:2px solid #35cc68;outline-offset:3px}
body.ci-visitor main .champion-choice .champion-choice-podium{background:#090f19;color:#e6edf5}
body.ci-visitor main .champion-choice .champion-podium-place:nth-child(even){background:#141f30}
body.ci-visitor main .score-ranking-table{background:#101622;border-color:#77869c;border-radius:6px}
body.ci-visitor main .score-ranking-table thead th{background:#263448;color:#e6edf5}
body.ci-visitor main .score-ranking-table tbody tr:nth-child(even){background:#162237}
body.ci-visitor main .score-ranking-table tr.is-self{background:#12351f;box-shadow:inset 3px 0 #35cc68}
body.ci-visitor main .ranking-section-heading{color:#fff}
body.ci-visitor main :is(a.button,button){background:#35cc68;color:#04160d;border:1px solid #35cc68;border-radius:4px;box-shadow:none}
body.ci-visitor main .rank-tabs a{background:#101622;color:#e6edf5;border:1px solid #77869c;border-radius:4px}
body.ci-visitor main .rank-tabs a[aria-current=true]{background:#12351f;color:#63e38d;border-color:#35cc68}
body.ci-visitor main .ranking-search input{background:#090f19}

/* Compact directory introduction; controls share a 44px touch target. */
body.ci-visitor main .ranking-directory>.function-title{margin:0 0 8px}
body.ci-visitor main .ranking-directory>h1{margin:0 0 12px}
body.ci-visitor main .ranking-directory>p:has(>a[href="#current-champions"]){margin:0 0 18px}
body.ci-visitor main .ranking-directory>p>a[href="#current-champions"]{min-height:36px;padding:7px 10px;font-size:13px;line-height:20px;box-sizing:border-box}
body.ci-visitor main .ranking-directory>.ranking-section-heading{margin:18px 0 6px}
body.ci-visitor main .ranking-directory>.ranking-section-intro{margin:0 0 12px}
body.ci-visitor main .ranking-directory>.ranking-search{margin:12px 0}
body.ci-visitor main .ranking-toolbar{align-items:center;gap:6px;margin:12px 0}
body.ci-visitor main .ranking-toolbar :is(.ux-filters,.ranking-display-controls){gap:6px;align-items:center}
body.ci-visitor main .ranking-toolbar :is(.ux-filters a,.ranking-sort summary,.ranking-compact){display:flex;align-items:center;justify-content:center;height:44px;min-height:44px;box-sizing:border-box;padding:8px 10px;font-size:13px;line-height:20px;white-space:nowrap}
/* Leaner ranking filters, with a shared compact height. */
body.ci-visitor main .ranking-toolbar{margin:8px 0}
body.ci-visitor main .ranking-toolbar :is(.ux-filters a,.ranking-sort summary,.ranking-compact){height:34px;min-height:34px;padding:5px 10px}
body.ci-visitor main .ranking-toolbar{margin-bottom:16px}
/* Search is a secondary utility, not the page's primary action. */
body.ci-visitor main .ranking-search button{background:#101622;color:#e6edf5;border:1px solid #77869c;box-shadow:none}
body.ci-visitor main .ranking-search button:hover{background:#162237;border-color:#b8c2d1}
body.ci-visitor main .ranking-search :is(input[type=search],button){height:36px;min-height:36px;padding:6px 10px;font-size:14px;line-height:22px;box-sizing:border-box}
body.ci-visitor main .ranking-search input#game-search{height:36px;min-height:36px}

body.ci-visitor main .ranking-directory-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;margin:0 0 22px}
body.ci-visitor main .ranking-directory-heading h1{margin:0}
body.ci-visitor main .ranking-directory-heading>a.ui-action{min-height:34px;padding:5px 9px;font-size:13px;line-height:22px;box-sizing:border-box;white-space:nowrap}
body.ci-visitor main .ranking-toolbar :is(.ux-filters a[aria-current=page],.ranking-compact[aria-current=true]){font-weight:700}
/* Denser game list; quieter utility outlines, active states retained. */
body.ci-visitor main .ranking-game-list{gap:12px}
body.ci-visitor main :is(.ranking-search input#game-search,.ranking-search button,.ranking-toolbar .ux-filters a:not([aria-current=page]),.ranking-sort summary,.ranking-compact:not([aria-current=true]),.ranking-directory-heading>a.ui-action){border-color:#48566b}
body.ci-visitor main .ranking-directory-heading{margin-bottom:14px}
body.ci-visitor main .ranking-directory-heading+.ranking-section-heading{margin-top:0}
body.ci-visitor main .champion-choice .champion-podium-place:nth-child(even){background:#0e1622}
body.ci-visitor main .ranking-game-row .ranking-game-results{padding-bottom:8px}
/* Champion standings: quiet alternating rows and tighter supporting content. */
body.ci-visitor main .champion-ranking tbody tr:nth-child(even){background:#0e1622}
body.ci-visitor main .champion-personal{margin:18px 0 16px;padding:0}
body.ci-visitor main .champion-personal h2{margin:0 0 8px}
body.ci-visitor main .champion-personal p{margin:0 0 12px}
body.ci-visitor main .champion-personal .ui-action{min-height:36px;padding:7px 10px;font-size:13px;line-height:20px;box-sizing:border-box}
body.ci-visitor:has(.champion-heading) main .ui-disclosure{margin:12px 0}
body.ci-visitor main .champion-ranking tbody tr:nth-child(even){background:#192333}
body.ci-visitor:has(.champion-heading) main .filters button{background:#101622;color:#e6edf5;border:1px solid #48566b;border-radius:4px;box-shadow:none;min-height:34px;height:34px;padding:5px 10px;font-size:13px;line-height:22px;box-sizing:border-box}
body.ci-visitor:has(.champion-heading) main .filters select#champion-month{background:#101622;color:#e6edf5;border:1px solid #48566b;border-radius:4px;min-height:34px;height:34px;padding:5px 28px 5px 10px;font-size:13px;line-height:22px;box-sizing:border-box}
body.ci-visitor:has(.champion-heading) main .ui-disclosure[open]>summary{margin-bottom:10px}
body.ci-visitor:has(.champion-heading) main .ui-disclosure[open]>summary+p{margin-top:0}
body.ci-visitor main .champion-points-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px 12px;margin:12px 0 16px}
body.ci-visitor main .champion-points-guide>div{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:6px 0;border-bottom:1px solid #303d50;font-size:13px;line-height:1.5}
body.ci-visitor main .champion-points-guide dt{color:#c3ccda}
body.ci-visitor main .champion-points-guide dd{margin:0;font-weight:700;color:#e6edf5;font-variant-numeric:tabular-nums;white-space:nowrap}
body.ci-visitor main .champion-points-guide{grid-auto-flow:column;grid-template-rows:repeat(5,auto);column-gap:28px}
body.ci-visitor:has(.champion-heading) main .ui-disclosure[open]>p:last-child{margin-bottom:0}
body.ci-visitor:has(.champion-heading) main .ui-disclosure[open]{padding-bottom:12px}
body.ci-visitor main .champion-points-guide>div{font-size:14px}
/* Game standings: wider table, compact period controls and unified actions. */
body.ci-visitor:has(.ranking-game-heading) main a.button{background:#35cc68;color:#04160d;border:1px solid #35cc68;border-radius:4px;min-height:40px;padding:9px 12px;font-size:14px;line-height:20px;box-sizing:border-box;box-shadow:none}
body.ci-visitor:has(.ranking-game-heading) main #rankings{padding:14px 12px}
body.ci-visitor:has(.ranking-game-heading) main #rankings>h2{margin:0 0 12px;font-size:20px}
body.ci-visitor:has(.ranking-game-heading) main .rank-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 16px}
body.ci-visitor:has(.ranking-game-heading) main .rank-tabs>a{display:flex;align-items:center;justify-content:center;min-height:36px;padding:6px 5px;font-size:clamp(12px,3.3vw,14px);line-height:22px;white-space:nowrap;box-sizing:border-box;border-color:#48566b}
body.ci-visitor:has(.ranking-game-heading) main .rank-tabs>a[aria-current=true]{background:#12351f;border-color:#35cc68;color:#63e38d;font-weight:700}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure{margin:14px 0 0}
/* Standings stand on their own instead of nesting framed cards. */
body.ci-visitor:has(.ranking-game-heading) main section.card#rankings{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure{padding:0;margin:14px 0 0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure>summary{padding:10px 0;color:#c3ccda;font-size:14px}
/* Expanded archive controls: aligned fields rather than a wrapping inline form. */
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure[open]>summary{margin-bottom:0}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure>.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:8px 0 0;align-items:start}
body.ci-visitor main #rankings .filters label{font-size:13px;margin:0;color:#c3ccda}
body.ci-visitor main #rankings .filters label[for=period]{grid-column:1;grid-row:1}
body.ci-visitor main #rankings .filters label[for=configuration]{grid-column:2;grid-row:1}
body.ci-visitor main #rankings .filters select#period{grid-column:1;grid-row:2}
body.ci-visitor main #rankings .filters select#configuration{grid-column:2;grid-row:2}
body.ci-visitor main #rankings .filters select:is(#period,#configuration){width:100%;min-width:0;min-height:34px;height:34px;padding:5px 24px 5px 8px;background:#101622;border:1px solid #48566b;border-radius:4px;color:#e6edf5;font-size:13px;line-height:22px;box-sizing:border-box}
body.ci-visitor:has(.ranking-game-heading) main #rankings .filters>button{grid-column:1 / -1;justify-self:end;margin-top:4px;min-height:34px;height:34px;padding:5px 10px;background:#101622;color:#e6edf5;border:1px solid #48566b;border-radius:4px;font-size:13px;line-height:22px;box-sizing:border-box;box-shadow:none}
/* Compose the open archive as one quiet tool group. */
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure[open]{position:relative;padding:12px;background:#101622;border:0;border-radius:6px}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure[open]>summary{padding:5px 82px 5px 0;min-height:34px;box-sizing:border-box;display:block;line-height:20px;font-size:13px;color:#e6edf5}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure[open]>summary::before{content:'▾';margin-right:6px}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure[open]>summary::-webkit-details-marker{display:none}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure[open]>.filters{margin-top:12px}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure[open] .filters>button{position:absolute;right:12px;top:12px;margin:0}
body.ci-visitor:has(.ranking-game-heading) main #rankings+p:has(a.button){margin-top:26px}
body.ci-visitor:has(.ranking-game-heading) main #rankings~p:has(a.button){margin-top:26px}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure[open]>summary{padding-right:0}
body.ci-visitor:has(.ranking-game-heading) main #rankings .ui-disclosure[open] .filters>button{position:static;margin-top:4px;justify-self:end}
body.ci-visitor:has(.ranking-game-heading) main .rank-tabs{margin-bottom:8px}
body.ci-visitor:has(.ranking-game-heading) main .score-ranking-table caption{padding-top:4px}
body.ci-visitor:has(.ranking-game-heading) main #rankings~p>a.button{background:#101622;color:#e6edf5;border:1px solid #48566b;box-shadow:none;min-height:36px;padding:7px 10px;font-size:13px;line-height:20px}
body.ci-visitor main .ranking-game-heading .museum-index-card{overflow:hidden}
body.ci-visitor main .ranking-game-heading .ranking-submit-row{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;box-sizing:border-box;margin:4px 0 0;padding:11px 12px;border:0;border-top:1px solid #303d50;border-radius:0;background:#0b111b;color:#35cc68;font-size:14px;font-weight:700;line-height:22px;text-decoration:none}
body.ci-visitor main .ranking-submit-row svg{flex:0 0 20px}
body.ci-visitor main .ranking-submit-row .ranking-submit-arrow{margin-left:auto;font-size:24px;font-weight:400;line-height:20px}
body.ci-visitor main .ranking-game-heading .ranking-submit-row:hover{background:#12351f;color:#63e38d}
body.ci-visitor main .ranking-game-heading .ranking-submit-row:focus-visible{outline:2px solid #35cc68;outline-offset:-3px}

body.ci-visitor:has(.ranking-game-heading) main #rankings{margin-bottom:0}
body.ci-visitor:has(.ranking-game-heading) main .ranking-exhibit-action{margin-top:12px}

body.ci-visitor main .champion-defender-name a{color:#ffad5c;display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none}
body.ci-visitor main .champion-defender-name a:is(:hover,:focus,:active){color:#ffad5c;text-decoration:none}
