:root {
  --bg: #0b1220;
  --panel: #121c2e;
  --panel2: #18253b;
  --text: #e8eef8;
  --muted: #9aa8bc;
  --accent: #4caf50;
  --accent2: #2d7d32;
  --danger: #c62828;
  --border: #2b3b55;
  --gold: #f6c344;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, Arial, sans-serif; background: radial-gradient(circle at top, #18263f, var(--bg) 45%); color: var(--text); min-height: 100vh; }
button, select { font: inherit; }
button { border: 1px solid var(--border); background: var(--panel2); color: var(--text); padding: 10px 14px; border-radius: 8px; cursor: pointer; }
button:hover { filter: brightness(1.15); }
button.primary { background: linear-gradient(180deg, var(--accent), var(--accent2)); border-color: #5bc760; font-weight: 700; }
button.danger { background: var(--danger); }
button.big { width: 100%; margin-top: 20px; padding: 14px; }
.topbar { display: flex; justify-content: space-between; align-items: center; padding: 18px 24px; border-bottom: 1px solid var(--border); background: rgba(8,14,25,.9); position: sticky; top: 0; z-index: 5; }
h1 { margin: 0; font-size: 24px; }
.topbar p { margin: 3px 0 0; color: var(--muted); }
.top-actions { display: flex; gap: 8px; }
.layout { display: grid; grid-template-columns: 220px 1fr; min-height: calc(100vh - 77px); }
.sidebar { padding: 16px; border-right: 1px solid var(--border); background: rgba(10,17,29,.88); }
.nav { width: 100%; text-align: left; margin-bottom: 7px; }
.nav.active { border-color: var(--accent); box-shadow: inset 3px 0 0 var(--accent); }
.content { padding: 22px; max-width: 1400px; width: 100%; margin: 0 auto; }
.grid { display: grid; gap: 16px; }
.grid.cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.card { background: linear-gradient(180deg, rgba(25,38,60,.98), rgba(17,27,44,.98)); border: 1px solid var(--border); border-radius: 12px; padding: 16px; box-shadow: 0 8px 26px rgba(0,0,0,.18); }
.card h2,.card h3 { margin-top: 0; }
.stat { font-size: 26px; font-weight: 800; }
.muted { color: var(--muted); }
.good { color: #75db7a; }
.bad { color: #ff7c7c; }
.gold { color: var(--gold); }
table { width: 100%; border-collapse: collapse; background: rgba(8,14,24,.25); }
th,td { padding: 9px 10px; border-bottom: 1px solid var(--border); text-align: left; }
th { color: #b9c8dc; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; }
tr.user-team { background: rgba(76,175,80,.16); }
.badge { display: inline-block; padding: 3px 8px; border-radius: 999px; border: 1px solid var(--border); font-size: 12px; }
.player-row { display: grid; grid-template-columns: 50px 1fr 70px 70px 90px 110px; gap: 8px; align-items: center; padding: 8px; border-bottom: 1px solid var(--border); }
.player-row.header { color: var(--muted); font-size: 12px; }
.lineup-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.lineup-slot { min-height: 90px; padding: 10px; border: 1px dashed #58708f; border-radius: 10px; background: rgba(14,25,41,.7); }
.lineup-slot select { width: 100%; margin-top: 8px; background: #0d1828; color: var(--text); border: 1px solid var(--border); padding: 7px; border-radius: 6px; }
.modal-backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.78); display: grid; place-items: center; z-index: 10; }
.modal { width: min(460px, 92vw); background: var(--panel); padding: 24px; border: 1px solid var(--border); border-radius: 14px; box-shadow: 0 20px 80px rgba(0,0,0,.55); }
.modal label { display: block; margin-bottom: 14px; }
.modal select { display: block; width: 100%; margin-top: 6px; padding: 10px; background: #0c1625; color: var(--text); border: 1px solid var(--border); border-radius: 8px; }
.hint { color: var(--muted); font-size: 13px; }
.fixture { display:flex; justify-content:space-between; gap:10px; padding:10px; border-bottom:1px solid var(--border); }
.progress { height: 10px; border-radius: 999px; background: #0b1422; overflow: hidden; border:1px solid var(--border); }
.progress > span { display:block; height:100%; background: linear-gradient(90deg,#4caf50,#9bd34d); }
@media (max-width: 900px) { .layout { grid-template-columns: 1fr; } .sidebar { position: sticky; top:77px; z-index:4; display:grid; grid-template-columns: repeat(4,1fr); gap:6px; border-right:0; border-bottom:1px solid var(--border); } .nav { font-size:12px; margin:0; } .big { grid-column: span 4; } .grid.cols-2,.grid.cols-3 { grid-template-columns:1fr; } .lineup-grid{grid-template-columns:repeat(2,1fr)} }

/* Retro graphics pack */
.brand { display:flex; align-items:center; gap:14px; }
.brand-logo { width:180px; max-height:58px; object-fit:cover; border:1px solid #8c6a28; border-radius:6px; image-rendering:auto; }
.hero-image { width:100%; height:260px; object-fit:cover; border-radius:10px; border:2px solid #8c6a28; display:block; }
.retro-strip { width:100%; height:86px; object-fit:cover; border-radius:8px; border:1px solid var(--border); display:block; }
.stadium-visual { width:100%; max-height:260px; object-fit:cover; border-radius:10px; border:2px solid #8c6a28; display:block; margin-bottom:14px; }
.icon-title { display:flex; align-items:center; gap:10px; }
.icon-title img { width:52px; height:52px; object-fit:cover; border-radius:7px; border:1px solid #8c6a28; }
.visual-caption { margin:8px 0 0; font-size:12px; color:var(--muted); }
.retro-gallery { margin-top:16px; }
@media (max-width: 700px) { .brand-logo { display:none; } .hero-image { height:180px; } }

/* Live match */
.live-match { overflow:hidden; }
.live-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:12px; }
.viz-badge { background:#b71c1c; color:#fff; border-radius:999px; padding:5px 10px; font-size:12px; font-weight:800; letter-spacing:.08em; animation:pulse 1.2s infinite; }
@keyframes pulse { 50% { opacity:.55; } }
.live-clock { font-size:24px; font-weight:800; color:var(--gold); }
.live-scoreboard { display:grid; grid-template-columns:1fr auto 1fr; gap:18px; align-items:center; text-align:center; margin:8px 0 14px; }
.live-scoreboard b { display:block; font-size:20px; }
.live-scoreboard small { color:var(--muted); }
.live-score { font-size:40px; font-weight:900; color:var(--gold); min-width:120px; }
.live-progress { margin-bottom:14px; }
.live-pitch { height:300px; }
.live-layout { margin-top:16px; }
.live-chat-card { min-height:330px; }
.live-feed { max-height:330px; overflow-y:auto; border:1px solid var(--border); border-radius:9px; background:#08111e; }
.live-line { display:grid; grid-template-columns:48px 1fr; gap:8px; padding:10px; border-bottom:1px solid #22324a; }
.live-line.goal { background:rgba(76,175,80,.18); color:#b9ffbd; font-weight:700; }
.live-line.yellow { background:rgba(246,195,68,.09); }
.live-line.final,.live-line.halftime { color:var(--gold); font-weight:700; }
.live-minute { color:var(--gold); font-weight:800; }
.live-controls { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.match-stats { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.match-stats div { padding:12px; border:1px solid var(--border); border-radius:8px; display:flex; justify-content:space-between; }
@media (max-width:700px){.live-scoreboard b{font-size:15px}.live-score{font-size:30px;min-width:85px}.live-pitch{height:190px}.live-layout{grid-template-columns:1fr}.live-feed{max-height:260px}}

/* Transferlisten-Erweiterung */
.player-row.transfer-header,.player-row.transfer-row{grid-template-columns:55px minmax(150px,1.7fr) 55px 65px 75px 115px 110px 100px;align-items:center}
.listed-label{display:inline-block;padding:4px 7px;border:1px solid #d6a93c;border-radius:4px;color:#ffd66d;background:#3a2b0c;font-size:.8rem}
.transfer-summary{align-items:start}
.offer-card{border:1px solid #48627a;background:#0d1c28;padding:14px;margin:10px 0;border-radius:6px}
.offer-price{font-size:1.35rem;font-weight:800;color:#70e089;margin:7px 0}
.offer-actions{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.price-input{width:125px;max-width:100%;padding:7px;background:#09141e;color:#fff;border:1px solid #48627a;border-radius:4px}
@media(max-width:900px){.player-row.transfer-header{display:none}.player-row.transfer-row{grid-template-columns:45px 1fr 60px 80px;gap:8px}.player-row.transfer-row span:nth-child(5),.player-row.transfer-row span:nth-child(6),.player-row.transfer-row span:nth-child(7),.player-row.transfer-row span:nth-child(8){grid-column:2 / -1}}

/* Sponsoren und Vermarktung */
.sponsor-contract{background:linear-gradient(180deg,#1a2c42,#0d1927);border:1px solid var(--border);border-radius:10px;padding:16px;min-height:130px}
.sponsor-contract h3{color:var(--gold);margin-bottom:12px}.sponsor-contract b{display:block;font-size:1.15rem;margin-bottom:8px}.sponsor-contract small{display:block;color:var(--muted);margin-top:7px}
.board-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.ad-board{min-height:72px;border:2px dashed #536477;background:#0a1420;border-radius:6px;padding:8px;text-align:center;display:flex;flex-direction:column;justify-content:center}.ad-board.occupied{border-style:solid;border-color:#b99238;background:linear-gradient(180deg,#443315,#201708)}.ad-board span,.ad-board small{font-size:.72rem;color:var(--muted)}.ad-board b{color:var(--gold);margin:3px 0;overflow-wrap:anywhere}
@media(max-width:900px){.board-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sponsor-metrics{grid-template-columns:1fr}}
@media(max-width:520px){.board-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Sichtbare Sponsoren-Navigation – Version 1.1 */
.sponsor-nav{border-color:#c79b32;background:linear-gradient(180deg,#4b3916,#2b210f);color:#ffe08a;font-weight:800}
.sponsor-nav.active{border-color:#ffd86b;box-shadow:inset 4px 0 0 #ffd86b,0 0 0 1px rgba(255,216,107,.22)}
.sponsor-quick-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#9d7930;background:linear-gradient(180deg,#3b2d13,#171d28)}
.sponsor-quick-card h2{color:var(--gold);margin-bottom:6px}
.sidebar{overflow-y:auto;max-height:calc(100vh - 77px)}
@media(max-width:900px){.sidebar{max-height:none;overflow:visible;position:static}.sponsor-nav{grid-column:span 2}.sponsor-quick-card{align-items:flex-start;flex-direction:column}}

/* Spielabrechnung Version 1.2 */
.match-finance-live{margin:0 0 14px}.metric-box{border:1px solid var(--border);border-radius:9px;padding:12px;background:#0b1725;display:flex;flex-direction:column;gap:4px}.metric-box span,.metric-box small{color:var(--muted)}.metric-box b{font-size:1.15rem;color:var(--gold)}.last-match-finance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.last-match-finance span{background:#0b1725;border:1px solid var(--border);border-radius:6px;padding:8px;font-size:.86rem}@media(max-width:700px){.match-finance-live{grid-template-columns:1fr}.last-match-finance{grid-template-columns:1fr}}

/* Version 1.3 */
body.match-running .sidebar{display:none!important}
body.match-running .layout{grid-template-columns:1fr}
body.match-running .content{max-width:1200px}
.section-toolbar,.lineup-toolbar,.transfer-sortbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:14px}
.section-toolbar h2{margin-bottom:4px}
.section-toolbar label,.lineup-toolbar label,.transfer-sortbar label,.live-tactics label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px}
.section-toolbar select,.lineup-toolbar select,.transfer-sortbar select,.live-tactics select{background:#0d1828;color:var(--text);border:1px solid var(--border);padding:8px;border-radius:6px;min-width:150px}
.lineup-averages{margin-top:16px}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.live-tactics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.suspension-label{display:inline-block;padding:2px 6px;border-radius:999px;background:#681d1d;color:#ffd1d1;font-size:11px;margin-left:5px}.card-count{display:block;color:#f6c344;margin-top:4px}.live-line.red{background:rgba(198,40,40,.2);color:#ffaaaa;font-weight:700}
@media(max-width:700px){.section-toolbar,.lineup-toolbar{align-items:stretch;flex-direction:column}.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}.live-tactics{grid-template-columns:1fr}}
/* Version 1.4 */
.club-crest{--crest-a:#1d4ed8;--crest-b:#b91c1c;display:inline-grid;place-items:center;width:42px;height:48px;clip-path:polygon(50% 0,95% 14%,90% 70%,50% 100%,10% 70%,5% 14%);background:repeating-linear-gradient(90deg,var(--crest-a) 0 10px,var(--crest-b) 10px 20px);border:2px solid #f5d76e;filter:drop-shadow(0 2px 1px #0008);flex:0 0 auto}.club-crest span{font-weight:900;font-size:12px;color:white;text-shadow:1px 1px #000}.club-crest.tiny{width:24px;height:28px}.club-crest.tiny span{font-size:8px}.club-crest.small{width:32px;height:37px}.club-crest.large{width:58px;height:66px}.club-crest.large span{font-size:16px}.club-name-crest,.club-dashboard,.roster-club-head{display:flex;align-items:center;gap:10px}.club-dashboard{justify-content:flex-start}.roster-club-head{padding:12px 0}.roster-club-head div{display:flex;flex-direction:column}.next-fixture-crests{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:15px}.next-fixture-crests>div{display:flex;flex-direction:column;align-items:center;gap:6px}.live-scoreboard>div:first-child,.live-scoreboard>div:last-child{display:flex;flex-direction:column;align-items:center;gap:5px}.momentum-panel{margin:16px 0;padding:14px;border:2px solid #54704f;background:#102d27}.momentum-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;font-size:13px}.momentum-teams>span:last-child{text-align:right}.momentum-track{position:relative;height:46px;margin-top:10px;border:3px solid #d9e4b5;border-radius:24px;background:linear-gradient(90deg,#305f34,#52854b 50%,#305f34);overflow:hidden}.momentum-track:before,.momentum-track:after{content:'';position:absolute;top:0;bottom:0;width:18%;border:2px solid #d9e4b5}.momentum-track:before{left:0}.momentum-track:after{right:0}.center-line{position:absolute;left:50%;top:0;bottom:0;border-left:2px solid #d9e4b5}.momentum-ball{position:absolute;top:7px;font-size:25px;transition:left .35s ease;z-index:2}.substitution-box{margin-top:16px;padding-top:12px;border-top:1px solid #54704f}.substitution-box label{display:block;margin:8px 0}.substitution-box select{width:100%}.finance-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:14px}.finance-column{border:1px solid #54704f;padding:12px;background:#102d27}.finance-column>div{display:flex;justify-content:space-between;gap:10px;padding:5px 0}.finance-total{border-top:1px solid #82977c;margin-top:6px;padding-top:9px!important}.finance-saldo{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border:2px solid}.finance-saldo.positive{border-color:#78b968;background:#183f28}.finance-saldo.negative{border-color:#c76a6a;background:#4a2222}.finance-saldo small{opacity:.8}.match-final-finance{margin-top:16px}.live-line{display:grid;grid-template-columns:42px 28px 1fr;align-items:center;gap:7px}.other-squads{margin-top:16px}.match-finance-live.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:760px){.finance-breakdown{grid-template-columns:1fr}.match-finance-live.cols-4{grid-template-columns:repeat(2,1fr)}.momentum-teams{grid-template-columns:1fr}.momentum-teams>span:last-child{text-align:left}.live-line{grid-template-columns:35px 26px 1fr}}

/* Version 1.5 */
.training-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.training-option{border:1px solid var(--border);border-radius:8px;padding:12px;background:rgba(255,255,255,.03)}.training-option h3{margin-top:0}.training-status{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.injured{color:#ff8a8a;font-weight:700}.fit-status{color:#8ee59a}.attribute-list{display:flex;gap:8px;flex-wrap:wrap}.attribute-chip{font-size:.82rem;padding:3px 7px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.04)}.budget-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px;padding:12px;border:1px solid var(--accent);border-radius:8px;background:rgba(255,200,0,.07)}.tactic-strengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}.tactic-strengths>div{padding:8px;border:1px solid var(--border);border-radius:6px;text-align:center}.camp-card{border-color:#b68b28}.crest-notice{font-size:.85rem;color:var(--muted);margin-top:8px}@media(max-width:800px){.training-grid,.tactic-strengths{grid-template-columns:1fr}}

/* Version 2.0 */
.facility-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.facility-item{border:1px solid var(--border,#3d5365);padding:12px;border-radius:8px;display:grid;gap:6px}.news-article{border-bottom:1px solid rgba(255,255,255,.12);padding:10px 0}.news-article h3{margin:4px 0}.transfer-budget-banner{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.transfer-budget-banner b{font-size:1.5rem}.metric-card{background:rgba(6,24,36,.85);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:14px}.viz-stat-value{font-size:1.35rem;font-weight:700;margin-top:5px}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Version 2.1 – Stadiongalerie und Spielbericht */
.stadium-upgrade-main{width:100%;display:block;border-radius:8px;aspect-ratio:1.36/1;object-fit:cover}.stadium-main-card{position:relative;overflow:hidden}.stadium-overlay{position:absolute;left:24px;right:24px;bottom:24px;background:rgba(4,13,18,.88);border:1px solid var(--border);padding:14px;border-radius:8px}.stadium-overlay h2{margin:0 0 4px;color:var(--gold)}.stadium-facility-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.stadium-facility-card{border:1px solid var(--border);border-radius:9px;overflow:hidden;background:#0a1722;display:flex;flex-direction:column}.stadium-facility-card img{width:100%;height:150px;object-fit:cover;object-position:top}.facility-card-body{padding:12px;display:grid;gap:8px;height:100%}.facility-card-body h3{margin:0;color:var(--gold)}.facility-card-body p{font-size:.86rem;color:var(--muted);min-height:42px}.facility-level{display:inline-block;width:max-content;padding:3px 8px;border:1px solid #a88634;border-radius:999px;color:#ffe08a;font-size:.78rem}.facility-card-body button{margin-top:auto}.match-report-page{display:grid;gap:16px}.report-hero{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:20px}.report-hero>div:first-child,.report-hero>div:last-child{display:flex;flex-direction:column;align-items:center;gap:8px}.report-score{font-size:3rem;font-weight:900;color:var(--gold);margin:8px 0}.report-summary-grid{align-items:stretch}.report-motm{text-align:center}.motm-rating{font-size:3rem;font-weight:900;color:#ffd75e}.report-table-card table{min-width:900px}.table-scroll{overflow-x:auto}.report-best-player{background:rgba(255,207,67,.12)}.rating{display:inline-grid;place-items:center;min-width:42px;padding:5px 7px;border-radius:6px;background:#31455a}.rating-9{background:#1c7d3c}.rating-8{background:#337b43}.rating-7{background:#557a38}.rating-6{background:#6d672e}.rating-5,.rating-4{background:#7b3434}.report-finance-detail .big{margin-top:18px;width:100%}.report-metrics{margin:0}.stadium-overview-grid{align-items:start}@media(max-width:800px){.report-hero{grid-template-columns:1fr}.report-score{font-size:2.2rem}.stadium-overview-grid{grid-template-columns:1fr}.stadium-overlay{position:static;margin-top:10px}.stadium-facility-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.stadium-facility-gallery{grid-template-columns:1fr}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Version 2.2 */
.all-results-list{display:grid;gap:7px}.all-results-list .fixture{grid-template-columns:1fr auto 1fr}.all-results-list .fixture span:last-child{text-align:right}.topbar #seasonLabel{font-weight:700;color:#f4d35e}.table-scroll{overflow-x:auto}.card select{max-width:100%}
/* V2.3 Pokale und Festgeld */
#depositAmount{width:100%;box-sizing:border-box}.fixture span{min-width:0}.fixture span:last-child{text-align:right}.card details{margin-top:10px}.card details summary{cursor:pointer;color:var(--accent,#d9b44a)}

/* Version 3.0 – PWA & Tablet Edition */
html{background:var(--bg);-webkit-text-size-adjust:100%;touch-action:manipulation}
body{padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);overscroll-behavior-y:none}
button,select,input{min-height:44px;-webkit-tap-highlight-color:transparent}
.pwa-status{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid var(--border);border-radius:999px;color:var(--muted);font-size:12px;white-space:nowrap}
.install-btn{border-color:var(--gold);color:var(--gold)}
.content{min-width:0}
.table-scroll{-webkit-overflow-scrolling:touch}
@media (hover:none){button:hover{filter:none}button:active{filter:brightness(1.18);transform:translateY(1px)}}
@media (max-width:1024px){
  .topbar{padding:12px 14px;gap:10px;align-items:flex-start}
  .brand h1{font-size:20px}.brand-logo{width:120px;height:48px}
  .top-actions{flex-wrap:wrap;justify-content:flex-end}
  .layout{grid-template-columns:190px minmax(0,1fr)}
  .sidebar{padding:10px;overflow-y:auto;max-height:calc(100dvh - 74px);position:sticky;top:74px}
  .nav{padding:11px 10px}
  .content{padding:14px}
}
@media (max-width:760px){
  .topbar{position:sticky;display:grid;grid-template-columns:1fr;align-items:stretch}
  .brand-logo{display:none}.top-actions{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}
  .top-actions button,.pwa-status{white-space:nowrap;flex:0 0 auto}
  .layout{display:block;min-height:auto}
  .sidebar{position:sticky;top:112px;max-height:none;display:flex;overflow-x:auto;overflow-y:hidden;gap:7px;padding:8px;border-right:0;border-bottom:1px solid var(--border);scrollbar-width:none}
  .sidebar::-webkit-scrollbar{display:none}
  .nav{width:auto;min-width:max-content;margin:0;text-align:center}
  .sidebar .big{min-width:150px;margin:0;order:-1}
  .content{padding:10px}
  .card{padding:12px;border-radius:10px}
  .player-row{grid-template-columns:44px 1fr 58px 64px;overflow:hidden}
  .lineup-grid{grid-template-columns:1fr}
  table{font-size:13px}th,td{padding:8px 7px}
  .modal{max-height:90dvh;overflow-y:auto}
  body.match-running .topbar{display:none}
  body.match-running .content{padding-top:8px}
}
@media (display-mode:standalone){
  .topbar{padding-top:max(12px,env(safe-area-inset-top))}
  .install-btn{display:none!important}
}

/* Version 3.2 - Historie */
.history-nav{border-color:#d6a928!important;color:#ffe49a!important}.history-page{display:grid;gap:16px}.history-header{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.history-header>div:first-child{flex:1;min-width:240px}.history-header-stat{display:grid;text-align:center;min-width:120px}.history-header-stat b{font-size:2rem;color:#f6c84b}.history-header-stat span{font-size:.82rem;color:var(--muted)}.history-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:thin}.history-tabs button{white-space:nowrap;min-height:44px}.history-tabs button.active{background:#d6a928;color:#111;border-color:#ffe18a}.history-content{overflow:hidden}.history-trophy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}.history-trophy{text-align:center}.history-cup,.history-legend-icon{font-size:2.5rem}.history-timeline{position:relative;padding-left:26px}.history-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:#3d5266}.history-timeline article{position:relative;padding:0 0 18px 10px}.timeline-dot{position:absolute;left:-23px;top:5px;width:12px;height:12px;border-radius:50%;background:#d6a928;border:2px solid #172331}.history-timeline p{margin:.25rem 0}.season-newspaper{border:2px solid #a68128;margin-bottom:16px;background:linear-gradient(180deg,rgba(214,169,40,.08),transparent)}.season-newspaper header{display:flex;justify-content:space-between;border-bottom:2px solid #a68128;padding-bottom:8px;letter-spacing:.08em}.season-newspaper .grid>div{display:grid;gap:5px}.season-newspaper small{color:var(--muted)}.history-comp{margin-bottom:14px}.history-comp details{margin-top:8px}.history-comp summary{cursor:pointer;font-weight:bold;padding:8px;background:rgba(255,255,255,.04)}
@media(max-width:700px){.history-header{align-items:flex-start}.history-header-stat{min-width:90px}.history-content{padding:12px}.history-trophy-grid{grid-template-columns:1fr 1fr}.season-newspaper .cols-3{grid-template-columns:1fr}}
/* Version 4.0 – Player DNA */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.dna-table{min-width:1180px}.dna-table th,.dna-table td{white-space:nowrap}.attribute-chip small{opacity:.72;margin-right:3px}.live-line.header{border-left-color:#d7a72d}.live-line.injury{border-left-color:#cf4c4c}.player-dna-summary{display:flex;gap:8px;flex-wrap:wrap}.player-dna-summary .attribute-chip{min-width:110px}

/* Version 4.1 – Taktiktafel */
.tactical-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;margin-bottom:16px}.formation-control{min-width:150px}.formation-control select{width:100%;margin-top:5px}.tactical-workspace{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);gap:18px;align-items:start}.pitch-panel{min-width:0}.football-pitch{position:relative;aspect-ratio:68/105;max-height:680px;margin:0 auto;background:repeating-linear-gradient(90deg,#19783b 0,#19783b 12.5%,#218544 12.5%,#218544 25%);border:4px solid rgba(255,255,255,.8);border-radius:12px;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(0,0,0,.25)}.pitch-markings span{position:absolute;display:block;pointer-events:none}.halfway{left:0;right:0;top:50%;border-top:2px solid rgba(255,255,255,.75)}.center-circle{left:50%;top:50%;width:22%;aspect-ratio:1;border:2px solid rgba(255,255,255,.75);border-radius:50%;transform:translate(-50%,-50%)}.box{left:22%;width:56%;height:16%;border:2px solid rgba(255,255,255,.75)}.box-top{top:-2px}.box-bottom{bottom:-2px}.pitch-slot{position:absolute;transform:translate(-50%,-50%);width:112px;min-height:58px;padding:5px 7px;border:2px dashed rgba(255,255,255,.8);border-radius:10px;background:rgba(3,27,15,.72);color:#fff;text-align:center;line-height:1.1;cursor:pointer;touch-action:manipulation}.pitch-slot.occupied{border-style:solid;background:rgba(7,45,25,.92)}.pitch-slot.ready-to-drop{box-shadow:0 0 0 3px rgba(255,213,64,.45)}.pitch-slot.drag-over{outline:4px solid #ffd540;background:#315f2d}.pitch-slot b,.pitch-slot small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pitch-slot b{font-size:.8rem;margin-top:2px}.pitch-slot small{font-size:.7rem;color:#d9f4df}.slot-position{display:inline-block;padding:2px 6px;border-radius:99px;background:#ffd540;color:#182112;font-size:.68rem;font-weight:800}.squad-panel{border:1px solid var(--border,#3a4a3f);border-radius:12px;background:rgba(0,0,0,.12);overflow:hidden}.squad-panel-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border,#3a4a3f)}.squad-panel-head h3{margin:0}.tactical-squad-list{display:flex;flex-direction:column;gap:7px;padding:10px;max-height:680px;overflow:auto}.tactical-player{display:flex;align-items:center;gap:9px;width:100%;padding:9px;text-align:left;border-radius:9px}.tactical-player-pos{flex:0 0 34px;text-align:center;font-weight:800}.tactical-player-main{min-width:0;flex:1}.tactical-player-main b,.tactical-player-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tactical-player-main small{margin-top:2px}.tactical-player.is-fielded{opacity:.58}.tactical-player.is-selected{outline:3px solid #ffd540;opacity:1}.tactical-player.is-unavailable{opacity:.35}.fielded-check{font-weight:900}.tactical-hint{font-size:.85rem;margin-top:10px}.match-running .tactical-page{pointer-events:none}
@media(max-width:900px){.tactical-workspace{grid-template-columns:1fr}.football-pitch{max-height:none;width:min(100%,560px)}.tactical-squad-list{max-height:390px}.pitch-slot{width:100px}}
@media(max-width:520px){.tactical-header{align-items:stretch;flex-direction:column}.football-pitch{aspect-ratio:68/110}.pitch-slot{width:82px;min-height:52px;padding:4px}.pitch-slot b{font-size:.7rem}.pitch-slot small{font-size:.62rem}.slot-position{font-size:.6rem}.tactical-player{padding:10px 8px}}

/* Version 4.2 – Taktik & Spielstil */
.tactics-42{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.tactics-42 label{display:flex;flex-direction:column;gap:5px;font-size:.9rem}
.live-tactic-stats{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin:12px 0;padding:10px 14px}
.live-tactic-stats span{display:flex;gap:6px;align-items:center}
.tactic-strengths-42{grid-template-columns:repeat(4,minmax(0,1fr))}
.tactic-explanation{margin-top:8px}
@media(max-width:760px){.tactics-42{grid-template-columns:1fr}.tactic-strengths-42{grid-template-columns:repeat(2,minmax(0,1fr))}.live-tactic-stats{gap:10px}}
/* V4.3 Ereignisse */
.event-nav{border-color:#b48a2b!important}.event-modal-backdrop{position:fixed;inset:0;background:rgba(4,8,12,.86);z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.event-modal{width:min(620px,96vw);background:linear-gradient(180deg,#18231d,#0f1713);border:2px solid #d3a62c;border-radius:14px;padding:26px;box-shadow:0 25px 80px #000;color:#f3f0df}.event-modal h2{font-size:28px;margin:8px 0 12px}.event-modal p{font-size:17px;line-height:1.55}.event-category{display:inline-block;background:#d3a62c;color:#111;padding:5px 10px;border-radius:999px;font-weight:800;text-transform:uppercase;font-size:12px}.event-choices{display:grid;gap:10px;margin:22px 0}.event-choices button{min-height:48px;font-size:15px}.event-history{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}.event-history:last-child{border-bottom:0}.event-history h3{margin:4px 0}.event-history p{margin:5px 0}@media(max-width:800px){.event-modal{padding:20px}.event-modal h2{font-size:23px}.event-modal p{font-size:16px}.event-choices button{min-height:54px}}
.contract-negotiation{margin:18px 0;padding:16px;border:2px solid var(--accent,#d5aa35);border-radius:10px;background:rgba(213,170,53,.08)}
.contract-form{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin:14px 0}.contract-form label{display:flex;flex-direction:column;gap:5px}.contract-form input,.contract-form select{width:100%;box-sizing:border-box}.table-scroll{overflow-x:auto}.warn{color:#f5b942}.bad{color:#ff6b6b}.good{color:#64d98b}
@media(max-width:900px){.contract-form{grid-template-columns:1fr 1fr}.contract-summary table{min-width:900px}}
@media(max-width:520px){.contract-form{grid-template-columns:1fr}}
/* V4.5 Karrierewelt */
.viz-stat-value.small{font-size:1rem;line-height:1.25}.offer-card{margin:10px 0;padding:12px;border:1px solid var(--border,#334155);border-radius:10px}.viz-callout{margin:8px 0;padding:12px;border-left:4px solid #eab308;background:rgba(234,179,8,.09)}

/* Version 4.6 – Spielersuche */
.player-search-panel{margin-bottom:16px}.transfer-budget-chip{padding:10px 14px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.04)}
.search-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.search-filter-grid label{display:flex;flex-direction:column;gap:5px;font-size:.9rem}.search-filter-grid input,.search-filter-grid select{width:100%}.search-filter-grid .filter-check{flex-direction:row;align-items:center;padding-top:26px}.search-filter-grid .filter-check input{width:auto}.search-actions{display:flex;gap:8px;margin-top:14px}.player-search-table td small{display:block;color:var(--muted);margin-top:3px}.player-search-table .listed-label{display:block;width:max-content;margin-top:4px}.legacy-transfer-area{margin-top:16px}.legacy-transfer-area>summary{cursor:pointer;padding:14px;border:1px solid var(--border);border-radius:10px;font-weight:700;background:rgba(255,255,255,.035)}
@media(max-width:900px){.search-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.search-filter-grid{grid-template-columns:1fr}.search-filter-grid .filter-check{padding-top:4px}}

/* Version 4.7 – UI- und Übersichtlichkeits-Überarbeitung */
:root{
  --bg:#071019;--panel:#101c29;--panel2:#17283a;--panel3:#1e3247;
  --text:#eef5fb;--muted:#93a8ba;--accent:#69bd45;--accent2:#3d8f2e;
  --danger:#d64f4f;--warning:#e7b84a;--border:#2c4254;--gold:#f3c94d;
  --shadow:0 12px 34px rgba(0,0,0,.24);--radius:14px
}
html{scroll-behavior:smooth}
body{background:
  radial-gradient(circle at 78% -10%,rgba(63,137,91,.18),transparent 35%),
  radial-gradient(circle at -5% 40%,rgba(39,87,129,.18),transparent 32%),
  linear-gradient(145deg,#08121b,#0a1622 48%,#071019);font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
button,select,input,textarea{font:inherit}
button{transition:transform .16s ease,filter .16s ease,border-color .16s ease,background .16s ease}
button:hover{filter:none;transform:translateY(-1px);border-color:#567088}
button:active{transform:translateY(0)}
button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid rgba(105,189,69,.35);outline-offset:2px}
select,input,textarea{background:#0a1723;color:var(--text);border:1px solid var(--border);border-radius:9px;padding:9px 10px}
.topbar{min-height:82px;padding:12px 20px;background:rgba(5,12,19,.94);backdrop-filter:blur(14px);box-shadow:0 8px 26px rgba(0,0,0,.22)}
.brand-logo{width:150px;height:52px;object-fit:cover;border-color:#9b7d33;box-shadow:0 4px 18px rgba(0,0,0,.3)}
.brand h1{font-size:clamp(20px,2vw,28px);letter-spacing:.01em}
.topbar p{font-size:13px}
.top-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.top-actions button{padding:8px 11px;font-size:13px;background:#122131}
.pwa-status{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #355268;border-radius:999px;background:#0d1b28;font-size:12px;color:#b9cbd9}
.pwa-status:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.layout{grid-template-columns:244px minmax(0,1fr);min-height:calc(100vh - 82px)}
.sidebar{position:sticky;top:82px;height:calc(100vh - 82px);overflow-y:auto;padding:14px 12px 104px;background:linear-gradient(180deg,rgba(8,18,28,.97),rgba(7,15,23,.98));border-right:1px solid #23394b;scrollbar-width:thin}
.nav-section{margin-bottom:14px}
.nav-section-title{padding:7px 10px 5px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#6f899d}
.nav{display:flex;align-items:center;gap:10px;width:100%;min-height:39px;margin:2px 0;padding:8px 10px;border-color:transparent;background:transparent;color:#bfd0de;border-radius:9px;font-size:13px}
.nav>span{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#15293a;color:#9fbdcf;font-size:13px;font-weight:800;flex:0 0 auto}
.nav:hover{background:#122436;color:#fff;border-color:#29485d}
.nav.active{background:linear-gradient(90deg,rgba(105,189,69,.2),rgba(105,189,69,.05));color:#fff;border-color:rgba(105,189,69,.42);box-shadow:inset 3px 0 0 var(--accent)}
.nav.active>span{background:var(--accent);color:#07120a}
.sponsor-nav,.event-nav,.history-nav{color:#d7c38d!important;border-color:transparent!important}
.sidebar-week-action{position:fixed;left:0;bottom:0;width:244px;padding:14px 12px max(14px,env(safe-area-inset-bottom));background:linear-gradient(0deg,#071019 75%,rgba(7,16,25,0));z-index:6}
.sidebar-week-action .big{margin:0;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 24px rgba(74,158,52,.28)}
.content{padding:24px 28px 54px;max-width:1540px}
.content>h2:first-child,.content>h1:first-child{margin-top:0;font-size:clamp(24px,3vw,34px);letter-spacing:-.02em}
.grid{gap:18px}
.card{background:linear-gradient(180deg,rgba(21,37,52,.97),rgba(12,25,37,.97));border-color:#294154;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.card:hover{border-color:#36566c}
.card h2,.card h3{letter-spacing:-.01em}.card h2{font-size:21px}.card h3{font-size:17px;color:#dce8f1}
.stat{font-size:clamp(24px,3vw,34px);letter-spacing:-.03em}
.badge,.viz-badge{background:#142637;border-color:#395467;color:#dce9f2;font-weight:700}
.good{color:#7edb72}.bad{color:#ff7777}.warn{color:#f4c55d}.gold{color:#ffd95f}
.table-scroll{border:1px solid #294154;border-radius:12px;background:#0b1722}
table{background:transparent}
th{position:sticky;top:0;z-index:1;background:#132536;color:#8fa8ba;font-size:11px;padding:11px 12px}
td{padding:10px 12px;border-color:#263d50;font-size:13px}
tbody tr{transition:background .12s ease}
tbody tr:hover{background:rgba(78,130,165,.09)}
tr.user-team{background:rgba(105,189,69,.15)!important;box-shadow:inset 3px 0 0 var(--accent)}
.progress{height:9px;border-color:#294659;background:#08131d}.progress>span{background:linear-gradient(90deg,#4d9f38,#8dd35b)}
.fixture{align-items:center;padding:12px 10px;border-color:#263d50;border-radius:8px}.fixture:hover{background:rgba(255,255,255,.025)}
.modal-backdrop{backdrop-filter:blur(8px);background:rgba(1,7,11,.82)}
.modal{border-color:#466178;background:linear-gradient(180deg,#172838,#0d1b28);border-radius:18px;box-shadow:0 28px 90px rgba(0,0,0,.65)}
.modal h2{font-size:27px;margin-top:0}
.modal select{min-height:44px;background:#091722}
.search-filter-grid,.contract-form,.tactics-42{background:rgba(5,13,20,.25);padding:14px;border:1px solid #294154;border-radius:12px}
.search-actions{flex-wrap:wrap}.search-actions button{min-height:40px}
.transfer-budget-chip{background:linear-gradient(135deg,rgba(105,189,69,.12),rgba(255,207,79,.08));border-color:#42614f;font-weight:700}
.player-row{border-color:#294154;border-radius:8px;margin-bottom:4px}.player-row:hover{background:rgba(255,255,255,.03)}
.squad-panel{background:#0b1722;border-color:#2a4559}.squad-panel-head{background:#112536}
.tactical-player{border-color:#29475c;background:#102333}.tactical-player:hover{background:#173047}
.football-pitch{box-shadow:inset 0 0 0 2px rgba(0,0,0,.3),0 18px 45px rgba(0,0,0,.3)}
.pitch-slot{backdrop-filter:blur(4px);box-shadow:0 5px 12px rgba(0,0,0,.18)}
.event-modal{border-radius:18px;background:linear-gradient(180deg,#182a25,#0c1814)}
.history-tabs{padding:4px 0 10px}.history-tabs button{background:#102333}.history-content{border-radius:14px}
.hero-image,.stadium-visual,.retro-strip{box-shadow:0 10px 28px rgba(0,0,0,.25)}

@media(max-width:1100px){
  .layout{grid-template-columns:210px minmax(0,1fr)}
  .sidebar-week-action{width:210px}.nav{font-size:12px;padding:8px}.content{padding:20px}
  .brand-logo{width:120px}
}
@media(max-width:900px){
  .topbar{position:sticky;min-height:auto;align-items:flex-start;gap:10px;padding:10px 12px}
  .brand-logo{display:none}.brand h1{font-size:20px}.topbar p{font-size:11px}
  .top-actions{gap:5px}.top-actions button{padding:7px 9px;font-size:12px}
  .layout{display:block}.sidebar{position:sticky;top:70px;height:auto;overflow-x:auto;overflow-y:hidden;display:flex;gap:6px;padding:8px 10px;border-right:0;border-bottom:1px solid #2a4254;z-index:5;scroll-snap-type:x proximity}
  .nav-section{display:contents}.nav-section-title{display:none}.nav{min-width:max-content;width:auto;margin:0;padding:8px 11px;scroll-snap-align:start}.nav>span{width:19px;height:19px}
  .sidebar-week-action{position:fixed;left:auto;right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:auto;padding:0;background:none;z-index:8}.sidebar-week-action .big{width:auto;padding:12px 18px;border-radius:999px;box-shadow:0 8px 28px rgba(0,0,0,.42)}
  .content{padding:18px 14px 90px}.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}
}
@media(max-width:600px){
  .topbar{flex-direction:column}.top-actions{width:100%;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.top-actions>*{white-space:nowrap}
  .sidebar{top:105px}.content{padding-top:14px}.card{padding:14px;border-radius:12px}.grid{gap:12px}
  th,td{padding:9px 10px}.stat{font-size:27px}.hero-image{height:170px}
  .search-filter-grid,.contract-form,.tactics-42{padding:10px}.sidebar-week-action .big{font-size:13px;padding:11px 14px}
}


/* V4.7.6 – kompakter Kopfbereich */
@media (min-width: 761px){
  .topbar{
    min-height:0 !important;
    padding:6px 12px !important;
    gap:10px !important;
    align-items:center !important;
  }
  .brand{gap:8px !important;align-items:center !important}
  .brand-logo{
    width:86px !important;
    height:34px !important;
    max-height:34px !important;
    border-radius:5px !important;
  }
  .brand h1{
    font-size:17px !important;
    line-height:1.05 !important;
    margin:0 !important;
  }
  .topbar p{
    font-size:10px !important;
    line-height:1.1 !important;
    margin:2px 0 0 !important;
  }
  .top-actions{gap:4px !important;flex-wrap:nowrap !important}
  .top-actions button{
    min-height:32px !important;
    padding:5px 8px !important;
    font-size:11px !important;
  }
  .pwa-status{
    padding:4px 7px !important;
    font-size:10px !important;
  }
}
@media (max-width:760px){
  .topbar{padding:7px 9px !important;gap:5px !important}
  .brand h1{font-size:17px !important;line-height:1.05 !important}
  .topbar p{font-size:9px !important;margin:2px 0 0 !important}
  .top-actions button{min-height:34px !important;padding:5px 8px !important;font-size:11px !important}
  .pwa-status{padding:4px 7px !important;font-size:10px !important}
}

/* V4.8 - Animierte Spielszenen */
.match-scene-overlay{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(1,7,12,.84);backdrop-filter:blur(8px)}
.match-scene-modal{width:min(880px,96vw);max-height:92vh;overflow:auto;background:linear-gradient(180deg,#142635,#091621);border:1px solid #58748a;border-radius:18px;box-shadow:0 30px 100px rgba(0,0,0,.72);padding:14px}
.match-scene-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.match-scene-head h2{margin:5px 0 0;font-size:22px}.match-scene-close{width:42px;height:42px;border-radius:50%;font-size:25px;padding:0;flex:0 0 auto}
.match-scene-club{display:flex;gap:8px;align-items:center;font-weight:800;margin:7px 0 10px}.match-scene-video{display:block;width:100%;aspect-ratio:16/9;object-fit:contain;background:#000;border-radius:12px;border:1px solid #314a5e}
.match-scene-caption{margin-top:10px;padding:10px 12px;border-radius:10px;background:#102b1a;border-left:4px solid #6bbd45;font-weight:700}.match-scene-loading{font-size:11px;color:#8fa8ba;margin-top:7px}
.live-line.scene{background:rgba(78,130,165,.12);border-left:3px solid #68b6ea;padding-left:7px}.live-line.scene .live-minute{color:#68b6ea}
.goal-celebration-overlay{background:rgba(0,0,0,.76);animation:goalFlash .22s ease-out}.goal-celebration-card{position:relative;width:min(620px,92vw);animation:goalPop .34s cubic-bezier(.2,1.25,.35,1)}.goal-celebration-card img{width:100%;display:block;border-radius:18px;border:2px solid #e7b838;box-shadow:0 0 60px rgba(255,194,45,.32)}.goal-celebration-score{position:absolute;left:50%;bottom:9%;transform:translateX(-50%);font-size:clamp(28px,7vw,58px);font-weight:1000;color:white;text-shadow:0 4px 10px #000,0 0 22px #000;letter-spacing:.08em}
@keyframes goalPop{from{opacity:0;transform:scale(.55) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes goalFlash{from{background:rgba(255,199,42,.36)}to{background:rgba(0,0,0,.76)}}
@media(max-width:700px){.match-scene-overlay{padding:6px;align-items:center}.match-scene-modal{width:100%;padding:9px;border-radius:14px}.match-scene-head h2{font-size:17px}.match-scene-close{width:36px;height:36px}.match-scene-caption{font-size:12px}.goal-celebration-card{width:96vw}}

/* V4.8.1 – spoilerfreie Spielszenen */
.spoiler-free-scene .spoiler-free-modal{
  position:relative;
  padding:0 !important;
  overflow:hidden;
  background:#05090d;
  border:1px solid #3b5366;
  max-width:min(980px,94vw);
}
.spoiler-free-scene .match-scene-head,
.spoiler-free-scene .match-scene-club,
.spoiler-free-scene .match-scene-caption{
  display:none !important;
}
.spoiler-free-video{
  display:block;
  width:100%;
  max-height:82vh;
  background:#000;
  border:0 !important;
  border-radius:inherit;
}
.spoiler-free-close{
  position:absolute !important;
  z-index:4;
  top:8px;
  right:8px;
  width:36px;
  height:36px;
  border-radius:50%;
  padding:0 !important;
  font-size:24px !important;
  line-height:1;
  color:#fff;
  background:rgba(0,0,0,.55) !important;
  border:1px solid rgba(255,255,255,.3) !important;
}
.spoiler-free-loading{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  pointer-events:none;
  background:#05090d;
  font-size:0 !important;
}
.scene-spinner{
  width:34px;height:34px;border-radius:50%;
  border:3px solid rgba(255,255,255,.18);
  border-top-color:#f1c54a;
  animation:sceneSpin .8s linear infinite;
}
@keyframes sceneSpin{to{transform:rotate(360deg)}}

/* V4.8.3 – Donation */
.donate-btn{
  background:linear-gradient(135deg,#b83b58,#7e2740)!important;
  border-color:#d85f79!important;color:#fff!important;font-weight:800;
}
.donate-btn:hover{filter:brightness(1.1)}
.donation-backdrop[hidden]{display:none!important}
.donation-backdrop{z-index:120!important}
.donation-modal{position:relative;max-width:470px;text-align:center;padding:28px!important}
.donation-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border-radius:50%;padding:0!important;font-size:24px}
.donation-heart{font-size:46px;line-height:1;margin-bottom:10px;filter:drop-shadow(0 5px 16px rgba(220,50,90,.35))}
.donation-modal h2{margin-bottom:8px}
.donation-modal p{line-height:1.55}
.donation-note{font-size:11px;margin-top:14px}
body.donation-open{overflow:hidden}


/* =========================================================
   V4.8.5 – VISUAL REFRESH / STADIUM ATMOSPHERE
   ========================================================= */
:root{
  --bg:#061019;
  --panel:#0c1a26;
  --panel2:#122536;
  --border:#29495d;
  --accent:#68bd45;
  --accent2:#2f7830;
  --gold:#f3c64f;
  --glass:rgba(8,20,30,.88);
}
html{background:#061019}
body{
  background:#061019 url("assets/background-stadium.jpg") center center/cover fixed no-repeat !important;
  position:relative;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(3,10,16,.72),rgba(5,14,21,.88) 45%,rgba(3,9,14,.94)),
    radial-gradient(circle at 50% 12%,rgba(104,189,69,.10),transparent 32%);
}
.topbar{
  background:linear-gradient(180deg,rgba(5,14,22,.96),rgba(7,18,27,.91)) !important;
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(97,132,154,.42) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.26);
}
.sidebar{
  background:linear-gradient(180deg,rgba(5,15,23,.95),rgba(6,18,27,.88)) !important;
  backdrop-filter:blur(13px);
  border-right:1px solid rgba(75,112,135,.45) !important;
}
.nav{
  border-color:transparent !important;
  background:transparent !important;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.nav:hover{background:rgba(255,255,255,.055)!important;transform:translateX(2px)}
.nav.active{
  background:linear-gradient(90deg,rgba(104,189,69,.19),rgba(104,189,69,.035))!important;
  border-color:rgba(104,189,69,.34)!important;
  box-shadow:inset 3px 0 0 var(--accent),0 0 18px rgba(61,124,58,.12)!important;
}
.content{max-width:1580px}
.card{
  background:linear-gradient(180deg,rgba(13,30,43,.94),rgba(6,17,26,.94)) !important;
  border:1px solid rgba(61,91,111,.72) !important;
  box-shadow:0 12px 34px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.025) !important;
  backdrop-filter:blur(10px);
}
.card:hover{border-color:rgba(83,120,143,.85)}
.card h2,.card h3{letter-spacing:.01em}
.metric-box,.stat-box{
  background:linear-gradient(180deg,rgba(17,39,54,.82),rgba(7,20,29,.82)) !important;
  border-color:rgba(64,99,120,.72)!important;
}
button{
  transition:transform .12s ease,filter .12s ease,border-color .12s ease;
}
button:hover{transform:translateY(-1px)}
button.primary{
  background:linear-gradient(180deg,#6ec24b,#3d8b34)!important;
  box-shadow:0 5px 16px rgba(62,137,51,.18);
}
.table-scroll{background:rgba(4,13,20,.74)!important}
th{background:rgba(14,35,49,.97)!important}
tbody tr:hover{background:rgba(100,169,203,.065)!important}
.hero-image{
  width:100%;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(85,119,139,.65);
  box-shadow:0 14px 36px rgba(0,0,0,.32);
}

/* LIVE MATCH: more football, less chrome */
body.match-running{
  background:#03090d url("assets/background-match.jpg") center center/cover fixed no-repeat !important;
  overflow:hidden;
}
body.match-running::before{
  background:linear-gradient(180deg,rgba(1,7,10,.56),rgba(2,9,13,.79)) !important;
}
body.match-running .content{
  max-width:none !important;
  width:100vw !important;
  height:100vh !important;
  margin:0 !important;
  padding:6px !important;
  overflow:hidden !important;
}
body.match-running .live-match.card{
  height:calc(100vh - 12px);
  min-height:0;
  padding:7px 10px 8px !important;
  margin:0 !important;
  border-radius:13px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg,rgba(5,18,27,.91),rgba(3,13,20,.95)) !important;
  box-shadow:0 0 0 1px rgba(84,121,143,.28),0 22px 70px rgba(0,0,0,.5)!important;
}
body.match-running .live-top{
  min-height:22px;
  margin:0 0 2px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
body.match-running .live-clock{
  font-size:15px!important;
  padding:2px 8px!important;
}
body.match-running .live-scoreboard{
  margin:0 0 4px !important;
  gap:8px !important;
  min-height:48px;
  padding:0 8px;
}
body.match-running .live-scoreboard b{font-size:16px!important}
body.match-running .live-scoreboard small{font-size:10px!important}
body.match-running .live-score{font-size:30px!important;line-height:1!important}
body.match-running .club-crest.large{width:38px!important;height:43px!important}
body.match-running .club-crest.large span{font-size:10px!important}

body.match-running .match-finance-live{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:5px!important;
  margin:0 0 4px!important;
}
body.match-running .match-finance-live .metric-box{
  min-height:38px!important;
  padding:5px 8px!important;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:6px;
}
body.match-running .match-finance-live .metric-box span{font-size:10px!important}
body.match-running .match-finance-live .metric-box b{font-size:12px!important}

body.match-running .live-progress{height:5px!important;margin:0 0 4px!important}
body.match-running .momentum-panel{
  margin:0 0 5px!important;
  padding:4px 8px 6px!important;
  background:rgba(4,15,22,.78);
  border:1px solid rgba(52,87,107,.62);
  border-radius:9px;
}
body.match-running .momentum-teams{font-size:10px!important;margin-bottom:2px!important}
body.match-running .momentum-track{height:24px!important}
body.match-running .momentum-ball{font-size:18px!important;top:0!important}

body.match-running .live-layout{
  margin-top:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.5fr) minmax(310px,.72fr)!important;
  gap:7px!important;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}
body.match-running .live-layout>.card{
  margin:0!important;
  padding:8px 10px!important;
  min-height:0;
  overflow:hidden;
}
body.match-running .live-layout h2{
  font-size:14px!important;
  margin:0 0 5px!important;
}
body.match-running .live-chat-card{
  display:flex;
  flex-direction:column;
}
body.match-running .live-feed{
  max-height:none!important;
  height:auto!important;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto!important;
  border-radius:8px!important;
  background:rgba(2,11,17,.83)!important;
}
body.match-running .live-line{
  padding:6px 8px!important;
  font-size:12px!important;
}
body.match-running .live-controls{
  display:flex!important;
  flex-wrap:wrap;
  gap:5px!important;
}
body.match-running .live-controls button{
  min-height:30px!important;
  padding:4px 8px!important;
  font-size:11px!important;
}
body.match-running .live-tactics{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:5px!important;
  margin:6px 0!important;
}
body.match-running .live-tactics label{font-size:10px!important;gap:2px!important}
body.match-running .live-tactics select{
  min-width:0!important;
  width:100%!important;
  min-height:31px!important;
  padding:4px 5px!important;
  font-size:11px!important;
}
body.match-running .substitution-box{
  margin-top:5px!important;
  padding-top:5px!important;
}
body.match-running .substitution-box h3{
  font-size:12px!important;
  margin:0 0 3px!important;
}
body.match-running .substitution-box label{
  margin:4px 0!important;
  font-size:10px!important;
}
body.match-running .substitution-box select{
  min-height:30px!important;
  padding:3px 5px!important;
  font-size:11px!important;
}
body.match-running .substitution-box button{
  min-height:31px!important;
  padding:4px 7px!important;
  font-size:11px!important;
}

/* Tablet / narrow live view */
@media(max-width:900px){
  body.match-running{overflow:auto!important}
  body.match-running .content{height:auto!important;min-height:100vh!important;overflow:visible!important}
  body.match-running .live-match.card{height:auto!important;min-height:calc(100vh - 12px)}
  body.match-running .live-layout{grid-template-columns:1fr!important;overflow:visible!important}
  body.match-running .live-feed{max-height:44vh!important;min-height:260px}
  body.match-running .live-tactics{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:560px){
  body.match-running .match-finance-live{grid-template-columns:repeat(2,1fr)!important}
  body.match-running .live-scoreboard{grid-template-columns:1fr auto 1fr!important}
  body.match-running .live-scoreboard b{font-size:12px!important}
  body.match-running .club-crest.large{width:30px!important;height:35px!important}
}

/* V4.8.6b – Video-Overlay-Fix
   Das hidden-Attribut der Ladeflaeche muss das display:grid der
   spoilerfreien Ladeebene sicher ueberschreiben. */
.spoiler-free-loading[hidden],
.match-scene-loading[hidden]{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
}

/* V4.8.6c – Matchclip als echtes Overlay ueber dem Live-Spiel
   Desktop: Ticker links bleibt sichtbar, Clip liegt rechts ueber den Steuerungen. */
body.match-running .match-scene-overlay.spoiler-free-scene{
  align-items:flex-start !important;
  justify-content:flex-end !important;
  padding:72px 18px 18px !important;
  background:rgba(1,7,12,.06) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  pointer-events:none;
}
body.match-running .match-scene-overlay.spoiler-free-scene .match-scene-modal{
  pointer-events:auto;
  width:min(560px,42vw) !important;
  max-width:42vw !important;
  max-height:calc(100vh - 92px) !important;
  box-shadow:0 18px 70px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.08) !important;
}
body.match-running .match-scene-overlay.spoiler-free-scene .spoiler-free-video{
  width:100% !important;
  max-height:calc(100vh - 96px) !important;
  object-fit:contain !important;
}

/* Auf Tablets und Handys ist ein zentrierter Clip besser lesbar. */
@media(max-width:900px){
  body.match-running .match-scene-overlay.spoiler-free-scene{
    align-items:center !important;
    justify-content:center !important;
    padding:10px !important;
    background:rgba(1,7,12,.26) !important;
  }
  body.match-running .match-scene-overlay.spoiler-free-scene .match-scene-modal{
    width:min(760px,94vw) !important;
    max-width:94vw !important;
  }
}
