/* Copyright (C) 2026 FubukiHanasaki. AGPL-3.0-or-later. */
.sms-rating-title{font-size:11px!important;line-height:1.5;white-space:normal;vertical-align:middle;border:1px solid currentColor;border-radius:3px;padding:0 4px!important;margin-left:4px}
.sms-rating-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.sms-rating-toolbar .textbox{flex:1 1 150px;min-width:120px;width:auto}.sms-rating-toolbar .select{flex:1 1 110px;min-width:100px;width:auto}.sms-rating-toolbar .button{margin:0;flex-shrink:0}
.sms-rating-table{min-width:650px}.sms-rating-table th,.sms-rating-table td{vertical-align:middle!important}.sms-rating-table td{padding-top:9px!important;padding-bottom:9px!important}.sms-rating-table td:first-child{width:60px;font-variant-numeric:tabular-nums}.sms-rating-number{display:block;font-size:19px;line-height:1.3;font-variant-numeric:tabular-nums}.sms-rating-tier{display:inline-block;max-width:100%;box-sizing:border-box;background:var(--sms-tier-color,#777777);color:#fff;font-size:12px;font-weight:700;line-height:1.5;padding:1px 7px;border-radius:3px;margin-top:4px;overflow-wrap:anywhere}.sms-rating-delta{display:block;font-size:18px;font-weight:700;line-height:1.4;font-variant-numeric:tabular-nums}.sms-rating-up{color:#278036}.sms-rating-down{color:#c62828}
.sms-rating-admin{display:flex;gap:8px}.sms-rating-admin[hidden]{display:none}.sms-rating-dialog{width:min(900px,calc(100vw - 24px));max-height:calc(100dvh - 32px);padding:0;border:0;box-shadow:0 12px 50px #0004;color:inherit;background:var(--sms-rating-bg,#fff)}.sms-rating-dialog::backdrop{background:#0007}.sms-rating-dialog[open]{display:flex;flex-direction:column}.sms-rating-dialog>.section__header,.sms-rating-dialog>.section__footer{flex:none}.sms-rating-dialog>.section__body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.sms-rating-dialog .section__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.sms-rating-dialog .section__title{overflow-wrap:anywhere}.sms-rating-dialog .section__footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid #8883;padding:12px 16px}.sms-rating-dialog .section__footer .button{margin:0}.sms-rating-dialog .section__footer>div{display:flex;gap:8px;align-items:center}.sms-rating-dialog .sms-rating-error:empty{display:none}.sms-rating-error{color:#b83838;white-space:pre-wrap;margin-bottom:12px}.sms-rating-metrics{display:flex;gap:18px 40px;flex-wrap:wrap;margin:0 0 18px}.sms-rating-metrics>div{display:flex;flex-direction:column;gap:7px}.sms-rating-metrics span{font-size:12px;opacity:.8}.sms-rating-metrics strong{font-size:26px;line-height:1.3;font-variant-numeric:tabular-nums}.sms-rating-metrics .sms-rating-tier-value{font-size:17px;max-width:220px}.sms-rating-chart{width:100%;margin:14px 0 20px}.sms-rating-chart svg{display:block;width:100%;height:auto;overflow:visible}.sms-rating-chart text{font-size:12px;fill:currentColor}.sms-rating-chart .sms-chart-grid{stroke:currentColor;opacity:.12;stroke-width:1}.sms-rating-chart .sms-chart-line{stroke:#5d9fd2;fill:none;stroke-width:2.5;stroke-linejoin:round}.sms-rating-chart circle{fill:#5d9fd2;stroke:var(--sms-rating-bg,#fff);stroke-width:2}.sms-rating-chart circle:focus,.sms-rating-chart circle:hover{r:6;outline:none;fill:#df5482}.sms-rating-chart-empty{padding:35px 0;text-align:center;opacity:.7}.sms-rating-history-table{min-width:620px}.sms-rating-range{display:flex;gap:8px;align-items:center;margin-bottom:10px}.sms-rating-range button[aria-pressed=true]{background:#5d9fd2;color:#fff}.sms-rating-import-label{display:block;margin:12px 0 6px}.sms-rating-import-text{width:100%;min-height:160px;resize:vertical;font-family:monospace}.sms-rating-import-preview{margin-top:15px}.sms-rating-config-table{min-width:620px}.sms-rating-config-table .select{min-width:110px}.sms-rating-config-table .button{margin:0}.sms-rating-config-state{display:block;font-size:12px;margin-top:5px}.sms-rating-preview-table{min-width:500px}.sms-rating-import-file{max-width:100%}
html[data-mantine-color-scheme=dark]{--sms-rating-bg:#25262b}html[data-mantine-color-scheme=dark] .sms-rating-title{filter:brightness(1.55)}html[data-mantine-color-scheme=dark] .sms-rating-up{color:#70c581}html[data-mantine-color-scheme=dark] .sms-rating-down,html[data-mantine-color-scheme=dark] .sms-rating-error{color:#ff9393}
@media(max-width:600px){.sms-rating-admin{position:static!important;flex-wrap:wrap;margin-top:12px}.sms-rating-dialog{max-height:calc(100dvh - 16px)}.sms-rating-dialog>.section__body{padding:14px}.sms-rating-metrics{gap:15px 24px}.sms-rating-metrics strong{font-size:23px}.sms-rating-metrics .sms-rating-tier-value{font-size:15px;max-width:180px}.sms-rating-dialog .section__footer{padding:10px}.sms-rating-toolbar .textbox{flex-basis:100%}.sms-rating-toolbar .select{min-width:calc(50% - 10px)}}
.sms-rating-toolbar .textbox,.sms-rating-toolbar .select,.sms-rating-toolbar .button{height:36px;box-sizing:border-box;margin:0}.sms-rating-toolbar .button{display:inline-flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0}.sms-rating-table th,.sms-rating-table td,.sms-rating-history-table th,.sms-rating-history-table td,.sms-rating-config-table th,.sms-rating-config-table td{text-align:left!important}.sms-rating-dialog .section__footer>div{min-width:0}.sms-rating-chart svg{min-height:120px}
.sms-rating-summary-row{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.sms-rating-summary-row p{margin:0}.sms-rating-distribution{min-width:280px}.sms-rating-distribution td,.sms-rating-distribution th{text-align:left!important}
/* Hydro's mobile .section has negative side margins; native dialogs must center independently. */
.sms-rating-dialog{margin:auto!important;inset:0;max-width:calc(100vw - 24px)!important;box-sizing:border-box}
@media(max-width:600px){.sms-rating-history-table{display:block;min-width:0}.sms-rating-history-table colgroup{display:none}.sms-rating-history-table thead,.sms-rating-history-table tbody{display:block}.sms-rating-history-table tr{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.6fr)}.sms-rating-history-table td,.sms-rating-history-table th{display:block;padding:10px 5px!important;overflow-wrap:anywhere}.sms-rating-history-table td:nth-child(2),.sms-rating-history-table th:nth-child(2),.sms-rating-history-table td:nth-child(5),.sms-rating-history-table th:nth-child(5){display:none}.sms-rating-history-table td[colspan]{grid-column:1/-1}}
@media(max-width:600px){.sms-rating-history-table tr{height:auto!important;align-items:center}.sms-rating-history-table td,.sms-rating-history-table th{height:auto!important;max-height:none!important;white-space:normal;line-height:1.5}.sms-rating-history-table .sms-secondary{margin-top:3px}}
html[data-mantine-color-scheme=dark] .sms-rating-dialog .button:not(.primary):not([aria-pressed=true]){background:#3a3b40;color:#e7e7e7;border-color:#52535a}html[data-mantine-color-scheme=dark] .sms-rating-dialog .button:disabled{opacity:.45}
/* Profile tabs switch instantly; Hydro's sliding Tab controller is not used here. */
.sms-profile-tabs .sms-profile-tab-content{position:relative;min-width:0;white-space:normal}
.sms-profile-tabs .sms-profile-tab-content>.section__tab-main{display:block;width:100%;transform:none;opacity:1}
.sms-profile-tabs .sms-profile-tab-content>[hidden]{display:none!important}
.sms-profile-tabs .section__tab-header-item{font-family:inherit;border:0;background:transparent;white-space:nowrap;vertical-align:bottom}
.sms-profile-tabs .section__tab-header-item:focus-visible{outline:2px solid #5d9fd2;outline-offset:-3px}
.sms-profile-rating-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.sms-profile-rating-header h2{font-size:20px;margin:0}.sms-profile-rating-header .button{margin:0}
.sms-profile-rating{min-width:0}.sms-profile-rating .sms-rating-metrics{margin-bottom:12px}
.sms-cf-chart{position:relative;--sms-cf-line:#333;--sms-cf-point:#fff;--sms-cf-gray:#ddd;--sms-cf-green:#b5edb5;--sms-cf-cyan:#b0e2de;--sms-cf-blue:#b9c6ef;--sms-cf-purple:#e3b8e8;--sms-cf-orange:#f6d6a4;--sms-cf-red:#f3b0b0}
.sms-cf-chart .sms-rating-band{fill:var(--sms-cf-gray)}.sms-cf-chart .sms-band-pupil{fill:var(--sms-cf-green)}.sms-cf-chart .sms-band-specialist{fill:var(--sms-cf-cyan)}.sms-cf-chart .sms-band-expert,.sms-cf-chart .sms-band-ace-expert{fill:var(--sms-cf-blue)}.sms-cf-chart .sms-band-candidate-master{fill:var(--sms-cf-purple)}.sms-cf-chart .sms-band-master,.sms-cf-chart .sms-band-legendary-master{fill:var(--sms-cf-orange)}.sms-cf-chart .sms-band-grandmaster,.sms-cf-chart .sms-band-legendary-grandmaster{fill:var(--sms-cf-red)}
.sms-cf-chart .sms-chart-line{stroke:var(--sms-cf-line);stroke-width:1.5}.sms-cf-chart .sms-chart-point{fill:var(--sms-cf-point);stroke:var(--sms-cf-line);stroke-width:1.3}.sms-cf-chart .sms-chart-selected{fill:var(--sms-cf-point);stroke:var(--sms-cf-line);stroke-width:2}.sms-cf-chart .sms-chart-axis{stroke:currentColor;stroke-width:1;opacity:.45}.sms-cf-chart .sms-chart-grid{opacity:.16}.sms-cf-chart text.sms-band-label{font-size:11px;opacity:.6}.sms-cf-chart circle:hover,.sms-cf-chart circle:focus{r:3.5px;fill:var(--sms-cf-point)}
.sms-rating-point-detail{position:absolute;z-index:2;display:flex;flex-direction:column;gap:5px;max-width:min(270px,calc(100% - 12px));padding:10px 12px;background:var(--sms-rating-bg,#fff);color:inherit;border:1px solid #8886;border-radius:3px;box-shadow:0 2px 8px #0002;pointer-events:none;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.sms-rating-point-detail[hidden]{display:none!important}
html[data-mantine-color-scheme=dark] .sms-cf-chart{--sms-cf-line:#eee;--sms-cf-point:#292a30;--sms-cf-gray:#41434a;--sms-cf-green:#315a3c;--sms-cf-cyan:#2c585b;--sms-cf-blue:#384768;--sms-cf-purple:#594062;--sms-cf-orange:#685437;--sms-cf-red:#673d43}
@media(max-width:600px){.sms-profile-rating .sms-rating-metrics{gap:16px 24px}.sms-profile-tabs .section__tab-header-item{padding-left:14px;padding-right:14px;margin-right:4px}}

.sms-cf-chart .sms-chart-selected{pointer-events:none}
html[data-mantine-color-scheme=dark] .sms-profile-rating .sms-rating-tier-value{filter:brightness(1.6)}
html[data-mantine-color-scheme=dark] .sms-profile-rating .sms-profile-history{background:#3a3b40;color:#e7e7e7;border-color:#52535a}

/* Keep ranking tables intact: Hydro's data-table enhancer moves the header
   after first paint, then measures it during the section entrance animation. */
.sms-ranking-table{width:100%;table-layout:fixed;white-space:nowrap;font-size:13px;font-weight:400;border-collapse:collapse}
.sms-ranking-table th{font-size:14px;font-weight:400}
.sms-ranking-table tr{border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.sms-ranking-table tbody tr:nth-child(even){background:#f4f4f4}
.sms-ranking-table thead tr{color:#888;border-top:0}
.sms-ranking-table td,.sms-ranking-table th{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px;padding:5px 15px}
.sms-ranking-table th{padding-top:13px;padding-bottom:13px}
.sms-ranking-table td:first-child,.sms-ranking-table th:first-child{padding-left:15px}
.sms-ranking-table td:last-child,.sms-ranking-table th:last-child{padding-right:15px}
/* Loaded by the shared navigation before its first paint. Keep the same
   viewport width across short and long pages, including the header. */
html{scrollbar-gutter:stable}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
.hasjs [data-sms-native-rating],.hasjs #sms-rating-section{transform:none!important;opacity:1!important;transition:none!important;animation:none!important}
html[data-mantine-color-scheme=dark] .sms-ranking-table tr{border-color:#444}
html[data-mantine-color-scheme=dark] .sms-ranking-table tbody tr:nth-child(even){background:#ffffff06}
