.kbr-dialog { width:min(960px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:0; margin:auto; overflow:hidden; color:var(--ink,#171717); background:#fff; border:3px solid var(--ink,#171717); border-radius:24px; box-shadow:0 8px 0 rgba(23,23,23,.8); }
.kbr-dialog::backdrop { background:rgba(5,28,48,.65); backdrop-filter:blur(5px); }
.kbr-shell { display:grid; grid-template-rows:auto auto minmax(80px,1fr) auto; height:min(760px,calc(100dvh - 38px)); }
.kbr-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px 28px 18px; }
.kbr-eyebrow { margin:0 0 8px; font:800 11px Epilogue,sans-serif; letter-spacing:.1em; }
.kbr-heading h2 { margin:0; font:36px/1.15 'Paytone One',sans-serif; }
.kbr-dialog button,.kbr-dialog input { font:inherit; }
.kbr-dialog button { cursor:pointer; }
.kbr-close { flex:none; width:44px; height:44px; border:0; border-radius:8px; color:var(--ink,#171717); background:transparent; font-size:26px!important; line-height:1; box-shadow:none; }
.kbr-close:hover { background:color-mix(in srgb,var(--blue,#00b6f3) 12%,white); }.kbr-close:active { background:color-mix(in srgb,var(--blue,#00b6f3) 24%,white); }
.kbr-dialog :focus-visible { outline:3px solid #008ec6; outline-offset:3px; }
.kbr-controls { display:flex; flex-wrap:wrap; align-items:center; gap:14px; padding:0 28px 14px; border-bottom:2px solid #171717; }
.kbr-period { display:flex; flex:none; overflow:hidden; border:2px solid #171717; border-radius:12px; }
.kbr-period button { min-height:44px; padding:8px 16px; border:0; background:white; color:#171717; font-weight:800; }
.kbr-period button[aria-pressed=true] { color:white; background:#171717; }
.kbr-search { display:block; flex:1; min-width:180px; }
.kbr-search input { width:100%; min-height:48px; padding:10px 14px; box-sizing:border-box; color:#171717; background:white; border:2px solid #171717; border-radius:12px; }
.kbr-leagues { display:flex; gap:8px; width:100%; overflow-x:auto; padding:4px 3px 7px; }
.kbr-league { display:flex; align-items:center; justify-content:center; gap:6px; flex:1 0 auto; min-height:48px; padding:6px 9px; background:white; border:2px solid #171717; border-radius:12px; color:#171717; font-size:12px!important; font-weight:800!important; }
.kbr-league[aria-pressed=true] { background:#ffef20; box-shadow:0 3px 0 #171717; }
.kbr-league .kbr-badge { width:30px; height:30px; }
.kbr-order { width:100%; margin:0; color:#535353; font-size:12px; line-height:1.5; }
.kbr-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 28px 20px; }
.kbr-status:empty { display:none; }
.kbr-status { color:#535353; font-size:12px; line-height:1.5; min-height:18px; margin:14px 0 8px; }
.kbr-list { list-style:none; padding:0; margin:0; }
.kbr-row { display:grid; grid-template-columns:46px 50px minmax(0,1fr) 112px; align-items:center; gap:12px; min-height:75px; padding:10px 8px; border-bottom:1px solid #d6d0c6; box-sizing:border-box; }
.kbr-row.is-you { background:#d9f5ff; border-radius:12px; }
.kbr-rank { font-size:14px; font-weight:800; color:#535353; }
.kbr-player { min-width:0; display:grid; gap:5px; }
.kbr-player strong { overflow-wrap:anywhere; font-size:15px; }
.kbr-player>span,.kbr-rating>span { font-size:11px; color:#535353; }
.kbr-rating { display:grid; gap:4px; text-align:right; white-space:nowrap; }
.kbr-rating>strong { font:24px/1.1 'Paytone One',sans-serif; }
.kbr-badge { position:relative; display:inline-grid; flex:none; place-items:center; width:48px; height:48px; }
.kbr-badge img { width:100%; height:100%; object-fit:contain; }
.kbr-badge-letter { display:none; }
.kbr-badge.without-art { border:2px solid #171717; box-sizing:border-box; border-radius:50%; background:#cf9670; color:#171717; font-weight:900; }
.kbr-badge.without-art .kbr-badge-letter { display:block; }
.kbr-silver.without-art { background:#d5e1ed; }.kbr-gold.without-art { background:#ffe544; }.kbr-platinum.without-art { background:#b9e7ee; }.kbr-diamond.without-art { background:#b4b7ff; }
.kbr-you { display:flex; align-items:center; gap:14px; padding:18px 28px; border-top:2px solid #171717; background:#fff; }
.kbr-you>p { margin:0; font-size:13px; }
.kbr-you-info { flex:1; min-width:0; }
.kbr-you-label { margin:0 0 5px; color:#535353; font-size:12px; }
.kbr-you-info strong { font:19px/1.25 'Paytone One',sans-serif; }
.kbr-progress { display:grid; gap:8px; width:240px; max-width:38%; font-size:12px; }
.kbr-progress-track { height:10px; overflow:hidden; background:white; border:2px solid #171717; border-radius:8px; }
.kbr-progress-track i { display:block; height:100%; background:#00b6f3; }
.kbr-more,.kbr-retry { display:block; margin:16px auto 0; min-height:44px; padding:10px 18px; border:2px solid #171717; border-radius:12px; background:white; font-weight:800!important; color:#171717; box-shadow:0 3px 0 #171717; }
.kbr-dialog [hidden] { display:none!important; }
.kbr-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:600px) {
 .kbr-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:18px; }
 .kbr-shell { height:calc(100dvh - 22px); }
 .kbr-heading { padding:20px 16px 16px; gap:10px; }.kbr-heading h2 { font-size:28px; }
 .kbr-controls { padding:0 16px 12px; gap:10px; }.kbr-period { flex:1; }.kbr-period button { flex:1; padding:8px 10px; }
 .kbr-search { flex-basis:100%; }.kbr-league { flex:none; }.kbr-order { font-size:11px; }
 .kbr-body { padding:0 10px 16px; }.kbr-row { grid-template-columns:34px 34px minmax(0,1fr) 78px; gap:7px; padding:10px 5px; }
 .kbr-row .kbr-badge { width:32px; height:32px; }.kbr-player strong { font-size:13px; }.kbr-rating>strong { font-size:21px; }.kbr-rating>span { font-size:10px; }
 .kbr-you { padding:14px 16px; gap:10px; flex-wrap:wrap; }.kbr-you-info strong { font-size:17px; }.kbr-progress { width:100%; max-width:none; margin-left:58px; }
}
@media(prefers-reduced-motion:reduce) { .kbr-dialog::backdrop { backdrop-filter:none; } }
.kbr-close { display:inline-grid; place-items:center; box-sizing:border-box; min-width:44px; min-height:44px; width:44px; height:44px; margin:0; padding:0; line-height:1; }
.kbr-close svg { display:block; width:20px; height:20px; aspect-ratio:1; flex-shrink:0; }
/* Constrain the modal grid; only the league tab strip scrolls horizontally. */
.kbr-shell { grid-template-columns:minmax(0,1fr); width:100%; min-width:0; }
.kbr-heading,.kbr-controls,.kbr-body,.kbr-you { box-sizing:border-box; min-width:0; max-width:100%; }
.kbr-period,.kbr-search { min-width:0; max-width:100%; }
.kbr-leagues { flex-basis:100%; min-width:0; max-width:100%; box-sizing:border-box; }
@media(max-width:600px) { .kbr-progress { width:calc(100% - 58px); max-width:calc(100% - 58px); min-width:0; } }
