#rankingDialog{box-sizing:border-box;width:min(660px,calc(100vw - 24px));max-height:calc(100dvh - 28px);padding:24px;background:#172231;color:#fff7df;border:3px solid #0c1622;border-radius:22px;box-shadow:0 9px 0 #101922,0 20px 60px #0009;font:15px/1.45 var(--body);overflow:auto}
#rankingDialog::backdrop{background:#07111dc4;backdrop-filter:blur(4px)}
#rankingDialog [hidden]{display:none!important}
#rankingDialog #rankingTitle{margin:0 0 20px;padding:13px 10px;background:#ff5964;border:2px solid #101922;border-radius:12px;box-shadow:0 4px #a32f45;color:#fff7df;text-align:center;text-transform:uppercase;font:900 32px/1.15 var(--body);letter-spacing:1px}
#rankingDialog .row{gap:5px}
#rankingDialog #rankingMetrics,#rankingDialog #rankingScopes{display:flex;flex-wrap:nowrap;background:#0d1927;padding:4px;border-radius:11px;margin:8px 0}
#rankingDialog .row button{flex:1;min-width:0;padding:9px 6px;font-size:13px;font-weight:800;border:0;background:transparent;border-radius:8px;box-shadow:none}
#rankingDialog #rankingMetrics button[aria-pressed=true],#rankingDialog #rankingScopes button[aria-pressed=true]{background:#ffca45;color:#172231}
#rankingDialog button:focus-visible,#rankingDialog a:focus-visible,#rankingDialog summary:focus-visible{outline:3px solid #7ff4fa;outline-offset:3px}
#rankingDialog #rankingCategoryTitle{font-size:16px;margin:18px 0 3px}
#rankingDialog #rankingBoardStatus{font-size:13px;color:#c7d2db;margin:5px 0 12px}
#rankingDialog #rankingPersonal:empty{display:none}
#rankingDialog #rankingPersonal{position:sticky;top:-24px;z-index:1;background:#172231;border:2px solid #ffca45;border-radius:12px;padding:10px 12px;margin:12px 0;box-shadow:0 4px 12px #0004}
#rankingDialog #rankingPersonal>strong,#rankingDialog #rankingPersonal>span{display:block}
#rankingDialog #rankingPersonal>span{color:#c7d2db;font-size:13px}
#rankingDialog #rankingRows{display:grid;gap:7px}
#rankingDialog .ranking-result{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #43556c;border-radius:12px;background:#28394d;padding:12px;font-variant-numeric:tabular-nums}
#rankingDialog .ranking-result[data-place='1']{background:#594a25;border-color:#ffca45}
#rankingDialog .ranking-result[data-place='2']{border-color:#bdcbd7}
#rankingDialog .ranking-result[data-place='3']{border-color:#cd977e}
#rankingDialog .ranking-result.ranking-own{border-color:#ffca45}
#rankingDialog #rankingPersonal .ranking-result{border:0;background:transparent;padding:0}
#rankingDialog .ranking-place{font-size:20px;font-weight:900;color:#ffca45}
#rankingDialog .ranking-name{min-width:0}
#rankingDialog .ranking-name strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#rankingDialog .ranking-value{text-align:right}
#rankingDialog .ranking-value strong{display:block;font-size:18px}
#rankingDialog .ranking-result small{display:block;color:#c7d2db;font-size:13px}
#rankingDialog .ranking-race{grid-column:2/-1;font-size:13px;color:#a8edf0;justify-self:start}
#rankingDialog .ranking-footer{display:flex;justify-content:space-between;gap:10px;margin-top:12px}
#rankingDialog .ranking-footer button,#rankingDialog #rankingBack{border:0;background:transparent;text-decoration:underline;color:#c7d2db;font-size:13px;padding:10px 3px;box-shadow:none}
#rankingDialog #rankingClose{width:100%;min-height:48px;margin-top:15px;background:#ffca45;color:#172231;border:2px solid #0c1622;border-radius:11px;box-shadow:0 4px #0c1622;font-weight:900;font-size:16px}
#rankingDialog #rankingRunsView section{border-color:#43556c}
#rankingDialog #rankingRunsView button{padding:10px 12px}
#rankingDialog #rankingRunsView p{font-size:14px}
@media(max-width:480px){#rankingDialog{padding:16px 12px}#rankingDialog #rankingPersonal{top:-16px}#rankingDialog .ranking-result{grid-template-columns:34px minmax(0,1fr) auto;gap:7px;padding:10px 8px}#rankingDialog .ranking-value strong{font-size:16px}#rankingDialog .ranking-result small{font-size:12px}#rankingDialog #rankingTitle{font-size:28px}}
@media(prefers-reduced-motion:no-preference){#rankingDialog[open]{animation:ranking-enter .15s ease-out}@keyframes ranking-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}}
