/* Brand color system */
:root {
  --lime: #ff2bd6;
  --cyan: #3470d1;
}

/* Keep all header controls inside the header at narrower desktop widths. */
.header {
  width: 100%;
  min-width: 0;
  gap: clamp(8px, 1.8vw, 32px);
}
.shell{max-width:none;width:100%;padding-inline:clamp(16px,3vw,48px)}
.header{padding-inline:12px;overflow:visible}
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;height:100%}
.header-actions .user-chip{height:100%}
.season-select{background:#111722;color:#fff;border:1px solid #303947;border-radius:9px;padding:9px 24px 9px 10px;font:700 12px var(--display)}
.score-mini span{display:inline-block;padding:2px 4px;border:1px solid transparent;border-radius:4px}
.score-mini{display:flex;gap:6px;align-items:center}.score-mini span{padding:2px 6px;line-height:1.15;white-space:nowrap}.avatar{overflow:hidden}.avatar img{width:100%;height:100%;object-fit:cover;object-position:var(--ax,50%) var(--ay,50%);transform:scale(var(--az,1))}.event-countdown{margin-left:auto;display:flex;align-items:center;gap:6px;color:#dfe7f3;font:700 12px var(--display);letter-spacing:.8px;white-space:nowrap}.actual-result{display:block;color:#9dff78;font-size:10px;margin-top:3px}.special-questions{margin-bottom:24px}.special-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(135deg,#181326,#101722);border:1px solid #642b75;border-radius:14px;padding:18px;margin-top:10px;box-shadow:0 0 22px #ff2bd611}.special-card h3,.special-card p{margin:0}.special-card p{color:var(--muted);font-size:12px;margin-top:5px}.special-answer{display:flex;gap:8px}.special-answer input,.peer-select{background:#0b1017;color:#fff;border:1px solid var(--line);border-radius:9px;padding:10px}.locked-pick{background:#0a0f15;border:1px solid #26303d;border-radius:9px;padding:12px;color:#e7edf6}.peer-box{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.peer-box label{display:block;font:700 12px var(--display);color:var(--muted);margin-bottom:8px}.peer-results{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.peer-results span{display:flex;gap:7px;align-items:center;background:#0a0f15;border-radius:8px;padding:9px;font-size:12px}.peer-results b{color:var(--cyan)}
.score-mini span.podium-1{border-color:#ffd700;box-shadow:0 0 8px #ffd700;color:#ffd700}
.score-mini span.podium-2{border-color:#c0c0c0;box-shadow:0 0 8px #c0c0c0;color:#e4e4e4}
.score-mini span.podium-3{border-color:#cd7f32;box-shadow:0 0 8px #cd7f32;color:#e5a05d}
.event-flag{width:24px;height:18px;object-fit:cover;vertical-align:-2px;border-radius:2px;box-shadow:0 0 8px #0008}
.tabs button[data-board="wrc"].active{background:#f05100;border-color:#f05100;color:white;box-shadow:0 0 18px #f0510055}
.tabs button[data-board="rally2"].active{background:#3470d1;border-color:#3470d1;color:white;box-shadow:0 0 18px #3470d155}
#board.wrc-board .rank-num,#board.wrc-board .points{color:#f05100}
#board.rally2-board .rank-num,#board.rally2-board .points{color:#3470d1}
.admin-item.admin-wrc{border-left:3px solid #f05100;box-shadow:inset 10px 0 20px #f051000d}
.admin-item.admin-rally2{border-left:3px solid #3470d1;box-shadow:inset 10px 0 20px #3470d10d}
[data-section="results"] .result-picks>div:first-child h3,[data-section="predictions"] .result-picks>div:first-child h3{color:#f05100}
[data-section="results"] .result-picks>div:last-child h3,[data-section="predictions"] .result-picks>div:last-child h3{color:#3470d1}
.admin-v2{display:none}.admin-v2.active{display:block}.section-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.section-toolbar h2{margin:0 auto 0 0}.section-toolbar select,.inline-admin-form input{background:#0b1017;color:#fff;border:1px solid var(--line);border-radius:9px;padding:11px 13px}.inline-admin-form{display:flex;gap:10px;margin-bottom:20px}.inline-admin-form input{min-width:260px}.mini-flag{width:24px;height:18px;object-fit:cover;vertical-align:-4px;border-radius:2px;margin-right:5px}.admin-tip-event{border:1px solid var(--line);border-radius:14px;padding:18px;margin:12px 0;background:#0a0f15}.admin-tip-event h3{margin:0 0 12px}.admin-tip-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:14px}.admin-tip-cols>div{display:grid;gap:6px}.admin-tip-cols span{font-size:12px;color:var(--muted)}.wrc-text{color:#f05100}.rally2-text{color:#3470d1}code{color:#aab7c8;font-size:11px}@media(max-width:750px){.admin-tip-cols{grid-template-columns:1fr}.inline-admin-form{flex-direction:column}.section-toolbar{align-items:stretch}.section-toolbar h2{width:100%}}
.header .nav {
  min-width: 0;
  gap: 0;
}
.header .nav button {
  padding-inline: clamp(7px, 1vw, 14px);
}
.user-chip {
  flex: 0 1 auto;
  min-width: 0;
  padding-left: clamp(8px, 1.5vw, 24px);
}
.logout {
  flex: 0 0 38px;
}

/* Championship-specific accents */
.rank-card:nth-child(1) { --accent: #f05100 !important; }
.rank-card:nth-child(2) { --accent: #3470d1 !important; }
.score-mini span:first-child { color: #f05100; }
.score-mini span:last-child { color: #3470d1; }

/* Präzise Header-Badges und zentriertes Logout-Symbol */
.score-mini{gap:7px;line-height:1}.score-mini span{display:inline-flex;align-items:center;padding:3px 5px!important;border-radius:5px;line-height:1!important}.score-mini b{color:#9da8b6;font:700 10px/1 var(--display);letter-spacing:.45px}.score-mini i{font:800 10px/1 var(--display);font-style:normal}.score-mini span:first-child i{color:#f05100}.score-mini span:last-child i{color:#3470d1}.score-mini span:first-child,.score-mini span:last-child{color:inherit}.logout{display:inline-grid;place-items:center;padding:0;line-height:0}.logout svg{display:block;width:18px;height:18px;margin:0}

/* Neue Stats-Karten */
.stats-stack{display:grid;gap:20px}.stats-compare-card{min-height:430px}.stats-card-head{display:flex;justify-content:space-between;align-items:center}.stats-card-head select{background:#0b1017;color:#fff;border:1px solid var(--line);border-radius:9px;padding:10px 12px}.stats-donut-grid{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;max-width:760px;margin:auto;text-align:center}.stats-donut-grid.comparing{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:30px}.stats-donut-grid h3{margin:18px 0 0}.stats-donut svg{width:min(310px,100%);overflow:visible}.donut-arcs path{fill:none;stroke-width:38;stroke-linecap:butt}.stats-donut svg text{fill:#fff;font:800 11px var(--display);text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:#0b1017;stroke-width:3px}.stats-donut svg .donut-total{font-size:22px;stroke-width:4px}.stats-donut .legend{flex-wrap:wrap;margin-top:-5px}.stats-compare-card.wrc{border-color:#f0510055}.stats-compare-card.rally2{border-color:#3470d155}

/* Abgeschlossene Events: Tipp – Ergebnis – Vergleich */
.completed-event{width:min(1280px,96vw)}.completed-event .modal-head h2{display:flex;align-items:center;gap:10px}.event-compare-head,.event-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.event-compare-head{align-items:end;margin:24px 0 10px}.event-compare-head h3{margin:0}.event-compare-head label{display:block;color:var(--muted);font:700 11px var(--display);margin-bottom:6px}.event-compare-head select{width:100%;background:#0b1017;color:#fff;border:1px solid var(--line);border-radius:9px;padding:10px}.event-compare-grid>div{background:#090e15;border:1px solid var(--line);border-radius:14px;padding:14px}.event-result-section+ .event-result-section{margin-top:18px}.event-result-section h4{margin:0 0 8px;padding-bottom:8px;border-bottom:2px solid}.event-result-section.wrc h4{color:#f05100;border-color:#f05100}.event-result-section.rally2 h4{color:#3470d1;border-color:#3470d1}.event-compare-row{display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:7px;padding:10px 0;border-bottom:1px solid #212a36;font-size:12px}.event-compare-row:last-child{border:0}.event-compare-row>b{color:var(--muted)}.event-compare-row span{display:flex;align-items:center;gap:6px}.event-compare-row em{font-style:normal;color:#9dff78;font-weight:800}

.season-question-admin,.special-result-card{margin-top:18px}.season-question-admin h2,.season-question-admin p{margin:0}.season-question-admin p{color:var(--muted);font-size:12px;margin-top:4px}
@media(max-width:800px){.event-compare-head{display:none}.event-compare-grid{grid-template-columns:1fr}.stats-donut-grid.comparing{grid-template-columns:1fr}.event-countdown{display:none}}
.break-group:first-child h4 { color: #f05100; }
.break-group:last-child h4 { color: #3470d1; }
.bar { background: linear-gradient(#f05100, #8c2f00); box-shadow: 0 0 20px #f0510038; }

/* Navigation erst einklappen, wenn der Header tatsächlich zu schmal wird. */
.header .mobile-menu { display: none; }
@media (max-width: 1000px) { .header .mobile-menu { display: inline-grid; } }

/* Einheitliche Leaderboard-Hierarchie. */
#board .rank-num { color: #fff !important; }
#board tbody tr:nth-child(1) .rank-num { color: #ffd700 !important; text-shadow: 0 0 10px #ffd70066; }
#board tbody tr:nth-child(2) .rank-num { color: #c0c0c0 !important; text-shadow: 0 0 10px #c0c0c055; }
#board tbody tr:nth-child(3) .rank-num { color: #cd7f32 !important; text-shadow: 0 0 10px #cd7f3266; }
#board .points { color: #ff2bd6 !important; text-shadow: 0 0 10px #ff2bd644; }

/* Admin 2FA */
.security-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.security-heading h2{margin:5px 0}.security-heading p,.security-note{color:var(--muted);font-size:12px;line-height:1.55}.security-status{padding:7px 11px;border-radius:99px;font:800 11px var(--display);letter-spacing:1px;text-transform:uppercase}.security-status.on{color:#9dff78;border:1px solid #9dff7866;box-shadow:0 0 15px #9dff7822}.security-status.off{color:#ff6a7a;border:1px solid #ff405866}.totp-secret{display:flex;align-items:center;gap:10px;background:#080d13;border:1px solid var(--line);border-radius:10px;padding:12px;margin:15px 0}.totp-secret code{flex:1;color:#ff2bd6;font-size:15px;letter-spacing:2px;overflow-wrap:anywhere}.totp-open{display:inline-block;text-decoration:none;margin-bottom:18px}.twofactor-form{margin-top:18px}.security-details{border:1px solid var(--line);border-radius:10px;margin-top:12px;padding:0 14px}.security-details summary{cursor:pointer;font-weight:700;padding:14px 0}.security-details form{padding-bottom:14px}.danger-zone{border-color:#ff405855}.twofactor-tabs{margin:18px 0}.twofactor-tabs+form[hidden],#recoveryLogin[hidden]{display:none!important}

@media (max-width: 1150px) and (min-width: 1001px) {
  .header .brand { font-size: 22px; }
  .user-info { display: none; }
}
