/* R22: quieter colour, compact subpages and one consistent League rhythm. */
#app .r21-home-destinations .r21-analytics-entry{background:#e0e8dc;border-color:#c4d0bd;color:#172236}
#app .r21-home-destinations .r21-analytics-entry small{color:#52634c}

/* Remove the generic profile-back margins inside the Information page. */
#app .rules-page{padding-top:12px}
#app .rules-page>.rules-back-button{display:flex;width:max-content;margin:0 0 8px!important}
#app .rules-page>.rules-hero{margin-top:0;padding-top:16px;padding-bottom:16px}

/* Equal 8px gaps from brand to viewer, viewer to controls and controls to table. */
#app>.r22-league-viewer{margin-top:8px;margin-bottom:0}
#app>.r22-league-header{margin:8px 0 0!important;padding-top:0!important;padding-bottom:0!important}
#app>.r22-league-header+.r13-league-list{margin-top:8px!important}

/* The hidden native select still owns selection and its existing handler. */
#app .r22-gameweek-picker select[hidden]{display:none!important}
#app .r22-gameweek-picker{position:relative;min-width:0;z-index:30}
#app .r22-gameweek-trigger{
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    width:100%;
    height:48px;
    min-height:48px;
    margin:0;
    padding:0 12px;
    border:1px solid #dce3eb;
    border-radius:11px;
    background:#fff;
    color:#172338;
    font-family:inherit;
    font-size:12px;
    font-weight:750;
    line-height:1.2;
    letter-spacing:0;
    text-transform:none;
    text-align:left;
    cursor:pointer;
}
#app .r22-gameweek-trigger>svg{flex:0 0 9px;width:9px;height:7px;margin-left:auto;fill:none;stroke:currentColor;stroke-width:1.7}
#app .r22-gameweek-trigger[aria-expanded=true]{border-color:#718197;background:#fafcfd}
#app .r22-gameweek-trigger:focus-visible{outline:3px solid #9bacc0;outline-offset:2px}
#app .r22-gameweek-picker .r22-gameweek-name{white-space:nowrap;font-size:12px;font-weight:750;line-height:1.2;letter-spacing:0;text-transform:none}
#app .r22-gameweek-picker .r22-gameweek-name>span{font:inherit;letter-spacing:inherit;text-transform:inherit}
.r22-gw-short{display:none}
.r22-league-status{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto;padding:4px 6px;border-radius:999px;background:#fff3d6;color:#855d00;font-size:8px;font-weight:900;letter-spacing:.03em;line-height:1;text-transform:uppercase;white-space:nowrap}
.r22-league-status i{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#d9a323}
.r22-league-status.final{background:#dff7ec;color:#08754c}
.r22-league-status.final i{background:#16a085}
#app .r22-gameweek-options{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:40;max-height:280px;overflow-y:auto;padding:4px;border:1px solid #dce3eb;border-radius:11px;background:#fff;box-shadow:0 10px 26px rgba(15,23,42,.16);overscroll-behavior:contain;scrollbar-width:thin}
#app .r22-gameweek-options[hidden]{display:none}
#app .r22-gameweek-option{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:7px;height:40px;min-height:40px;padding:7px 8px;border-radius:7px;color:#172338;font-size:12px;font-weight:750;line-height:1.2;letter-spacing:0;text-transform:none;cursor:pointer}
#app .r22-gameweek-option[aria-selected=true]{background:#edf2f5}
#app .r22-gameweek-option:hover,#app .r22-gameweek-option.is-active{background:#e2eaf1;box-shadow:inset 0 0 0 1px #bccbda}

/* Exactly eight intact League rows, measured after layout. The fallback is the
   existing 29px heading plus eight 51px rows and the 2px outer border. */
#app .r13-league-list{box-sizing:border-box;max-height:var(--r27-list-viewport,439px)}
#app .r13-scores-list-wrap.r13-scores-list-wrap{max-height:var(--r27-list-viewport,439px)}

@media(max-width:430px){
    #app .r22-gameweek-trigger{gap:5px;padding:0 9px;font-size:11px}
    #app .r22-gameweek-picker .r22-gameweek-name{font-size:11px}
    .r22-gw-wide{display:none}
    .r22-gw-short{display:inline}
    .r22-league-status{padding:4px;font-size:8px;letter-spacing:0}
    #app .r22-gameweek-option{padding-left:6px;padding-right:6px;font-size:11px}
}
