/* =========================================================================
   Retro "Sammelalbum"-Theme + UI-Umschalter + Sprachauswahl.
   Aktiv, wenn <body> die Klasse "sandbox" trägt (= neues Design).
   Der Umschalter im Header setzt/entfernt diese Klasse (persistiert).
   ========================================================================= */

/* --- Design-Umschalter (Alt/Neu) – in beiden Designs sichtbar ------------ */
.design-switch { display: flex; align-items: center; gap: 0.4rem; color: #fff; font-size: 0.72rem; font-weight: bold; text-transform: uppercase; }
.ds-toggle { position: relative; display: inline-block; width: 42px; height: 22px; flex: 0 0 auto; }
.ds-toggle input { opacity: 0; width: 0; height: 0; }
.ds-track { position: absolute; inset: 0; background: #666; border-radius: 999px; transition: 0.2s; cursor: pointer; }
.ds-track::before { content: ""; position: absolute; width: 16px; height: 16px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: 0.2s; }
.ds-toggle input:checked + .ds-track { background: #e3262e; }
.ds-toggle input:checked + .ds-track::before { transform: translateX(20px); }
@media (max-width: 600px) { .design-switch .ds-label { display: none; } }

/* Sprachauswahl */
.lang-select {
    background: #2a2a2a;
    color: #fff;
    border: 1px solid #777;
    border-radius: 8px;
    padding: 0.35rem 0.4rem;
    font-family: inherit;
    font-size: 0.8rem;
    font-weight: bold;
    cursor: pointer;
}
/* Header darf auf schmalen Screens umbrechen, damit alles passt */
@media (max-width: 760px) {
    .ea-top-actions { flex-wrap: wrap; justify-content: flex-end; gap: 0.4rem; }
}

/* Bug-Hinweis (in beiden Designs sichtbar) */
.bug-note {
    font-size: 0.75rem;
    margin-top: 0.5rem;
    opacity: 0.85;
}
.bug-note a { color: inherit; font-weight: bold; text-decoration: underline; }

/* --- Retro Sammelalbum-Theme --------------------------------------------- */

body.sandbox {
    --r-maroon:      #6e1c28;
    --r-maroon-dark: #501019;
    --r-cream:       #f4e8cf;
    --r-cream-2:     #ecdcbd;
    --r-red:         #9e2a32;
    --r-ink:         #3a1414;
    --r-ink-soft:    #6b4a3a;
    --r-gold:        #c8a24a;

    background-color: var(--r-maroon);
    background-image:
        radial-gradient(120% 80% at 50% -10%, rgba(255,255,255,0.10), transparent 60%),
        repeating-linear-gradient(125deg, rgba(0,0,0,0.06) 0 26px, rgba(255,255,255,0.03) 26px 52px),
        linear-gradient(180deg, #7a2230 0%, #5e1622 100%);
    background-attachment: fixed;
    color: var(--r-cream);
    font-family: 'Oswald', 'Outfit', sans-serif;
}

/* ---- Header ---- */
body.sandbox .ea-top-bar {
    background: transparent;
    border-bottom: none;
    box-shadow: none;
    padding: 0.6rem 1rem;
}
body.sandbox .ea-logo-placeholder {
    background: var(--r-cream);
    color: var(--r-maroon);
    border: 3px solid var(--r-maroon-dark);
    box-shadow: 0 3px 0 rgba(0,0,0,0.3);
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    font-size: 1.05rem;
}
body.sandbox .ea-title { display: none; }
body.sandbox .ea-right-text { display: none; }

body.sandbox .changelog-btn,
body.sandbox .support-link {
    background: transparent;
    color: var(--r-cream);
    border: 2px solid var(--r-cream);
    border-radius: 999px;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    box-shadow: none;
    padding: 0.4rem 0.9rem;
}
body.sandbox .changelog-btn:hover,
body.sandbox .support-link:hover {
    background: var(--r-cream);
    color: var(--r-maroon);
}

/* ---- Großer Titel ---- */
body.sandbox .logo-container { text-align: left; padding: 0 1rem; }
body.sandbox .logo-container h1 {
    font-family: 'Anton', sans-serif;
    font-weight: 400;
    color: var(--r-cream);
    font-size: clamp(2.4rem, 11vw, 4.5rem);
    line-height: 0.92;
    letter-spacing: 0.01em;
    text-shadow: 3px 3px 0 var(--r-maroon-dark), 0 4px 10px rgba(0,0,0,0.4);
    margin-bottom: 0.2rem;
}
body.sandbox .logo-container p {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    color: var(--r-cream);
    font-size: clamp(1rem, 4.5vw, 1.6rem);
    text-transform: none;
}
body.sandbox .disclaimer {
    color: rgba(244,232,207,0.6);
    font-size: 0.7rem;
}

/* ---- Section-Überschriften ---- */
body.sandbox .selection-container { background: transparent; border: none; box-shadow: none; padding: 0.5rem 1rem 1rem; }
body.sandbox .selection-container > h2 {
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    color: var(--r-cream);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    font-size: clamp(1.1rem, 5vw, 1.6rem);
    border: none;
    margin: 0.6rem 0 0.8rem;
}

/* Trennstreifen (cremefarbenes Band) zwischen Sektionen */
body.sandbox .selection-container:not(#start-leaderboard)::before {
    content: "";
    display: block;
    height: 10px;
    margin: 0 -1rem 0.8rem;
    background: repeating-linear-gradient(90deg, var(--r-cream) 0 22px, var(--r-cream-2) 22px 44px);
    opacity: 0.9;
    transform: skewY(-0.6deg);
}

/* ---- Modus-Karten = Sammelkarten ---- */
body.sandbox .league-cards { gap: 0.7rem; }
body.sandbox .card.league-card {
    position: relative;
    background:
        repeating-linear-gradient(135deg, rgba(158,42,50,0.14) 0 16px, transparent 16px 38px),
        linear-gradient(180deg, #f7eed8 0%, #e8d9b8 100%);
    border: 1px solid #d8c39a;
    border-radius: 12px;
    padding: 1.6rem 0.6rem 0.7rem;
    min-height: 175px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    color: var(--r-ink);
    box-shadow:
        0 1px 0 #fff inset,
        4px 4px 0 rgba(0,0,0,0.18),
        8px 8px 0 rgba(0,0,0,0.10);
    transform: rotate(-1.2deg);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    padding-top: 1rem;
}
body.sandbox .league-card:nth-child(2) { transform: rotate(0.8deg); }
body.sandbox .league-card:nth-child(3) { transform: rotate(-0.5deg); }
body.sandbox .card.league-card .league-card-logo {
    height: 72px;
    margin: 0 auto;
    filter: drop-shadow(0 2px 3px rgba(0,0,0,0.35));
}
body.sandbox .league-card h3 {
    font-family: 'Oswald', sans-serif;
    color: var(--r-maroon);
    font-size: 1rem;
    text-transform: uppercase;
    margin-top: auto;
}
body.sandbox .league-card p { color: var(--r-ink-soft); font-size: 0.72rem; }
body.sandbox .card.league-card.active {
    border-color: var(--r-maroon);
    box-shadow:
        0 0 0 3px var(--r-gold),
        4px 4px 0 rgba(0,0,0,0.18),
        8px 8px 0 rgba(0,0,0,0.10);
    transform: rotate(0deg) scale(1.03);
}
body.sandbox .card.league-card.disabled {
    filter: grayscale(0.5) saturate(0.7);
    opacity: 0.8;
}

/* ---- Formation / Pitch ---- */
body.sandbox .formation-selection { background: transparent; }
body.sandbox #formation-select {
    background: var(--r-cream);
    color: var(--r-ink);
    border: 2px solid var(--r-maroon-dark);
    border-radius: 8px;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
}
body.sandbox .preview-pitch-wrapper,
body.sandbox .pitch-container {
    border: 4px solid var(--r-cream);
    border-radius: 10px;
    box-shadow: 0 4px 0 rgba(0,0,0,0.25);
    overflow: hidden;
}

/* ---- Schwierigkeit ---- */
body.sandbox .card.diff-card {
    background: linear-gradient(180deg, #f7eed8 0%, #ece0c4 100%);
    border: 2px solid #d8c39a;
    border-radius: 12px;
    color: var(--r-ink);
    padding: 0.7rem 0.9rem;
    box-shadow: 0 2px 0 rgba(0,0,0,0.18);
}
body.sandbox .card.diff-card:hover:not(.active) {
    background: linear-gradient(180deg, #fff5e2 0%, #f0e4c8 100%);
    border-color: var(--r-gold);
}
body.sandbox .card.diff-card h3 {
    color: var(--r-maroon);
    font-family: 'Oswald', sans-serif;
    font-size: 0.95rem;
    margin-bottom: 0.15rem;
}
body.sandbox .card.diff-card p { color: var(--r-ink-soft); font-size: 0.72rem; }
body.sandbox .card.diff-card.active {
    background: linear-gradient(180deg, var(--r-red), var(--r-maroon-dark));
    border-color: var(--r-gold);
}
body.sandbox .card.diff-card.active h3 { color: var(--r-cream); }
body.sandbox .card.diff-card.active p { color: rgba(244,232,207,0.85); }

/* ---- Buttons ---- */
body.sandbox .btn {
    font-family: 'Oswald', sans-serif;
    border-radius: 999px;
    border: 2px solid var(--r-maroon-dark);
    text-shadow: none;
    letter-spacing: 0.04em;
}
body.sandbox .primary-btn {
    background: var(--r-cream);
    color: var(--r-maroon);
    box-shadow: 0 4px 0 var(--r-maroon-dark);
}
body.sandbox .primary-btn:hover { background: #fff; }
body.sandbox #start-btn {
    font-family: 'Anton', sans-serif;
    font-size: 1.3rem;
    letter-spacing: 0.06em;
    padding: 0.8rem 1rem;
}
body.sandbox .success-btn {
    background: linear-gradient(180deg, #2f6e35, #1e4a24);
    color: var(--r-cream);
    border-color: #143018;
}
body.sandbox .secondary-btn {
    background: var(--r-maroon-dark);
    color: var(--r-cream);
    border-color: #2e0a10;
}

/* ---- Rangliste = Kassenbon / Papier ---- */
body.sandbox #start-leaderboard,
body.sandbox #leaderboard-card {
    background: var(--r-cream);
    color: var(--r-ink);
    border: none;
    border-radius: 4px;
    padding: 1rem 1rem 1.4rem;
    box-shadow: 0 6px 18px rgba(0,0,0,0.4);
    transform: rotate(-0.5deg);
}
body.sandbox #start-leaderboard::after,
body.sandbox #leaderboard-card::after {
    content: "";
    display: block;
    height: 10px;
    margin: 0.8rem -1rem -1.4rem;
    background:
        radial-gradient(8px at 8px 100%, transparent 96%, var(--r-cream) 0) repeat-x bottom left / 16px 10px;
}
body.sandbox #start-leaderboard > h2,
body.sandbox #leaderboard-card > h3 {
    font-family: 'Anton', sans-serif;
    color: var(--r-ink);
    font-size: 1.8rem;
    text-align: left;
    border: none;
    margin-bottom: 0.6rem;
}
body.sandbox .lb-status { color: var(--r-ink-soft); }
body.sandbox .lb-list { border-top: 2px dashed #c9b48c; padding-top: 0.3rem; }
body.sandbox .lb-row {
    font-family: 'Roboto Mono', monospace;
    color: var(--r-ink);
    border-bottom: 1px dotted #c9b48c;
    font-size: 0.82rem;
}
body.sandbox .lb-row .lb-rec { color: var(--r-ink-soft); }
body.sandbox .lb-row .lb-pts { color: var(--r-maroon); font-weight: 700; }
body.sandbox .lb-row.me { background: rgba(158,42,50,0.14); }

body.sandbox .lb-chip {
    background: var(--r-cream-2);
    color: var(--r-ink);
    border: 1px solid #c9b48c;
}
body.sandbox .lb-chip.active {
    background: var(--r-maroon);
    color: var(--r-cream);
    border-color: var(--r-maroon-dark);
}

body.sandbox #lb-name {
    background: #fff !important;
    color: var(--r-ink) !important;
    border: 2px solid #c9b48c !important;
}

/* ---- Generische Karten (andere Screens) ---- */
body.sandbox .card {
    background: var(--r-cream);
    color: var(--r-ink);
    border-color: #d8c39a;
}
body.sandbox .draft-header h2,
body.sandbox #simulation-screen > h2 { color: var(--r-cream); }

/* ---- Simulation: Kopf, Tabelle & Ergebnis-Log ---- */
body.sandbox .sim-header {
    background: linear-gradient(180deg, var(--r-red) 0%, var(--r-maroon-dark) 100%);
    border: 1px solid var(--r-maroon-dark);
    color: var(--r-cream);
    border-radius: 8px;
}
body.sandbox .sim-header h3 { color: var(--r-cream); }
body.sandbox .team-rating-badge { color: var(--r-cream); }
body.sandbox .team-rating-badge b { color: var(--r-gold); }

body.sandbox .league-table th {
    background: linear-gradient(180deg, var(--r-maroon) 0%, var(--r-maroon-dark) 100%);
    color: var(--r-cream);
    border-bottom: 2px solid var(--r-maroon-dark);
}
body.sandbox .league-table td {
    color: var(--r-ink);
    border-bottom: 1px solid #d8c39a;
}
body.sandbox .league-table tr:nth-child(odd)  { background: #f4e8cf; }
body.sandbox .league-table tr:nth-child(even) { background: #e8dabd; }
body.sandbox .league-table tr:hover { background: #f7dca6; }
body.sandbox .league-table tr.player-team {
    background: rgba(158, 42, 50, 0.20);
    border-left: 3px solid var(--r-maroon);
    color: var(--r-ink);
    font-weight: bold;
}

body.sandbox #sim-log-day { color: var(--r-ink); }
body.sandbox .sim-log {
    background: linear-gradient(180deg, #2a0e13 0%, #19070a 100%);
    border: 2px solid var(--r-maroon-dark);
    border-radius: 8px;
    color: var(--r-cream);
}
body.sandbox .sim-log .match-result { color: var(--r-cream); border-bottom: 1px solid rgba(244,232,207,0.14); }
body.sandbox .sim-log .match-result.win  { color: #8fe39a; }
body.sandbox .sim-log .match-result.draw { color: #ffd86b; }
body.sandbox .sim-log .match-result.loss { color: #ff7a82; }

body.sandbox #all-results h3 { color: var(--r-ink); }
body.sandbox #all-results .match-result { color: var(--r-ink); border-bottom: 1px solid #d8c39a; }
body.sandbox #all-results .match-result.win  { color: #1e7d2e; }
body.sandbox #all-results .match-result.draw { color: #9a6a00; }
body.sandbox #all-results .match-result.loss { color: var(--r-red); }
body.sandbox #all-results .match-result > div:first-child { color: var(--r-ink-soft) !important; }
body.sandbox #all-results .match-events { color: var(--r-ink-soft) !important; }
body.sandbox #final-table h3 { color: var(--r-ink); }

/* ---- Result-Screen: Text auf den Creme-Karten lesbar ---- */
body.sandbox #result-screen .card,
body.sandbox #result-screen .card h2,
body.sandbox #result-screen .card h3,
body.sandbox #result-screen .card p { color: var(--r-ink); }
body.sandbox #result-screen .card h2,
body.sandbox #result-screen .card h3 { text-shadow: none; }
body.sandbox #result-screen .final-score h2 { color: var(--r-ink); text-shadow: none; }
body.sandbox #result-screen #result-message { color: var(--r-ink-soft); }
body.sandbox #result-screen #final-w { color: #1e7d2e; }
body.sandbox #result-screen #final-d { color: #9a6a00; }
body.sandbox #result-screen #final-l { color: var(--r-red); }

/* ---- Retro-Scrollbars ---- */
body.sandbox { scrollbar-width: thin; scrollbar-color: var(--r-maroon) rgba(0,0,0,0.12); }
body.sandbox ::-webkit-scrollbar { width: 10px; height: 10px; }
body.sandbox ::-webkit-scrollbar-track { background: rgba(0,0,0,0.12); border-radius: 8px; }
body.sandbox ::-webkit-scrollbar-thumb {
    background: var(--r-maroon);
    border-radius: 8px;
    border: 2px solid transparent;
    background-clip: padding-box;
}
body.sandbox ::-webkit-scrollbar-thumb:hover { background: var(--r-maroon-dark); background-clip: padding-box; }
body.sandbox .sim-log::-webkit-scrollbar-thumb { background: var(--r-gold); background-clip: padding-box; }
body.sandbox .sim-log { scrollbar-color: var(--r-gold) rgba(255,255,255,0.1); }

/* ---- Spieler- & Trainer-Auswahlkarten ---- */
body.sandbox .player-opt-card,
body.sandbox .manager-card {
    background: linear-gradient(180deg, #f7eed8 0%, #ece0c4 100%);
    border: 1px solid #d8c39a;
    color: var(--r-ink);
    border-radius: 10px;
    box-shadow: 0 2px 0 rgba(0,0,0,0.18);
}
body.sandbox .player-opt-card:nth-child(even),
body.sandbox .manager-card:nth-child(even) {
    background: linear-gradient(180deg, #f1e6cb 0%, #e6d8b6 100%);
}
body.sandbox .player-opt-card:hover,
body.sandbox .manager-card:hover {
    background: linear-gradient(180deg, #fff5e2 0%, #f0e4c8 100%);
    border-color: var(--r-gold);
}
body.sandbox .player-opt-name,
body.sandbox .manager-card h4 { color: var(--r-maroon); }
body.sandbox .player-opt-meta,
body.sandbox .manager-card p { color: var(--r-ink-soft); }
body.sandbox .player-opt-rating { color: var(--r-maroon); text-shadow: none; }
body.sandbox #player-options .player-opt-card { color: var(--r-ink); }

/* ---- Prime-Pool-Karten (wie Schwierigkeits-Karten) ---- */
body.sandbox .card.pool-card {
    background: linear-gradient(180deg, #f7eed8 0%, #ece0c4 100%);
    border: 2px solid #d8c39a;
    color: var(--r-ink);
    padding: 0.7rem 0.9rem;
    box-shadow: 0 2px 0 rgba(0,0,0,0.18);
}
body.sandbox .card.pool-card:hover:not(.active) {
    background: linear-gradient(180deg, #fff5e2 0%, #f0e4c8 100%);
    border-color: var(--r-gold);
}
body.sandbox .card.pool-card h3 {
    color: var(--r-maroon);
    font-family: 'Oswald', sans-serif;
    font-size: 0.95rem;
    margin-bottom: 0.15rem;
}
body.sandbox .card.pool-card p { color: var(--r-ink-soft); font-size: 0.72rem; }
body.sandbox .card.pool-card.active {
    background: linear-gradient(180deg, var(--r-red), var(--r-maroon-dark));
    border-color: var(--r-gold);
    box-shadow: 0 0 0 3px var(--r-gold), 0 2px 0 rgba(0,0,0,0.18);
}
body.sandbox .card.pool-card.active h3 { color: #fff; }
body.sandbox .card.pool-card.active p { color: rgba(255,255,255,0.9); }
