/* Phase 13 — helle, freundliche Steampunk-/Arcade-Farbwelt
   Layout, Typografie und mechanische Grundform bleiben erhalten. */
:root{
  --bg:#f3ecdf!important;
  --panel:#fffaf0!important;
  --panel2:#f8ecd6!important;
  --panel-2:#f8ecd6!important;
  --panel-3:#eaf7f5!important;
  --brass:#a36b22!important;
  --brass2:#c98c32!important;
  --brass-hi:#c98c32!important;
  --brass-light:#c98c32!important;
  --copper:#ad633b!important;
  --cream:#33271b!important;
  --text:#33271b!important;
  --soft:#6d604d!important;
  --text-soft:#6d604d!important;
  --muted:#7c705d!important;
  --cyan:#087f83!important;
  --pink:#c53b79!important;
  --gold:#a76c00!important;
  --green:#258446!important;
  --blue:#356eb9!important;
  --violet:#7553b5!important;
  --orange:#c65b31!important;
  --red:#bd3047!important;
  --danger:#bd3047!important;
  --line:rgba(129,88,38,.34)!important;
  --shadow:0 20px 48px rgba(70,45,18,.15)!important;
  color-scheme:light!important;
}
html{background:#f3ecdf!important;color-scheme:light!important}
body{
  color:#33271b!important;
  background:
    radial-gradient(circle at 9% 4%,rgba(197,59,121,.09),transparent 25rem),
    radial-gradient(circle at 91% 8%,rgba(8,127,131,.10),transparent 25rem),
    radial-gradient(circle at 50% 90%,rgba(167,108,0,.08),transparent 32rem),
    repeating-linear-gradient(0deg,rgba(76,52,25,.018) 0 1px,transparent 1px 5px),
    linear-gradient(180deg,#fffaf0,#efe4d1)!important;
}

/* Gemeinsame Maschinenoberflächen */
.topbar,.page,.card,.panel,.content-panel,.table-card,.schedule-day,.subtable-shell,.summary-card,.footer-unit,
.overlay-banner,.mini-card,.analysis-panel,.record-card,.item-card,.stat-card{
  color:#33271b!important;
  border-color:rgba(129,88,38,.34)!important;
  box-shadow:0 12px 30px rgba(70,45,18,.10),inset 0 0 0 1px rgba(255,255,255,.62)!important;
}
.topbar{
  background:linear-gradient(180deg,#fffdf7,#f1e3cd)!important;
}
.page{
  background:rgba(255,250,240,.96)!important;
  border-color:#b57b36!important;
}
.page:before,.page:after{
  opacity:.58!important;
  background:radial-gradient(circle at 10px 5px,#f0c36e 0 2px,#93602a 3px 4px,transparent 5px) 0 0/28px 10px repeat-x,linear-gradient(180deg,#d8a459,#f0d397 45%,#b67835 52%,#8a5929)!important;
}
.hero,.header{
  color:#33271b!important;
  background:
    radial-gradient(circle at 15% 15%,rgba(197,59,121,.10),transparent 28%),
    radial-gradient(circle at 84% 20%,rgba(8,127,131,.10),transparent 30%),
    linear-gradient(180deg,#fff8e9,#f4e6cf)!important;
  border-color:#c18b49!important;
}
.hero:after{background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(91,62,28,.035) 3px 4px)!important}
.hero h1,.header h1,.table-title,.schedule-day h2,.panel-title,.subtable-title,.card-title,.item-title,.modal-title{
  color:#3c2c1d!important;
  text-shadow:0 2px 0 rgba(255,255,255,.8),0 5px 14px rgba(81,47,17,.12)!important;
}
.hero-text,.table-subtitle,.panel-subtitle,.card-subtitle,.item-text,.modal-text,.footer-note,.muted{
  color:#6d604d!important;
}
.brand,.brand strong,.brand-copy strong,.mobile-brand-copy strong{color:#50361e!important;text-shadow:none!important}
.brand-mark,.brand-wheel,.mobile-logo{
  color:#fff!important;
  background:linear-gradient(145deg,#0f9ca0,#356eb9)!important;
  border-color:#9d6725!important;
  box-shadow:0 0 0 3px #f3dfbf,0 4px 14px rgba(8,127,131,.18)!important;
}
.nav-button,.action-btn,.btn,.top-link,.hero-action,.game-cta,.mobile-game-cta{
  color:#342518!important;
  background:linear-gradient(180deg,#fff8e9,#ead3ae)!important;
  border-color:#ae7835!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 7px 16px rgba(70,45,18,.10)!important;
}
.nav-button:hover,.action-btn:hover,.top-link:hover,.hero-action:hover{background:#fff!important;border-color:#087f83!important}
.live-state,.date-console,.stat-chip,.lane-badge,.schedule-state,.eyebrow,.chip-note,.panel-chip,.meta-chip,.item-tag,.badge{
  color:#075e62!important;
  background:#e7f5f2!important;
  border-color:rgba(8,127,131,.30)!important;
  box-shadow:none!important;
}
.live-state.fallback{background:#fff2ce!important;color:#855900!important;border-color:#c7922d!important}
.live-state.error,.warning-pill,.status-message.error{background:#ffe6e9!important;color:#9e2338!important;border-color:#cf6071!important}

/* Ergebnisse und Tabellen */
.summary-grid,.content-panel,.stacked-tables,.schedule-grid,.duel-shell{
  background:#f4e8d5!important;
}
.summary-card,.table-card,.schedule-day,.subtable-shell{
  background:linear-gradient(180deg,#fffdf7,#f7ead4)!important;
}
.summary-card>i{
  color:#087f83!important;
  background:#e9f7f4!important;
  border-color:#7cb9b5!important;
}
.summary-card span{color:#766750!important}.summary-card strong{color:#3b2b1c!important}
.table-head,.schedule-day-head,.subtable-head{
  background:linear-gradient(180deg,#f1dcb9,#e7c895)!important;
  border-color:#b67d37!important;
}
.table-wrap{background:#fffaf0!important;scrollbar-color:#b47b38 #f2e2c7!important}
table{background:#fffaf0!important;color:#33271b!important;text-shadow:none!important}
th{
  color:#4e351c!important;
  background:linear-gradient(180deg,#efd5aa,#e3be82)!important;
  border-color:rgba(126,82,33,.28)!important;
  box-shadow:inset 0 -1px 0 rgba(126,82,33,.24)!important;
}
td,tbody td{
  color:#3a3024!important;
  background:#fffdf7!important;
  border-color:rgba(126,82,33,.18)!important;
  text-shadow:none!important;
}
tbody tr:nth-child(even) td{background:#f6ead7!important}
tbody tr:nth-child(odd) td{background:#fffdf7!important}
tbody tr:hover td{background:#e8f5f2!important}
.section-spieltag tbody tr:not(.separator-row):not(.blank-separator):nth-child(odd) td,
.section-einzel tbody tr:not(.separator-row):not(.blank-separator):nth-child(odd) td{background:#fffdf7!important}
.section-spieltag tbody tr:not(.separator-row):not(.blank-separator):nth-child(even) td,
.section-einzel tbody tr:not(.separator-row):not(.blank-separator):nth-child(even) td{background:#f5e8d3!important}
.section-spieltag tbody tr:not(.separator-row):not(.blank-separator):hover td,
.section-einzel tbody tr:not(.separator-row):not(.blank-separator):hover td{background:#e5f4f1!important}
.metric-best,.stat-best{color:#9a6100!important;background:#fff0b8!important;border-color:#d19b36!important}
.metric-average,.stat-average{color:#07686b!important;background:#dff4f1!important;border-color:#70b4b1!important}
.score-200,.section-spieltag .score-200,.section-einzel .score-200{
  color:#12351c!important;background:linear-gradient(180deg,#c8f2c5,#87d99a)!important;text-shadow:none!important;
}
.separator-row td{color:#8b5c1c!important;background:#f0ddbc!important;border-color:#bd8540!important}
.blank-separator td{background:#ead7b8!important}

/* Mannschaftsduelle */
.team-duel{
  border-color:#b77c36!important;
  background:radial-gradient(circle at 50% 0,rgba(167,108,0,.09),transparent 50%),linear-gradient(180deg,#fffdf7,#f1e0c5)!important;
  box-shadow:0 8px 18px rgba(71,43,16,.10),inset 0 0 0 1px rgba(255,255,255,.75)!important;
}
.duel-team{
  color:#33271b!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--duel-accent) 11%,#fff),#fff8ec)!important;
  border-color:color-mix(in srgb,var(--duel-accent) 62%,#a7773d)!important;
}
.duel-team strong{color:var(--duel-accent)!important;text-shadow:none!important}
.duel-team small{color:#6f604b!important}.duel-score{color:#704809!important;text-shadow:none!important}
.duel-round{color:#3a3024!important;background:#fffaf0!important;border-color:#d8bd94!important}
.duel-round b,.duel-round i{color:#8a5b14!important}
.duel-color-9{--duel-accent:#3f7899!important}.duel-color-10{--duel-accent:#525b66!important}

/* Spielplan */
.schedule-overview-bar,.team-color-legend{background:#fff8eb!important;border-color:#c79553!important;color:#4a3824!important}
.schedule-day.is-current,.schedule-day.is-next{box-shadow:0 0 0 3px rgba(167,108,0,.24),0 12px 26px rgba(71,43,16,.12)!important}
.pairing-row{background:#fffaf2!important;border-color:#d4b489!important;color:#33271b!important}
.versus{color:#6f4a18!important;background:#f3e1c3!important;border-color:#b98543!important}
.team-colored{background:color-mix(in srgb,var(--team-accent) 13%,#fff)!important;color:color-mix(in srgb,var(--team-accent) 75%,#1c1c1c)!important;border-color:color-mix(in srgb,var(--team-accent) 65%,#9b7041)!important;text-shadow:none!important}
.team-color-9{--team-accent:#3f7899!important}.team-color-10{--team-accent:#525b66!important}

/* Spieler/in der Woche */
.player-week-card{
  color:#33271b!important;
  background:radial-gradient(circle at 8% 15%,rgba(197,59,121,.08),transparent 34%),radial-gradient(circle at 93% 20%,rgba(8,127,131,.09),transparent 36%),linear-gradient(145deg,#fffdf7,#f2dfc0)!important;
  border-color:#b88138!important;
  box-shadow:0 12px 28px rgba(68,42,17,.12),inset 0 0 0 2px rgba(255,255,255,.68)!important;
}
.player-week-card:before{border-color:rgba(8,127,131,.20)!important}.player-week-card:after{color:rgba(92,60,25,.045)!important}
.pow-name strong{color:#4a321c!important;text-shadow:none!important}.pow-name>span:not(.pow-crown){color:#087f83!important}
.pow-stats>span{background:rgba(255,255,255,.55)!important;border-color:#d3b487!important}.pow-stats small{color:#74644d!important}.pow-stats strong{color:#3e2d1d!important}
.pow-score-panel{background:radial-gradient(circle,rgba(167,108,0,.12),transparent 61%),#fff5df!important;border-color:#bd8a38!important}.pow-score-panel span,.pow-score-panel small{color:#776648!important}
.pow-breakdown-label{color:#655640!important}.pow-breakdown-label strong{color:#3b2b1d!important}.pow-bar{background:#e2d5c1!important;border-color:#bba47e!important}
.pow-method{color:#6f604a!important;border-color:#c6a875!important}.pow-method b{color:#4b351e!important}

/* Startseite — Layout bleibt, nur Farbwelt wird geöffnet */
.desktop-shell,.mobile-shell{background:transparent!important}
.desktop-video{opacity:.07!important;filter:sepia(.45) saturate(.45) contrast(.88) brightness(1.45)!important}
.console{
  background:rgba(255,250,240,.95)!important;
  border-color:#ae7432!important;
  box-shadow:0 20px 50px rgba(73,44,15,.14),inset 0 0 0 1px rgba(255,255,255,.72)!important;
}
.console-top,.mobile-top,.console-footer{
  background:linear-gradient(180deg,#fffaf0,#ead5b4)!important;
  border-color:#b77d37!important;
}
.system-ticker{background:#e7f5f2!important;border-color:#79b8b4!important}.ticker-track{color:#087f83!important}
.dashboard,.nav-zone{background:#f4e7d3!important;border-color:#b77d37!important}
.hero-main,.hero-content,.lane-console{
  background:linear-gradient(145deg,#fff9ed,#e9f5f2)!important;
  border-color:#bd8b4f!important;
}
.hero-title .strike,.mobile-hero-copy h1{color:#50351d!important;text-shadow:0 2px 0 #fff,0 7px 16px rgba(64,37,13,.12)!important}
.hero-text,.mobile-hero-copy p{color:#655743!important}
.lane-screen,.lane-caption{background:rgba(255,250,239,.92)!important;color:#3f2d1c!important;border-color:#b68443!important}
.status-cell,.mission-panel,.nav-card,.mobile-primary-card,.mobile-card,.mobile-hero,.mobile-dock{
  background:linear-gradient(180deg,#fffdf7,#f2dfc2)!important;
  color:#33271b!important;
  border-color:#c09256!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72),0 8px 20px rgba(72,43,14,.09)!important;
}
.status-cell strong,.mission-panel h2,.nav-card strong,.mobile-primary-card strong,.mobile-card strong{color:#4a321d!important}
.status-cell span,.mission-panel p,.nav-card span,.mobile-primary-card span,.mobile-card small{color:#70624d!important}
.nav-card:before{border-color:rgba(128,88,40,.20)!important}.nav-zone-title,.mobile-section-title,.footer-motto{color:#65451f!important}
.mobile-live{background:#e5f4e8!important;color:#26723d!important;border-color:#80b98d!important}
.mobile-dock{background:rgba(255,250,240,.96)!important}.dock-item{color:#776a56!important}.dock-item.active{background:#e4f4f1!important;color:#087f83!important}

/* Analyse, Rekorde, News, Über uns, Archiv, Impressum */
.analysis-panel,.record-card,.panel,.item-card,.mini-card,.about-card,.archive-card,.legal-card{
  background:linear-gradient(180deg,#fffdf7,#f4e7d2)!important;
  color:#33271b!important;
}
.control-row,.chart-wrap,.status-grid,.record-grid,.content-grid,.mini-grid{color:#33271b!important}
select,input,textarea{
  color:#33271b!important;
  background:#fffdf8!important;
  border-color:#b99564!important;
}
select:focus,input:focus,textarea:focus{outline-color:#087f83!important;box-shadow:0 0 0 3px rgba(8,127,131,.12)!important}

/* Minispiel: Rahmen und Menüs hell, die eigentliche Bahn bleibt bewusst kontrastreich. */
body:not(.game-focus) .game-grid>.card:not(.game-card),
body:not(.game-focus) .start-card,
body:not(.game-focus) .modal-card,
body:not(.game-focus) .leaderboard-row,
body:not(.game-focus) .leaderboard-empty{
  background:linear-gradient(180deg,#fffdf7,#f2e3cc)!important;
  color:#33271b!important;
  border-color:#bd925c!important;
}
body:not(.game-focus) .start-card h2,body:not(.game-focus) .leaderboard-name,body:not(.game-focus) .leaderboard-score{color:#3a2a1b!important}
body:not(.game-focus) .start-card p,body:not(.game-focus) .leaderboard-note{color:#6e604b!important}

/* Schrauben-/Dampfdeko dezenter auf hellem Grund */
.steam-bg:before{background:repeating-linear-gradient(90deg,transparent 0 38px,rgba(115,78,33,.028) 38px 39px)!important}.steam-bg:after{color:rgba(154,96,45,.08)!important}

@media(max-width:700px){
  body{background:linear-gradient(180deg,#fffaf0,#eee1cd)!important}
  .site{width:100%!important}
  .page{border-left:0!important;border-right:0!important;border-radius:0!important}
  th,td{text-shadow:none!important}
  .player-week-card{background:linear-gradient(180deg,#fffdf7,#f2dfc0)!important}
}

/* ===== Phase 14: flache Überschriften, ruhige Ergebnistabellen, 2D-Minispiel-Teaser ===== */

/* Überschriften: kräftig und klar, aber ohne 3D-/Doppelkonturen. */
h1,
h2,
h3,
.hero h1,
.header h1,
.table-title,
.schedule-day h2,
.panel-title,
.subtable-title,
.card-title,
.item-title,
.modal-title,
.overlay-title,
.nav-zone-title,
.mobile-section-title,
.mission-panel h2,
.pow-page-copy h1,
.pow-kicker > span,
.pow-name strong,
.hero-title,
.hero-title .strike,
.mobile-hero-copy h1,
.headline-accent,
.blob-title {
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  filter: none !important;
  font-weight: 700 !important;
}

/* Farbige Akzentteile bleiben intensiv, aber flach. */
.headline-accent,
.pow-page-copy h1 span {
  color: #087f83 !important;
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
}
.pow-kicker > span { color: #8b5808 !important; }

/* Ergebnistabellen: keine farbig hervorgehobenen Spalten oder Einzelzellen mehr. */
.results-view .section-spieltag th,
.results-view .section-einzel th,
.results-view .stacked-tables th {
  color: #4e351c !important;
  background: linear-gradient(180deg,#efd5aa,#e3be82) !important;
  border-color: rgba(126,82,33,.28) !important;
  box-shadow: inset 0 -1px 0 rgba(126,82,33,.24) !important;
  text-shadow: none !important;
}
.results-view th.col-best,
.results-view th.col-average,
.results-view th.col-series,
.results-view th.col-average-last,
.results-view th.col-200,
.results-view th.col-result,
.results-view th.col-points,
.results-view th.col-total {
  color: #4e351c !important;
  background: linear-gradient(180deg,#efd5aa,#e3be82) !important;
  text-shadow: none !important;
}
.results-view th .header-full,
.results-view th .header-mobile {
  color: inherit !important;
  text-shadow: none !important;
}

.results-view .section-spieltag tbody tr:not(.separator-row):not(.blank-separator):nth-child(odd) td,
.results-view .section-einzel tbody tr:not(.separator-row):not(.blank-separator):nth-child(odd) td,
.results-view .stacked-tables tbody tr:not(.separator-row):not(.blank-separator):nth-child(odd) td {
  color: #3a3024 !important;
  background: #fffdf7 !important;
  border-color: rgba(126,82,33,.18) !important;
  box-shadow: none !important;
  outline: none !important;
  text-shadow: none !important;
}
.results-view .section-spieltag tbody tr:not(.separator-row):not(.blank-separator):nth-child(even) td,
.results-view .section-einzel tbody tr:not(.separator-row):not(.blank-separator):nth-child(even) td,
.results-view .stacked-tables tbody tr:not(.separator-row):not(.blank-separator):nth-child(even) td {
  color: #3a3024 !important;
  background: #f5e8d3 !important;
  border-color: rgba(126,82,33,.18) !important;
  box-shadow: none !important;
  outline: none !important;
  text-shadow: none !important;
}
.results-view .section-spieltag tbody tr:not(.separator-row):not(.blank-separator):hover td,
.results-view .section-einzel tbody tr:not(.separator-row):not(.blank-separator):hover td,
.results-view .stacked-tables tbody tr:not(.separator-row):not(.blank-separator):hover td {
  color: #3a3024 !important;
  background: #eee0c8 !important;
}
.results-view td.metric-best,
.results-view td.metric-average,
.results-view td.metric-series,
.results-view td.daily-best-score,
.results-view .section-spieltag tbody tr td.score-200,
.results-view .section-einzel tbody tr td.score-200 {
  color: #3a3024 !important;
  border-color: rgba(126,82,33,.18) !important;
  box-shadow: none !important;
  outline: none !important;
  text-shadow: none !important;
}
.results-view td.metric-best::before { content: none !important; display: none !important; }
.results-view .tendency,
.results-view .tendency.up,
.results-view .tendency.down,
.results-view .tendency.flat {
  color: #3a3024 !important;
  background: transparent !important;
  text-shadow: none !important;
}

/* Minispiel-Kachel auf der Startseite: flache 2D-Seitenansicht statt Spielvorschau. */
.game-teaser {
  background:
    linear-gradient(180deg, rgba(255,255,255,.48), transparent 42%),
    linear-gradient(180deg, #eef8f5 0 67%, #e2c79c 68% 100%) !important;
  border-color: #b98745 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.76), 0 6px 14px rgba(81,53,22,.12) !important;
}
.game-teaser::before {
  left: 7px !important;
  right: 7px !important;
  bottom: 14px !important;
  height: 3px !important;
  clip-path: none !important;
  background: #b77b39 !important;
  box-shadow: 0 2px 0 rgba(255,255,255,.72) !important;
  opacity: 1 !important;
}
.game-teaser::after {
  content: "" !important;
  display: none !important;
}
.teaser-ball {
  left: 10px !important;
  bottom: 18px !important;
  width: calc(27px * var(--teaser-scale)) !important;
  height: calc(27px * var(--teaser-scale)) !important;
  background:
    radial-gradient(circle at 39% 31%, #102124 0 2px, transparent 2.7px),
    radial-gradient(circle at 56% 26%, #102124 0 2px, transparent 2.7px),
    radial-gradient(circle at 61% 46%, #102124 0 2px, transparent 2.7px),
    radial-gradient(circle at 29% 22%, rgba(255,255,255,.72), transparent 25%),
    linear-gradient(145deg, #139da2, #356eb9 58%, #b33f79) !important;
  box-shadow: 0 4px 7px rgba(63,43,22,.22) !important;
  animation: phase14BallRoll 4.2s linear infinite !important;
}
.teaser-pins {
  right: 16px !important;
  bottom: 17px !important;
  width: 56px !important;
  height: 42px !important;
}
.teaser-pins i {
  width: calc(13px * var(--teaser-scale)) !important;
  height: calc(35px * var(--teaser-scale)) !important;
  filter: none !important;
  box-shadow: 0 3px 4px rgba(68,42,20,.16) !important;
}
.teaser-pins i:nth-child(1) { left: 1px !important; bottom: 0 !important; animation: phase14PinLeft 4.2s ease-in-out infinite !important; }
.teaser-pins i:nth-child(2) { left: 20px !important; bottom: 0 !important; animation: phase14PinCenter 4.2s ease-in-out infinite !important; }
.teaser-pins i:nth-child(3) { left: 39px !important; bottom: 0 !important; animation: phase14PinRight 4.2s ease-in-out infinite !important; }
.teaser-impact {
  right: 62px !important;
  bottom: 32px !important;
  width: 6px !important;
  height: 6px !important;
  background: #fff4b8 !important;
  box-shadow: 0 0 0 5px rgba(167,108,0,.13), 0 0 16px rgba(167,108,0,.42) !important;
  animation: phase14Impact 4.2s ease-out infinite !important;
}

@keyframes phase14BallRoll {
  0%, 8% { left: 10px; transform: rotate(0deg); opacity: 1; }
  47% { left: calc(100% - 89px); transform: rotate(560deg); opacity: 1; }
  60% { left: calc(100% - 45px); transform: rotate(760deg); opacity: 1; }
  69%, 87% { left: calc(100% - 30px); transform: rotate(860deg); opacity: 0; }
  88% { left: 10px; transform: rotate(0deg); opacity: 0; }
  100% { left: 10px; transform: rotate(0deg); opacity: 1; }
}
@keyframes phase14PinLeft {
  0%, 46% { transform: translate(0,0) rotate(0deg); opacity: 1; }
  57%, 82% { transform: translate(-8px,5px) rotate(-76deg); opacity: 1; }
  88% { opacity: 0; }
  89% { transform: translate(0,0) rotate(0deg); opacity: 0; }
  100% { opacity: 1; }
}
@keyframes phase14PinCenter {
  0%, 48% { transform: translate(0,0) rotate(0deg); opacity: 1; }
  58%, 82% { transform: translate(7px,6px) rotate(82deg); opacity: 1; }
  88% { opacity: 0; }
  89% { transform: translate(0,0) rotate(0deg); opacity: 0; }
  100% { opacity: 1; }
}
@keyframes phase14PinRight {
  0%, 50% { transform: translate(0,0) rotate(0deg); opacity: 1; }
  61%, 82% { transform: translate(10px,5px) rotate(72deg); opacity: 1; }
  88% { opacity: 0; }
  89% { transform: translate(0,0) rotate(0deg); opacity: 0; }
  100% { opacity: 1; }
}
@keyframes phase14Impact {
  0%, 45% { transform: scale(.35); opacity: 0; }
  50% { transform: scale(1.8); opacity: 1; }
  58%, 100% { transform: scale(2.8); opacity: 0; }
}

/* Auf der Startansicht des Minispiels darf vertikales Wischen wieder scrollen. */
body:not(.game-focus) .lane-stage.pre-start,
body:not(.game-focus) .lane-stage.pre-start .start-overlay,
body:not(.game-focus) .lane-stage.pre-start .start-card {
  touch-action: pan-y !important;
  user-select: auto !important;
  -webkit-user-select: auto !important;
  overscroll-behavior-y: auto !important;
}
body:not(.game-focus) .lane-stage.pre-start .start-btn {
  touch-action: manipulation !important;
}

/* ===== Phase 15.7: Lesbarkeit Spielplan, helle Icons, ruhige Infoseiten, 200+ blau ===== */

/* Spielplan: Bahnpaar klar lesbar. VS behält seinen Akzent, "BAHN 1+2" ist schwarz und kräftig. */
.schedule-view .versus small {
  color: #111111 !important;
  font-weight: 900 !important;
  text-shadow: none !important;
  letter-spacing: .035em !important;
}

/* Startseite: die kleinen Symbolflächen nicht mehr grau/dunkel hinterlegen. */
.nav-card .nav-icon,
.mobile-card .mobile-card-icon {
  background: rgba(255, 250, 240, .92) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.68) !important;
}

/* Analyse, Rekorde und News: kein farbiger/goldener Lichtschleier über der gesamten Seite. */
body.page-analysis .scene .glow,
body.page-records .scene .glow,
body.page-news .scene .glow {
  display: none !important;
}
body.page-analysis::before,
body.page-records::before,
body.page-news::before {
  opacity: .16 !important;
  background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(76,52,25,.025) 3px 4px) !important;
}
body.page-analysis .scene .bg-shape,
body.page-records .scene .bg-shape,
body.page-news .scene .bg-shape {
  opacity: .035 !important;
  filter: none !important;
}

/* Spielergebnisse >= 200: eindeutige blaue Auszeichnung mit weißer Schrift. */
.results-view .section-spieltag tbody tr td.score-200,
.results-view .section-einzel tbody tr td.score-200,
.results-view .section-spieltag tbody tr td.score-200.daily-best-score,
.results-view .section-einzel tbody tr td.score-200.daily-best-score,
.section-spieltag tbody tr td.score-200,
.section-einzel tbody tr td.score-200 {
  color: #ffffff !important;
  background: #2f6fbd !important;
  border-color: #245a9b !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18) !important;
  text-shadow: none !important;
  font-weight: 900 !important;
}
.results-view .section-spieltag tbody tr:hover td.score-200,
.results-view .section-einzel tbody tr:hover td.score-200 {
  color: #ffffff !important;
  background: #285fA4 !important;
}

/* ===== Phase 15.8: Ergebnis-Lesbarkeit & ruhige Infoseiten ===== */
/* Auf Analyse, Rekorde und News keinen durchgehenden Gold-/Metallfilm über den Inhalt legen. */
body.page-analysis .page::before,
body.page-records .page::before,
body.page-news .page::before {
  background: none !important;
  opacity: 1 !important;
}
body.page-analysis .page::after,
body.page-records .page::after,
body.page-news .page::after {
  opacity: 1 !important;
  background:
    radial-gradient(circle at 4px 4px,#e0b76f 0 1px,#6c3e24 2px 3px,transparent 4px),
    radial-gradient(circle at calc(100% - 4px) 4px,#e0b76f 0 1px,#6c3e24 2px 3px,transparent 4px),
    radial-gradient(circle at 4px calc(100% - 4px),#e0b76f 0 1px,#6c3e24 2px 3px,transparent 4px),
    radial-gradient(circle at calc(100% - 4px) calc(100% - 4px),#e0b76f 0 1px,#6c3e24 2px 3px,transparent 4px) !important;
}

/* Die dekorative Abschlusslinie der Karten darf die letzte Tabellenzeile nicht überdecken. */
.results-view .table-card::after {
  content: none !important;
  display: none !important;
}

/* Einzelwertung: Namen etwas kompakter, Teamspalte breiter und alle Inhalte einzeilig. */
.results-view .section-einzel .table-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
}
.results-view .section-einzel table {
  min-width: 1080px;
  table-layout: fixed;
}
.results-view .section-einzel th,
.results-view .section-einzel td {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
.results-view .section-einzel .col-rank { width: 5% !important; }
.results-view .section-einzel .col-trend { width: 6% !important; }
.results-view .section-einzel .col-name { width: 12% !important; }
.results-view .section-einzel .col-team { width: 18% !important; }
.results-view .section-einzel .col-200 { width: 8% !important; }

/* Spielernamen führen direkt in die Analyse des gewählten Spielers. */
.results-view .player-analysis-link {
  color: inherit !important;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-decoration-color: rgba(47,111,189,.58);
  text-underline-offset: 3px;
}
.results-view .player-analysis-link:hover,
.results-view .player-analysis-link:focus-visible {
  color: #174f91 !important;
  text-decoration-color: currentColor;
}

/* Jedes Einzelspiel ab 200 Pins bekommt eine deutlich erkennbare, kontrastreiche Zelle. */
.results-view .section-spieltag tbody tr td.score-200,
.results-view .section-einzel tbody tr td.score-200,
.results-view .section-spieltag tbody tr td.score-200.daily-best-score,
.results-view .section-einzel tbody tr td.score-200.daily-best-score {
  color: #ffffff !important;
  background: linear-gradient(180deg,#14784a 0%,#075331 100%) !important;
  border-color: #064729 !important;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.20),
    inset 0 -8px 16px rgba(0,0,0,.16),
    0 0 0 1px rgba(6,71,41,.28) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.55) !important;
  font-weight: 900 !important;
}
.results-view .section-spieltag tbody tr:hover td.score-200,
.results-view .section-einzel tbody tr:hover td.score-200 {
  color: #ffffff !important;
  background: linear-gradient(180deg,#178957 0%,#08613a 100%) !important;
}



/* ===== Phase 15.9: gezielte Lesbarkeits- und Spielplan-Korrekturen ===== */

/* 200+ muss unabhängig von älteren Tabellen-/Hoverregeln dominant sichtbar bleiben. */
.results-view td.score-200,
.results-view td[data-score-200="true"],
.results-view .section-spieltag tbody tr td.score-200,
.results-view .section-einzel tbody tr td.score-200,
.results-view .section-spieltag tbody tr:hover td.score-200,
.results-view .section-einzel tbody tr:hover td.score-200 {
  color:#ffffff !important;
  background:#075fbd !important;
  background-image:linear-gradient(180deg,#0b73df 0%,#064b99 100%) !important;
  border-color:#043b79 !important;
  outline:2px solid rgba(4,59,121,.42) !important;
  outline-offset:-2px !important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.28),0 2px 7px rgba(6,64,128,.26) !important;
  text-shadow:0 1px 1px rgba(0,0,0,.55) !important;
  font-weight:950 !important;
  font-size:1.08em !important;
}

/* Ergebnis-Kennzahlen oben an den Tabellen: größer, kräftiger, dunkler. */
.results-view .stats-chips .stat-chip,
.results-view .stats-chips .stat-best,
.results-view .stats-chips .stat-average {
  min-height:34px !important;
  padding:8px 11px !important;
  color:#23170d !important;
  font-family:"Oswald",sans-serif !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:.012em !important;
  text-shadow:none !important;
}
.results-view .stats-chips .stat-best {
  background:#f6d477 !important;
  border-color:#a96b13 !important;
}
.results-view .stats-chips .stat-average {
  background:#bfe5df !important;
  border-color:#287b78 !important;
}

/* Spielernamen bleiben Links, aber ohne blauen Unterstrich. */
.results-view .player-analysis-link,
.results-view .player-analysis-link:hover,
.results-view .player-analysis-link:focus-visible {
  text-decoration:none !important;
  text-decoration-line:none !important;
  border-bottom:0 !important;
}
.results-view .player-analysis-link { cursor:pointer; }

/* Rekorde: Rekordhalter und Kadernamen kontrastreich dunkel. */
body.page-records .record-value,
body.page-records .record-players {
  color:#111111 !important;
  text-shadow:none !important;
}
body.page-records .record-value { font-weight:900 !important; }
body.page-records .record-players { font-weight:800 !important; }

/* Spielplan: intensive, deutlich getrennte Teamfarben. */
.schedule-view .team-color-1{--team-accent:#1267e8 !important}
.schedule-view .team-color-2{--team-accent:#169447 !important}
.schedule-view .team-color-3{--team-accent:#e2a600 !important}
.schedule-view .team-color-4{--team-accent:#d93632 !important}
.schedule-view .team-color-5{--team-accent:#7b3fb3 !important}
.schedule-view .team-color-6{--team-accent:#00979c !important}
.schedule-view .team-color-7{--team-accent:#e96f00 !important}
.schedule-view .team-color-8{--team-accent:#cc1f67 !important}
.schedule-view .team-color-9{--team-accent:#6d4c41 !important}
.schedule-view .team-color-10{--team-accent:#68737d !important}

.schedule-view .schedule-team-legend {
  background:linear-gradient(180deg,#fffaf0,#efdfc4) !important;
  border-color:#b47a36 !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.78),0 6px 16px rgba(81,53,22,.10) !important;
}
.schedule-view .team-color-chip {
  min-height:34px !important;
  border:2px solid var(--team-accent) !important;
  background:color-mix(in srgb,var(--team-accent) 38%,#ffffff) !important;
  color:#17120d !important;
  font-weight:900 !important;
  font-size:11px !important;
  text-shadow:none !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.65) !important;
}
.schedule-view .team-color-chip i {
  color:var(--team-accent) !important;
  filter:none !important;
  font-size:12px !important;
}
.schedule-view .team.team-colored {
  min-height:34px !important;
  border:2px solid var(--team-accent) !important;
  background:color-mix(in srgb,var(--team-accent) 32%,#ffffff) !important;
  color:#17120d !important;
  font-weight:800 !important;
  text-shadow:none !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.62) !important;
}

/* Bahn + VS füllen die komplette Mittelfläche und sind sofort lesbar. */
.schedule-view .pairing-row {
  grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr) !important;
}
.schedule-view .versus {
  width:58px !important;
  min-width:58px !important;
  height:44px !important;
  min-height:44px !important;
  display:grid !important;
  grid-template-rows:1fr 1fr !important;
  place-items:center !important;
  align-content:stretch !important;
  gap:0 !important;
  padding:3px 2px !important;
  border:2px solid #a66c29 !important;
  border-radius:5px !important;
  background:linear-gradient(180deg,#f8e8c9,#dfbd85) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72) !important;
}
.schedule-view .versus small {
  align-self:end !important;
  color:#2b2118 !important;
  font-family:"Oswald",sans-serif !important;
  font-size:8px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
  text-shadow:none !important;
}
.schedule-view .versus b {
  align-self:start !important;
  color:#000000 !important;
  font-family:"Oswald",sans-serif !important;
  font-size:14px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:.04em !important;
  text-shadow:none !important;
}

@media(max-width:700px){
  .results-view .stats-chips .stat-chip,
  .results-view .stats-chips .stat-best,
  .results-view .stats-chips .stat-average{font-size:10px !important;padding:7px 8px !important;min-height:31px !important}
  .schedule-view .team-color-chip{font-size:10px !important;min-height:31px !important}
  .schedule-view .pairing-row{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr) !important}
  .schedule-view .versus{width:52px !important;min-width:52px !important;height:42px !important;min-height:42px !important}
  .schedule-view .versus small{font-size:7px !important}
  .schedule-view .versus b{font-size:13px !important}
}

/* ===== Phase 15.10: Rekorde-Infobalken, einzeilige Teamnamen, garantiertes 200+ ===== */
/* Rekorde: heller Statusbalken, passend zur restlichen Papier-/Messingoptik. */
body.page-records .live-data-state {
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  gap:11px !important;
  margin:-8px 0 18px !important;
  padding:13px 16px !important;
  border:1px solid #a97734 !important;
  border-left:6px solid #087f83 !important;
  border-radius:9px !important;
  background:linear-gradient(180deg,#fff9ec 0%,#ead7b8 100%) !important;
  color:#2b2117 !important;
  font-family:"Roboto Slab",serif !important;
  font-size:14px !important;
  line-height:1.45 !important;
  font-weight:900 !important;
  letter-spacing:.005em !important;
  text-shadow:none !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.78),0 8px 20px rgba(74,47,19,.12) !important;
}
body.page-records .live-data-state i {
  flex:0 0 auto !important;
  color:#087f83 !important;
  font-size:16px !important;
  filter:none !important;
}
body.page-records .live-data-state span { color:#2b2117 !important; }
body.page-records .live-data-state.fallback {
  border-left-color:#b77a13 !important;
  background:linear-gradient(180deg,#fff8dd,#f1dfae) !important;
  color:#3b2a0e !important;
}
body.page-records .live-data-state.error {
  border-color:#b84959 !important;
  border-left-color:#b4233c !important;
  background:linear-gradient(180deg,#fff0f2,#f6cfd5) !important;
  color:#651625 !important;
}
body.page-records .live-data-state.error i { color:#b4233c !important; }

/* 200+: bewusst extrem kontrastreich. Inline-Stil aus results-modern.js ist die letzte Absicherung. */
.results-view td.score-200,
.results-view td[data-score-200="true"] {
  background:#a51528 !important;
  background-image:linear-gradient(180deg,#d9273f 0%,#9d1025 100%) !important;
  color:#ffffff !important;
  border-color:#74101d !important;
  outline:2px solid #74101d !important;
  outline-offset:-2px !important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.38),0 0 0 2px #74101d !important;
  text-shadow:0 1px 1px rgba(0,0,0,.65) !important;
  font-weight:950 !important;
  font-size:1.14em !important;
}
.results-view tbody tr:hover td.score-200,
.results-view tbody tr:hover td[data-score-200="true"] {
  background:#8e0e20 !important;
  background-image:linear-gradient(180deg,#c71e35 0%,#850b1c 100%) !important;
  color:#ffffff !important;
}

@media(max-width:700px){
  body.page-records .live-data-state{font-size:13px !important;padding:12px 13px !important;margin:0 2px 14px !important}
}

/* ===== Spielplan: Datum pro Spieltag kontrastreich und gut lesbar ===== */
.schedule-view .schedule-day time {
  color:#24180f !important;
  background:#fff8eb !important;
  border:1px solid #a66c29 !important;
  border-radius:5px !important;
  padding:4px 8px !important;
  font-family:"Roboto Slab",serif !important;
  font-size:12px !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-shadow:none !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.78) !important;
  white-space:nowrap !important;
}

@media(max-width:700px){
  .schedule-view .schedule-day time {
    font-size:11px !important;
    padding:4px 6px !important;
  }
}


/* Phase 15.12: Tendenz in drei ruhigen, sofort lesbaren Farben. */
.results-view .tendency {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:42px !important;
  padding:4px 7px !important;
  border:1px solid transparent !important;
  border-radius:999px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-shadow:none !important;
}
.results-view .tendency.up {
  color:#285d39 !important;
  background:#e3f2e5 !important;
  border-color:#b9d9bf !important;
}
.results-view .tendency.down {
  color:#7a3434 !important;
  background:#f7e5e3 !important;
  border-color:#e2bbb6 !important;
}
.results-view .tendency.flat {
  color:#705c22 !important;
  background:#fff2c9 !important;
  border-color:#e5d28c !important;
}

/* Kleine Statuspunkte oberhalb von „Ergebnisse im Überblick“ wieder sichtbar. */
.results-view .pow-page-eyebrow::before {
  content:"" !important;
  width:22px !important;
  height:7px !important;
  flex:0 0 22px !important;
  border-radius:999px !important;
  background:
    radial-gradient(circle at 3px 50%,#087f83 0 2.6px,transparent 2.8px),
    radial-gradient(circle at 11px 50%,#b57926 0 2.6px,transparent 2.8px),
    radial-gradient(circle at 19px 50%,#7a9a50 0 2.6px,transparent 2.8px) !important;
  box-shadow:none !important;
}

/* Nur die Teamnamen in den direkten Duellen unter den Ergebnistabellen nicht umbrechen. */
.results-view .duel-shell > .team-duels > .team-duel > .duel-team > strong {
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}


/* ===== Phase 15.16: kompakte Tendenz + 200+ wieder blau ===== */
/* Nur die Tendenz-INHALTE werden angeordnet. Tabellen- und Spaltenbreiten bleiben unverändert. */
.results-view th.col-trend,
.results-view td.col-trend {
  text-align: center !important;
}
.results-view td.col-trend {
  vertical-align: middle !important;
}
.results-view td.col-trend > .tendency {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 3px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 48px !important;
  height: 28px !important;
  padding: 0 2px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  text-align: center !important;
  text-indent: 0 !important;
  font-variant-numeric: tabular-nums !important;
}
.results-view td.col-trend > .tendency > .tendency-icon,
.results-view td.col-trend > .tendency > .tendency-value {
  position: static !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  text-align: center !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}
.results-view td.col-trend > .tendency > .tendency-icon {
  font-family: Arial, sans-serif !important;
  font-size: 10px !important;
}
.results-view td.col-trend > .tendency > .tendency-value {
  font-size: 12px !important;
}
.results-view td.col-trend > .tendency.flat > .tendency-icon {
  font-size: 14px !important;
}
/* Schmale Mobilspalten: beide Zeichen bleiben vollständig im selben Oval.
   Ausschließlich den Badge-Inhalt stapeln; keine Tabellenbreiten verändern. */
@media (max-width: 700px) {
  .results-view td.col-trend > .tendency {
    flex-direction: column !important;
    gap: 2px !important;
    padding: 2px 0 !important;
  }
  .results-view td.col-trend > .tendency > .tendency-icon {
    font-size: 7px !important;
  }
  .results-view td.col-trend > .tendency > .tendency-value {
    font-size: 8px !important;
  }
}

/* 200+ zurück auf die bisherige blaue Hervorhebung; überschreibt den späteren roten Alt-Block. */
.results-view td.score-200,
.results-view td[data-score-200="true"],
.results-view .section-spieltag tbody tr td.score-200,
.results-view .section-einzel tbody tr td.score-200,
.results-view .section-spieltag tbody tr td.score-200.daily-best-score,
.results-view .section-einzel tbody tr td.score-200.daily-best-score,
.results-view tbody tr:hover td.score-200,
.results-view tbody tr:hover td[data-score-200="true"] {
  color: #ffffff !important;
  background: #075fbd !important;
  background-image: linear-gradient(180deg,#0b73df 0%,#064b99 100%) !important;
  border-color: #043b79 !important;
  outline: 2px solid rgba(4,59,121,.42) !important;
  outline-offset: -2px !important;
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.28), 0 2px 7px rgba(6,64,128,.26) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.55) !important;
  font-weight: 950 !important;
  font-size: 1.08em !important;
}
