.trend-legend{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem 1rem;
    margin:-.35rem 0 1rem;
    padding:.7rem .9rem;
    border:1px solid var(--line);
    border-radius:10px;
    background:rgba(255,255,255,.025);
    color:var(--muted);
    font-size:.82rem;
}
.trend-legend span{white-space:nowrap}
.trend-legend strong{color:var(--text);font-size:1rem}
.group-table .col-forecast{width:190px}
.forecast-cell{font-variant-numeric:tabular-nums}
.trend-arrow{
    display:inline-block;
    min-width:.9em;
    text-align:center;
    font-size:1.85em;
    line-height:.7;
    vertical-align:-.12em;
    font-weight:900;
}
.trend-arrow[data-trend-symbol="↑"],
.trend-arrow[data-trend-symbol="↗"]{
    color:#66d98b;
    text-shadow:0 0 .32rem rgba(102,217,139,.35);
}
.trend-arrow[data-trend-symbol="→"]{
    color:#e4bd58;
    text-shadow:0 0 .32rem rgba(228,189,88,.3);
}
.trend-arrow[data-trend-symbol="↘"],
.trend-arrow[data-trend-symbol="↓"]{
    color:#ef7777;
    text-shadow:0 0 .32rem rgba(239,119,119,.35);
}
.trend-legend .trend-arrow{font-size:1.55em}
.mimir-points .trend-arrow,.forecast-cell .trend-arrow{margin-left:.18rem}
.mimir-points strong,.forecast-cell{font-variant-numeric:tabular-nums}
.chart-now-line{stroke:#d7dbe4;stroke-width:.45;stroke-dasharray:1.4 1.4;opacity:.7}
.chart-forecast{stroke-dasharray:2.4 1.6;stroke-width:.65;opacity:.9}
.chart-forecast-point{fill:#111823;stroke:var(--series-color);stroke-width:.65}
.forecast-winner{margin:.7rem 0 0;color:var(--text)}
.admin-forecast-settings{margin-bottom:1rem}
.forecast-setting-form{display:grid;gap:.9rem}
.forecast-toggle-row{
    display:flex;
    align-items:flex-start;
    gap:.75rem;
    padding:.8rem;
    border:1px solid var(--line);
    border-radius:10px;
    background:rgba(255,255,255,.02);
}
.forecast-toggle-row input{margin-top:.2rem;transform:scale(1.15)}
.forecast-toggle-row span{display:grid;gap:.25rem}
.forecast-toggle-row small{color:var(--muted)}
@media(max-width:760px){
    .group-table .col-forecast{width:150px}
    .trend-legend{gap:.35rem .7rem;font-size:.76rem}
}

/* VERDANDI 0.1.2a2 ADMIN SECTIONS */

.admin-section-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    margin: 0 0 1.25rem;
}

.admin-section-nav .button {
    width: auto;
}

.admin-section {
    scroll-margin-top: 1rem;
    margin-bottom: 1.25rem;
}

.admin-settings-card {
    display: grid;
    gap: 1rem;
}

.admin-setting-group {
    display: grid;
    gap: .85rem;
    max-width: 64rem;
}

.admin-setting-group h3,
.admin-setting-group p {
    margin: 0;
}

.forecast-setting-form-compact {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1rem;
}

.forecast-toggle-row-compact {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: .85rem;
    padding: 1rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: .65rem;
}

.forecast-toggle-row-compact input[type="checkbox"] {
    width: 1.15rem;
    height: 1.15rem;
    margin: .15rem 0 0;
}

.forecast-toggle-copy {
    display: grid;
    gap: .25rem;
    min-width: 0;
}

.forecast-toggle-copy strong {
    font-size: 1rem;
    line-height: 1.35;
}

.forecast-toggle-copy small {
    line-height: 1.45;
}

.forecast-setting-actions {
    display: flex;
    align-items: flex-end;
}

.forecast-setting-actions .button {
    width: auto;
    min-width: 13rem;
}

.trend-legend {
    flex-wrap: wrap;
}

.trend-legend-title {
    display: block;
    flex-basis: 100%;
    margin-bottom: .15rem;
    font-size: .9rem;
    line-height: 1.35;
}

@media (max-width: 700px) {
    .admin-section-nav {
        display: grid;
    }

    .forecast-setting-form-compact {
        grid-template-columns: 1fr;
    }

    .admin-section-nav .button,
    .forecast-setting-actions .button {
        width: 100%;
    }
}

/* VERDANDI 0.1.2a3 GROUP CARD POLISH */

.group-card-heading {
    display: grid;
    gap: .35rem;
    min-width: 0;
}

.group-card-heading h2 {
    margin: 0;
}

.group-predicted-winner {
    margin: 0;
    font-size: .92rem;
    line-height: 1.4;
}

.group-predicted-winner strong {
    font-size: 1rem;
}

.group-table th.points {
    text-align: right;
}

/* VERDANDI 0.1.2a4 · MIMIRS BRUNNEN */
.ranking-page-head{align-items:flex-end}
.ranking-page-head h1,.section-heading h2,.mimir-heading h2{margin:0}
.ranking-trend-layout{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:1.25rem;align-items:start}
.ranking-current-panel,.mimir-panel{min-width:0}
.section-heading,.mimir-heading,.mimir-block-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.ranking-data-line{margin:.5rem 0 .8rem}
.ranking-current-table-wrap{max-height:78vh}
.ranking-current-table th,.ranking-current-table td{font-size:.9rem}
.mimir-heading{margin-bottom:.7rem}
.mimir-intro{display:grid;gap:.25rem;margin-bottom:1rem}
.mimir-block-list{display:grid;gap:1rem}
.mimir-block{padding:1rem}
.mimir-block h3,.mimir-block h4{margin:0}
.mimir-block-head{padding-bottom:.75rem;border-bottom:1px solid var(--line)}
.mimir-block-head p{margin:.2rem 0 0}
.mimir-confidence-summary{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.confidence-badge{display:inline-flex;align-items:center;width:max-content;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--line);font-size:.75rem;font-weight:700;background:#303a4d}
.confidence-high{background:#1f5138}
.confidence-medium{background:#665125}
.confidence-low{background:#5b3f29}
.confidence-insufficient{background:#4a4352}
.mimir-block-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(12rem,.8fr);gap:1rem;padding-top:.8rem}
.mimir-ranking-list{display:grid}
.mimir-ranking-row{display:grid;grid-template-columns:2.1rem minmax(0,1fr) minmax(8rem,.7fr) minmax(7.5rem,.6fr);gap:.6rem;align-items:center;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.07)}
.mimir-ranking-row strong,.mimir-ranking-row small{display:block}
.mimir-ranking-row small{color:var(--muted);font-size:.75rem;line-height:1.35}
.mimir-rank{font-size:1.05rem;font-weight:800;color:var(--accent)}
.mimir-guild{min-width:0}
.mimir-guild strong{overflow-wrap:anywhere}
.mimir-wins,.mimir-points{text-align:right;font-variant-numeric:tabular-nums}
.mimir-row-note{margin:-.2rem 0 .4rem 2.7rem;color:var(--muted);font-size:.75rem;line-height:1.35}
.mimir-block-info{display:grid;align-content:start;gap:.55rem;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}
.mimir-block-info p{margin:0;font-size:.82rem;line-height:1.4}
.mimir-threshold-note{margin-top:1rem;font-size:.78rem}
@media(max-width:1100px){.ranking-trend-layout{grid-template-columns:1fr}.ranking-current-table-wrap{max-height:none}}
@media(max-width:700px){.mimir-block-body{grid-template-columns:1fr}.mimir-ranking-row{grid-template-columns:2rem minmax(0,1fr);gap:.35rem .55rem}.mimir-wins,.mimir-points{grid-column:2;text-align:left}.mimir-row-note{margin-left:2.55rem}.mimir-confidence-summary{justify-content:flex-start}.ranking-current-table th,.ranking-current-table td{font-size:.82rem}}

/* VERDANDI 0.1.2a6 · TREND TEXT & STABILITY BOX POLISH */
.ranking-page-head{margin-bottom:1.15rem;align-items:flex-start}
.ranking-trend-layout{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:1.35rem}
.ranking-current-table-wrap{max-height:none;overflow:visible}
.ranking-current-table{table-layout:fixed}
.ranking-current-table th,
.ranking-current-table td{padding:.58rem .62rem;white-space:normal;overflow-wrap:anywhere;vertical-align:middle;font-size:.82rem}
.ranking-current-table .ranking-guild-name{font-weight:600}
.ranking-current-table .number-cell{white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.ranking-current-table th:nth-child(4){text-align:right}
.ranking-col-rank{width:3.25rem}
.ranking-col-guild{width:auto}
.ranking-col-wins{width:4.3rem}
.ranking-col-points{width:7.4rem}
.ranking-col-date{width:7.7rem}

.mimir-heading{margin-bottom:.75rem}
.trend-reliability{display:grid;gap:.3rem;margin:0 0 .8rem;padding:.72rem .85rem;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}
.trend-reliability>div{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}
.trend-reliability small{color:var(--muted);line-height:1.35}
.mimir-intro{margin-bottom:.9rem;padding:.75rem .9rem}
.mimir-block-list{gap:.85rem}
.mimir-block{padding:.9rem}
.mimir-block-head{align-items:center;padding-bottom:.6rem}
.mimir-block-head h3{font-size:1.02rem;line-height:1.3}
.mimir-confidence-summary{gap:.35rem}
.confidence-badge{font-size:.72rem;line-height:1.25;padding:.26rem .55rem;white-space:normal}

.mimir-ranking-header,
.mimir-ranking-row{display:grid;grid-template-columns:2.7rem minmax(0,1fr) 7.2rem 8rem;gap:.65rem;align-items:center}
.mimir-ranking-header{padding:.48rem 0 .3rem;color:var(--muted);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid rgba(255,255,255,.08)}
.mimir-ranking-header span:nth-child(3),
.mimir-ranking-header span:nth-child(4){text-align:right}
.mimir-ranking-row{padding:.62rem 0;border-bottom:1px solid rgba(255,255,255,.07)}
.mimir-ranking-row:last-child{border-bottom:0}
.mimir-rank{font-size:.98rem}
.mimir-guild strong{font-size:.98rem;line-height:1.25;overflow-wrap:normal;word-break:normal}
.mimir-guild small{margin-top:.12rem;font-size:.7rem}
.mimir-wins strong,
.mimir-points strong{font-size:.94rem;line-height:1.25}
.mimir-wins small,
.mimir-points small{font-size:.68rem}

.mimir-block-info{display:grid;grid-template-columns:1fr;gap:.42rem;margin-top:.62rem;padding:.78rem .85rem;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.022)}
.mimir-block-info h4{margin:0 0 .08rem;font-size:.9rem;line-height:1.35}
.mimir-block-info p{margin:0;font-size:.8rem;line-height:1.45}
.mimir-technical-details{margin-top:.55rem;padding-top:.45rem;border-top:1px solid rgba(255,255,255,.07);font-size:.76rem;color:var(--muted)}
.mimir-technical-details summary{cursor:pointer;color:var(--muted)}
.mimir-technical-details ul{margin:.45rem 0 0;padding-left:1.15rem}
.mimir-technical-details li{margin:.25rem 0}

@media(max-width:1200px){
    .ranking-trend-layout{grid-template-columns:1fr}
    .ranking-current-table-wrap{overflow:visible}
}
@media(max-width:700px){
    .mimir-ranking-header{display:none}
    .mimir-ranking-row{grid-template-columns:2rem minmax(0,1fr);gap:.28rem .5rem}
    .mimir-wins,.mimir-points{grid-column:2;text-align:left}
    .mimir-block-info{grid-template-columns:1fr}
    .mimir-block-info h4{grid-row:auto}
    .ranking-col-wins{width:3.5rem}
    .ranking-col-points{width:6.6rem}
    .ranking-col-date{width:6.6rem}
}

/* VERDANDI 0.1.4a7 · Siegerangaben bleiben lesbare Einheiten */
@media(min-width:701px){
  .mimir-ranking-header,
  .mimir-ranking-row{grid-template-columns:2.7rem minmax(0,1fr) minmax(10.8rem,.82fr) 7.5rem}
}
.mimir-wins strong{white-space:nowrap;font-size:.9rem}

/* 0.2.0a2 – getrennte breite Ranglisten- und Trendansichten */
.ranking-single-layout{
  display:block;
  width:100%;
}
.web-output-preview .ranking-single-layout .ranking-current-panel,
.web-output-preview .ranking-single-layout .mimir-panel{
  width:100%;
}
.web-output-preview .ranking-single-layout .ranking-current-table{
  table-layout:auto;
}
.web-output-preview .ranking-single-layout .ranking-current-table th,
.web-output-preview .ranking-single-layout .ranking-current-table td{
  font-size:.9rem;
}
@media(max-width:700px){
  .web-output-preview .ranking-single-layout .ranking-current-table{
    table-layout:fixed;
  }
  .web-output-preview .ranking-single-layout .ranking-current-table th,
  .web-output-preview .ranking-single-layout .ranking-current-table td{
    font-size:.8rem;
  }
}

/* 0.2.0a3 – kompaktere Besucher-Rangliste */
.web-output-preview .web-preview-page-ranking .ranking-single-layout .ranking-current-table th,
.web-output-preview .web-preview-page-ranking .ranking-single-layout .ranking-current-table td{
  font-size:.88rem;
}
.web-output-preview .web-preview-page-ranking .ranking-single-layout .ranking-current-table td:nth-child(3),
.web-output-preview .web-preview-page-ranking .ranking-single-layout .ranking-current-table th:nth-child(3){
  text-align:center;
}



/* VERDANDI 0.5.3 · Erläuterungen zuverlässig ausblenden */
[data-trend-explanation][hidden]{display:none!important}

/* VERDANDI 0.5.2 · größere Trendpfeile und Erläuterungsschalter */
.trend-detail-toggle{
    align-self:flex-start;
    flex:0 0 auto;
    border-color:rgba(199,164,90,.62);
    background:rgba(199,164,90,.11);
    color:#f1d596;
    font-weight:700;
    white-space:nowrap;
}
.trend-detail-toggle:hover{
    border-color:var(--accent);
    background:rgba(199,164,90,.18);
}
@media(max-width:700px){
    .web-output-preview .web-preview-page-trend .ranking-page-head{
        align-items:stretch;
    }
    .web-output-preview .web-preview-page-trend .trend-detail-toggle{
        width:100%;
        text-align:center;
    }
}


/* VERDANDI 0.5.4 · klar abgestufte Prognosesicherheit */
.confidence-badge{box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.confidence-not_reliable{background:#681525;border-color:#ee5872;color:#fff0f4}
.confidence-very_low{background:#8b202d;border-color:#ff737b;color:#fff2f3}
.confidence-low{background:#824817;border-color:#efab55;color:#fff8ed}
.confidence-medium{background:#526722;border-color:#b7cf64;color:#fbffe9}
.confidence-high{background:#17613a;border-color:#5fd08b;color:#f1fff6}

/* VERDANDI 0.6.0a5 · Meisterschaftsprognose in Runde 6 */
.championship-forecast{
    padding:.95rem;
}
.championship-forecast-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    flex-wrap:wrap;
    padding-bottom:.7rem;
    border-bottom:1px solid var(--line);
}
.championship-forecast-head h3{
    margin:0;
    font-size:1.05rem;
}
.championship-forecast-head p{
    margin:.22rem 0 0;
}
.championship-order-badge{
    display:inline-flex;
    align-items:center;
    width:max-content;
    padding:.25rem .58rem;
    border:1px solid rgba(199,164,90,.58);
    border-radius:999px;
    background:rgba(199,164,90,.1);
    color:#efd494;
    font-size:.72rem;
    font-weight:700;
    white-space:nowrap;
}
.championship-ranking-header,
.championship-ranking-row{
    display:grid;
    grid-template-columns:4.25rem minmax(0,1fr) minmax(10.8rem,.82fr) 8.2rem;
    gap:.7rem;
    align-items:center;
}
.championship-ranking-header{
    padding:.5rem .55rem .35rem;
    color:var(--muted);
    border-bottom:1px solid rgba(255,255,255,.08);
    font-size:.7rem;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
}
.championship-ranking-header span:nth-child(3),
.championship-ranking-header span:nth-child(4){
    text-align:right;
}
.championship-ranking-row{
    position:relative;
    min-height:3.25rem;
    padding:.55rem;
    border-bottom:1px solid rgba(255,255,255,.07);
    border-radius:8px;
}
.championship-ranking-row:last-child{
    border-bottom:0;
}
.championship-ranking-row.championship-podium{
    margin:.18rem 0;
    border:1px solid transparent;
}
.championship-podium-1{
    border-color:rgba(214,177,79,.34)!important;
    background:linear-gradient(90deg,rgba(214,177,79,.13),rgba(214,177,79,.025) 56%,transparent);
}
.championship-podium-2{
    border-color:rgba(190,199,211,.28)!important;
    background:linear-gradient(90deg,rgba(190,199,211,.1),rgba(190,199,211,.02) 56%,transparent);
}
.championship-podium-3{
    border-color:rgba(190,126,76,.3)!important;
    background:linear-gradient(90deg,rgba(190,126,76,.11),rgba(190,126,76,.02) 56%,transparent);
}
.championship-rank-cell{
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
}
.championship-plain-rank{
    color:var(--accent);
    font-size:.98rem;
    font-weight:800;
}
.championship-podium-mark{
    --podium-color:#d6b14f;
    --podium-dark:#6d5419;
    position:relative;
    display:inline-grid;
    place-items:center;
    width:3.6rem;
    height:2.55rem;
}
.championship-podium-mark-2{
    --podium-color:#bec7d3;
    --podium-dark:#5c6673;
}
.championship-podium-mark-3{
    --podium-color:#be7e4c;
    --podium-dark:#704124;
}
.championship-laurel{
    position:absolute;
    inset:0;
    pointer-events:none;
}
.championship-laurel::before,
.championship-laurel::after{
    position:absolute;
    top:.38rem;
    color:var(--podium-color);
    font-size:1.55rem;
    line-height:1;
    opacity:.9;
    text-shadow:0 0 .35rem color-mix(in srgb,var(--podium-color) 28%,transparent);
    content:"❧";
}
.championship-laurel::before{
    left:.05rem;
    transform:scaleX(-1) rotate(-12deg);
}
.championship-laurel::after{
    right:.05rem;
    transform:rotate(-12deg);
}
.championship-medal{
    position:relative;
    z-index:1;
    display:grid;
    place-items:center;
    width:1.78rem;
    height:1.78rem;
    border:2px solid color-mix(in srgb,var(--podium-color) 78%,#fff 22%);
    border-radius:50%;
    background:linear-gradient(145deg,color-mix(in srgb,var(--podium-color) 86%,#fff 14%),var(--podium-dark));
    color:#111722;
    box-shadow:0 .12rem .32rem rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.22);
    font-size:.82rem;
    font-weight:900;
}
.championship-guild,
.championship-wins,
.championship-points{
    min-width:0;
}
.championship-guild strong,
.championship-guild small,
.championship-wins strong,
.championship-wins small{
    display:block;
}
.championship-guild strong{
    overflow-wrap:anywhere;
    font-size:.97rem;
}
.championship-guild small,
.championship-wins small{
    margin-top:.12rem;
    color:var(--muted);
    font-size:.7rem;
    line-height:1.3;
}
.championship-wins,
.championship-points{
    text-align:right;
    font-variant-numeric:tabular-nums;
}
.championship-wins strong,
.championship-points strong{
    font-size:.91rem;
    line-height:1.25;
}
.championship-wins strong{
    white-space:nowrap;
}
.championship-points .trend-arrow{
    margin-left:.18rem;
}
@media(max-width:700px){
    .championship-ranking-header{
        display:none;
    }
    .championship-ranking-row{
        grid-template-columns:3.8rem minmax(0,1fr);
        gap:.28rem .55rem;
        align-items:center;
    }
    .championship-rank-cell{
        grid-row:1 / span 3;
    }
    .championship-wins,
    .championship-points{
        grid-column:2;
        text-align:left;
    }
    .championship-order-badge{
        white-space:normal;
    }
}
