.rally-playoff-ranking{margin:16px 0;padding:16px;border:1px solid #c9dad2;border-radius:14px;background:#fff;color:#17382b;font:1rem/1.5 system-ui,sans-serif;overflow-wrap:anywhere}
.rally-playoff-ranking>summary{font-weight:700;cursor:pointer}
.rally-ranking-body{padding-top:14px}
.rally-ranking-body label{display:flex;flex-direction:column;gap:8px;font-weight:600}
.rally-ranking-body select{box-sizing:border-box;width:100%;max-width:100%;min-height:46px;padding:8px;border:1px solid #aabcb3;border-radius:8px;background:#fff;color:#17382b;font:inherit}
.rally-ranking-body p{margin:10px 0;font-size:.9375rem;line-height:1.5}
.rally-playoff-ranking button{min-height:44px;max-width:100%;margin-top:10px;padding:10px 14px;border:1px solid #126746;border-radius:9px;background:#126746;color:#fff;font:600 1rem/1.3 system-ui,sans-serif;cursor:pointer;white-space:normal}
.rally-playoff-ranking button:disabled,.rally-playoff-ranking select:disabled{opacity:.55;cursor:default}
.rally-playoff-ranking button+button{margin-left:8px}
.rally-playoff-ranking[aria-busy=true] button{cursor:wait}
.rally-ranking-category{border-top:1px solid #d7e2dd;margin-top:18px;padding-top:16px}
.rally-ranking-category h3{margin:0;font-size:1rem;line-height:1.5}
.rally-ranking-category details{margin-top:12px}
.rally-ranking-category summary{cursor:pointer;font-weight:600}
.rally-ranking-record{padding:10px 0;border-bottom:1px solid #e6ede9}
.rally-ranking-record p{margin:4px 0}
.rally-ranking-status{margin:10px 0 0;font-size:.9375rem}
.rally-ranking-status:empty{display:none}
.rally-ranking-status button{display:block}
.rally-ranking-qualification{margin-top:14px;padding:12px;background:#eff7f2;border:1px solid #bcd8c8;border-radius:10px}
.rally-ranking-qualification h4{margin:8px 0;font-size:1rem}
.rally-ranking-confirmation{box-sizing:border-box;width:min(600px,calc(100vw - 28px));max-height:88vh;max-height:88dvh;margin:auto;padding:0;border:1px solid #c9dad2;border-radius:16px;background:#fff;color:#17382b;font:1rem/1.5 system-ui,sans-serif;box-shadow:0 24px 80px #0005}
.rally-ranking-confirmation[open]{display:flex;flex-direction:column}
.rally-ranking-confirmation::backdrop{background:#0b2119b8}
.rally-ranking-confirmation h2{margin:0;padding:18px 20px;border-bottom:1px solid #d7e2dd;font-size:1.25rem;flex-shrink:0}
.rally-ranking-confirmation>p{padding:18px 20px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;overflow-y:auto;min-height:0}
.rally-ranking-confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #d7e2dd;flex-shrink:0}
.rally-ranking-confirm-actions button{min-height:46px;padding:10px 14px;border:1px solid #126746;border-radius:9px;background:#126746;color:#fff;font:600 1rem/1.3 system-ui,sans-serif;cursor:pointer}
.rally-ranking-confirm-actions button:first-child{background:#fff;color:#17382b;border-color:#aabcb3}
.rally-ranking-confirm-actions button:disabled{opacity:.55;cursor:wait}
.rally-ranking-confirmation :focus-visible{outline:3px solid #248a60;outline-offset:3px}
.rally-playoff-ranking :focus-visible{outline:3px solid #248a60;outline-offset:3px}

/* Rally Up dark appearance — generated by scripts/generate-theme-styles.mjs */
@media screen {
html[data-rally-theme="dark"] .rally-playoff-ranking {border:1px solid #54886d;background:#152733;color:#a0edc0
}
html[data-rally-theme="dark"] .rally-ranking-body select {border:1px solid #54886d;background:#152733;color:#a0edc0
}
html[data-rally-theme="dark"] .rally-playoff-ranking button {border:1px solid #54886d
}
html[data-rally-theme="dark"] .rally-ranking-category {border-top:1px solid #536c7d
}
html[data-rally-theme="dark"] .rally-ranking-record {border-bottom:1px solid #536c7d
}
html[data-rally-theme="dark"] .rally-ranking-qualification {background:#152733;border:1px solid #54886d
}
html[data-rally-theme="dark"] .rally-ranking-confirmation {border:1px solid #54886d;background:#152733;color:#a0edc0
}
html[data-rally-theme="dark"] .rally-ranking-confirmation h2 {border-bottom:1px solid #536c7d
}
html[data-rally-theme="dark"] .rally-ranking-confirm-actions {border-top:1px solid #536c7d
}
html[data-rally-theme="dark"] .rally-ranking-confirm-actions button {border:1px solid #54886d
}
html[data-rally-theme="dark"] .rally-ranking-confirm-actions button:first-child {background:#152733;color:#a0edc0;border-color:#54886d
}
html[data-rally-theme="dark"] .rally-ranking-confirmation :focus-visible {outline:3px solid #54886d
}
html[data-rally-theme="dark"] .rally-playoff-ranking :focus-visible {outline:3px solid #54886d
}
}
