/* CTLG Rangliste 4.0 – Premium Dashboard */

.ranking-podium{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:end;
    gap:18px;
    margin:26px 0;
}

.ranking-podium-card{
    position:relative;
    overflow:hidden;
    display:grid;
    justify-items:center;
    gap:13px;
    min-height:360px;
    padding:25px;
    border:1px solid #2a313a;
    border-radius:25px;
    background:
        radial-gradient(circle at 50% 0,rgba(231,177,51,.10),transparent 34%),
        linear-gradient(145deg,#151a20,#0a0d11);
    box-shadow:0 20px 60px rgba(0,0,0,.28);
    text-align:center;
}

.ranking-podium-card.is-first{
    min-height:410px;
    border-color:rgba(231,177,51,.48);
    transform:translateY(-12px);
}

.ranking-podium-card:before{
    content:"";
    position:absolute;
    inset:0 0 auto;
    height:4px;
    background:#8a929c;
}

.ranking-podium-card.is-first:before{background:linear-gradient(90deg,#b57814,#f2d16c,#b57814)}
.ranking-podium-card.is-second:before{background:linear-gradient(90deg,#6f7882,#d7dde3,#6f7882)}
.ranking-podium-card.is-third:before{background:linear-gradient(90deg,#81502b,#d29562,#81502b)}

.ranking-podium-rank{
    display:flex;
    align-items:center;
    gap:8px;
    color:#9aa4ae;
}

.ranking-podium-rank i{color:#e7b133}
.ranking-podium-rank span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}
.ranking-podium-rank strong{font-size:26px;color:#fff}

.ranking-podium-logo{
    width:104px;
    height:104px;
    display:grid;
    place-items:center;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:25px;
    background:#090c10;
    color:#66717c;
    font-size:34px;
}

.is-first .ranking-podium-logo{width:126px;height:126px}
.ranking-podium-logo img{width:100%;height:100%;object-fit:contain;padding:10px}

.ranking-podium-card h2{margin:0;font-size:21px}
.ranking-podium-card h2 a{color:#fff;text-decoration:none}
.ranking-podium-card h2 a:hover{color:#efc663}

.ranking-podium-stats{
    width:100%;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-top:auto;
}

.ranking-podium-stats>div{
    display:grid;
    gap:4px;
    padding:11px 7px;
    border:1px solid #28303a;
    border-radius:12px;
    background:#0a0e13;
}

.ranking-podium-stats strong{font-size:17px;color:#efc663}
.ranking-podium-stats span{font-size:9px;color:#7f8994}

.ranking-live-toolbar{
    position:sticky;
    top:92px;
    z-index:25;
    display:grid;
    grid-template-columns:minmax(260px,1fr) auto auto;
    align-items:center;
    gap:14px;
    margin:22px 0 16px;
    padding:13px;
    border:1px solid #2b333d;
    border-radius:18px;
    background:rgba(10,13,17,.92);
    box-shadow:0 16px 44px rgba(0,0,0,.35);
    backdrop-filter:blur(16px);
}

.ranking-search{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:44px;
    padding:0 14px;
    border:1px solid #313a45;
    border-radius:12px;
    background:#080b0f;
}

.ranking-search i{color:#8d98a3}
.ranking-search input{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:#fff;
    font:inherit;
}

.ranking-class-filters{display:flex;gap:7px}
.ranking-class-filters button{
    min-height:40px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 12px;
    border:1px solid #303944;
    border-radius:10px;
    background:#0c1015;
    color:#aab3bd;
    cursor:pointer;
    font-weight:800;
}

.ranking-class-filters button span{
    min-width:21px;
    padding:2px 6px;
    border-radius:999px;
    background:#202731;
    font-size:10px;
}

.ranking-class-filters button.is-active{
    border-color:rgba(231,177,51,.55);
    background:rgba(231,177,51,.11);
    color:#efc663;
}

.ranking-visible-count{
    display:flex;
    align-items:center;
    gap:8px;
    color:#87929d;
    white-space:nowrap;
    font-size:11px;
}

.ranking-visible-count i{color:#e7b133}
.ranking-visible-count strong{color:#fff;font-size:16px}

.ranking-filter-empty{
    display:grid;
    justify-items:center;
    gap:8px;
    margin:20px 0;
    padding:34px;
    border:1px dashed #38414c;
    border-radius:18px;
    color:#818c97;
    text-align:center;
}

.ranking-filter-empty i{font-size:24px;color:#e7b133}
.ranking-filter-empty strong{color:#fff}

[data-ranking-row][hidden],
[data-ranking-card][hidden]{display:none!important}

@media(max-width:1100px){
    .ranking-live-toolbar{grid-template-columns:1fr auto}
    .ranking-visible-count{grid-column:1/-1}
}

@media(max-width:820px){
    .ranking-podium{grid-template-columns:1fr}
    .ranking-podium-card,.ranking-podium-card.is-first{min-height:0;transform:none}
    .ranking-podium-card.is-first{order:-1}
    .ranking-live-toolbar{position:relative;top:auto;grid-template-columns:1fr}
    .ranking-class-filters{overflow-x:auto;padding-bottom:4px}
    .ranking-visible-count{grid-column:auto}
}

@media(max-width:520px){
    .ranking-podium-stats{grid-template-columns:1fr}
}


/* CTLG Rangliste 4.1 – Formbarometer & Teamvergleich */
.ranking-form-strip{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-top:13px;
    border-top:1px solid #28303a;
}

.ranking-form-strip>span{
    color:#7f8994;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.ranking-form-strip>div,
.ranking-table-form,
.ranking-mobile-form-stat strong{
    display:flex;
    gap:5px;
    align-items:center;
}

.ranking-form-strip i,
.ranking-table-form i,
.ranking-mobile-form-stat i{
    width:24px;
    height:24px;
    display:grid;
    place-items:center;
    border-radius:8px;
    font-style:normal;
    font-size:10px;
    font-weight:1000;
}

.ranking-form-strip i.is-win,
.ranking-table-form i.is-win,
.ranking-mobile-form-stat i.is-win{
    background:rgba(66,207,131,.13);
    color:#6fdfa0;
    border:1px solid rgba(66,207,131,.28);
}

.ranking-form-strip i.is-loss,
.ranking-table-form i.is-loss,
.ranking-mobile-form-stat i.is-loss{
    background:rgba(239,98,93,.12);
    color:#ff8178;
    border:1px solid rgba(239,98,93,.25);
}

.ranking-form-strip em{
    color:#69737e;
    font-size:10px;
}

.ranking-compare-panel{
    margin:18px 0 24px;
    padding:24px;
    border:1px solid #2b333d;
    border-radius:24px;
    background:
        radial-gradient(circle at 100% 0,rgba(231,177,51,.09),transparent 30%),
        linear-gradient(145deg,#151a20,#0a0d11);
    box-shadow:0 18px 54px rgba(0,0,0,.26);
}

.ranking-compare-head{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
}

.ranking-compare-head h2{margin:4px 0 7px}
.ranking-compare-head p:last-child{margin:0;color:#8e99a4}
.ranking-compare-head>i{font-size:26px;color:#e7b133}

.ranking-compare-controls{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:15px;
    align-items:end;
    margin-top:20px;
}

.ranking-compare-controls label{
    display:grid;
    gap:8px;
}

.ranking-compare-controls label>span{
    color:#8b96a1;
    font-size:11px;
    font-weight:800;
}

.ranking-compare-controls select{
    width:100%;
    min-height:48px;
    padding:0 14px;
    border:1px solid #303944;
    border-radius:12px;
    background:#080b0f;
    color:#fff;
    font:inherit;
}

.ranking-compare-vs{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    border:1px solid rgba(231,177,51,.35);
    border-radius:50%;
    color:#efc663;
    background:rgba(231,177,51,.08);
    font-weight:1000;
}

.ranking-compare-result{
    margin-top:18px;
}

.ranking-compare-placeholder{
    display:grid;
    justify-items:center;
    gap:8px;
    padding:28px;
    border:1px dashed #37414c;
    border-radius:16px;
    color:#7f8994;
    text-align:center;
}

.ranking-compare-placeholder i{font-size:24px;color:#e7b133}
.ranking-compare-placeholder strong{color:#fff}

.ranking-compare-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,.8fr) minmax(0,1fr);
    gap:16px;
    align-items:stretch;
}

.ranking-compare-team{
    display:grid;
    justify-items:center;
    gap:12px;
    padding:20px;
    border:1px solid #2a333d;
    border-radius:18px;
    background:#0a0e13;
    text-align:center;
}

.ranking-compare-team img,
.ranking-compare-team .ranking-compare-logo-placeholder{
    width:82px;
    height:82px;
    object-fit:contain;
    display:grid;
    place-items:center;
    border-radius:18px;
    background:#070a0e;
    padding:8px;
}

.ranking-compare-team h3{margin:0;font-size:18px}
.ranking-compare-team a{color:#fff;text-decoration:none}
.ranking-compare-team a:hover{color:#efc663}

.ranking-compare-rank{
    color:#efc663;
    font-weight:900;
}

.ranking-compare-metrics{
    display:grid;
    gap:8px;
    align-content:center;
}

.ranking-compare-metric{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
    min-height:48px;
    padding:8px 12px;
    border:1px solid #28303a;
    border-radius:12px;
    background:#0b0f14;
}

.ranking-compare-metric span{
    color:#8f9aa5;
    font-size:10px;
    text-align:center;
    text-transform:uppercase;
    letter-spacing:.07em;
}

.ranking-compare-metric strong{
    font-size:16px;
}

.ranking-compare-metric strong:first-child{text-align:right}
.ranking-compare-metric strong:last-child{text-align:left}
.ranking-compare-metric .is-better{color:#6fdfa0}
.ranking-compare-metric .is-worse{color:#ff8178}

@media(max-width:900px){
    .ranking-compare-grid{grid-template-columns:1fr}
    .ranking-compare-metrics{order:3}
}

@media(max-width:650px){
    .ranking-compare-controls{grid-template-columns:1fr}
    .ranking-compare-vs{justify-self:center}
}


/* CTLG Rangliste 4.2 – Liga Insights & Export */
.ranking-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}
.ranking-toolbar-actions button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;border:1px solid #303944;border-radius:10px;background:#0b1015;color:#d9dee4;cursor:pointer;font:800 11px/1 inherit}
.ranking-toolbar-actions button:hover{border-color:rgba(231,177,51,.55);color:#efc663}
.ranking-insights{margin:22px 0;padding:24px;border:1px solid #2b333d;border-radius:24px;background:radial-gradient(circle at 100% 0,rgba(231,177,51,.09),transparent 30%),linear-gradient(145deg,#151a20,#0a0d11);box-shadow:0 18px 54px rgba(0,0,0,.24)}
.ranking-insights-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.ranking-insights-head h2{margin:4px 0 7px}
.ranking-insights-head p:last-child{margin:0;color:#8e99a4}
.ranking-insights-head>i{color:#e7b133;font-size:26px}
.ranking-insights-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ranking-insights-grid article{display:grid;align-content:start;gap:8px;min-height:160px;padding:17px;border:1px solid #29313a;border-radius:16px;background:#0a0e13}
.ranking-insights-grid article>i{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(231,177,51,.10);color:#e7b133;font-size:18px}
.ranking-insights-grid span{color:#7f8994;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.ranking-insights-grid strong{font-size:17px;line-height:1.25}
.ranking-insights-grid em{color:#9ca6b0;font-size:11px;font-style:normal}
.ranking-export-toast{position:fixed;right:22px;bottom:22px;z-index:100;max-width:min(420px,calc(100vw - 44px));padding:13px 16px;border:1px solid #333c47;border-radius:12px;background:#11161d;color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.45);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s ease}
.ranking-export-toast.show{opacity:1;transform:none}
@media(max-width:1250px){.ranking-insights-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.ranking-insights-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ranking-insights-grid{grid-template-columns:1fr}.ranking-toolbar-actions{width:100%}.ranking-toolbar-actions button{flex:1}}


/* CTLG Rangliste 4.3 – Match Explorer */
.ranking-match-explorer{
    margin:22px 0 26px;
    padding:24px;
    border:1px solid #2b333d;
    border-radius:24px;
    background:
        radial-gradient(circle at 100% 0,rgba(231,177,51,.09),transparent 30%),
        linear-gradient(145deg,#151a20,#0a0d11);
    box-shadow:0 18px 54px rgba(0,0,0,.24);
}

.ranking-match-explorer-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:18px;
}

.ranking-match-explorer-head h2{margin:4px 0 7px}
.ranking-match-explorer-head p:last-child{margin:0;color:#8e99a4}
.ranking-match-explorer-head>i{color:#e7b133;font-size:26px}

.ranking-match-highlights{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
}

.ranking-match-highlights article{
    display:grid;
    gap:8px;
    min-height:150px;
    padding:17px;
    border:1px solid #29313a;
    border-radius:16px;
    background:#0a0e13;
}

.ranking-match-highlights article>i{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:rgba(231,177,51,.10);
    color:#e7b133;
    font-size:18px;
}

.ranking-match-highlights span{
    color:#7f8994;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.ranking-match-highlights strong{
    font-size:15px;
    line-height:1.35;
}

.ranking-match-highlights a{
    align-self:end;
    color:#efc663;
    text-decoration:none;
    font-size:11px;
    font-weight:800;
}

.ranking-match-highlights em{
    color:#8d98a3;
    font-size:11px;
    font-style:normal;
}

.ranking-match-list-panel{
    margin-top:16px;
    border:1px solid #29313a;
    border-radius:18px;
    overflow:hidden;
    background:#090d12;
}

.ranking-match-list-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:15px 17px;
    border-bottom:1px solid #29313a;
    background:#0d1218;
}

.ranking-match-list-head>div{
    display:grid;
    gap:2px;
}

.ranking-match-list-head span{
    color:#7f8994;
    font-size:10px;
}

.ranking-match-list-head label{
    display:flex;
    align-items:center;
    gap:8px;
}

.ranking-match-list-head label i{color:#e7b133}
.ranking-match-list-head select{
    min-height:38px;
    padding:0 12px;
    border:1px solid #303944;
    border-radius:10px;
    background:#080b0f;
    color:#fff;
}

.ranking-match-list{
    display:grid;
}

.ranking-match-list article{
    display:grid;
    grid-template-columns:120px minmax(0,1fr) 120px minmax(0,1fr) 42px;
    align-items:center;
    gap:12px;
    min-height:72px;
    padding:12px 16px;
    border-bottom:1px solid #202730;
}

.ranking-match-list article:last-child{border-bottom:0}
.ranking-match-list article[hidden]{display:none!important}

.ranking-match-date{
    display:flex;
    align-items:center;
    gap:8px;
    color:#7f8994;
    font-size:11px;
}

.ranking-match-date i{color:#e7b133}

.ranking-match-team a{
    color:#fff;
    text-decoration:none;
    font-weight:800;
}

.ranking-match-team.is-right{text-align:right}

.ranking-match-score{
    display:grid;
    justify-items:center;
    gap:2px;
}

.ranking-match-score strong{
    color:#efc663;
    font-size:18px;
}

.ranking-match-score span{
    color:#707b86;
    font-size:9px;
    text-transform:uppercase;
}

.ranking-match-open{
    width:38px;
    height:38px;
    display:grid;
    place-items:center;
    border:1px solid #303944;
    border-radius:10px;
    color:#dce1e6;
}

.ranking-match-open:hover{
    border-color:rgba(231,177,51,.55);
    color:#efc663;
}

.ranking-match-empty{
    display:grid;
    justify-items:center;
    gap:8px;
    padding:30px;
    color:#7f8994;
}

.ranking-match-empty i{color:#e7b133;font-size:22px}
.ranking-match-empty strong{color:#fff}

@media(max-width:900px){
    .ranking-match-highlights{grid-template-columns:1fr}
    .ranking-match-list article{
        grid-template-columns:100px 1fr 90px 1fr 38px;
    }
}

@media(max-width:650px){
    .ranking-match-list-head{
        align-items:stretch;
        flex-direction:column;
    }

    .ranking-match-list-head select{width:100%}

    .ranking-match-list article{
        grid-template-columns:1fr auto;
        gap:8px;
    }

    .ranking-match-date{grid-column:1/-1}
    .ranking-match-team.is-right{text-align:left}
    .ranking-match-score{
        grid-column:1/-1;
        grid-row:3;
        justify-items:start;
    }
    .ranking-match-open{
        grid-column:2;
        grid-row:2;
    }
}


/* CTLG Rangliste 4.4 – Saisonverlauf & Platzierungstrend */
.ranking-trend-badge,
.ranking-trend-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    border:1px solid #303944;
    border-radius:999px;
    background:#0a0e13;
    font-size:10px;
    font-weight:900;
}

.ranking-trend-badge{padding:7px 10px}
.ranking-trend-pill{min-width:46px;padding:6px 9px}

.ranking-trend-badge.is-up,
.ranking-trend-pill.is-up,
.ranking-mobile-trend.is-up{color:#6fdfa0}

.ranking-trend-badge.is-down,
.ranking-trend-pill.is-down,
.ranking-mobile-trend.is-down{color:#ff8178}

.ranking-trend-badge.is-same,
.ranking-trend-pill.is-same,
.ranking-mobile-trend.is-same{color:#89949f}

.ranking-history-panel{
    margin:22px 0 26px;
    padding:24px;
    border:1px solid #2b333d;
    border-radius:24px;
    background:
        radial-gradient(circle at 100% 0,rgba(231,177,51,.10),transparent 32%),
        linear-gradient(145deg,#151a20,#0a0d11);
    box-shadow:0 18px 54px rgba(0,0,0,.26);
}

.ranking-history-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.ranking-history-head h2{margin:4px 0 7px}
.ranking-history-head p:last-child{margin:0;color:#8e99a4}

.ranking-history-head label{
    display:grid;
    gap:7px;
    min-width:260px;
}

.ranking-history-head label span{
    color:#8c97a2;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.ranking-history-head select{
    min-height:44px;
    padding:0 13px;
    border:1px solid #303944;
    border-radius:11px;
    background:#080b0f;
    color:#fff;
    font:inherit;
}

.ranking-history-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin:18px 0;
}

.ranking-history-summary article{
    display:grid;
    gap:5px;
    padding:13px;
    border:1px solid #29313a;
    border-radius:13px;
    background:#0a0e13;
}

.ranking-history-summary span{
    color:#7d8893;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.ranking-history-summary strong{
    color:#efc663;
    font-size:19px;
}

.ranking-history-chart{
    position:relative;
    min-height:340px;
    overflow:hidden;
    border:1px solid #28303a;
    border-radius:18px;
    background:
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
        #090d12;
    background-size:50px 50px;
}

.ranking-history-chart svg{
    display:block;
    width:100%;
    min-height:340px;
}

.ranking-history-grid line{
    stroke:#28303a;
    stroke-width:1;
}

.ranking-history-grid text{
    fill:#707b86;
    font-size:11px;
    font-family:inherit;
}

.ranking-history-line{
    fill:none;
    stroke:#e7b133;
    stroke-width:5;
    stroke-linecap:round;
    stroke-linejoin:round;
    filter:drop-shadow(0 0 8px rgba(231,177,51,.18));
}

.ranking-history-points circle{
    fill:#ef4a45;
    stroke:#090d12;
    stroke-width:3;
}

.ranking-history-empty{
    position:absolute;
    inset:0;
    display:grid;
    place-content:center;
    justify-items:center;
    gap:8px;
    color:#7f8994;
}

.ranking-history-empty i{color:#e7b133;font-size:24px}
.ranking-history-empty strong{color:#fff}
.ranking-history-empty[hidden]{display:none}

.ranking-mobile-trend{
    display:inline-flex;
    align-items:center;
    gap:6px;
}

@media(max-width:850px){
    .ranking-history-head{flex-direction:column}
    .ranking-history-head label{width:100%;min-width:0}
    .ranking-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:520px){
    .ranking-history-summary{grid-template-columns:1fr}
    .ranking-history-chart{min-height:280px}
    .ranking-history-chart svg{min-height:280px}
}


/* CTLG Rangliste 4.5 – Transparenz & Punkteherkunft */
.ranking-transparency summary{display:flex;align-items:center;justify-content:space-between;gap:14px}
.ranking-transparency summary>span{display:flex;align-items:center;gap:8px}
.ranking-transparency summary i{color:#e7b133}
.ranking-transparency summary small{color:#7f8994;font-size:10px}
.ranking-transparency-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.ranking-transparency-summary article{display:grid;gap:4px;padding:11px;border:1px solid #29313a;border-radius:11px;background:#090d12}
.ranking-transparency-summary span{color:#7f8994;font-size:9px;text-transform:uppercase}
.ranking-transparency-summary strong{color:#efc663;font-size:16px}
.ranking-transparency-group{margin-top:13px;border:1px solid #29313a;border-radius:13px;overflow:hidden;background:#090d12}
.ranking-transparency-group header{display:flex;align-items:center;gap:8px;padding:11px 13px;border-bottom:1px solid #29313a;background:#0d1218}
.ranking-transparency-group header i{color:#6fdfa0}
.ranking-transparency-group.is-dropped header i{color:#ff8178}
.ranking-transparency .ranking-match-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px}
.ranking-transparency .ranking-match-row>div{display:grid;gap:3px}
.ranking-transparency .ranking-match-row small{color:#7f8994;font-size:9px}
.ranking-transparency .ranking-match-row.is-dropped{opacity:.65}
@media(max-width:700px){.ranking-transparency summary{align-items:flex-start;flex-direction:column}.ranking-transparency-summary{grid-template-columns:1fr}.ranking-transparency .ranking-match-row{grid-template-columns:1fr auto}}


/* CTLG Rangliste 4.6 – Ranglisten-Archiv & Saisonvergleich */
.ranking-season-compare{
    margin:22px 0;
    padding:24px;
    border:1px solid #2b333d;
    border-radius:24px;
    background:
        radial-gradient(circle at 100% 0,rgba(231,177,51,.10),transparent 30%),
        linear-gradient(145deg,#151a20,#0a0d11);
    box-shadow:0 18px 54px rgba(0,0,0,.24);
}

.ranking-season-compare-head{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
}

.ranking-season-compare-head h2{margin:4px 0 7px}
.ranking-season-compare-head p:last-child{margin:0;color:#8e99a4}

.ranking-season-compare-form label{
    display:grid;
    gap:7px;
    min-width:260px;
}

.ranking-season-compare-form span{
    color:#8b96a1;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.ranking-season-compare-form select{
    min-height:44px;
    padding:0 13px;
    border:1px solid #303944;
    border-radius:11px;
    background:#080b0f;
    color:#fff;
    font:inherit;
}

.ranking-season-compare-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:18px 0;
}

.ranking-season-compare-summary article{
    display:grid;
    gap:4px;
    padding:13px;
    border:1px solid #29313a;
    border-radius:13px;
    background:#0a0e13;
}

.ranking-season-compare-summary span{
    color:#7f8994;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.ranking-season-compare-summary strong{
    color:#efc663;
    font-size:18px;
}

.ranking-season-compare-summary em{
    color:#9aa4ae;
    font-size:10px;
    font-style:normal;
}

.ranking-season-compare-list{
    display:grid;
    gap:9px;
}

.ranking-season-compare-list article{
    display:grid;
    grid-template-columns:minmax(240px,1.2fr) minmax(260px,.9fr) minmax(140px,.45fr);
    align-items:center;
    gap:16px;
    padding:13px;
    border:1px solid #29313a;
    border-radius:14px;
    background:#090d12;
}

.ranking-season-team{
    display:flex;
    align-items:center;
    gap:12px;
}

.ranking-season-team img,
.ranking-season-team>span{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    object-fit:contain;
    border-radius:12px;
    background:#070a0e;
    color:#6f7984;
    padding:5px;
}

.ranking-season-team>div{
    display:grid;
    gap:3px;
}

.ranking-season-team a{
    color:#fff;
    text-decoration:none;
}

.ranking-season-team a:hover{color:#efc663}
.ranking-season-team small{color:#7f8994}

.ranking-season-ranks{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:10px;
}

.ranking-season-ranks>div{
    display:grid;
    justify-items:center;
    gap:3px;
    padding:9px;
    border:1px solid #27303a;
    border-radius:10px;
    background:#0b1015;
}

.ranking-season-ranks span{
    color:#7f8994;
    font-size:9px;
}

.ranking-season-ranks strong{
    color:#efc663;
    font-size:17px;
}

.ranking-season-ranks>i{color:#65707b}

.ranking-season-change{
    display:grid;
    justify-items:end;
    gap:3px;
}

.ranking-season-change.is-up{color:#6fdfa0}
.ranking-season-change.is-down{color:#ff8178}
.ranking-season-change.is-same{color:#8c97a2}
.ranking-season-change small{color:#8c97a2}

.ranking-season-compare-empty{
    display:grid;
    justify-items:center;
    gap:8px;
    margin-top:18px;
    padding:30px;
    border:1px dashed #37414c;
    border-radius:16px;
    color:#7f8994;
    text-align:center;
}

.ranking-season-compare-empty i{color:#e7b133;font-size:24px}
.ranking-season-compare-empty strong{color:#fff}

@media(max-width:950px){
    .ranking-season-compare-head{flex-direction:column}
    .ranking-season-compare-form,
    .ranking-season-compare-form label{width:100%;min-width:0}
    .ranking-season-compare-list article{
        grid-template-columns:1fr;
    }
    .ranking-season-change{justify-items:start}
}

@media(max-width:620px){
    .ranking-season-compare-summary{grid-template-columns:1fr}
}


/* CTLG Rangliste 4.7 – Finale Race */
.ranking-final-race{
    margin:24px 0;
    padding:24px;
    border:1px solid #2b333d;
    border-radius:26px;
    background:
        radial-gradient(circle at 100% 0,rgba(231,177,51,.12),transparent 32%),
        linear-gradient(145deg,#151a20,#090c10);
    box-shadow:0 22px 64px rgba(0,0,0,.28);
}

.ranking-final-race-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}

.ranking-final-race-head h2{margin:4px 0 7px}
.ranking-final-race-head p:last-child{margin:0;color:#8f99a4;max-width:850px}
.ranking-final-race-head>i{color:#e7b133;font-size:30px}

.ranking-final-race-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:11px;
    margin:19px 0;
}

.ranking-final-race-summary article{
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px;
    border:1px solid #29313a;
    border-radius:15px;
    background:#0a0e13;
}

.ranking-final-race-summary article>i{
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:12px;
    background:rgba(231,177,51,.10);
    color:#e7b133;
}

.ranking-final-race-summary article.is-final>i{
    background:rgba(66,207,131,.12);
    color:#6fdfa0;
}

.ranking-final-race-summary article.is-bubble>i{
    background:rgba(242,184,75,.12);
    color:#f2c260;
}

.ranking-final-race-summary div{display:grid;gap:3px}
.ranking-final-race-summary strong{font-size:22px}
.ranking-final-race-summary span{color:#84909b;font-size:10px}

.ranking-final-race-track{
    display:grid;
    gap:8px;
}

.ranking-final-race-track>article{
    display:grid;
    grid-template-columns:52px minmax(240px,1fr) 120px minmax(150px,.8fr) 180px;
    align-items:center;
    gap:14px;
    min-height:72px;
    padding:11px 14px;
    border:1px solid #29313a;
    border-radius:14px;
    background:#090d12;
}

.ranking-final-race-track>article.is-final{
    border-color:rgba(66,207,131,.28);
    background:linear-gradient(90deg,rgba(66,207,131,.06),#090d12 25%);
}

.ranking-final-race-track>article.is-bubble{
    border-color:rgba(242,184,75,.30);
    background:linear-gradient(90deg,rgba(242,184,75,.06),#090d12 25%);
}

.ranking-final-rank{
    color:#efc663;
    font-size:19px;
    font-weight:1000;
}

.ranking-final-team{
    display:flex;
    align-items:center;
    gap:11px;
}

.ranking-final-team img,
.ranking-final-team>span{
    width:46px;
    height:46px;
    display:grid;
    place-items:center;
    object-fit:contain;
    padding:5px;
    border-radius:12px;
    background:#070a0e;
    color:#66717c;
}

.ranking-final-team>div{display:grid;gap:3px}
.ranking-final-team a{color:#fff;text-decoration:none}
.ranking-final-team a:hover{color:#efc663}
.ranking-final-team small{color:#7f8994}

.ranking-final-points{
    display:grid;
    gap:2px;
    text-align:center;
}

.ranking-final-points strong{
    color:#efc663;
    font-size:19px;
}

.ranking-final-points span{
    color:#717c87;
    font-size:9px;
    text-transform:uppercase;
}

.ranking-final-form{
    display:flex;
    gap:5px;
    align-items:center;
}

.ranking-final-form i{
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border-radius:8px;
    font-style:normal;
    font-size:10px;
    font-weight:1000;
}

.ranking-final-form i.is-win{
    color:#6fdfa0;
    background:rgba(66,207,131,.12);
    border:1px solid rgba(66,207,131,.25);
}

.ranking-final-form i.is-loss{
    color:#ff8178;
    background:rgba(239,98,93,.11);
    border:1px solid rgba(239,98,93,.24);
}

.ranking-final-form>span{color:#74808b;font-size:10px}

.ranking-final-status,
.ranking-final-table-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:7px 10px;
    border:1px solid #303944;
    border-radius:999px;
    background:#0b1015;
    color:#89949f;
    font-size:9px;
    font-weight:900;
    text-align:center;
}

.ranking-final-status.is-final,
.ranking-final-table-status.is-final,
.ranking-mobile-final.is-final{
    border-color:rgba(66,207,131,.30);
    background:rgba(66,207,131,.09);
    color:#6fdfa0;
}

.ranking-final-status.is-bubble,
.ranking-final-table-status.is-bubble,
.ranking-mobile-final.is-bubble{
    border-color:rgba(242,184,75,.30);
    background:rgba(242,184,75,.09);
    color:#f2c260;
}

.ranking-final-status.is-outside,
.ranking-final-table-status.is-outside,
.ranking-mobile-final.is-outside{
    color:#ff8178;
}

.ranking-final-cut{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    margin:4px 0;
    color:#ff8178;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}

.ranking-final-cut:before,
.ranking-final-cut:after{
    content:"";
    flex:1;
    height:1px;
    background:linear-gradient(90deg,transparent,#ef625d);
}

.ranking-final-cut:after{
    background:linear-gradient(90deg,#ef625d,transparent);
}

.ranking-final-cut span{
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 13px;
}

.ranking-final-race-note{
    display:flex;
    align-items:flex-start;
    gap:11px;
    margin-top:15px;
    padding:13px;
    border:1px solid #29313a;
    border-radius:13px;
    background:#0a0e13;
    color:#8c97a2;
}

.ranking-final-race-note i{color:#e7b133}
.ranking-final-race-note p{margin:0}
.ranking-final-race-note strong{color:#fff}

.ranking-final-filters{
    display:flex;
    gap:7px;
}

.ranking-final-filters button{
    min-height:40px;
    display:flex;
    align-items:center;
    gap:7px;
    padding:0 11px;
    border:1px solid #303944;
    border-radius:10px;
    background:#0c1015;
    color:#aab3bd;
    cursor:pointer;
    font-weight:800;
    white-space:nowrap;
}

.ranking-final-filters button.is-active{
    border-color:rgba(231,177,51,.55);
    background:rgba(231,177,51,.11);
    color:#efc663;
}

.ranking-mobile-final{
    display:inline-flex;
    align-items:center;
    padding:5px 8px;
    border-radius:999px;
    font-size:10px;
}

@media(max-width:1150px){
    .ranking-final-race-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .ranking-final-race-track>article{
        grid-template-columns:48px minmax(220px,1fr) 110px 170px;
    }
    .ranking-final-form{display:none}
}

@media(max-width:800px){
    .ranking-final-race-track>article{
        grid-template-columns:45px 1fr auto;
    }
    .ranking-final-status{grid-column:2/-1;justify-self:start}
}

@media(max-width:620px){
    .ranking-final-race-summary{grid-template-columns:1fr}
    .ranking-final-race-head{flex-direction:column}
    .ranking-final-race-track>article{
        grid-template-columns:40px 1fr;
    }
    .ranking-final-points{
        grid-column:2;
        justify-items:start;
        text-align:left;
    }
    .ranking-final-status{grid-column:2}
    .ranking-final-filters{overflow-x:auto;padding-bottom:4px}
}
