:root{--ink:#17211c;--muted:#65736d;--line:#dbe3dd;--paper:#f5f7f2;--white:#fff;--green:#2f6f43;--green-2:#6f9f53;--blue:#2d5f86;--gold:#c49a3a;--rose:#9f4657;--header:#f8faf6;--panel:#fff;--shadow:0 18px 45px rgba(23,33,28,.12)}body[data-theme="fresh"]{--ink:#17232b;--muted:#60717c;--line:#d7e3e6;--paper:#f4f8f8;--green:#247a65;--green-2:#59a36f;--blue:#2466a8;--gold:#d09a2d;--rose:#b14662;--header:#f7fbfb;--panel:#fff}body[data-theme="contrast"]{--ink:#111827;--muted:#53606b;--line:#cfd8dd;--paper:#f3f5f1;--green:#1f5f35;--green-2:#7a8f36;--blue:#1e4f7a;--gold:#b7791f;--rose:#8f2f4a;--header:#ffffff;--panel:#ffffff}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px;padding:12px clamp(18px,4vw,56px);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--header) 94%,transparent);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;min-width:210px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;background:var(--green);color:#fff;font-weight:700}.brand small,.eyebrow{display:block;color:var(--muted);font-size:.78rem;letter-spacing:0;text-transform:uppercase}.main-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.main-nav a,.admin-tab,.button{border-radius:8px}.main-nav a{padding:8px 10px;color:#34424d;font-size:.95rem}.main-nav a:hover,.main-nav a.is-active{background:color-mix(in srgb,var(--green) 12%,#fff);color:var(--green)}.main-nav a.is-active{box-shadow:inset 0 -2px 0 var(--green)}.theme-select{min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:7px 9px;color:var(--ink);font-size:.9rem}.nav-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:8px;background:#fff}.season-band{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(28px,6vw,80px);align-items:center;min-height:min(720px,calc(100vh - 72px));padding:clamp(34px,7vw,92px) clamp(18px,5vw,72px);background:linear-gradient(120deg,color-mix(in srgb,var(--green) 16%,transparent),transparent 44%),linear-gradient(280deg,color-mix(in srgb,var(--gold) 18%,transparent),transparent 48%),var(--paper)}.season-copy{max-width:740px}h1,h2,h3,p{margin-top:0}h1{margin-bottom:18px;font-size:clamp(2.4rem,6vw,5.1rem);line-height:1.02;letter-spacing:0}h2{margin-bottom:14px;font-size:clamp(1.6rem,3.2vw,2.35rem);line-height:1.15;letter-spacing:0}h3{margin-bottom:8px;font-size:1.05rem}.season-copy p:not(.eyebrow){max-width:620px;color:#43515b;font-size:1.12rem}.season-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid transparent;cursor:pointer;font-weight:700}.button.primary{background:var(--green);color:#fff}.button.secondary{border-color:var(--line);background:#fff;color:var(--ink)}.season-visual{position:relative;min-height:440px;border:1px solid rgba(24,32,38,.08);border-radius:8px;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(135deg,color-mix(in srgb,var(--green-2) 46%,#fff),color-mix(in srgb,var(--gold) 22%,#fff))}.course{position:absolute;inset:0;background:radial-gradient(circle at 72% 24%,#eff5e9 0 8%,transparent 8.5%),radial-gradient(circle at 26% 78%,#b9d590 0 16%,transparent 16.5%),linear-gradient(135deg,#7fb071 0 22%,#c3dcb1 22% 42%,#8cbf82 42% 62%,#d6e6c8 62% 100%)}.fairway{position:absolute;left:20%;top:10%;width:58%;height:80%;border-radius:50%;background:rgba(224,238,202,.82);transform:rotate(22deg)}.green{position:absolute;right:11%;top:12%;width:132px;height:92px;border-radius:50%;background:var(--green-2);box-shadow:inset 0 0 0 10px rgba(255,255,255,.22)}.tee{position:absolute;left:12%;bottom:14%;width:70px;height:46px;border-radius:50%;background:color-mix(in srgb,var(--green) 70%,var(--gold))}.pin{position:absolute;right:19%;top:16%;width:4px;height:76px;background:#1f2933}.pin:after{content:"";position:absolute;left:4px;top:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-left:36px solid var(--rose)}.live-strip{position:absolute;left:18px;right:18px;bottom:18px;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:8px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(24,32,38,.16)}.content-band{min-height:calc(100vh - 129px);padding:clamp(24px,4vw,46px) clamp(18px,5vw,72px)}.content-band[data-view="home"]{min-height:auto}.split{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:28px;align-items:start;background:#fff}.dashboard-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:14px}.metric,.club-card,.team-row,.match-row,.download-item,.news-item,.next-matches,.admin-shell,.form-block{border:1px solid var(--line);border-radius:8px;background:#fff}.metric{min-height:102px;padding:18px;transition:background .18s ease,border-color .18s ease,transform .18s ease}.metric:hover{border-color:color-mix(in srgb,var(--green) 28%,#fff);background:color-mix(in srgb,var(--green) 6%,#fff);transform:translateY(-1px)}.metric span{color:var(--muted)}.metric strong{display:block;margin-top:8px;font-size:2.15rem}.section-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}.search,.select,.form-block input,.form-block select,.form-block textarea{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 12px;color:var(--ink)}.search{width:min(280px,100%)}.toolbar-row{display:flex;gap:10px;align-items:center;justify-content:flex-end;flex-wrap:nowrap}.sort-control{display:flex;align-items:center;gap:8px;white-space:nowrap;color:var(--muted);font-size:.9rem}.sort-control .select{min-width:142px}.club-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.club-card{display:grid;grid-template-rows:96px 1fr;min-height:238px;overflow:hidden;padding:0}.club-logo-link{display:grid;place-items:center;min-height:96px;padding:12px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--green) 10%,#fff),color-mix(in srgb,var(--gold) 12%,#fff));transition:background .18s ease,transform .18s ease}.club-logo-link:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--green) 18%,#fff),color-mix(in srgb,var(--gold) 18%,#fff))}.club-logo-link img{display:block;max-width:min(150px,84%);max-height:68px;object-fit:contain}.club-logo-fallback{display:grid;width:68px;height:68px;place-items:center;border:1px solid color-mix(in srgb,var(--green) 18%,#fff);border-radius:50%;background:#fff;color:var(--green);font-size:1.22rem;font-weight:800;box-shadow:0 10px 28px rgba(23,33,28,.08)}.club-card-body{display:grid;grid-template-rows:64px 22px 34px;gap:6px;padding:12px}.club-card-body h3{display:-webkit-box;margin:0;font-size:.92rem;line-height:1.16;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical;hyphens:auto}.club-card-body p{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-card a{color:var(--blue);font-weight:700}.club-teams{align-self:end;display:block;padding-top:7px;border-top:1px solid var(--line)}.club-teams>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;min-width:0}.club-team-link{display:inline-flex;align-items:center;justify-content:center;min-height:26px;min-width:0;padding:3px 8px;border:1px solid color-mix(in srgb,var(--blue) 22%,#fff);border-radius:6px;background:color-mix(in srgb,var(--blue) 7%,#fff);font-size:.82rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.club-team-link:hover{background:color-mix(in srgb,var(--blue) 13%,#fff)}.club-team-empty{display:block;min-height:26px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.team-list,.match-list,.download-list,.news-list{display:grid;gap:12px}.team-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.team-row,.match-row,.download-item,.news-item{display:grid;gap:8px;padding:16px}.team-row{grid-template-columns:minmax(180px,1.1fr) minmax(160px,.7fr) minmax(240px,1fr);align-items:center}.team-row.is-focused,.team-card.is-focused{outline:3px solid color-mix(in srgb,var(--gold) 70%,#fff);background:color-mix(in srgb,var(--gold) 11%,#fff)}.team-card{display:grid;grid-template-rows:106px 1fr;min-height:282px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.team-logo-link{display:grid;place-items:center;padding:12px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--green) 10%,#fff),color-mix(in srgb,var(--gold) 12%,#fff))}.team-logo-link:hover{background:linear-gradient(135deg,color-mix(in srgb,var(--green) 18%,#fff),color-mix(in srgb,var(--gold) 18%,#fff))}.team-logo-wrap{position:relative;display:grid;place-items:center;width:100%;height:82px}.team-logo-wrap img{display:block;max-width:min(150px,80%);max-height:66px;object-fit:contain}.team-logo-wrap .club-logo-fallback{width:64px;height:64px;font-size:1.15rem}.team-badge{position:absolute;right:12px;bottom:4px;display:grid;width:32px;height:32px;place-items:center;border:2px solid #fff;border-radius:50%;background:var(--green);color:#fff;font-weight:800;box-shadow:0 6px 16px rgba(23,33,28,.18)}.team-card-body{display:grid;grid-template-rows:40px 42px 48px 32px;gap:7px;padding:12px}.team-card-body h3{display:-webkit-box;margin:0;font-size:1rem;line-height:1.18;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.team-card-body p{display:-webkit-box;margin:0;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.22}.team-captain{display:grid;gap:2px;padding-top:8px;border-top:1px solid var(--line)}.team-captain span{color:var(--muted);font-size:.78rem;text-transform:uppercase}.team-captain strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem}.team-player-link{display:inline-flex;align-items:center;justify-content:center;min-height:32px;border:1px solid color-mix(in srgb,var(--blue) 22%,#fff);border-radius:6px;background:color-mix(in srgb,var(--blue) 7%,#fff);color:var(--blue);font-size:.86rem;font-weight:700}.team-player-link:hover{background:color-mix(in srgb,var(--blue) 13%,#fff)}.match-row{grid-template-columns:120px minmax(300px,1fr) minmax(80px,110px) minmax(120px,150px);align-items:center}.score{display:inline-flex;justify-content:center;min-width:76px;padding:6px 8px;border-radius:8px;background:color-mix(in srgb,var(--green) 10%,#fff);font-weight:700}.status-pill{display:inline-flex;min-height:34px;align-items:center;border-radius:8px;background:color-mix(in srgb,var(--gold) 24%,#fff);color:#684c16;padding:6px 10px;font-size:.88rem;font-weight:700}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:#fff}table{width:100%;min-width:720px;border-collapse:collapse}th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}th{background:color-mix(in srgb,var(--green) 9%,#fff);color:#43515b;font-size:.86rem}.next-matches{padding:18px}.next-match{padding:12px 0;border-top:1px solid var(--line)}.download-item{grid-template-columns:minmax(180px,1fr) 120px 140px;align-items:center}.admin-shell{min-height:calc(100vh - 129px);display:grid;grid-template-columns:240px minmax(0,1fr);margin:clamp(34px,6vw,72px) clamp(18px,5vw,72px);overflow:hidden}.admin-nav{padding:20px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--green) 9%,#fff)}.admin-tab{display:block;width:100%;margin:8px 0;padding:10px 12px;border:1px solid transparent;background:transparent;text-align:left;cursor:pointer}.admin-tab.is-active{border-color:var(--line);background:#fff;font-weight:700}.reset-button{width:100%;margin-top:22px}.admin-panel{padding:20px;background:#fff}.form-block{padding:16px;margin-bottom:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:12px}.form-grid label,.form-block label{display:grid;gap:6px;color:var(--muted);font-size:.9rem}.form-block textarea{resize:vertical;min-height:92px}.admin-list{display:grid;gap:10px}.admin-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--paper) 55%,#fff)}.muted{color:var(--muted)}.footer{display:flex;justify-content:space-between;gap:16px;padding:28px clamp(18px,5vw,72px);border-top:1px solid var(--line);color:var(--muted)}@media(max-width:900px){.theme-select{width:100%}.nav-toggle{display:inline-grid;place-items:center}.main-nav{position:absolute;left:18px;right:18px;top:70px;display:none;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.main-nav.is-open{display:grid;justify-content:stretch}.season-band,.split,.admin-shell{grid-template-columns:1fr}.season-visual{min-height:320px}.dashboard-grid{grid-template-columns:repeat(2,minmax(130px,1fr))}.team-row,.match-row,.download-item{grid-template-columns:1fr}.team-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.admin-nav{border-right:0;border-bottom:1px solid var(--line)}}@media(max-width:700px){.player-grid,.player-grid-page,.inline-player-panel .player-grid{grid-template-columns:1fr}.player-card{grid-template-columns:50px minmax(0,1fr);grid-template-rows:auto auto}.player-photo{width:50px;height:50px}.player-stats{grid-column:1 / -1}.player-stats dt{font-size:.68rem}}@media(max-width:560px){.toolbar-row{flex-wrap:wrap;justify-content:stretch}.sort-control{width:100%;justify-content:space-between}.sort-control .select{flex:1}.topbar{padding-inline:14px}.brand{min-width:0}.brand small{display:none}.season-band,.content-band,.admin-shell{padding-inline:14px}.dashboard-grid,.form-grid{grid-template-columns:1fr}.section-head,.footer{align-items:stretch;flex-direction:column}}






.player-panel{margin-top:18px;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.player-panel-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--green) 7%,#fff)}.player-panel-head h3{margin-bottom:2px}.player-panel-head p{margin:0;color:var(--muted)}.player-panel-head strong{display:inline-flex;min-height:34px;align-items:center;padding:6px 10px;border-radius:6px;background:#fff;color:var(--green)}.player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(560px,1fr));gap:10px;padding:12px}.player-card{display:grid;grid-template-columns:58px minmax(240px,1fr) 260px;gap:10px 14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--paper) 45%,#fff)}.player-photo{display:grid;width:58px;height:58px;place-items:center;border-radius:8px;background:linear-gradient(135deg,color-mix(in srgb,var(--green) 14%,#fff),color-mix(in srgb,var(--gold) 12%,#fff));overflow:hidden}.player-photo img{width:100%;height:100%;object-fit:cover}.player-photo span{font-weight:800;color:var(--green)}.player-main{display:grid;gap:3px;min-width:0}.player-main strong{font-size:1rem;line-height:1.18}.player-main span{color:var(--muted);font-size:.86rem;line-height:1.25}.player-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0}.player-stats div{min-width:0;padding:6px 7px;border:1px solid var(--line);border-radius:6px;background:#fff;text-align:center}.player-stats dt{color:var(--muted);font-size:.72rem;line-height:1.1;white-space:nowrap}.player-stats dd{margin:2px 0 0;font-weight:800;font-size:1rem;line-height:1}.player-toolbar{flex-wrap:wrap}.player-summary{display:flex;align-items:center;gap:10px;min-height:42px;margin-bottom:12px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff}.player-summary span{font-weight:800;color:var(--green)}.player-summary strong{font-size:.9rem;color:var(--muted)}.player-grid-page{grid-template-columns:repeat(auto-fit,minmax(560px,1fr));padding:0}.player-grid-page .player-card{background:#fff}.player-grid-page .player-photo{width:58px;height:58px;border-radius:50%}.inline-player-panel{grid-column:1 / -1;margin-top:0;margin-bottom:8px}.inline-player-panel .player-grid{grid-template-columns:repeat(auto-fit,minmax(560px,1fr))}.team-list .inline-player-panel{align-self:start}
.round-block{display:grid;gap:10px;margin-bottom:18px}.round-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--green) 7%,#fff)}.round-head h3{margin:0}.round-head p{margin:2px 0 0;color:var(--muted)}.round-head span{display:inline-flex;min-height:30px;align-items:center;padding:5px 9px;border-radius:6px;background:#fff;color:var(--green);font-weight:800}.match-table{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#fff}.match-table-head,.match-row{display:grid;grid-template-columns:104px minmax(180px,1fr) minmax(180px,1fr) 88px 92px;gap:0;align-items:center}.match-table-head{min-height:38px;padding:0 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--green) 8%,#fff);color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.match-row{min-height:44px;padding:0 12px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff}.match-row:last-child{border-bottom:0}.match-row.is-open{background:color-mix(in srgb,var(--paper) 55%,#fff)}.match-date{font-weight:700}.match-team{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score{display:inline-flex;justify-content:center;min-width:64px;padding:5px 8px;border-radius:6px;background:color-mix(in srgb,var(--green) 10%,#fff);font-weight:800}.match-row.is-open .score{background:color-mix(in srgb,var(--gold) 16%,#fff);color:#684c16}.report-link{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--blue) 22%,#fff);border-radius:6px;background:color-mix(in srgb,var(--blue) 7%,#fff);color:var(--blue);font-size:.86rem;font-weight:700}.report-link:hover{background:color-mix(in srgb,var(--blue) 13%,#fff)}.empty-state{padding:18px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted)}@media(max-width:760px){.match-table{border:0;background:transparent}.match-table-head{display:none}.match-row{grid-template-columns:1fr auto;gap:4px 12px;min-height:0;margin-bottom:8px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.match-date{grid-column:1 / 2;color:var(--muted);font-size:.86rem}.match-team{grid-column:1 / -1;white-space:normal}.match-row [role="cell"]:nth-child(4){grid-column:2;grid-row:1 / 3}.match-row [role="cell"]:nth-child(5){grid-column:2;grid-row:3}}
.table-stack{display:grid;gap:18px}.standings-block{display:grid;gap:10px}.table-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--green) 7%,#fff)}.table-title h3{margin:0}.table-title span{display:inline-flex;min-height:28px;align-items:center;padding:4px 8px;border-radius:6px;background:#fff;color:var(--green);font-size:.86rem;font-weight:800}.table-wrap td:first-child,.table-wrap th:first-child{width:48px;text-align:center}.table-wrap td:nth-child(n+3),.table-wrap th:nth-child(n+3){text-align:center;white-space:nowrap}.table-wrap td:nth-child(2){font-weight:700}
/* Spieleransicht: Karten nicht in zu schmale Spalten quetschen. */
.player-grid,
.player-grid-page,
.inline-player-panel .player-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(620px, 100%), 1fr));
}
.player-card {
  grid-template-columns: 58px minmax(0, 1fr) minmax(240px, 280px);
  min-width: 0;
}
.player-main,
.player-stats {
  min-width: 0;
}
@media (max-width: 900px) {
  .player-grid,
  .player-grid-page,
  .inline-player-panel .player-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .player-card {
    grid-template-columns: 50px minmax(0, 1fr);
    grid-template-rows: auto auto;
  }
  .player-photo {
    width: 50px;
    height: 50px;
  }
  .player-stats {
    grid-column: 1 / -1;
  }
}

/* Umschaltbare kompakte Listenansicht fuer Clubs und Teams */
.club-grid.is-list-view,
.team-list.is-list-view{grid-template-columns:1fr}

.club-grid.is-list-view .club-card{grid-template-columns:128px minmax(0,1fr);grid-template-rows:1fr;min-height:108px}
.club-grid.is-list-view .club-logo-link{min-height:108px;border-right:1px solid var(--line);border-bottom:0}
.club-grid.is-list-view .club-card-body{grid-template-columns:minmax(230px,1fr) minmax(180px,.65fr) 190px;grid-template-rows:auto;align-items:center;gap:16px;padding:14px 16px}
.club-grid.is-list-view .club-card-body h3{display:block;overflow:visible;margin:0;font-size:1rem}
.club-grid.is-list-view .club-card-body p{overflow:visible;white-space:normal}
.club-grid.is-list-view .club-teams{align-self:center;padding:0 0 0 14px;border-top:0;border-left:1px solid var(--line)}

.team-list.is-list-view .team-card{grid-template-columns:128px minmax(0,1fr);grid-template-rows:1fr;min-height:112px}
.team-list.is-list-view .team-logo-link{padding:10px;border-right:1px solid var(--line);border-bottom:0}
.team-list.is-list-view .team-logo-wrap{height:88px}
.team-list.is-list-view .team-card-body{grid-template-columns:minmax(180px,1fr) minmax(220px,1.15fr) minmax(170px,.8fr) 150px;grid-template-rows:auto;align-items:center;gap:16px;padding:14px 16px}
.team-list.is-list-view .team-card-body h3,
.team-list.is-list-view .team-card-body p{display:block;overflow:visible;margin:0}
.team-list.is-list-view .team-captain{padding:0 0 0 14px;border-top:0;border-left:1px solid var(--line)}
.team-list.is-list-view .team-player-link{align-self:center}
.team-list.is-list-view .inline-player-panel{grid-column:1/-1}

@media(max-width:1050px){
  .team-list.is-list-view .team-card-body{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}
  .team-list.is-list-view .team-captain{padding-left:0;border-left:0}
}

@media(max-width:700px){
  .club-grid.is-list-view .club-card,
  .team-list.is-list-view .team-card{grid-template-columns:86px minmax(0,1fr)}
  .club-grid.is-list-view .club-logo-link{min-height:100px;padding:8px}
  .club-grid.is-list-view .club-logo-link img{max-width:100%;max-height:58px}
  .club-grid.is-list-view .club-card-body,
  .team-list.is-list-view .team-card-body{grid-template-columns:1fr;grid-template-rows:auto;gap:7px;padding:10px 12px}
  .club-grid.is-list-view .club-teams{padding:7px 0 0;border-top:1px solid var(--line);border-left:0}
  .team-list.is-list-view .team-logo-link{padding:8px}
  .team-list.is-list-view .team-logo-wrap{height:80px}
  .team-list.is-list-view .team-logo-wrap img{max-width:100%;max-height:58px}
  .team-list.is-list-view .team-badge{right:0;bottom:0;width:27px;height:27px;font-size:.78rem}
  .team-list.is-list-view .team-captain{padding:7px 0 0;border-top:1px solid var(--line);border-left:0}
  .team-list.is-list-view .team-player-link{width:100%}
}

/* Eigenstaendiger Verwaltungsbereich */
.admin-shell{min-height:calc(100vh - 130px);grid-template-columns:260px minmax(0,1fr);margin:24px clamp(14px,3vw,42px);border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow)}
.admin-nav{display:flex;min-height:720px;flex-direction:column;padding:22px 16px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--green) 8%,#fff)}
.admin-nav-head{padding:2px 6px 16px}.admin-nav-head h2{margin:2px 0 4px}.admin-nav-head p:last-child{margin:0;color:var(--muted)}
.admin-tabs{display:grid;gap:6px}.admin-tab{margin:0;padding:11px 12px;border-radius:7px;font-size:.95rem}.admin-tab.is-active{border-color:color-mix(in srgb,var(--green) 28%,#fff);color:var(--green)}
.admin-nav .reset-button{margin-top:auto}
.admin-panel{min-width:0;padding:0;background:#fff}
.admin-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 45%,#fff)}
.admin-panel-head h1{margin:2px 0 0;font-size:clamp(1.6rem,3vw,2.25rem)}
.admin-panel-content{display:grid;gap:18px;padding:22px 24px}
.admin-card{overflow:hidden;border:1px solid var(--line);border-radius:10px;background:#fff}
.admin-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 17px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--green) 5%,#fff)}
.admin-card-head h3{margin:0}.admin-card-head p{margin:3px 0 0;color:var(--muted);font-size:.9rem}
.admin-card form{padding:17px}
.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px}
.admin-form-grid label,.admin-card-head-filter label{display:grid;gap:6px;color:var(--muted);font-size:.86rem;font-weight:700}
.admin-form-grid input,.admin-form-grid select,.admin-card-head-filter select{width:100%;min-height:42px}
.admin-span-2{grid-column:1/-1}
.admin-check{display:flex!important;align-items:center;align-self:end;min-height:42px;flex-direction:row!important}
.admin-check input{width:18px!important;min-height:18px!important}
.admin-rights{margin:17px 0 0;padding:14px;border:1px solid var(--line);border-radius:8px}
.admin-rights legend{padding:0 6px;color:var(--muted);font-size:.86rem;font-weight:800}
.admin-rights-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:9px}
.admin-rights-grid label{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--paper) 45%,#fff);cursor:pointer}
.admin-rights-grid input{width:17px;height:17px}
.admin-form-actions{display:flex;gap:9px;margin-top:17px}
.admin-record-list{display:grid}
.admin-record{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:13px 17px;border-bottom:1px solid var(--line)}
.admin-record:last-child{border-bottom:0}.admin-record strong{display:block}.admin-record p{margin:3px 0 0;color:var(--muted);font-size:.88rem}
.admin-item-actions{display:flex;gap:7px}.admin-item-actions .button{min-height:34px;padding:6px 10px}
.button.danger{border:1px solid #d9a9a9;background:#fff5f5;color:#9a3131}
.button.danger:hover{background:#ffe9e9}
.admin-notice{padding:12px 14px;border:1px solid;border-radius:8px;font-weight:700}
.admin-notice.is-success{border-color:#a9cfb7;background:#f0faf3;color:#24623a}
.admin-notice.is-error{border-color:#dfb3b3;background:#fff3f3;color:#8d2e2e}
.admin-card-head-filter label{min-width:210px}
/* Spielerbild-Pflege in den Stammdaten. */
.admin-player-form .admin-form-grid select,
.admin-file-field input {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 9px 11px;
  color: var(--ink);
}
.admin-player-editor {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 20px;
  align-items: center;
  margin-top: 18px;
}
.admin-player-preview {
  display: grid;
  width: 150px;
  height: 150px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--green) 10%, #fff), color-mix(in srgb, var(--gold) 10%, #fff));
  color: var(--green);
  font-size: 2rem;
  font-weight: 800;
}
.admin-player-preview img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.admin-player-upload {
  display: grid;
  min-width: 0;
  gap: 5px;
}
.admin-player-upload > strong {
  font-size: 1.15rem;
}
.admin-player-upload > span,
.admin-player-upload small {
  color: var(--muted);
}
.admin-file-field {
  display: grid;
  gap: 6px;
  margin-top: 8px;
  color: var(--muted);
  font-size: .86rem;
  font-weight: 700;
}
.admin-file-field input {
  width: 100%;
}
.admin-player-message,
.admin-player-storage-note {
  margin: 16px 0 0;
  padding: 10px 12px;
  border-radius: 8px;
}
.admin-player-message {
  border: 1px solid color-mix(in srgb, var(--green) 32%, #fff);
  background: color-mix(in srgb, var(--green) 8%, #fff);
  color: var(--green);
  font-weight: 700;
}
.admin-player-storage-note {
  border: 1px solid color-mix(in srgb, var(--gold) 30%, #fff);
  background: color-mix(in srgb, var(--gold) 10%, #fff);
  color: var(--muted);
  font-size: .86rem;
}
@media(max-width:560px) {
  .admin-player-editor {
    grid-template-columns: 1fr;
  }
  .admin-player-preview {
    width: 120px;
    height: 120px;
  }
  .admin-player-upload .admin-form-actions {
    flex-direction: column;
  }
}
body[data-current-view="admin"] .footer{display:none}

@media(max-width:900px){
  .admin-shell{grid-template-columns:1fr;margin:14px}
  .admin-nav{min-height:0;border-right:0;border-bottom:1px solid var(--line)}
  .admin-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .admin-nav .reset-button{margin-top:14px}
}
@media(max-width:650px){
  .admin-tabs{grid-template-columns:1fr 1fr}
  .admin-panel-head,.admin-panel-content{padding:16px}
  .admin-panel-head{align-items:flex-start}
  .admin-form-grid,.admin-rights-grid{grid-template-columns:1fr}
  .admin-span-2{grid-column:auto}
  .admin-record{grid-template-columns:1fr}
  .admin-item-actions{flex-wrap:wrap}
  .admin-card-head-filter{align-items:stretch;flex-direction:column}
  .admin-card-head-filter label{min-width:0}
}

/* Hauptnavigation mit Service-Untermenue */
.nav-submenu{position:relative}
.nav-submenu summary{list-style:none;padding:8px 10px;border-radius:8px;color:#34424d;font-size:.95rem;cursor:pointer;user-select:none}
.nav-submenu summary::-webkit-details-marker{display:none}
.nav-submenu summary::after{content:"▾";margin-left:7px;color:var(--muted);font-size:.75rem}
.nav-submenu summary:hover,.nav-submenu[open] summary,.nav-submenu.is-active summary{background:color-mix(in srgb,var(--green) 12%,#fff);color:var(--green)}
.nav-submenu.is-active summary{box-shadow:inset 0 -2px 0 var(--green)}
.nav-submenu-panel{position:absolute;right:0;top:calc(100% + 7px);z-index:30;display:none;min-width:225px;padding:7px;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:var(--shadow)}
.nav-submenu[open] .nav-submenu-panel{display:grid}
.main-nav .nav-submenu-panel a{display:block;white-space:nowrap}

/* Kompaktere Startseite */
.season-band{min-height:440px;padding:28px clamp(18px,5vw,72px);gap:clamp(24px,5vw,64px)}
.season-copy h1{font-size:clamp(2.35rem,5vw,4.25rem)}
.season-copy p:not(.eyebrow){font-size:1.05rem}
.season-actions{margin-top:20px}
.season-visual{min-height:300px}
.home-metrics{padding-top:18px;padding-bottom:24px}
.home-metrics .metric{min-height:90px;padding:14px 18px}
.home-metrics .metric strong{margin-top:4px;font-size:1.9rem}
.home-current{padding-top:28px;background:#fff}
.current-head{margin-bottom:14px}
.current-head h2{margin-bottom:0}
.current-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden}
.current-column{min-width:0;padding:18px}
.current-column>h3{margin-bottom:13px}
.next-matches.current-column{padding:18px;border:0;border-left:1px solid var(--line);border-radius:0}

/* Service-Bereich */
.service-summary{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}
.service-summary strong{color:var(--green)}
.service-summary span{color:var(--muted);font-size:.9rem}
.public-report-list{display:grid;gap:9px}
.public-report-item{display:grid;grid-template-columns:minmax(0,1fr) auto 180px;gap:16px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fff}
.public-report-item span{color:var(--muted);font-size:.84rem}
.public-report-item h3{margin:3px 0 0}
.info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.info-card{display:flex;min-height:220px;flex-direction:column;padding:19px;border:1px solid var(--line);border-radius:9px;background:#fff}
.info-card>span:first-child{color:var(--green);font-size:.78rem;font-weight:800;text-transform:uppercase}
.info-card h3{margin:10px 0 8px;font-size:1.15rem}
.info-card p{color:var(--muted)}
.info-card .status-pill{align-self:flex-start;margin-top:auto}

@media(max-width:900px){
  .nav-submenu{width:100%}
  .nav-submenu summary{width:100%}
  .nav-submenu-panel{position:static;min-width:0;margin-top:4px;border:0;border-left:3px solid color-mix(in srgb,var(--green) 22%,#fff);border-radius:0;box-shadow:none}
  .current-grid{grid-template-columns:1fr}
  .next-matches.current-column{border-left:0;border-top:1px solid var(--line)}
  .info-grid{grid-template-columns:1fr}
  .public-report-item{grid-template-columns:minmax(0,1fr) auto}
  .public-report-item .button{grid-column:1/-1}
}
@media(max-width:560px){
  .season-band{min-height:0;padding-top:22px;padding-bottom:22px}
  .season-visual{min-height:220px}
  .home-metrics{padding-top:12px;padding-bottom:18px}
  .public-report-item{grid-template-columns:1fr}
  .public-report-item .score{justify-self:start}
}

/* Saison-/Infobereich nochmals vertikal verdichtet */
.season-band{min-height:380px;padding-top:18px;padding-bottom:18px}
.season-visual{min-height:250px}
#info.content-band{padding-top:26px;padding-bottom:26px}
.info-card{min-height:190px;padding-top:16px;padding-bottom:16px}
@media(max-width:560px){
  .season-band{padding-top:16px;padding-bottom:16px}
  .season-visual{min-height:180px}
}

/* Optikauswahl innerhalb des Service-Untermenues */
.nav-theme-setting{display:grid;gap:5px;margin-top:6px;padding:10px 8px 2px;border-top:1px solid var(--line);color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase}
.nav-theme-setting .theme-select{width:100%;text-transform:none;font-weight:400}
@media(max-width:900px){
  .nav-theme-setting{padding-bottom:8px}
}

/* Startseitenbereiche naeher an den seitlichen Rand ruecken */
.season-band,
.home-metrics,
.home-current{padding-left:clamp(14px,3vw,42px);padding-right:clamp(14px,3vw,42px)}

/* Offizielles Schwabenliga-Wappen im Kopfbereich */
.brand-mark{overflow:hidden;padding:3px;border:1px solid color-mix(in srgb,var(--line) 85%,#fff);background:#fff}
.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}

/* Gemeinsame Seitenkante fuer Kopf- und Startseitenbereiche */
.topbar{padding-left:clamp(14px,3vw,42px);padding-right:clamp(14px,3vw,42px)}

/* Kennzahlenbereich kompakter halten */
.home-metrics{padding-top:12px;padding-bottom:18px}
.home-metrics .dashboard-grid{gap:10px}
.home-metrics .metric{min-height:78px;padding:10px 16px}
.home-metrics .metric strong{margin-top:2px;font-size:1.7rem;line-height:1.05}

/* Zwei klar unterscheidbare Erscheinungsbilder */
body[data-theme="fresh"]{
  --ink:#12333a;--muted:#58747a;--line:#cde9e3;--paper:#effaf7;--white:#fff;
  --green:#008e72;--green-2:#64d79a;--blue:#167db7;--gold:#f0b83f;--rose:#df5b78;
  --header:#f8fffd;--panel:#fff;--shadow:0 18px 45px rgba(0,110,92,.14)
}
body[data-theme="schwabenliga"]{
  --ink:#242424;--muted:#686868;--line:#d5d5d5;--paper:#f1f1f1;--white:#fff;
  --green:#b51f32;--green-2:#f2c400;--blue:#505050;--gold:#f2c400;--rose:#8f1828;
  --header:#fff;--panel:#fff;--shadow:0 18px 45px rgba(25,25,25,.14)
}
body[data-theme="fresh"] .season-band{background:linear-gradient(120deg,rgba(56,214,177,.22),transparent 46%),linear-gradient(285deg,rgba(74,170,228,.18),transparent 52%),#effaf7}
body[data-theme="fresh"] .course{background:radial-gradient(circle at 72% 24%,#f8fff7 0 8%,transparent 8.5%),radial-gradient(circle at 26% 78%,#65d9a2 0 16%,transparent 16.5%),linear-gradient(135deg,#29b997 0 22%,#bdf3d5 22% 42%,#4ec9a0 42% 62%,#dcf8e9 62% 100%)}
body[data-theme="schwabenliga"] .topbar{box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--green) 75%,#fff)}
body[data-theme="schwabenliga"] .season-band{background:linear-gradient(120deg,rgba(181,31,50,.09),transparent 43%),linear-gradient(285deg,rgba(242,196,0,.22),transparent 50%),#f1f1f1}
body[data-theme="schwabenliga"] .course{background:radial-gradient(circle at 72% 24%,#fff 0 8%,transparent 8.5%),radial-gradient(circle at 26% 78%,#f2c400 0 16%,transparent 16.5%),linear-gradient(135deg,#cfcfcf 0 22%,#f4f4f4 22% 42%,#a9a9a9 42% 62%,#e1e1e1 62% 100%)}
body[data-theme="schwabenliga"] .fairway{background:rgba(255,255,255,.68)}
body[data-theme="schwabenliga"] .pin:after{border-left-color:#b51f32}

/* Moderne Symbole im Kennzahlenbereich */
.home-metrics .metric{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px}
.metric-icon{display:grid;width:42px;height:42px;place-items:center;border:1px solid color-mix(in srgb,var(--metric-accent) 24%,#fff);border-radius:12px;background:color-mix(in srgb,var(--metric-accent) 12%,#fff);color:var(--metric-accent);transition:transform .18s ease,background .18s ease}
.metric:hover .metric-icon{transform:scale(1.05);background:color-mix(in srgb,var(--metric-accent) 18%,#fff)}
.metric-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.metric-copy{display:block;min-width:0;line-height:1.1}
.metric-copy .metric-label{display:block;color:var(--muted);font-size:.88rem}
.home-metrics .metric-copy strong{display:block;margin-top:3px}
.metric[data-metric="clubs"]{--metric-accent:var(--green)}
.metric[data-metric="teams"]{--metric-accent:var(--blue)}
.metric[data-metric="players"]{--metric-accent:var(--rose)}
.metric[data-metric="matches"]{--metric-accent:#aa7600}
body[data-theme="schwabenliga"] .metric[data-metric="clubs"]{--metric-accent:#b51f32}
body[data-theme="schwabenliga"] .metric[data-metric="teams"]{--metric-accent:#555}
body[data-theme="schwabenliga"] .metric[data-metric="players"]{--metric-accent:#8c6700}
body[data-theme="schwabenliga"] .metric[data-metric="matches"]{--metric-accent:#8f1828}
@media(max-width:560px){.home-metrics .metric{grid-template-columns:38px minmax(0,1fr)}.metric-icon{width:38px;height:38px;border-radius:10px}.metric-icon svg{width:22px;height:22px}}

/* Captains in der Spielerliste sichtbar kennzeichnen */
.player-name-line{display:flex;min-width:0;align-items:center;gap:7px}
.player-name-line strong{min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.captain-badge{display:inline-flex;flex:0 0 auto;align-items:center;min-height:20px;padding:2px 7px;border:1px solid color-mix(in srgb,var(--gold) 42%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--gold) 15%,#fff);color:color-mix(in srgb,var(--ink) 76%,var(--gold));font-size:.68rem;font-weight:800;text-transform:uppercase}

/* Spielberichte kompakter darstellen */
.service-summary{margin-bottom:8px;padding:7px 10px}
.public-report-list{gap:6px}
.public-report-item{grid-template-columns:minmax(0,1fr) 64px 132px;gap:10px;min-height:58px;padding:8px 11px}
.public-report-item span{font-size:.76rem}
.public-report-item h3{margin:1px 0 0;font-size:.95rem;line-height:1.18}
.public-report-item .score{min-width:54px;padding:4px 6px;font-size:.88rem}
.public-report-item .report-open-button{min-height:32px;padding:5px 9px;font-size:.82rem}
@media(max-width:900px){.public-report-item{grid-template-columns:minmax(0,1fr) 60px 118px}.public-report-item .button{grid-column:auto}}
@media(max-width:650px){.public-report-item{grid-template-columns:minmax(0,1fr) auto}.public-report-item .report-open-button{grid-column:1/-1;justify-self:start}.player-name-line{flex-wrap:wrap}}

/* Kompakte Captain-Kennzeichnung */
.captain-badge{width:20px;min-height:20px;justify-content:center;padding:0}


/* Einheitliche Seitenkanten in allen Ansichten */
.content-band{padding-left:clamp(14px,3vw,42px);padding-right:clamp(14px,3vw,42px)}
.admin-shell{margin-left:clamp(14px,3vw,42px);margin-right:clamp(14px,3vw,42px)}
.footer{padding-left:clamp(14px,3vw,42px);padding-right:clamp(14px,3vw,42px)}
@media(max-width:900px){.main-nav{left:var(--page-edge);right:var(--page-edge)}}

/* Navigation bleibt beim Ein-/Ausblenden des Scrollbalkens stabil */
html{scrollbar-gutter:stable}

/* Eine gemeinsame schmale Seitenkante fuer wirklich alle Hauptansichten */
:root{--page-edge:clamp(14px,3vw,42px)}
.topbar,.season-band,.home-metrics,.home-current,.content-band,.footer{padding-left:var(--page-edge);padding-right:var(--page-edge)}
.admin-shell{margin-left:var(--page-edge);margin-right:var(--page-edge)}
@media(max-width:560px){:root{--page-edge:14px}}

/* Reine Logoansicht der Clubs */
.club-grid.is-logo-view{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.club-grid.is-logo-view .club-card{grid-template-rows:128px;min-height:128px}
.club-grid.is-logo-view .club-card-body{display:none}
.club-grid.is-logo-view .club-logo-link{min-height:128px;padding:16px;border-bottom:0}
.club-grid.is-logo-view .club-logo-link img{max-width:min(190px,92%);max-height:90px}
.club-grid.is-logo-view .club-logo-fallback{width:82px;height:82px;font-size:1.35rem}

/* Logoansicht der Teams mit sichtbarem Teamnamen */
.team-list.is-logo-view{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.team-list.is-logo-view .team-card{grid-template-rows:128px minmax(48px,auto);min-height:176px}
.team-list.is-logo-view .team-logo-link{padding:12px 16px}
.team-list.is-logo-view .team-logo-wrap{height:104px}
.team-list.is-logo-view .team-logo-wrap img{max-width:min(190px,92%);max-height:86px}
.team-list.is-logo-view .team-logo-wrap .club-logo-fallback{width:78px;height:78px;font-size:1.3rem}
.team-list.is-logo-view .team-badge{right:6px;bottom:2px;width:34px;height:34px}
.team-list.is-logo-view .team-card-body{display:flex;align-items:center;justify-content:center;padding:9px 11px;text-align:center}
.team-list.is-logo-view .team-card-body h3{display:block;margin:0;font-size:.95rem;line-height:1.2;overflow:visible}
.team-list.is-logo-view .team-card-body p,
.team-list.is-logo-view .team-captain,
.team-list.is-logo-view .team-player-link{display:none}
.team-list.is-logo-view .inline-player-panel{grid-column:1/-1}
@media(max-width:560px){.club-grid.is-logo-view{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.team-list.is-logo-view{grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:8px}}

/* Einheitliche, nahezu lueckenlose Logoansicht fuer Clubs und Teams */
.club-grid.is-logo-view,
.team-list.is-logo-view{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:2px}
.club-grid.is-logo-view .club-card,
.team-list.is-logo-view .team-card{display:block;min-height:0;aspect-ratio:1/1;border:0;border-radius:4px;overflow:hidden}
.club-grid.is-logo-view .club-logo-link,
.team-list.is-logo-view .team-logo-link{display:grid;width:100%;height:100%;min-height:0;place-items:stretch;padding:2px;border:0}
.club-grid.is-logo-view .club-logo-link img,
.team-list.is-logo-view .team-logo-wrap img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:fill}
.club-grid.is-logo-view .club-logo-fallback,
.team-list.is-logo-view .team-logo-wrap .club-logo-fallback{width:100%;height:100%;border:0;border-radius:0;font-size:1.6rem}
.club-grid.is-logo-view .club-card-body,
.team-list.is-logo-view .team-card-body{display:none}
.team-list.is-logo-view .team-logo-wrap{position:relative;display:grid;width:100%;height:100%;place-items:stretch}
.team-list.is-logo-view .team-badge{right:4px;bottom:4px;width:32px;height:32px;border-width:1px}
@media(max-width:560px){.club-grid.is-logo-view,.team-list.is-logo-view{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.team-list.is-logo-view .team-badge{right:3px;bottom:3px;width:28px;height:28px;font-size:.78rem}}


/* Direkt einstellbare Abstaende und Logogroessen */
:root{--page-edge:8px;--logo-grid-gap:4px;--logo-view-size:90%;--tile-logo-height:74px}
.club-grid.is-logo-view,.team-list.is-logo-view{gap:var(--logo-grid-gap)}
.club-grid.is-logo-view .club-logo-link,.team-list.is-logo-view .team-logo-link{padding:0;place-items:center}
.club-grid.is-logo-view .club-logo-link img,.team-list.is-logo-view .team-logo-wrap img{width:var(--logo-view-size);height:var(--logo-view-size);justify-self:center;align-self:center}
.club-grid.is-logo-view .club-logo-fallback,.team-list.is-logo-view .team-logo-wrap .club-logo-fallback{width:var(--logo-view-size);height:var(--logo-view-size);justify-self:center;align-self:center}
.club-grid:not(.is-list-view):not(.is-logo-view) .club-logo-link img,
.team-list:not(.is-list-view):not(.is-logo-view) .team-logo-wrap img{max-width:88%;max-height:var(--tile-logo-height)}
.club-grid:not(.is-list-view):not(.is-logo-view) .club-logo-fallback,
.team-list:not(.is-list-view):not(.is-logo-view) .team-logo-wrap .club-logo-fallback{width:var(--tile-logo-height);height:var(--tile-logo-height)}

/* In der Kachelansicht bestimmt der Regler die komplette Logohoehe; kein oberer Innenabstand. */
.club-grid:not(.is-list-view):not(.is-logo-view) .club-card,
.team-list:not(.is-list-view):not(.is-logo-view) .team-card {
  grid-template-rows: var(--tile-logo-height) 1fr;
}
.club-grid:not(.is-list-view):not(.is-logo-view) .club-logo-link,
.team-list:not(.is-list-view):not(.is-logo-view) .team-logo-link {
  height: var(--tile-logo-height);
  min-height: var(--tile-logo-height);
  padding-top: 0;
  padding-bottom: 0;
  align-items: start;
}
.team-list:not(.is-list-view):not(.is-logo-view) .team-logo-wrap {
  height: var(--tile-logo-height);
  align-items: start;
}
.club-grid:not(.is-list-view):not(.is-logo-view) .club-logo-link img,
.team-list:not(.is-list-view):not(.is-logo-view) .team-logo-wrap img,
.club-grid:not(.is-list-view):not(.is-logo-view) .club-logo-fallback,
.team-list:not(.is-list-view):not(.is-logo-view) .team-logo-wrap .club-logo-fallback {
  align-self: start;
}
/* Feineinstellungen im Service-Menue */
.nav-submenu-panel{min-width:320px}
.nav-layout-settings{display:grid;gap:8px;margin-top:6px;padding:10px 8px 4px;border-top:1px solid var(--line)}
.nav-layout-settings>strong{color:var(--muted);font-size:.76rem;text-transform:uppercase}
.nav-layout-settings label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:center;color:var(--muted);font-size:.78rem}
.nav-layout-settings output{color:var(--ink);font-size:.76rem;font-variant-numeric:tabular-nums}
.nav-layout-settings input[type="range"]{grid-column:1/-1;width:100%;height:18px;margin:0;accent-color:var(--green);cursor:pointer}
.layout-reset{min-height:30px;margin-top:2px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-size:.78rem;cursor:pointer}
.layout-reset:hover{background:color-mix(in srgb,var(--green) 7%,#fff)}
@media(max-width:900px){.nav-submenu-panel{min-width:0}.nav-layout-settings{padding-bottom:8px}}

/* Spieleransicht: automatisch 1–3 Spalten, sobald die Karten wirklich passen. */
.player-grid,
.player-grid-page,
.inline-player-panel .player-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(480px, 100%), 1fr));
  gap: 8px;
}
.player-card {
  grid-template-columns: 52px minmax(145px, .75fr) minmax(245px, 1fr);
  gap: 6px;
  min-height: 76px;
  padding: 8px;
}
.player-photo,
.player-grid-page .player-photo {
  width: 52px;
  height: 52px;
}
.player-stats {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 3px;
}
.player-stats div {
  padding: 5px 4px;
}
.player-stats dt {
  font-size: .72rem;
}
.player-stats dd {
  font-size: 1rem;
}
@media (max-width: 700px) {
  .player-card {
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-rows: auto auto;
  }
  .player-photo,
  .player-grid-page .player-photo {
    width: 46px;
    height: 46px;
  }
  .player-stats {
    grid-column: 1 / -1;
  }
}

/* Captain-Kennzeichnung optisch exakt zur Namenszeile ausrichten. */
.player-name-line {
  align-items: center;
  flex-wrap: nowrap;
  min-height: 20px;
}
.captain-badge {
  display: inline-grid;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  min-height: 18px;
  place-items: center;
  align-self: center;
  padding: 0;
  line-height: 1;
}

/* Ruhige Seitenwechsel und pixelgenau gleiche Kopfpositionen. */
.content-band.page-view:not([data-view="home"]),
#info.content-band.page-view {
  padding-top: 32px;
}
.section-head {
  align-items: flex-start;
}
.section-head > :first-child {
  flex: 0 0 auto;
}
.section-head h2 {
  margin-bottom: 0;
}

/* Logoansicht ohne graue Ecken oder abgeschnittene Teamkennzeichnung. */
.club-grid.is-logo-view .club-card,
.team-list.is-logo-view .team-card {
  border-radius: 0;
  background: #fff;
}
.club-grid.is-logo-view .club-logo-link,
.team-list.is-logo-view .team-logo-link,
.club-grid.is-logo-view .club-logo-link:hover,
.team-list.is-logo-view .team-logo-link:hover {
  background: #fff;
  box-shadow: none;
}
.team-list.is-logo-view .team-logo-wrap {
  overflow: visible;
}
.team-list.is-logo-view .team-badge,
.team-list.is-logo-view .team-badge:hover {
  right: 8px;
  bottom: 8px;
  z-index: 3;
  width: 28px;
  height: 28px;
  border-width: 1px;
  box-shadow: none;
}
@media (max-width: 560px) {
  .content-band.page-view:not([data-view="home"]),
  #info.content-band.page-view {
    padding-top: 24px;
  }
  .section-head {
    align-items: stretch;
  }
  .team-list.is-logo-view .team-badge {
    right: 6px;
    bottom: 6px;
    width: 26px;
    height: 26px;
  }
}

/* Teamabzeichen gehoert zur Kachel, nicht zur Bildgeometrie. */
.team-logo-link {
  position: relative;
}
.team-list.is-logo-view .team-logo-wrap {
  position: static;
}
.team-list.is-logo-view .team-badge {
  position: absolute;
  right: 8px;
  bottom: 8px;
}

/* Logos niemals strecken; nahezu weisse Rasterhintergruende angleichen. */
.club-grid.is-logo-view .club-logo-link,
.team-list.is-logo-view .team-logo-link,
.club-grid.is-logo-view .club-card,
.team-list.is-logo-view .team-card,
.club-grid.is-logo-view .club-logo-link:hover,
.team-list.is-logo-view .team-logo-link:hover {
  background: #fff;
}
.club-grid.is-logo-view .club-logo-link img,
.team-list.is-logo-view .team-logo-wrap img {
  width: var(--logo-view-size);
  height: var(--logo-view-size);
  object-fit: contain;
  background: #fff;
  filter: brightness(1.008);
}
@media (max-width: 560px) {
  .team-list.is-logo-view .team-badge {
    right: 6px;
    bottom: 6px;
  }
}

/* Deckende Ebenen verhindern graue Renderreste beim Seitenwechsel. */
body,
main {
  background-color: var(--paper);
}
.content-band.page-view:not([data-view="home"]),
.club-grid.is-logo-view,
.team-list.is-logo-view,
#players .player-grid-page {
  background-color: var(--paper);
}
.topbar {
  background: var(--header);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
main,
.page-view {
  min-width: 0;
}

/* Kompaktes Clublogo direkt hinter dem Teamnamen in Spieleransichten. */
.player-team-line {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  min-width: 0;
  align-items: center;
  gap: 6px;
}
.player-team-line > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.player-team-line img {
  display: block;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  background: #fff;
  object-fit: contain;
}
.player-detail-team-meta {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
}
/* Ein einziges echtes C, ohne zusaetzliches Pseudoelement. */
.player-main .captain-badge,
.player-detail-head .captain-badge {
  display: inline-grid;
  width: 18px;
  height: 18px;
  min-height: 18px;
  padding: 0;
  place-items: center;
  color: color-mix(in srgb,var(--ink) 76%,var(--gold));
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  transform: translateY(-1px);
}
.captain-badge::before {
  content: none;
}


/* Einheitliches, ruhiges Kopfraster auf allen Inhaltsseiten. */
html {
  overflow-y: scroll;
  scrollbar-gutter: stable;
  scroll-behavior: auto;
}
body {
  -webkit-font-smoothing: antialiased;
}
.content-band.page-view:not([data-view="home"]){
  background: var(--paper);
}
.content-band.page-view:not([data-view="home"]) .section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: 58px minmax(42px, auto);
  gap: 10px;
  min-height: 110px;
  margin-bottom: 14px;
  align-items: start;
}
.content-band.page-view:not([data-view="home"]) .section-head > :first-child {
  min-width: 0;
  height: 58px;
}
.content-band.page-view:not([data-view="home"]) .section-head .eyebrow {
  height: 19px;
  margin-bottom: 4px;
  line-height: 19px;
}
.content-band.page-view:not([data-view="home"]) .section-head h2 {
  height: 35px;
  margin: 0;
  overflow: hidden;
  font-size: 32px;
  line-height: 35px;
  white-space: nowrap;
}
.content-band.page-view:not([data-view="home"]) .toolbar-row {
  width: 100%;
  min-height: 42px;
  justify-content: flex-end;
  align-items: center;
}
.content-band.page-view:not([data-view="home"]) .search,
.content-band.page-view:not([data-view="home"]) .select,
.content-band.page-view:not([data-view="home"]) .button {
  height: 42px;
  min-height: 42px;
}
.content-band.page-view:not([data-view="home"]) .search {
  flex: 0 0 250px;
  width: 250px;
}
.content-band.page-view:not([data-view="home"]) .sort-control .select {
  width: 176px;
  min-width: 176px;
}
.content-band.page-view:not([data-view="home"]) .toolbar-row > .select {
  width: 176px;
}
.player-toolbar {
  flex-wrap: nowrap;
}

/* Spielerflächen vollständig deckend, ohne gemischte Hintergrundtöne. */
#players,
#players .player-grid-page {
  background-color: var(--paper);
}
#players .player-summary,
#players .player-card,
#players .player-stats div {
  background-color: #fff;
}

@media (max-width: 1180px) {
  .content-band.page-view:not([data-view="home"]) .toolbar-row {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .content-band.page-view:not([data-view="home"]) .section-head {
    grid-template-rows: 58px auto;
  }
}
@media (max-width: 700px) {
  .content-band.page-view:not([data-view="home"]) .section-head h2 {
    font-size: 28px;
    line-height: 35px;
  }
  .content-band.page-view:not([data-view="home"]) .search,
  .content-band.page-view:not([data-view="home"]) .sort-control,
  .content-band.page-view:not([data-view="home"]) .sort-control .select,
  .content-band.page-view:not([data-view="home"]) .toolbar-row > .select {
    width: 100%;
    min-width: 0;
    flex-basis: 100%;
  }
}


/* Tabelle passt auf Mobilgeraeten vollständig in die Hochkantansicht. */
.table-label-short {
  display: none;
}
@media (max-width: 560px) {
  .table-wrap {
    overflow-x: visible;
  }
  .table-wrap table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }
  .table-wrap th,
  .table-wrap td {
    padding: 7px 3px;
    font-size: .72rem;
    line-height: 1.2;
  }
  .table-wrap th:first-child,
  .table-wrap td:first-child {
    width: 28px;
  }
  .table-wrap th:nth-child(3),
  .table-wrap td:nth-child(3) {
    width: 34px;
  }
  .table-wrap th:nth-child(4),
  .table-wrap td:nth-child(4) {
    width: 42px;
  }
  .table-wrap th:nth-child(5),
  .table-wrap td:nth-child(5) {
    width: 66px;
  }
  .table-wrap th:nth-child(6),
  .table-wrap td:nth-child(6) {
    width: 46px;
  }
  .table-wrap th:nth-child(n+3),
  .table-wrap td:nth-child(n+3) {
    white-space: nowrap;
  }
  .table-wrap td:nth-child(2) {
    overflow-wrap: anywhere;
    hyphens: auto;
    line-height: 1.15;
  }
  .table-label-full {
    display: none;
  }
  .table-label-short {
    display: inline;
    border: 0;
    text-decoration: none;
  }
}
@media (max-width: 380px) {
  .table-wrap th,
  .table-wrap td {
    padding-inline: 2px;
    font-size: .68rem;
  }
  .table-wrap th:first-child,
  .table-wrap td:first-child {
    width: 24px;
  }
  .table-wrap th:nth-child(3),
  .table-wrap td:nth-child(3) {
    width: 29px;
  }
  .table-wrap th:nth-child(4),
  .table-wrap td:nth-child(4) {
    width: 36px;
  }
  .table-wrap th:nth-child(5),
  .table-wrap td:nth-child(5) {
    width: 59px;
  }
  .table-wrap th:nth-child(6),
  .table-wrap td:nth-child(6) {
    width: 41px;
  }
}


/* Ausklappbare Ergebnisdetails je Spieler. */
.player-card-selectable {
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.player-card-selectable:hover,
.player-card-selectable:focus-visible {
  border-color: color-mix(in srgb, var(--green) 45%, var(--line));
  box-shadow: 0 6px 18px color-mix(in srgb, var(--green) 12%, transparent);
  outline: none;
}
.player-card-selectable.is-selected {
  border-color: var(--green);
  box-shadow: inset 0 0 0 1px var(--green);
}
.player-sort-break {
  grid-column: 1 / -1;
  display: flex;
  min-height: 18px;
  align-items: center;
  gap: 8px;
  margin-top: 3px;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .025em;
  line-height: 1;
  text-transform: uppercase;
}
.player-sort-break::after {
  content: "";
  flex: 1;
  height: 1px;
  background: color-mix(in srgb, var(--green) 26%, var(--line));
}
.player-sort-break.is-first {
  margin-top: 0;
}
.player-result-link {
  color: var(--green) !important;
  font-size: .76rem !important;
  font-weight: 700;
  white-space: nowrap;
}
.player-detail {
  margin-bottom: 12px;
  overflow: hidden;
  scroll-margin-top: 88px;
  border: 1px solid color-mix(in srgb, var(--green) 35%, var(--line));
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(18, 51, 58, .09);
}
.player-detail-head {
  display: flex;
  min-height: 82px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--line);
  background: color-mix(in srgb, var(--green) 7%, #fff);
}
.player-detail-head .eyebrow {
  margin-bottom: 2px;
}
.player-detail-head h3 {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 2px;
  font-size: 1.22rem;
}
.player-detail-head p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: .88rem;
}
.player-detail-close {
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  padding: 0 0 2px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  cursor: pointer;
  font-size: 1.45rem;
  line-height: 1;
}
.player-detail-close:hover {
  border-color: var(--green);
  color: var(--green);
}
.player-result-list {
  display: grid;
}
.player-result-columns,
.player-result-row {
  display: grid;
  grid-template-columns: 145px minmax(220px, 1fr) 105px 112px;
  gap: 12px;
  align-items: center;
}
.player-result-columns {
  min-height: 34px;
  padding: 6px 14px;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  text-transform: uppercase;
}
.player-result-row {
  min-height: 68px;
  padding: 9px 14px 9px 11px;
  border-bottom: 1px solid var(--line);
  border-left: 4px solid var(--line);
  background: #fff;
}
.player-result-row:last-child {
  border-bottom: 0;
}
.player-result-row[data-outcome="gewonnen"] {
  border-left-color: var(--green);
}
.player-result-row[data-outcome="verloren"] {
  border-left-color: var(--rose);
}
.player-result-row[data-outcome="unentschieden"] {
  border-left-color: var(--gold);
}
.player-result-date,
.player-result-opponent,
.player-result-score {
  display: grid;
  min-width: 0;
  gap: 2px;
}
.player-result-date span,
.player-result-opponent span,
.player-result-score span {
  color: var(--muted);
  font-size: .78rem;
}
.player-result-opponent strong,
.player-result-opponent span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.player-result-score strong {
  font-size: 1.08rem;
  font-variant-numeric: tabular-nums;
}
.player-result-row[data-outcome="gewonnen"] .player-result-score span {
  color: var(--green);
}
.player-result-row[data-outcome="verloren"] .player-result-score span {
  color: var(--rose);
}
.player-result-report {
  min-height: 36px !important;
  height: 36px !important;
  padding: 6px 10px !important;
  font-size: .82rem;
  white-space: nowrap;
}
.player-detail > .empty-state {
  border: 0;
  border-radius: 0;
}
@media (max-width: 760px) {
  .player-result-columns {
    display: none;
  }
  .player-result-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 7px 12px;
    padding: 11px 12px 11px 9px;
  }
  .player-result-date {
    grid-column: 1;
  }
  .player-result-opponent {
    grid-column: 1;
  }
  .player-result-score {
    grid-column: 2;
    grid-row: 1 / 3;
    min-width: 72px;
    justify-items: end;
    align-self: center;
  }
  .player-result-report {
    grid-column: 1 / -1;
    width: max-content;
    margin-top: 3px;
  }
  .player-result-opponent strong,
  .player-result-opponent span {
    overflow: visible;
    white-space: normal;
  }
}
@media (max-width: 420px) {
  .player-detail-head {
    padding-inline: 12px;
  }
  .player-detail-head h3 {
    font-size: 1.08rem;
  }
  .player-result-row {
    grid-template-columns: minmax(0, 1fr) 68px;
  }
}


/* Kontextlinks von Aktuelles zu Spieltag und Begegnung. */
.current-context-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.current-context-links a {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border: 1px solid color-mix(in srgb, var(--blue) 25%, var(--line));
  border-radius: 6px;
  background: color-mix(in srgb, var(--blue) 6%, #fff);
  color: var(--blue);
  font-size: .8rem;
  font-weight: 700;
}
.current-context-links a:hover,
.current-context-links a:focus-visible {
  border-color: var(--blue);
  background: color-mix(in srgb, var(--blue) 12%, #fff);
  outline: none;
}
.next-match .current-context-links {
  margin-top: 8px;
}
.match-row {
  scroll-margin-top: 92px;
}
.match-row.is-linked-focus,
.match-row.is-linked-focus.is-open {
  position: relative;
  z-index: 1;
  background: color-mix(in srgb, var(--gold) 16%, #fff);
  box-shadow: inset 4px 0 0 var(--gold), inset 0 0 0 1px color-mix(in srgb, var(--gold) 55%, var(--line));
  outline: none;
}
@media (max-width: 560px) {
  .current-context-links a {
    flex: 1 1 96px;
  }
}
/* Aktuelles greift die Farben des gewählten Erscheinungsbilds auf. */
.home-current {
  background:
    linear-gradient(125deg, color-mix(in srgb, var(--green) 8%, transparent), transparent 46%),
    linear-gradient(300deg, color-mix(in srgb, var(--gold) 10%, transparent), transparent 54%),
    var(--paper);
}
.current-head .eyebrow { color: var(--green); font-weight: 400; }
.current-head h2::after {
  content: ""; display: block; width: 92px; height: 5px; margin-top: 10px;
  border-radius: 999px; background: linear-gradient(90deg, var(--green) 0 66%, var(--gold) 66% 100%);
}
.current-grid {
  border-color: color-mix(in srgb, var(--green) 22%, var(--line));
  background: color-mix(in srgb, var(--paper) 62%, var(--panel));
  box-shadow: 0 14px 34px color-mix(in srgb, var(--green) 8%, transparent);
}
.current-column:first-child { background: color-mix(in srgb, var(--green) 4%, var(--panel)); }
.next-matches.current-column {
  border-left-color: color-mix(in srgb, var(--green) 22%, var(--line));
  background: color-mix(in srgb, var(--gold) 7%, var(--panel));
}
.current-column > h3 {
  margin-bottom: 13px; padding-bottom: 10px;
  border-bottom: 2px solid color-mix(in srgb, var(--green) 32%, var(--line)); color: var(--green);
}
.next-matches.current-column > h3 {
  border-bottom-color: color-mix(in srgb, var(--gold) 58%, var(--line));
  color: color-mix(in srgb, var(--ink) 78%, var(--gold));
}
.home-current .news-item {
  border-color: color-mix(in srgb, var(--green) 24%, var(--line));
  border-left: 4px solid var(--green); background: color-mix(in srgb, var(--green) 3%, var(--panel));
}
.home-current .next-match {
  margin-top: 8px; padding: 12px;
  border: 1px solid color-mix(in srgb, var(--gold) 40%, var(--line));
  border-left: 4px solid var(--gold); border-radius: 7px;
  background: color-mix(in srgb, var(--gold) 5%, var(--panel));
}
.home-current .next-match:first-child { margin-top: 0; }
.home-current .current-context-links a:first-child {
  border-color: color-mix(in srgb, var(--green) 34%, var(--line));
  background: color-mix(in srgb, var(--green) 8%, var(--panel)); color: var(--green);
}
.home-current .current-context-links a:last-child {
  border-color: color-mix(in srgb, var(--gold) 52%, var(--line));
  background: color-mix(in srgb, var(--gold) 10%, var(--panel));
  color: color-mix(in srgb, var(--ink) 74%, var(--gold));
}
@media (max-width: 900px) {
  .next-matches.current-column { border-top-color: color-mix(in srgb, var(--green) 22%, var(--line)); }
}
/* Kompakte Seitenköpfe, einheitliche Startüberschrift und vollständiger Seitenrand. */
:root {
  --page-edge: 12px;
  --logo-view-tile: 190px;
}
.topbar,
.season-band,
.home-metrics,
.home-current,
.content-band,
.footer {
  padding-left: var(--page-edge);
  padding-right: var(--page-edge);
}
.season-band,
.home-metrics,
.home-current,
.content-band.page-view:not([data-view="home"]) {
  padding-top: var(--page-edge);
}
.season-band { align-items: start; }
.season-copy .eyebrow,
.content-band.page-view:not([data-view="home"]) .section-head .eyebrow {
  height: 19px; margin-bottom: 4px; line-height: 19px;
}
.season-copy h1,
.content-band.page-view:not([data-view="home"]) .section-head h2 {
  height: 35px; margin: 0; overflow: hidden;
  font-size: 32px; line-height: 35px; white-space: nowrap;
}
.season-copy > p:not(.eyebrow) { margin-top: 14px; }
.content-band.page-view:not([data-view="home"]) .section-head {
  display: grid;
  grid-template-columns: minmax(210px, max-content) minmax(0, 1fr);
  grid-template-rows: 58px;
  gap: 14px; min-height: 58px; align-items: start;
}
.content-band.page-view:not([data-view="home"]) .toolbar-row {
  min-width: 0; min-height: 58px; align-items: end; gap: 8px;
}
.content-band.page-view:not([data-view="home"]) .sort-control {
  display: grid; gap: 2px;
}
.content-band.page-view:not([data-view="home"]) .sort-control > span {
  font-size: .7rem; line-height: 14px;
}
.content-band.page-view:not([data-view="home"]) .search,
.content-band.page-view:not([data-view="home"]) .select,
.content-band.page-view:not([data-view="home"]) .button {
  height: 38px; min-height: 38px;
}
.content-band.page-view:not([data-view="home"]) .search {
  flex: 0 1 220px; width: 220px;
}
.content-band.page-view:not([data-view="home"]) .sort-control .select,
.content-band.page-view:not([data-view="home"]) .toolbar-row > .select {
  width: 150px; min-width: 130px;
}
#players .toolbar-row .search { width: 200px; }
#players .toolbar-row .sort-control .select { width: 145px; }
.club-grid.is-logo-view,
.team-list.is-logo-view {
  grid-template-columns: repeat(auto-fill, var(--logo-view-tile));
  justify-content: start;
}
@media (max-width: 1050px) {
  .content-band.page-view:not([data-view="home"]) .section-head {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 58px auto;
    min-height: 106px;
  }
  .content-band.page-view:not([data-view="home"]) .toolbar-row {
    min-height: 38px; justify-content: flex-start; flex-wrap: wrap;
  }
}
@media (max-width: 700px) {
  .content-band.page-view:not([data-view="home"]) .search,
  .content-band.page-view:not([data-view="home"]) .sort-control,
  .content-band.page-view:not([data-view="home"]) .sort-control .select,
  .content-band.page-view:not([data-view="home"]) .toolbar-row > .select,
  #players .toolbar-row .search,
  #players .toolbar-row .sort-control .select {
    width: 100%; min-width: 0; flex-basis: 100%;
  }
}
@media (max-width: 560px) {
  .season-copy h1,
  .content-band.page-view:not([data-view="home"]) .section-head h2 { font-size: 28px; }
  .club-grid.is-logo-view,
  .team-list.is-logo-view { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Gemeinsame Verdichtung und Ausrichtung der Inhaltsbereiche. */
.season-band {
  min-height: 0;
  padding-bottom: var(--page-edge);
}
.content-band.page-view:not([data-view="home"]) .section-head {
  grid-template-columns: 370px minmax(0, 1fr);
}
.content-band.page-view:not([data-view="home"]) .toolbar-row {
  justify-content: flex-start;
}
.content-band.page-view:not([data-view="home"]) .search,
#players .toolbar-row .search {
  flex: 0 0 220px;
  width: 220px;
}
.content-band.page-view:not([data-view="home"]) .sort-control .select,
.content-band.page-view:not([data-view="home"]) .toolbar-row > .select,
#players .toolbar-row .sort-control .select {
  width: 160px;
  min-width: 160px;
}
@media (max-width: 1180px) {
  .content-band.page-view:not([data-view="home"]) .section-head {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 58px auto;
    min-height: 106px;
  }
}

/* Aktuelles kompakter: Kontextbuttons rechts, klare Textgewichtung. */
.home-current .news-item {
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: 16px;
}
.home-current .news-item .news-date,
.home-current .news-item h3,
.home-current .news-item p {
  grid-column: 1;
}
.home-current .news-item .news-date { color: var(--ink); }
.home-current .news-item p { margin-bottom: 0; }
.home-current .news-item .current-context-links {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  margin-top: 0;
}
.home-current .next-match {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 12px;
  align-items: center;
}
.home-current .next-match-date,
.home-current .next-match-teams,
.home-current .next-match-round { grid-column: 1; }
.home-current .next-match-date { font-weight: 400; }
.home-current .next-match-teams { line-height: 1.25; }
.home-current .next-match .current-context-links {
  grid-column: 2;
  grid-row: 1 / 4;
  align-self: center;
  margin-top: 0;
}
@media (max-width: 700px) {
  .home-current .news-item,
  .home-current .next-match { grid-template-columns: minmax(0, 1fr); }
  .home-current .news-item .current-context-links,
  .home-current .next-match .current-context-links {
    grid-column: 1;
    grid-row: auto;
    justify-self: start;
    margin-top: 6px;
  }
}

/* Kachelabstand gilt für Logo- und Kachelansicht. */
.club-grid:not(.is-list-view),
.team-list:not(.is-list-view) {
  gap: var(--logo-grid-gap);
}

/* Listenansichten auf breiten Bildschirmen deutlich flacher. */
@media (min-width: 701px) {
  .club-grid.is-list-view,
  .team-list.is-list-view { gap: 6px; }
  .club-grid.is-list-view .club-card,
  .team-list.is-list-view .team-card {
    grid-template-columns: 96px minmax(0, 1fr);
    min-height: 80px;
  }
  .club-grid.is-list-view .club-logo-link {
    min-height: 80px;
    padding: 6px;
  }
  .club-grid.is-list-view .club-logo-link img { max-height: 58px; }
  .team-list.is-list-view .team-logo-link { padding: 6px; }
  .team-list.is-list-view .team-logo-wrap { height: 66px; }
  .team-list.is-list-view .team-logo-wrap img { max-height: 58px; }
  .club-grid.is-list-view .club-card-body,
  .team-list.is-list-view .team-card-body {
    gap: 10px;
    padding: 8px 12px;
  }
  .team-list.is-list-view .team-player-link { min-height: 30px; }
}

/* Spieltage und Tabelle erhalten eigenständige, layoutabhängige Kopffarben. */
#schedule .section-head {
  background: linear-gradient(90deg, color-mix(in srgb, var(--green) 11%, transparent), transparent 72%);
  box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--green) 48%, var(--line));
}
#schedule .section-head h2 { color: var(--green); }
#table .section-head {
  background: linear-gradient(90deg, color-mix(in srgb, var(--gold) 15%, transparent), transparent 72%);
  box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--gold) 62%, var(--line));
}
#table .section-head h2 { color: color-mix(in srgb, var(--ink) 76%, var(--gold)); }

/* Alle Rasterflächen sind deckend im aktuellen Farblayout; Karten bleiben hell. */
.content-band.page-view:not([data-view="home"]),
.club-grid,
.team-list,
.player-grid-page,
.match-list,
.table-stack,
.public-report-list,
.download-list,
.info-grid {
  background-color: var(--paper);
}
.club-card,
.team-card,
.player-card,
.match-table,
.table-wrap,
.public-report-item,
.download-item,
.info-card {
  background-color: var(--panel);
}
/* Genügend feste Titelbreite auch für Spieltage und Ergebnisse. */
@media (min-width: 1181px) {
  .content-band.page-view:not([data-view="home"]) .section-head { grid-template-columns: 400px minmax(0, 1fr); }
}
/* Aktuelles verwendet dieselbe maximale Überschriftengröße wie die Menüseiten. */
.current-head h2 { font-size: 32px; line-height: 35px; }
/* Aktuelles-Hauptüberschrift bewusst versal und normalgewichtig. */
.current-head h2 { font-weight: 400; text-transform: uppercase; }
/* Robuste Spielerkarte ohne Namenskuerzung: Name oben, Metadaten und Kennzahlen darunter. */
#players .player-grid-page .player-card {
  grid-template-columns: 52px minmax(145px, .75fr) minmax(245px, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  gap: 2px 6px;
  min-height: 79px;
}
#players .player-grid-page .player-photo {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
}
#players .player-grid-page .player-main {
  display: contents;
}
#players .player-grid-page .player-name-line {
  grid-column: 2 / 4;
  grid-row: 1;
  width: 100%;
  min-width: 0;
}
#players .player-grid-page .player-name-line strong {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  overflow-wrap: anywhere;
}
#players .player-grid-page .player-subline {
  grid-column: 2;
  grid-row: 2;
  display: grid;
  min-width: 0;
  gap: 1px;
  align-self: center;
}
#players .player-grid-page .player-stats {
  grid-column: 3;
  grid-row: 2;
  align-self: center;
}
@media (max-width: 700px) {
  #players .player-grid-page .player-card {
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    min-height: 0;
  }
  #players .player-grid-page .player-photo {
    grid-row: 1 / 3;
    align-self: start;
  }
  #players .player-grid-page .player-name-line,
  #players .player-grid-page .player-subline {
    grid-column: 2;
  }
  #players .player-grid-page .player-stats {
    grid-column: 1 / -1;
    grid-row: 3;
  }
}
/* Rankings aus den Spielerstatistiken; Teamwertung aus den drei besten Quoten. */
.ranking-block{display:grid;gap:10px}.ranking-block .table-title>div{min-width:0}.ranking-block .table-title small{display:block;margin-top:2px;color:var(--muted);font-size:.82rem}.ranking-table{min-width:760px}.ranking-identity strong,.ranking-identity small{display:block}.ranking-identity small{margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:400;line-height:1.25}.ranking-quote{display:inline-flex;justify-content:center;min-width:68px;padding:4px 7px;border-radius:6px;background:color-mix(in srgb,var(--green) 12%,var(--panel));color:var(--green)}.ranking-note{margin:0;padding:0 2px;color:var(--muted);font-size:.84rem}
@media(max-width:560px){.ranking-table-wrap .ranking-table{min-width:0;table-layout:fixed}.ranking-table-wrap .ranking-secondary-stat{display:none}.ranking-table-wrap th,.ranking-table-wrap td{width:auto}.ranking-table-wrap th:first-child,.ranking-table-wrap td:first-child{width:28px}.ranking-table-wrap th:nth-child(3),.ranking-table-wrap td:nth-child(3){width:40px}.ranking-table-wrap th:last-child,.ranking-table-wrap td:last-child{width:68px}.ranking-table-wrap .ranking-identity{overflow-wrap:anywhere;hyphens:auto}.ranking-table-wrap .ranking-identity small{font-size:.65rem}.ranking-table-wrap .ranking-quote{min-width:0;padding-inline:3px}.ranking-note{font-size:.75rem}}
/* Eigenständiges Ranking aus der Auswertungsmappe. */
#ranking .section-head {
  background: linear-gradient(90deg, color-mix(in srgb, var(--red) 10%, transparent), transparent 72%);
  box-shadow: inset 0 -3px 0 color-mix(in srgb, var(--red) 42%, var(--line));
}
#ranking .section-head h2 { color: color-mix(in srgb, var(--ink) 80%, var(--red)); }
#ranking .ranking-block { background-color: var(--paper); }
#ranking .ranking-player-detail { margin-top: 0; }
#ranking .ranking-table { min-width: 840px; }
#ranking .ranking-team-players {
  display: grid;
  gap: 1px;
}
#ranking .ranking-team-players span { display: block; }
@media (max-width: 560px) {
  #ranking .ranking-table { min-width: 0; }
  #ranking .ranking-table th,
  #ranking .ranking-table td { padding-inline: 5px; }
  #ranking .ranking-table th:first-child,
  #ranking .ranking-table td:first-child { width: 30px; }
  #ranking .ranking-table th:nth-child(3),
  #ranking .ranking-table td:nth-child(3) { width: 36px; }
  #ranking .ranking-table th:last-child,
  #ranking .ranking-table td:last-child { width: 66px; }
}
/* Vollständige Rankingtabellen A–L mit gut lesbaren Clublogos. */
#ranking .ranking-table[data-ranking-type="players"] { min-width: 930px; }
#ranking .ranking-table[data-ranking-type="teams"] { min-width: 1160px; }
#ranking .ranking-table th,
#ranking .ranking-table td {
  padding: 8px 9px;
  vertical-align: middle;
  white-space: nowrap;
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-stretch: normal;
  font-variant-numeric: normal;
}
#ranking .ranking-table td { font-weight: 400; }
#ranking .ranking-identity-copy strong { font-weight: 700; }
#ranking .ranking-table td.ranking-stat-value,
#ranking .ranking-table td.ranking-result-value,
#ranking .ranking-quote {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1;
}
#ranking .ranking-table th:not(:nth-child(2)):not(:nth-child(3)),
#ranking .ranking-table td:not(:nth-child(2)):not(:nth-child(3)) {
  text-align: center;
}
#ranking .ranking-player-cell { min-width: 210px; }
#ranking .ranking-team-cell {
  min-width: 230px;
  border-right: 1px solid var(--line);
  background: color-mix(in srgb, var(--green) 4%, var(--panel));
  vertical-align: middle;
}
#ranking .ranking-team-row.is-team-end td,
#ranking .ranking-team-cell {
  border-bottom: 2px solid color-mix(in srgb, var(--green) 28%, var(--line));
}
#ranking .ranking-team-order {
  flex: 0 0 30px;
  color: var(--muted);
  font-size: 1rem;
  font-weight: 400;
  text-align: right;
}
#ranking .ranking-team-entry {
  display: flex;
  align-items: center;
  gap: 10px;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-identity-copy strong {
  font-size: 1rem;
  font-weight: 700;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-player-cell {
  min-width: 180px;
}
#ranking .ranking-player-name-only {
  display: inline-flex;
  font: 700 .94rem/1.25 Arial, Helvetica, sans-serif;
}#ranking .ranking-player-name-only strong { font-weight: inherit; }

#ranking .ranking-player-link.ranking-player-name-only:hover strong {
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 2px;
}
#ranking .ranking-identity-layout {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
}
#ranking .ranking-identity-copy {
  display: grid;
  min-width: 0;
  gap: 2px;
  white-space: normal;
}
#ranking .ranking-top-value { font-weight: 400; }
#ranking .ranking-player-link {
  display: block;
  border-radius: 7px;
  color: inherit;
  text-decoration: none;
}
#ranking .ranking-player-link:hover .ranking-identity-copy strong {
  color: var(--green);
  text-decoration: underline;
  text-underline-offset: 2px;
}
#ranking .ranking-player-link:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}
#ranking .ranking-logo {
  display: grid;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
}
#ranking .ranking-logo img {
  display: block;
  width: 42px;
  height: 42px;
  max-width: 42px;
  max-height: 42px;
  object-fit: contain;
}
#ranking .ranking-logo .club-logo-fallback,
#ranking .ranking-logo-empty {
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 4px;
  box-shadow: none;
  font-size: .8rem;
}
#ranking .ranking-table-wrap {
  overflow-x: auto;
  scrollbar-gutter: stable;
}
@media (max-width: 560px) {
  #ranking .ranking-table[data-ranking-type="players"] { min-width: 1000px; }
  #ranking .ranking-table[data-ranking-type="teams"] { min-width: 1080px; }
  #ranking .ranking-table th,
  #ranking .ranking-table td { padding-inline: 7px; }
#ranking .ranking-logo {
    flex-basis: 40px;
    width: 40px;
    height: 40px;
  }
  #ranking .ranking-logo img,
  #ranking .ranking-logo .club-logo-fallback,
  #ranking .ranking-logo-empty {
    width: 36px;
    height: 36px;
    max-width: 36px;
    max-height: 36px;
  }
}
/* Ranking-Spalten behalten auch mobil ihre lesbare Eigenbreite. */
#ranking .ranking-table { table-layout: auto; }
#ranking .ranking-table[data-ranking-type="players"] th:nth-child(2),
#ranking .ranking-table[data-ranking-type="players"] td:nth-child(2) { min-width: 220px; }

#ranking .ranking-table[data-ranking-type="teams"] th:first-child,
#ranking .ranking-table[data-ranking-type="teams"] td:first-child { min-width: 230px; }
#ranking .ranking-table[data-ranking-type="teams"] th:nth-child(3),
#ranking .ranking-table[data-ranking-type="teams"] td:nth-child(3) { min-width: 175px; }
@media (max-width: 560px) {
  #ranking .ranking-table { table-layout: auto; }
  #ranking .ranking-table th:first-child,
  #ranking .ranking-table td:first-child,
  #ranking .ranking-table th:nth-child(3),
  #ranking .ranking-table td:nth-child(3),
  #ranking .ranking-table th:last-child,
  #ranking .ranking-table td:last-child { width: auto; }
}
.ranking-scroll-hint { display: none; }
@media (max-width: 700px) {
  .ranking-scroll-hint { display: block; margin: 0; color: var(--muted); font-size: .78rem; }
}
/* Gleich hohe Aktuelles-Listen: fünf Einträge sichtbar, weitere intern scrollbar. */
.home-current .current-scroll-list {
  display: grid;
  height: 592px;
  min-height: 592px;
  align-content: start;
  gap: 8px;
  padding-right: 4px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.home-current .news-list.current-scroll-list { gap: 8px; }
.home-current .current-scroll-list .news-item,
.home-current .current-scroll-list .next-match {
  height: 112px;
  min-height: 112px;
  margin: 0;
  padding: 10px 12px;
  overflow: hidden;
}
.home-current .current-scroll-list .news-item { gap: 2px 12px; }
.home-current .current-scroll-list .news-item h3,
.home-current .current-scroll-list .news-item p {
  margin-bottom: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home-current .current-scroll-list:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 3px;
}
@media (max-width: 700px) {
  .home-current .current-scroll-list {
    height: 792px;
    min-height: 792px;
  }
  .home-current .current-scroll-list .news-item,
  .home-current .current-scroll-list .next-match {
    height: 152px;
    min-height: 152px;
  }
  .home-current .current-scroll-list .news-item h3,
  .home-current .current-scroll-list .news-item p {
    white-space: normal;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}

/* Einheitliches Seitensystem v63 */
:root{--page-heading-color:var(--green)}
body[data-heading-color="ink"]{--page-heading-color:var(--ink)}
.content-band.page-view:not([data-view="home"]){
  min-height:calc(100vh - 129px);
  padding-top:var(--page-edge);
  background:var(--paper)!important;
}
.season-copy .eyebrow,
.current-head .eyebrow,
.content-band.page-view:not([data-view="home"]) .eyebrow{
  margin-bottom:4px;
  font-family:Arial,Helvetica,sans-serif;
  font-size:.88rem;
  font-weight:400;
  line-height:1.2;
  letter-spacing:0;
  text-transform:uppercase;
}
.season-copy h1,
.current-head h2,
.content-band.page-view:not([data-view="home"]) .section-head h2{
  margin:0;
  color:var(--page-heading-color)!important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1.48rem,2.3vw,1.85rem)!important;
  font-weight:700;
  line-height:1.12;
  letter-spacing:0;
  text-transform:uppercase;
}
.section-head,
#schedule .section-head,
#table .section-head,
#ranking .section-head{
  display:grid!important;
  grid-template-columns:minmax(270px,max-content) minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  align-items:end!important;
  gap:18px!important;
  min-height:58px!important;
  margin:0 0 10px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.section-head::before,.section-head::after,
.section-head h2::before,.section-head h2::after,
#schedule .section-head::before,#table .section-head::before,#ranking .section-head::before{
  content:none!important;
  display:none!important;
}
.page-heading{min-width:0}
.page-heading-note{margin:4px 0 0;color:var(--muted);font-size:.8rem;line-height:1.25}
.page-heading-note a{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.toolbar-row{
  display:flex!important;
  width:100%;
  min-width:0;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.toolbar-spacer{flex:1 1 24px}
.toolbar-row .search{flex:0 1 250px;width:250px;min-width:170px}
.sort-control{display:grid!important;gap:3px!important;align-items:start!important;color:var(--muted);font-size:.76rem;line-height:1}
.sort-control>span{text-transform:uppercase}
.sort-control .select{min-width:148px;min-height:40px;padding-block:7px;color:var(--ink);font-size:.9rem}
.page-summary,
.player-summary{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  margin:0 0 12px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel)!important;
  color:var(--muted);
  box-shadow:none!important;
}
.page-summary strong,.player-summary strong{color:var(--green);font-size:.92rem}
.page-summary span,.player-summary span{font-size:.86rem;font-weight:400;color:var(--muted)}
.club-grid,.team-list,.player-grid-page,.match-list,.table-stack,.ranking-block,.public-report-list,.info-grid,.download-list{
  background:transparent!important;
  box-shadow:none!important;
}
#schedule .match-list,#table .table-stack,#ranking .ranking-block{border-top:0!important}
.standings-team-identity{display:flex;align-items:center;gap:9px;min-width:0}
.standings-logo{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;overflow:hidden;border-radius:5px;background:var(--panel)}
.standings-logo img{display:block;width:100%;height:100%;object-fit:contain}
.standings-logo .club-logo-fallback{width:30px;height:30px;font-size:.62rem;box-shadow:none}
.standings-table-wrap.is-compact th,.standings-table-wrap.is-compact td{padding-top:7px;padding-bottom:7px}
.player-grid-page.is-list-view{grid-template-columns:1fr!important}
.player-grid-page.is-list-view .player-card{max-width:none}
.nav-service-heading{
  display:block;
  margin:0 0 7px;
  padding:4px 8px 8px;
  border-bottom:1px solid var(--line);
  color:var(--green);
  font-size:.82rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.nav-submenu-panel>a{
  display:block;
  margin:2px 0;
  padding:8px 10px!important;
  border-left:3px solid transparent;
  border-radius:5px;
  font-weight:700;
}
.nav-submenu-panel>a:hover,.nav-submenu-panel>a.is-active{border-left-color:var(--green)}
.nav-layout-select{display:grid;gap:4px;margin:8px 0;color:var(--muted);font-size:.76rem}
.nav-layout-select select{min-height:34px;border:1px solid var(--line);border-radius:6px;background:var(--panel);padding:5px 7px;color:var(--ink)}
@media(max-width:1050px){
  .section-head,#schedule .section-head,#table .section-head,#ranking .section-head{
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  .toolbar-spacer{display:none}
}
@media(max-width:700px){
  .content-band.page-view:not([data-view="home"]){padding-top:var(--page-edge)}
  .toolbar-row .search{width:100%;flex:1 0 100%}
  .sort-control{flex:1 1 145px}
  .sort-control .select{width:100%;min-width:0}
  .section-head,#schedule .section-head,#table .section-head,#ranking .section-head{min-height:0!important;gap:10px!important}
  .season-copy h1,.current-head h2,.content-band.page-view:not([data-view="home"]) .section-head h2{font-size:1.45rem!important}
}
/* Fünf Spieler-Steuerungen bleiben auf üblichen Desktopbreiten in einer Zeile. */
@media(min-width:1051px){
  .player-toolbar{flex-wrap:nowrap!important}
  .player-toolbar .search{flex:0 1 190px;width:190px;min-width:150px}
  .player-toolbar .filter-control:nth-of-type(1) .select{min-width:145px;width:145px}
  .player-toolbar .filter-control:nth-of-type(2) .select{min-width:118px;width:118px}
  .player-toolbar .sort-control:not(.filter-control) .select{min-width:118px;width:118px}
  .player-toolbar .toolbar-spacer{flex:1 1 8px}
}@media(min-width:1051px){
  .player-toolbar .search{flex:0 1 150px!important;width:150px!important;min-width:110px!important}
  .player-toolbar .filter-control:nth-of-type(1) .select{width:140px!important;min-width:140px!important}
  .player-toolbar .filter-control:nth-of-type(2) .select,
  .player-toolbar .sort-control:not(.filter-control) .select{width:115px!important;min-width:115px!important}
  .player-toolbar .sort-control{min-width:0!important}
}
.nav-submenu-panel{max-height:calc(100vh - 82px);overflow-y:auto;overscroll-behavior:contain}

.page-view{scroll-margin-top:76px}
@media(max-width:560px){
  .standings-logo{flex-basis:24px;width:24px;height:24px}
  .standings-logo .club-logo-fallback{width:22px;height:22px;font-size:.5rem}
  .standings-team-identity{gap:5px}
}
/* Sortierung und Ansicht: seitenweit identische rechte Abschlussgruppe. */
.toolbar-row [data-club-sort],.toolbar-row [data-club-view],
.toolbar-row [data-team-sort],.toolbar-row [data-team-view],
.toolbar-row [data-player-sort],.toolbar-row [data-player-view],
.toolbar-row [data-schedule-sort],.toolbar-row [data-schedule-phase],
.toolbar-row [data-standings-sort],.toolbar-row [data-standings-view],
.toolbar-row [data-ranking-sort],.toolbar-row [data-ranking-view]{
  width:160px!important;
  min-width:160px!important;
}
.toolbar-row [data-round-filter]{width:160px!important;min-width:160px!important}
@media(max-width:700px){
  .toolbar-row [data-club-sort],.toolbar-row [data-club-view],
  .toolbar-row [data-team-sort],.toolbar-row [data-team-view],
  .toolbar-row [data-player-sort],.toolbar-row [data-player-view],
  .toolbar-row [data-schedule-sort],.toolbar-row [data-schedule-phase],
  .toolbar-row [data-standings-sort],.toolbar-row [data-standings-view],
  .toolbar-row [data-ranking-sort],.toolbar-row [data-ranking-view],
  .toolbar-row [data-round-filter]{width:100%!important;min-width:0!important}
}
@media(min-width:1051px){
  .player-toolbar .sort-control:not(.filter-control) [data-player-sort],
  .player-toolbar .sort-control:not(.filter-control) [data-player-view]{
    width:160px!important;
    min-width:160px!important;
  }
}
/* Tabellenkoepfe folgen dem kompakten Grossschrift-Muster der Spieltage. */
.standings-table th,
.ranking-table th{
  font-family:Arial,Helvetica,sans-serif;
  font-size:.78rem;
  font-weight:800;
  line-height:1.2;
  letter-spacing:normal;
  text-transform:uppercase;
}
@media(max-width:560px){
  .standings-table th,
  .ranking-table th{
    font-size:.68rem;
    letter-spacing:normal;
  }
}
/* Service-Ueberschriften und lebendigeres Schwabenliga-Farbsystem. */
.nav-service-heading,
.nav-theme-setting>span{
  font-family:Arial,Helvetica,sans-serif;
  font-size:.82rem;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.nav-theme-setting>span{display:block;color:var(--green)}
body[data-theme="schwabenliga"]{
  --paper:#f5f3ee;
  --line:#ddd6ca;
  --blue:#8f1828;
}
body[data-theme="schwabenliga"] .page-summary,
body[data-theme="schwabenliga"] .player-summary{
  border-color:#e5d58b;
  border-left:4px solid #b51f32;
  background:#fff8d7!important;
}
body[data-theme="schwabenliga"] .round-head{
  border-color:#e5d58b;
  border-left:4px solid #b51f32;
  background:#fff8d7;
}
body[data-theme="schwabenliga"] .match-table-head{
  background:#f9e6e8;
  color:#6d2430;
}
body[data-theme="schwabenliga"] .standings-table th{
  background:#fff2b8;
  color:#594a18;
}
body[data-theme="schwabenliga"] .ranking-table th{
  background:#f9e6e8;
  color:#6d2430;
}
body[data-theme="schwabenliga"] .club-logo-link,
body[data-theme="schwabenliga"] .team-logo-link{
  background:linear-gradient(135deg,#fff3bd,#f9e5e7);
}
body[data-theme="schwabenliga"] .metric{
  border-top:3px solid var(--metric-accent);
  background:color-mix(in srgb,var(--metric-accent) 4%,#fff);
}
body[data-theme="schwabenliga"] .metric[data-metric="teams"]{--metric-accent:#d09f00}
body[data-theme="schwabenliga"] .sort-control .select:focus,
body[data-theme="schwabenliga"] .search:focus{
  border-color:#b51f32;
  outline:2px solid rgba(242,196,0,.45);
  outline-offset:1px;
}
/* Überschriftsfarbe folgt standardmäßig dem Farblayout, bleibt aber manuell überschreibbar. */
body[data-theme="fresh"][data-heading-color="auto"]{--page-heading-color:#008e72}
body[data-theme="schwabenliga"][data-heading-color="auto"]{--page-heading-color:#b51f32}
body[data-heading-color="green"]{--page-heading-color:#247a65}
body[data-heading-color="red"]{--page-heading-color:#b51f32}
body[data-heading-color="ink"]{--page-heading-color:var(--ink)}
/* Detailansichten, Kontakte und einheitliche Interaktionen – 2026-07-31 */
.toolbar-row [data-schedule-view]{width:160px!important;min-width:160px!important}
.home-current .current-context-links .current-link-round{
  border-color:color-mix(in srgb,var(--gold) 56%,var(--line))!important;
  background:color-mix(in srgb,var(--gold) 13%,var(--panel))!important;
  color:color-mix(in srgb,var(--ink) 74%,var(--gold))!important;
}
.home-current .current-context-links .current-link-result{
  border-color:color-mix(in srgb,var(--green) 38%,var(--line))!important;
  background:color-mix(in srgb,var(--green) 9%,var(--panel))!important;
  color:var(--green)!important;
}
.club-logo-link{position:relative}
.club-card-body{grid-template-rows:auto auto auto 1fr!important;align-content:start}
.club-card-body .club-location{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;line-height:1.25}
.club-contact{display:flex;flex-wrap:wrap;gap:2px 5px;margin:0!important;font-size:.78rem;line-height:1.25;overflow:visible!important;white-space:normal!important}
.club-contact a{overflow-wrap:anywhere}
.club-teams{align-self:end}
.club-team-link{white-space:normal;text-align:center}
.team-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.team-card-body{grid-template-rows:40px 42px 48px auto!important}
.team-inline-detail{grid-column:1/-1;display:grid;gap:10px;min-width:0;margin:2px 0 12px}
.team-inline-detail .inline-player-panel{order:1;margin:0}
.team-games-panel{order:2;min-width:0;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}
.team-detail-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}
.team-detail-head h3{margin:0}.team-detail-head .eyebrow{margin-bottom:2px}
.team-game-list{display:grid;gap:5px}
.team-game-row{display:grid;grid-template-columns:130px minmax(220px,1fr) 90px 54px;gap:12px;align-items:center;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--paper) 42%,var(--panel))}
.team-game-row>div{display:grid;line-height:1.25}.team-game-row>div>span{color:var(--muted);font-size:.76rem}
.player-team-line{appearance:none;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.player-team-line:hover>span,.player-team-line:focus-visible>span{color:var(--green);text-decoration:underline;text-underline-offset:2px}
.player-team-line:focus-visible{outline:2px solid color-mix(in srgb,var(--green) 35%,transparent);outline-offset:2px;border-radius:3px}
.match-entry{border-bottom:1px solid var(--line)}
.match-entry:last-child{border-bottom:0}
.match-entry .match-row{border:0!important;border-radius:0!important}
.match-player-games{display:grid;margin:0 10px 10px;border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));border-radius:7px;overflow:hidden;background:color-mix(in srgb,var(--green) 3%,var(--panel))}
.match-player-games-head,.match-player-game{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) 92px;gap:10px;align-items:center;padding:7px 10px}
.match-player-games-head{background:color-mix(in srgb,var(--green) 10%,var(--panel));color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}
.match-player-game{border-top:1px solid var(--line);font-size:.86rem}
.match-player-game .score{min-width:0;padding:3px 6px}
.match-player-empty{margin:0 10px 10px;padding:8px 10px;border-radius:6px;background:color-mix(in srgb,var(--gold) 8%,var(--panel));color:var(--muted);font-size:.82rem}
.standings-table{font-family:Arial,Helvetica,sans-serif;font-size:.9rem}
.standings-table td{vertical-align:middle}
.standing-rank{display:grid;width:30px;height:30px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--green) 12%,var(--panel));color:var(--green);font-weight:800}
.standings-table-wrap:not(.is-compact) tbody tr:nth-child(odd){background:color-mix(in srgb,var(--green) 2.5%,var(--panel))}
.standings-table-wrap:not(.is-compact) th,.standings-table-wrap:not(.is-compact) td{padding-top:12px;padding-bottom:12px}
.standings-table-wrap.is-compact .standings-logo{display:none}
.standings-table-wrap.is-compact .standings-team-identity{gap:0}
.standings-table-wrap.is-compact .standing-rank{width:auto;height:auto;display:inline;background:transparent;color:var(--muted);font-size:.78rem}
.standings-table-wrap.is-compact table{font-size:.8rem}
.standings-table-wrap.is-compact th,.standings-table-wrap.is-compact td{padding:5px 8px!important}
.ranking-eyebrow{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap}
.ranking-method-link{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid color-mix(in srgb,var(--green) 28%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--green) 6%,var(--panel));color:var(--green);font-size:.7rem;font-weight:700;text-transform:none}
.ranking-method-link:hover{text-decoration:underline}
.download-title{color:var(--green)}.download-title:hover{text-decoration:underline;text-underline-offset:2px}.download-action{text-decoration:none;justify-content:center}
@media(max-width:900px){.team-game-row{grid-template-columns:1fr auto}.team-game-row>div:nth-child(2){grid-column:1}.match-player-games-head,.match-player-game{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 70px}}
@media(max-width:700px){.toolbar-row [data-schedule-view]{width:100%!important;min-width:0!important}.club-card-body{grid-template-rows:auto!important}.team-card-actions{grid-template-columns:1fr}.team-game-row{grid-template-columns:1fr auto}.match-player-games{margin:0 6px 8px}.match-player-games-head,.match-player-game{grid-template-columns:1fr 1fr 62px;padding:6px;font-size:.76rem}}
/* Die URL erscheint über den nativen Link-Hinweis; kein unsichtbarer Pseudotext in anderen Ansichten. */
.club-logo-link::after{display:none!important}

/* Nachschärfung der Listen-, Kontakt- und Positionsdarstellung – v77 */
.ui-icon{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
/* Neuigkeiten: Ergebnis links, der gelbe Spieltag sitzt wie bei den Begegnungen ganz rechts. */
.home-current .news-item .current-link-result{order:1}
.home-current .news-item .current-link-round{order:2}
.home-current .news-list.current-scroll-list{height:592px;min-height:592px;overflow-y:auto;align-content:start}
/* Der Club-Link wird ohne die Verzögerung des nativen Browserhinweises eingeblendet. */
.club-logo-link{position:relative}
.club-link-tooltip{position:absolute;left:6px;right:6px;bottom:5px;z-index:4;padding:3px 6px;border-radius:4px;background:var(--ink);color:var(--panel);font-size:.68rem;font-weight:400;line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0;transform:translateY(2px);transition:opacity .06s linear,transform .06s linear;pointer-events:none}
.club-logo-link:hover .club-link-tooltip,.club-logo-link:focus-visible .club-link-tooltip{opacity:.96;transform:none}
.club-card-body{grid-template-rows:auto auto auto auto!important}
.club-teams{order:2;align-self:start;margin:0;padding-top:5px}
.club-location{order:3}.club-contact{order:4}
.club-teams>div{grid-template-columns:repeat(2,minmax(0,1fr))}
.club-team-link{gap:5px;min-height:30px}.club-team-link .ui-icon{width:17px;height:17px;flex:0 0 17px}
.club-contact{display:grid!important;grid-template-rows:auto auto;gap:3px!important;font-style:normal}
.club-contact>span{display:grid;grid-template-columns:18px minmax(0,1fr);gap:6px;align-items:center;min-width:0}
.club-contact .ui-icon{width:16px;height:16px;color:var(--green)}
.club-contact em{color:var(--muted);font-size:.76rem;font-style:normal}
.club-list-head,.team-list-head{grid-column:1/-1;display:grid;align-items:center;padding:6px 10px;border:1px solid var(--line);border-radius:7px;background:color-mix(in srgb,var(--green) 8%,var(--panel));color:var(--muted);font-size:.72rem;font-weight:700;text-transform:uppercase}
.club-list-head{grid-template-columns:112px minmax(210px,1fr) minmax(150px,.65fr) minmax(210px,.85fr) minmax(150px,.65fr);gap:12px}
@media(min-width:901px){
 .club-grid.is-list-view .club-card{grid-template-columns:112px minmax(0,1fr)!important;min-height:84px!important}
 .club-grid.is-list-view .club-logo-link{min-height:84px!important;padding:6px!important}
 .club-grid.is-list-view .club-card-body{grid-template-columns:minmax(210px,1fr) minmax(150px,.65fr) minmax(210px,.85fr) minmax(150px,.65fr)!important;grid-template-rows:auto!important;gap:12px!important;padding:7px 10px!important;align-items:center}
 .club-grid.is-list-view .club-card-body h3{grid-column:1;grid-row:1}
 .club-grid.is-list-view .club-location{grid-column:2;grid-row:1}
 .club-grid.is-list-view .club-contact{grid-column:3;grid-row:1}
 .club-grid.is-list-view .club-teams{grid-column:4;grid-row:1;order:initial;padding:0!important;border:0!important}
}
/* Teamlogo und Mannschaftskennung bilden eine gemeinsame horizontale Einheit. */
.team-logo-link{position:relative;grid-template-columns:minmax(0,1fr) auto!important;gap:6px;align-items:center;padding-inline:9px!important}
.team-logo-wrap{min-width:0}
.team-badge{position:static!important;right:auto!important;bottom:auto!important;flex:0 0 30px;width:30px!important;height:30px!important;border:1px solid var(--panel)!important;font-size:.82rem;box-shadow:0 3px 9px rgba(23,33,28,.14)}
.team-card-actions{display:flex;justify-content:flex-end;gap:6px}
.team-player-link{width:34px;height:34px;min-height:34px;padding:0;border-radius:50%}
.team-player-link .ui-icon{width:19px;height:19px}
.team-list-head{grid-template-columns:112px minmax(170px,.75fr) minmax(210px,1fr) minmax(170px,.75fr) 80px;gap:12px}
@media(min-width:901px){
 .team-list.is-list-view .team-card{grid-template-columns:112px minmax(0,1fr)!important;min-height:72px!important}
 .team-list.is-list-view .team-logo-link{min-height:72px!important;padding:5px 8px!important;border-right:1px solid var(--line);border-bottom:0}
 .team-list.is-list-view .team-logo-wrap{height:58px!important}
 .team-list.is-list-view .team-logo-wrap img{max-height:52px!important}
 .team-list.is-list-view .team-card-body{grid-template-columns:minmax(170px,.75fr) minmax(210px,1fr) minmax(170px,.75fr) 80px!important;grid-template-rows:auto!important;gap:12px!important;padding:6px 10px!important;align-items:center}
 .team-list.is-list-view .team-card-body h3{grid-column:1;margin:0}
 .team-list.is-list-view .team-card-body>p{grid-column:2;margin:0}
 .team-list.is-list-view .team-captain{grid-column:3;padding:0!important;border:0!important}
 .team-list.is-list-view .team-card-actions{grid-column:4}
}
/* Einzelspiele markieren den Sieger, nicht pauschal die Heimseite. */
.match-player-name{display:inline-flex;align-items:center;gap:5px;min-width:0;font-weight:400}
.match-player-name.is-winner{color:var(--green);font-weight:800}
.match-player-name.is-winner::after{content:"✓";display:grid;width:17px;height:17px;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:.68rem;line-height:1}
.match-player-game.is-draw .match-player-name{font-weight:700;color:var(--ink)}
/* Einheitliche Schrift und Positionskreise in allen Tabellenvarianten. */
.standings-table,.standings-table th,.standings-table td,.standings-table span{font-family:Arial,Helvetica,sans-serif!important}
.standings-table td{font-size:.88rem;font-weight:400;line-height:1.3}
.standings-table td:nth-child(2){font-weight:600}
.standings-table-wrap.is-compact .standing-rank,.standing-rank,.position-badge,.ranking-team-order{display:grid!important;width:30px!important;height:30px!important;place-items:center;border-radius:50%!important;background:color-mix(in srgb,var(--green) 12%,var(--panel))!important;color:var(--green)!important;font-family:Arial,Helvetica,sans-serif!important;font-size:.78rem!important;font-weight:800!important;line-height:1!important}
.position-badge-small{width:26px!important;height:26px!important;font-size:.72rem!important}
.standings-table-wrap.is-compact .standings-logo{display:none}
.standings-table-wrap.is-compact td:first-child{width:42px}
/* Jede Men Seite verwendet exakt dieselbe zweistufige Überschriftshöhe. */
.content-band.page-view:not([data-view="home"]) .section-head,#schedule .section-head,#table .section-head,#ranking .section-head{min-height:67px!important;background:transparent!important;box-shadow:none!important}
.content-band.page-view:not([data-view="home"]) .section-head>.page-heading{height:67px!important;min-height:67px!important}
.content-band.page-view:not([data-view="home"]) .section-head .eyebrow{height:24px!important;min-height:24px!important;margin:0 0 8px!important;line-height:24px!important}
.content-band.page-view:not([data-view="home"]) .section-head h2{height:35px!important;min-height:35px!important;line-height:35px!important}
.ranking-eyebrow{display:flex!important;align-items:center;gap:10px;overflow:visible!important;white-space:nowrap}
.ranking-method-link{margin-left:2px;padding:2px 8px;border-color:var(--green)!important;background:var(--panel)!important;color:var(--green)!important;box-shadow:none!important}
#ranking .ranking-block,#ranking .ranking-player-detail{background:transparent!important;box-shadow:none!important}
@media(max-width:900px){.club-list-head,.team-list-head{display:none}.club-link-tooltip{font-size:.62rem}.team-badge{width:27px!important;height:27px!important}}
@media(max-width:700px){.ranking-eyebrow{white-space:normal}.content-band.page-view:not([data-view="home"]) .section-head>.page-heading{height:auto!important;min-height:67px!important}}
/* Fotorealistischer Startseiten-Hero – v78 */
.season-visual{isolation:isolate;min-height:300px!important;border:1px solid rgba(255,255,255,.72)!important;border-radius:10px!important;background:#385c42!important;box-shadow:0 18px 42px rgba(16,42,31,.22)!important}
.season-visual .course{position:absolute;inset:0;z-index:0;background-color:#b7bab8;background-image:url("assets/branding/dayparts-v2/DAYPARTS-V12-CLEAN-MASTER-SMOOTH-REVIEW-v1/loading/schwabenliga-hero-neutral-v12-loading-960.webp")!important;background-size:cover!important;background-position:center 58%!important;transform:scale(1.002)}
.season-visual .course::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,35,28,.03) 35%,rgba(6,24,18,.42) 100%),linear-gradient(105deg,color-mix(in srgb,var(--green) 15%,transparent),transparent 46%,color-mix(in srgb,var(--gold) 8%,transparent));pointer-events:none}
body[data-theme="schwabenliga"] .season-visual .course::after{background:linear-gradient(180deg,rgba(35,18,10,.02) 35%,rgba(31,18,10,.40) 100%),linear-gradient(105deg,rgba(181,31,50,.10),transparent 45%,rgba(242,196,0,.12))}
.hero-crest{position:absolute;top:15px;left:15px;z-index:2;display:flex;align-items:center;gap:10px;padding:8px 12px 8px 9px;border:1px solid rgba(255,255,255,.82);border-top:3px solid var(--gold);border-radius:9px;background:rgba(255,255,255,.91);box-shadow:0 10px 26px rgba(5,26,18,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero-crest::after{content:"";position:absolute;right:0;top:-3px;width:32%;height:3px;border-radius:0 9px 0 0;background:var(--rose)}
.hero-crest img{display:block;width:47px;height:47px;object-fit:contain;image-rendering:auto}
.hero-crest>span{display:grid;line-height:1.05}.hero-crest strong{color:#13281f;font-size:1rem}.hero-crest small{margin-top:4px;color:#53675e;font-size:.67rem;letter-spacing:.06em;text-transform:uppercase}
.season-visual .live-strip{z-index:2;left:15px;right:15px;bottom:15px;min-height:54px;padding:10px 14px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.90);box-shadow:0 10px 28px rgba(4,24,16,.22);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.season-visual .live-strip strong{color:var(--green)}
@media(max-width:900px){.season-visual{min-height:270px!important}.season-visual .course{background-position:center 55%!important}}
@media(max-width:560px){.season-visual{min-height:225px!important}.hero-crest{top:10px;left:10px;padding:6px 8px}.hero-crest img{width:38px;height:38px}.hero-crest>span{display:none}.season-visual .live-strip{left:10px;right:10px;bottom:10px;display:grid;gap:2px;padding:8px 10px}.season-visual .live-strip span{font-size:.78rem}}
/* Breitformatige Startseite mit Bildbühne und kompakter Aktuelles-Vorschau – v79 */
.topbar .brand{position:relative;min-width:190px;gap:10px;padding:7px 11px 6px 8px;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:9px;background:var(--panel);box-shadow:0 5px 15px rgba(20,43,34,.08)}
.topbar .brand::after{content:"";position:absolute;top:-3px;right:0;width:35%;height:3px;border-radius:0 9px 0 0;background:var(--rose)}
.topbar .brand-mark{width:44px;height:44px;border:0;border-radius:5px;background:transparent}
.topbar .brand-mark img{display:block;width:44px;height:44px;object-fit:contain}
.topbar .brand>span:last-child{display:grid;line-height:1.05}
.topbar .brand strong{font-size:1rem;color:var(--ink)}
.topbar .brand small{margin-top:4px;color:var(--muted);font-size:.66rem;letter-spacing:.06em}
.season-band{position:relative!important;display:block!important;min-height:470px!important;padding:0!important;overflow:hidden;background:#274b38!important}
.season-band .season-visual{position:absolute!important;inset:0!important;z-index:0;width:100%!important;min-height:0!important;height:100%!important;border:0!important;border-radius:0!important;box-shadow:none!important}
.season-band .season-visual .course{inset:-1px!important;background-position:center 56%!important;transform:scaleX(-1) scale(1.01)!important}
.season-band .season-visual .course::after{background:linear-gradient(90deg,rgba(4,22,15,.10) 0,rgba(4,22,15,.02) 48%,rgba(4,22,15,.18) 100%),linear-gradient(180deg,rgba(4,22,15,.02) 48%,rgba(4,22,15,.40) 100%)!important}
.season-band .season-copy{position:relative;z-index:3;display:flex;min-height:470px;width:min(720px,56%);margin-left:auto;padding:48px max(var(--page-edge),4vw) 100px clamp(72px,8vw,145px);flex-direction:column;justify-content:center;background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--panel) 72%,transparent) 20%,color-mix(in srgb,var(--panel) 92%,transparent) 100%);max-width:none!important}
.season-band .season-copy h1{text-shadow:0 1px 0 rgba(255,255,255,.5)}
.season-band .season-copy p:not(.eyebrow){color:color-mix(in srgb,var(--ink) 80%,var(--muted))!important}
.season-band .season-actions{margin-top:20px}
.season-band .live-strip{left:max(var(--page-edge),3vw)!important;right:auto!important;bottom:22px!important;width:min(520px,43vw);min-height:56px;background:rgba(255,255,255,.91)!important}
body[data-theme="schwabenliga"] .season-band .season-copy{background:linear-gradient(90deg,transparent 0,rgba(245,243,238,.75) 20%,rgba(245,243,238,.94) 100%)}
.home-current{padding-top:18px!important;padding-bottom:18px!important}
.home-current .current-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:10px}
.home-current .current-head>div{min-width:0}
.current-toggle{display:inline-flex;flex:0 0 auto;min-height:36px;align-items:center;justify-content:center;padding:7px 12px;border:1px solid color-mix(in srgb,var(--green) 30%,var(--line));border-radius:7px;background:var(--panel);color:var(--green);cursor:pointer;font-size:.82rem;font-weight:700}
.current-toggle:hover,.current-toggle:focus-visible{background:color-mix(in srgb,var(--green) 8%,var(--panel));outline:none}
.home-current:not(.is-expanded) .current-scroll-list{height:112px!important;min-height:112px!important;overflow:hidden!important;scrollbar-gutter:auto!important}
.home-current:not(.is-expanded) .current-scroll-list>*:not(:first-child){display:none!important}
.home-current:not(.is-expanded) .current-grid{box-shadow:none}
.home-current.is-expanded .current-scroll-list{height:592px!important;min-height:592px!important;overflow-y:auto!important}
@media(max-width:1050px){.season-band .season-copy{width:62%;padding-left:80px}.season-band .live-strip{width:45vw}}
@media(max-width:800px){.topbar .brand{min-width:0}.topbar .brand>span:last-child{display:none}.season-band{min-height:500px!important}.season-band .season-copy{min-height:500px;width:72%;padding:36px var(--page-edge) 106px 90px}.season-band .live-strip{width:calc(100% - 2 * var(--page-edge));max-width:520px}}
@media(max-width:620px){.season-band{min-height:520px!important}.season-band .season-copy{min-height:520px;width:100%;padding:28px var(--page-edge) 108px;background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 92%,transparent) 0,color-mix(in srgb,var(--panel) 76%,transparent) 58%,transparent 82%)!important;justify-content:flex-start}.season-band .season-copy h1{font-size:2rem!important}.season-band .season-copy p:not(.eyebrow){font-size:.92rem}.season-band .season-visual .course{background-position:56% center!important}.season-band .live-strip{left:var(--page-edge)!important;bottom:14px!important;width:calc(100% - 2 * var(--page-edge))}.home-current .current-head{align-items:center}.home-current .current-head h2{font-size:1.18rem!important;line-height:1.2}.current-toggle{min-height:34px;padding-inline:9px}.home-current:not(.is-expanded) .current-grid{grid-template-columns:1fr}.home-current:not(.is-expanded) .next-matches.current-column{display:none}}
/* Gemeinsames Tabellenraster für Tabelle und Ranking – v80 */
@media(min-width:1181px){
  #table .section-head,
  #ranking .section-head{
    grid-template-columns:700px minmax(0,1fr)!important;
  }
  #table .toolbar-row,
  #ranking .toolbar-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 160px 160px!important;
    column-gap:8px!important;
    align-items:end!important;
  }
  #table .toolbar-row .sort-control,
  #ranking .toolbar-row .sort-control{
    width:160px!important;
    min-width:160px!important;
  }
}
@media(min-width:1051px) and (max-width:1180px){
  #table .section-head,
  #ranking .section-head{grid-template-columns:1fr!important;align-items:start!important}
  #table .toolbar-spacer,
  #ranking .toolbar-spacer{display:none}
}
#table .page-summary,
#ranking .page-summary{
  width:100%;
  min-height:38px!important;
  margin:0 0 12px!important;
  padding:7px 10px!important;
}
#table .table-stack,
#ranking .ranking-block{
  width:100%;
  min-width:0;
  margin:0;
  padding:0;
}
#table .standings-block{width:100%;min-width:0;margin:0;padding:0}
#table .standings-table-wrap,
#ranking .ranking-table-wrap{
  width:100%;
  margin:0;
  border:1px solid var(--line)!important;
  border-radius:8px!important;
  background:var(--panel)!important;
  box-shadow:none!important;
}
#table .standings-table,
#ranking .ranking-table{
  margin:0;
  border-spacing:0;
}
#table .standings-table thead th,
#ranking .ranking-table thead th{
  height:42px;
  padding-top:9px;
  padding-bottom:9px;
  vertical-align:middle;
}
#ranking .ranking-summary strong{color:var(--green);font-size:.92rem}
#ranking .ranking-summary>span:not(.visually-hidden){color:var(--muted);font-size:.86rem;font-weight:400}
/* Hero v2 zeigt die Wappenfahne frei links – v82 */
.season-band .season-visual .course{transform:scale(1.01)!important;background-position:center 56%!important}

/* Kompaktere Kopfzeile und Großschrift – v83 */
.topbar{
  min-height:64px!important;
  padding-top:4px!important;
  padding-bottom:4px!important;
}
.topbar .brand{
  min-height:54px;
  padding:3px 11px 4px 8px!important;
}
.topbar .brand-mark{
  width:44px!important;
  height:44px!important;
  padding:0!important;
  overflow:visible!important;
}
.topbar .brand-mark img{
  width:44px!important;
  height:44px!important;
  transform:translateY(-2px);
}
.main-nav>a,
.nav-submenu>summary,
.nav-submenu-panel>a{
  text-transform:uppercase;
  letter-spacing:.015em;
}
.main-nav>a,
.nav-submenu>summary{
  padding:7px 9px;
  font-size:.88rem;
}
.home-metrics .metric-label{
  text-transform:uppercase;
  letter-spacing:.025em;
}
@media(max-width:900px){.main-nav{top:64px}}
/* Stabiler Hero-Ausschnitt durch feste Seitenverhältnisse – v90 */
.season-band .season-visual .course{
  background-size:cover!important;
  background-position:center 56%!important;
}
@media(min-width:901px){
  .season-band{
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:8/3;
  }
  .season-band .season-copy{
    height:100%;
    min-height:0!important;
    padding-top:clamp(26px,3vw,48px)!important;
    padding-bottom:clamp(64px,7vw,100px)!important;
  }
}
@media(min-width:621px) and (max-width:900px){
  .season-band{
    width:100%;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:8/3;
  }
  .season-band .season-copy{
    height:100%;
    min-height:0!important;
    padding-top:clamp(14px,2.4vw,24px)!important;
    padding-bottom:clamp(42px,6vw,64px)!important;
  }
  .season-band .season-copy>*{flex-shrink:0}
}
@media(min-width:621px) and (max-width:700px){
  .season-band .season-copy{padding:10px var(--page-edge) 24px 68px!important}
  .season-band .season-copy .eyebrow{font-size:.64rem!important;line-height:1.1!important}
  .season-band .season-copy h1{font-size:1.12rem!important;line-height:1.12!important}
  .season-band .season-copy p:not(.eyebrow){font-size:.76rem!important;line-height:1.32!important}
  .season-band .season-actions{margin-top:10px!important}
}

/* Einheitliche, kompakte Rankingtabellen und deckende Seitenebenen – v91 */
.page-view:not([hidden]){
  isolation:isolate;
  contain:paint;
}
.content-band.page-view:not([data-view="home"]){
  background-color:var(--paper)!important;
  background-image:none!important;
}
#ranking .ranking-table-wrap,
#ranking .ranking-table,
#ranking .ranking-table tbody,
#ranking .ranking-table tbody tr,
#ranking .ranking-table tbody td{
  background-color:var(--panel)!important;
  background-image:none!important;
}
#ranking .ranking-table[data-ranking-type="players"]{min-width:900px}
#ranking .ranking-table[data-ranking-type="teams"]{min-width:960px}
#ranking .ranking-table th,
#ranking .ranking-table td{
  height:42px;
  padding:6px 7px;
}
#ranking .ranking-table[data-ranking-type="teams"] th:first-child,
#ranking .ranking-table[data-ranking-type="teams"] td:first-child{
  width:220px;
  min-width:220px;
}
#ranking .ranking-table[data-ranking-type="teams"] th:nth-child(2),
#ranking .ranking-table[data-ranking-type="teams"] td:nth-child(2){
  width:46px;
  min-width:46px;
  padding-inline:4px;
  text-align:center;
}
#ranking .ranking-table[data-ranking-type="teams"] th:nth-child(3),
#ranking .ranking-table[data-ranking-type="teams"] td:nth-child(3){
  width:154px;
  min-width:154px;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{
  border-right:1px solid var(--line);
  background-color:var(--panel)!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-entry{gap:8px}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-logo{
  flex-basis:40px;
  width:40px;
  height:40px;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-logo img,
#ranking .ranking-table[data-ranking-type="teams"] .ranking-logo .club-logo-fallback,
#ranking .ranking-table[data-ranking-type="teams"] .ranking-logo-empty{
  width:36px;
  height:36px;
  max-width:36px;
  max-height:36px;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-player-name-only{
  font-size:.9rem;
}
#ranking .ranking-team-value{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:baseline;
  gap:5px;
  margin-top:4px;
  padding:3px 6px;
  border:1px solid color-mix(in srgb,var(--green) 24%,var(--line));
  border-radius:5px;
  background:color-mix(in srgb,var(--green) 7%,var(--panel));
  color:var(--muted);
  font-size:.68rem;
  font-weight:400;
  line-height:1.1;
  white-space:nowrap;
}
#ranking .ranking-team-value strong{
  color:var(--green);
  font-size:.78rem!important;
  font-weight:800!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-top-value .position-badge{
  width:25px!important;
  height:25px!important;
}
#table .standings-table-wrap,
#table .standings-table,
#table .standings-table tbody,
#table .standings-table tbody tr,
#table .standings-table tbody td{
  background-color:var(--panel)!important;
  background-image:none!important;
}#ranking .ranking-table[data-ranking-type="teams"]{
  table-layout:fixed!important;
}
#ranking .ranking-table[data-ranking-type="teams"] th,
#ranking .ranking-table[data-ranking-type="teams"] td{
  width:auto!important;
  min-width:0!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading,
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{
  width:220px!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-top-heading,
#ranking .ranking-table[data-ranking-type="teams"] .ranking-top-value{
  width:46px!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-player-heading,
#ranking .ranking-table[data-ranking-type="teams"] .ranking-player-cell{
  width:154px!important;
}
/* Exakte Rankingausrichtung und Medaillenfarben – v92 */
#ranking .ranking-top-value{
  text-align:center!important;
}
#ranking .ranking-top-value .position-badge{
  margin-inline:auto!important;
}
#ranking .ranking-player-heading,
#ranking .ranking-player-cell{
  text-align:left!important;
}
#ranking .ranking-player-name-only{
  width:100%;
  justify-content:flex-start;
  text-align:left!important;
}
#ranking .position-badge.is-gold,
#ranking .ranking-team-order.is-gold{
  border:1px solid #d6a91f!important;
  background:#f3cf55!important;
  color:#604900!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62)!important;
}
#ranking .position-badge.is-silver,
#ranking .ranking-team-order.is-silver{
  border:1px solid #aeb8c2!important;
  background:#dce2e7!important;
  color:#42505b!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;
}
#ranking .position-badge.is-bronze,
#ranking .ranking-team-order.is-bronze{
  border:1px solid #a96636!important;
  background:#ce8b59!important;
  color:#fffaf4!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35)!important;
}
/* Flacher Hero mit klar begrenzter Glaskarte – v93 */
@media(min-width:901px){
  .season-band{
    aspect-ratio:3/1;
  }
  .season-band .season-copy{
    position:absolute;
    top:44%;
    right:max(var(--page-edge),3vw);
    bottom:16px;
    width:min(670px,47%);
    height:auto;
    min-height:0!important;
    margin:0;
    padding:12px 20px!important;
    justify-content:center;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.78);
    border-radius:14px;
    background:color-mix(in srgb,var(--paper) 90%,transparent)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.86),inset 0 0 22px rgba(255,255,255,.16),0 14px 34px rgba(10,34,25,.18);
    backdrop-filter:blur(14px) saturate(1.08);
    -webkit-backdrop-filter:blur(14px) saturate(1.08);
  }
  .season-band .season-copy .eyebrow{
    margin-bottom:3px!important;
    font-size:.75rem;
    text-shadow:0 1px 0 rgba(255,255,255,.9),0 2px 8px rgba(16,42,31,.13);
  }
  .season-band .season-copy h1{
    font-size:clamp(1.3rem,1.8vw,1.7rem)!important;
    text-shadow:0 1px 0 rgba(255,255,255,.92),0 3px 10px rgba(16,42,31,.16);
  }
  .season-band .season-copy p:not(.eyebrow){
    margin-bottom:0;
    font-size:.88rem!important;
    line-height:1.35;
    text-shadow:0 1px 0 rgba(255,255,255,.78),0 2px 7px rgba(16,42,31,.10);
  }
  .season-band .season-actions{margin-top:10px!important}
  .season-band .season-actions .button{min-height:36px;padding:7px 12px;font-size:.86rem}
}
@media(min-width:901px) and (max-width:1100px){
  .season-band .season-copy{
    top:28%;
    right:var(--page-edge);
    bottom:12px;
    width:56%;
  }
}
/* Klarere Bildwiedergabe und fein ausgerichtetes Kopfzeilenwappen – v94 */
.topbar .brand-mark img{
  transform:translateY(1px)!important;
}
.season-band .season-visual .course{
  transform:none!important;
  filter:none!important;
}
.season-band .season-visual .course::after{
  background:transparent!important;
}
/* Freigegebenes Rauchglas und neutralere Bildfarben – v95 */
.season-band .season-visual .course{
  filter:saturate(.84) contrast(1.06) brightness(1.02)!important;
}
@media(min-width:901px){
  .season-band .season-copy{
    border-color:rgba(255,255,255,.78)!important;
    background:rgba(5,38,30,.34)!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .season-band .season-copy .eyebrow,
  .season-band .season-copy h1,
  .season-band .season-copy p:not(.eyebrow){
    color:rgba(255,255,255,.98)!important;
    text-shadow:none!important;
  }
  .season-band .season-copy h1{
    font-size:clamp(1.45rem,2vw,1.9rem)!important;
  }
  .season-band .season-copy p:not(.eyebrow){
    font-size:.9rem!important;
  }
  .hero-leaders{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 14px;
    margin-top:11px;
    padding-top:8px;
    border-top:1px solid rgba(255,255,255,.38);
    color:rgba(255,255,255,.86);
    font-size:.82rem;
  }
  .hero-leaders span{min-width:0}
  .hero-leaders strong{
    color:#fff;
    font-weight:800;
  }
}
/* Identische obere Textzeile auf allen Menüseiten und Medaillenfarben – v96 */
.content-band.page-view:not([data-view="home"]) .section-head .eyebrow{
  display:flex!important;
  align-items:center!important;
}
.content-band.page-view:not([data-view="home"]) .ranking-method-link{
  box-sizing:border-box!important;
  height:24px!important;
  min-height:24px!important;
  padding:0 8px!important;
  line-height:22px!important;
}
.standing-rank.is-gold{
  border:1px solid #d6a91f!important;
  background:#f3cf55!important;
  color:#604900!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62)!important;
}
.standing-rank.is-silver{
  border:1px solid #aeb8c2!important;
  background:#dce2e7!important;
  color:#42505b!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.standing-rank.is-bronze{
  border:1px solid #a96636!important;
  background:#ce8b59!important;
  color:#fffaf4!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45)!important;
}
/* Einheitliche Rubrik- und Seitentitel – v98 */
.current-head .eyebrow{
  color:var(--muted)!important;
}
.season-copy h1,
.current-head h2,
.content-band.page-view:not([data-view="home"]) .section-head h2{
  font-size:clamp(calc(1.48rem - 2pt),calc(2.3vw - 2pt),calc(1.85rem - 2pt))!important;
}
@media(max-width:700px){
  .season-copy h1,
  .current-head h2,
  .content-band.page-view:not([data-view="home"]) .section-head h2{
    font-size:calc(1.45rem - 2pt)!important;
  }
}
/* Auch der Startseiten-Haupttitel wird relativ zu seiner jeweiligen Darstellungsgröße um 2 pt reduziert. */
@media(min-width:901px){
  .season-band .season-copy h1{
    font-size:clamp(calc(1.45rem - 2pt),calc(2vw - 2pt),calc(1.9rem - 2pt))!important;
  }
}
@media(min-width:701px) and (max-width:900px){
  .season-band .season-copy h1{font-size:calc(1.45rem - 2pt)!important}
}
@media(min-width:621px) and (max-width:700px){
  .season-band .season-copy h1{font-size:calc(1.12rem - 2pt)!important}
}
@media(max-width:620px){
  .season-band .season-copy h1{font-size:calc(2rem - 2pt)!important}
}
/* Startseiten-Glaskarte und klickbare Formstärke-Hinweise – v100 */
.hero-leaders{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
  margin-top:11px;
  padding-top:8px;
}
.hero-leader{
  display:grid;
  min-width:0;
  grid-template-columns:34px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:5px 7px;
  border:1px solid color-mix(in srgb,currentColor 24%,transparent);
  border-radius:8px;
  color:inherit;
}
.hero-leader:hover,.hero-leader:focus-visible{
  border-color:currentColor;
  background:color-mix(in srgb,currentColor 10%,transparent);
  outline:none;
}
.hero-leader-logo{
  display:grid;
  width:34px;
  height:34px;
  place-items:center;
  overflow:hidden;
  padding:2px;
  border-radius:6px;
  background:#fff;
}
.hero-leader-logo img{display:block;width:100%;height:100%;object-fit:contain}
.hero-leader-logo .club-logo-fallback{width:30px;height:30px;font-size:.64rem}
.hero-leader-copy{display:grid;min-width:0;line-height:1.12}
.hero-leader-copy>span{font-size:.7rem}
.hero-leader-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}
@media(min-width:901px){
  .season-band .season-copy{right:var(--page-edge)!important}
  .season-band .season-copy>p:not(.eyebrow){font-size:.96rem!important;line-height:1.38!important}
  .season-band .hero-leaders{border-top:1px solid rgba(255,255,255,.38)}
  .season-band .hero-leader{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.07);color:rgba(255,255,255,.9)}
  .season-band .hero-leader:hover,.season-band .hero-leader:focus-visible{border-color:rgba(255,255,255,.8);background:rgba(255,255,255,.14)}
  .season-band .hero-leader-copy strong{color:#fff}
}
@media(max-width:900px){
  .hero-leaders{gap:5px;margin-top:5px;padding-top:5px}
  .hero-leader{grid-template-columns:26px minmax(0,1fr);gap:5px;padding:3px 4px}
  .hero-leader-logo{width:26px;height:26px}
  .hero-leader-copy>span{font-size:.58rem}
  .hero-leader-copy strong{font-size:.68rem}
}
@media(max-width:560px){.hero-leaders{grid-template-columns:1fr}}
/* Dritte Optik Abendblau und zusätzliche Überschriftsfarbe – v101 */
body[data-heading-color="blue"]{--page-heading-color:#236aa6}
body[data-theme="abendblau"]{
  --ink:#172842;
  --muted:#60738e;
  --line:#c8d7e8;
  --paper:#edf4fb;
  --white:#fff;
  --green:#235f9c;
  --green-2:#43a4c7;
  --blue:#1979b8;
  --gold:#d5a335;
  --rose:#7957a8;
  --header:#12345d;
  --panel:#fff;
  --shadow:0 18px 45px rgba(18,52,93,.18);
}
body[data-theme="abendblau"][data-heading-color="auto"]{--page-heading-color:#235f9c}
body[data-theme="abendblau"] .topbar{
  border-bottom-color:#d5a335;
  background:rgba(18,52,93,.97);
  box-shadow:inset 0 -3px 0 rgba(213,163,53,.92),0 10px 28px rgba(10,34,66,.16);
}
body[data-theme="abendblau"] .topbar .brand strong,
body[data-theme="abendblau"] .topbar .brand small,
body[data-theme="abendblau"] .main-nav>a,
body[data-theme="abendblau"] .nav-submenu>summary{color:#f8fbff}
body[data-theme="abendblau"] .main-nav>a:hover,
body[data-theme="abendblau"] .main-nav>a.is-active,
body[data-theme="abendblau"] .nav-submenu>summary:hover,
body[data-theme="abendblau"] .nav-submenu.is-active>summary{
  background:rgba(255,255,255,.14);
  color:#fff;
  box-shadow:inset 0 -2px 0 #e5b84e;
}
body[data-theme="abendblau"] .nav-submenu-panel,
body[data-theme="abendblau"] .nav-submenu-panel a{color:var(--ink)}
body[data-theme="abendblau"] .page-summary,
body[data-theme="abendblau"] .player-summary,
body[data-theme="abendblau"] .round-head{
  border-color:#b8cde4;
  border-left:4px solid #235f9c;
  background:#e1edf9!important;
}
body[data-theme="abendblau"] .match-table-head,
body[data-theme="abendblau"] .standings-table th,
body[data-theme="abendblau"] .ranking-table th,
body[data-theme="abendblau"] .club-list-head,
body[data-theme="abendblau"] .team-list-head{
  background:#d8e7f6!important;
  color:#173d68!important;
}
body[data-theme="abendblau"] .club-logo-link,
body[data-theme="abendblau"] .team-logo-link{
  background:linear-gradient(145deg,#deedf9,#f8edcf);
}
body[data-theme="abendblau"] .metric{
  border-top:3px solid var(--metric-accent);
  background:linear-gradient(155deg,#fff,color-mix(in srgb,var(--metric-accent) 7%,#fff));
}
body[data-theme="abendblau"] .search:focus,
body[data-theme="abendblau"] .select:focus{
  border-color:#235f9c;
  outline:2px solid rgba(213,163,53,.48);
  outline-offset:1px;
}
body[data-theme="abendblau"] .season-visual .course::after{
  background:linear-gradient(180deg,rgba(12,37,72,.01) 36%,rgba(10,30,61,.38) 100%),linear-gradient(105deg,rgba(35,95,156,.12),transparent 46%,rgba(213,163,53,.10));
}
body[data-theme="abendblau"] .topbar .brand strong{color:#173d68}
body[data-theme="abendblau"] .topbar .brand small{color:#60738e}
@media(max-width:900px){
  body[data-theme="abendblau"] .main-nav{border-color:#b8cde4;background:#f8fbff}
  body[data-theme="abendblau"] .main-nav>a,
  body[data-theme="abendblau"] .nav-submenu>summary{color:#173d68}
  body[data-theme="abendblau"] .main-nav>a:hover,
  body[data-theme="abendblau"] .main-nav>a.is-active,
  body[data-theme="abendblau"] .nav-submenu>summary:hover,
  body[data-theme="abendblau"] .nav-submenu.is-active>summary{background:#e1edf9;color:#173d68}
}
/* Unabhängige Teamdetails und Ansicht Liste mit Spielen – v104 */
.team-player-link.is-active{
  border-color:color-mix(in srgb,var(--green) 55%,var(--line));
  background:color-mix(in srgb,var(--green) 16%,var(--panel));
  color:var(--green);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--green) 12%,transparent);
}
.team-list.is-list-games-view{gap:6px}
.team-list.is-list-games-view .team-card{margin-top:5px}
.team-list.is-list-games-view .team-list-head+.team-card{margin-top:0}
.team-list.is-list-games-view .team-inline-detail{
  margin:-4px 0 10px;
  padding-left:112px;
}
.team-list.is-list-games-view .team-games-panel{
  padding:9px 10px;
  border-top:3px solid color-mix(in srgb,var(--green) 58%,var(--line));
  border-radius:0 0 8px 8px;
}
.team-list.is-list-games-view .team-detail-head{margin-bottom:6px}
.team-list.is-list-games-view .team-game-row{padding:6px 9px}
@media(max-width:900px){
  .team-list.is-list-games-view .team-inline-detail{padding-left:0}
}
/* Tageszeitabhängiges Startseitenbild – v105 */
.season-band .season-visual .course{background-image:var(--hero-course-image,url("assets/branding/dayparts-v2/DAYPARTS-V12-CLEAN-MASTER-SMOOTH-REVIEW-v1/loading/schwabenliga-hero-neutral-v12-loading-960.webp"))!important}

/* Größere Formstärke-Karten auf der Startseite – v106 */
.hero-leaders{gap:10px 14px;margin-top:14px;padding-top:10px}
.hero-leader{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:8px 10px}
.hero-leader-logo{width:48px;height:48px;padding:3px}
.hero-leader-logo .club-logo-fallback{width:42px;height:42px;font-size:.78rem}
.hero-leader-copy{line-height:1.16}
.hero-leader-copy>span{font-size:.8rem;font-weight:600}
.hero-leader-copy strong{font-size:1.02rem;line-height:1.2}
@media(max-width:900px){
  .hero-leaders{gap:7px;margin-top:8px;padding-top:7px}
  .hero-leader{grid-template-columns:38px minmax(0,1fr);gap:8px;padding:6px 7px}
  .hero-leader-logo{width:38px;height:38px}
  .hero-leader-copy>span{font-size:.68rem}
  .hero-leader-copy strong{font-size:.82rem}
}
@media(max-width:560px){
  .hero-leader{grid-template-columns:42px minmax(0,1fr)}
  .hero-leader-logo{width:42px;height:42px}
  .hero-leader-copy>span{font-size:.72rem}
  .hero-leader-copy strong{font-size:.9rem}
}

@media(min-width:1101px){
  .season-band .season-copy{top:34%!important}
}
@media(min-width:901px) and (max-width:1100px){
  .season-band .season-copy{top:20%!important}
}

/* Hauptüberschriften eine weitere Stufe kleiner – v107 */
.season-copy h1,
.current-head h2,
.content-band.page-view:not([data-view="home"]) .section-head h2{
  font-size:clamp(calc(1.48rem - 3pt),calc(2.3vw - 3pt),calc(1.85rem - 3pt))!important;
}
@media(min-width:901px){
  .season-band .season-copy h1{
    font-size:clamp(calc(1.45rem - 3pt),calc(2vw - 3pt),calc(1.9rem - 3pt))!important;
  }
}
@media(max-width:700px){
  .season-copy h1,
  .current-head h2,
  .content-band.page-view:not([data-view="home"]) .section-head h2{
    font-size:calc(1.45rem - 3pt)!important;
  }
}

/* Sechs Tageszeiten mit manueller Punktnavigation – v108 */
.hero-daypart-dots{position:absolute;z-index:8;left:max(8px,var(--page-edge));top:50%;display:grid;gap:2px;transform:translateY(-50%);padding:6px 3px;border:1px solid rgba(255,255,255,.42);border-radius:999px;background:rgba(5,28,21,.24);box-shadow:0 8px 24px rgba(3,20,14,.16);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.hero-daypart-dot{display:grid;width:20px;height:20px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.hero-daypart-dot::before{content:"";width:7px;height:7px;border:1.5px solid rgba(255,255,255,.94);border-radius:50%;background:rgba(7,28,22,.38);box-shadow:0 1px 4px rgba(0,0,0,.24);transition:width .18s ease,height .18s ease,transform .18s ease,background .18s ease}
.hero-daypart-dot:hover::before{transform:scale(1.3);background:rgba(255,255,255,.8)}
.hero-daypart-dot:focus-visible{outline:2px solid #fff;outline-offset:1px}
.hero-daypart-dot[aria-pressed="true"]::before{width:11px;height:11px;border-color:#fff;background:var(--gold);box-shadow:0 0 0 2px rgba(255,255,255,.24),0 2px 7px rgba(0,0,0,.28)}
.hero-course-transition{position:absolute;inset:-1px;z-index:1;opacity:0;background-repeat:no-repeat;background-size:cover;background-position:center 56%;filter:saturate(.84) contrast(1.06) brightness(1.02);transition:opacity .4s ease;pointer-events:none}
.hero-course-transition.is-visible{opacity:1}
@media(max-width:620px){.hero-daypart-dots{left:7px;padding-block:4px}.hero-daypart-dot{width:18px;height:18px}.hero-course-transition{background-position:56% center}}


/* Automatische Tageszeitoptiken – v109 */
body[data-theme="morning"]{
  --ink:#293448;--muted:#706b7d;--line:#d8d7e3;--paper:#f3f2f7;--green:#667ba0;--green-2:#9b8ca9;--blue:#5e78a4;--gold:#cc9568;--rose:#a9637f;--header:#f8f6fa;--panel:#fdfbfe;--shadow:0 18px 45px rgba(49,57,85,.14)
}
body[data-theme="forenoon"]{
  --ink:#18332f;--muted:#5b746d;--line:#cfe2dc;--paper:#f1f8f5;--green:#2f8065;--green-2:#6baa78;--blue:#357dad;--gold:#d4a33d;--rose:#aa5969;--header:#f6fbf9;--panel:#fff;--shadow:0 18px 45px rgba(30,82,68,.12)
}
body[data-theme="midday"]{
  --ink:#172d3b;--muted:#5b7180;--line:#cfdfe7;--paper:#f2f8fb;--green:#2d7b49;--green-2:#6ca45e;--blue:#1972b8;--gold:#d7a51f;--rose:#a85065;--header:#f7fbfd;--panel:#fff;--shadow:0 18px 45px rgba(30,85,118,.12)
}
body[data-theme="afternoon"]{
  --ink:#302e20;--muted:#746f5c;--line:#dfd8c5;--paper:#faf5e9;--green:#63782f;--green-2:#8ea453;--blue:#557894;--gold:#d28b29;--rose:#a65b3d;--header:#fff9ef;--panel:#fffdf8;--shadow:0 18px 45px rgba(92,76,38,.14)
}
body[data-theme="evening"]{
  --ink:#2d2944;--muted:#706985;--line:#d9d2e3;--paper:#f4eff7;--green:#68568e;--green-2:#96709b;--blue:#4b6498;--gold:#d39a64;--rose:#a95780;--header:#faf5fb;--panel:#fffafd;--shadow:0 18px 45px rgba(55,43,84,.16)
}
body[data-theme="night"]{
  --ink:#192740;--muted:#637593;--line:#cbd7e7;--paper:#edf2f9;--green:#3d6397;--green-2:#6d86ad;--blue:#315b95;--gold:#d3ad63;--rose:#785b91;--header:#e9f0f9;--panel:#f8faff;--shadow:0 18px 45px rgba(21,39,72,.19)
}
body[data-theme="morning"][data-heading-color="auto"]{--page-heading-color:#667ba0}
body[data-theme="forenoon"][data-heading-color="auto"]{--page-heading-color:#2f8065}
body[data-theme="midday"][data-heading-color="auto"]{--page-heading-color:#1972b8}
body[data-theme="afternoon"][data-heading-color="auto"]{--page-heading-color:#8a6927}
body[data-theme="evening"][data-heading-color="auto"]{--page-heading-color:#68568e}
body[data-theme="night"][data-heading-color="auto"]{--page-heading-color:#3d6397}
body[data-theme="morning"] .topbar,
body[data-theme="forenoon"] .topbar,
body[data-theme="midday"] .topbar,
body[data-theme="afternoon"] .topbar,
body[data-theme="evening"] .topbar,
body[data-theme="night"] .topbar{
  border-bottom-color:color-mix(in srgb,var(--green) 34%,var(--line));
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--gold) 52%,transparent),0 8px 24px color-mix(in srgb,var(--ink) 8%,transparent)
}
body[data-theme="morning"] .page-summary,
body[data-theme="morning"] .player-summary,
body[data-theme="morning"] .round-head,
body[data-theme="forenoon"] .page-summary,
body[data-theme="forenoon"] .player-summary,
body[data-theme="forenoon"] .round-head,
body[data-theme="midday"] .page-summary,
body[data-theme="midday"] .player-summary,
body[data-theme="midday"] .round-head,
body[data-theme="afternoon"] .page-summary,
body[data-theme="afternoon"] .player-summary,
body[data-theme="afternoon"] .round-head,
body[data-theme="evening"] .page-summary,
body[data-theme="evening"] .player-summary,
body[data-theme="evening"] .round-head,
body[data-theme="night"] .page-summary,
body[data-theme="night"] .player-summary,
body[data-theme="night"] .round-head{
  border-color:color-mix(in srgb,var(--green) 34%,var(--line));
  background:color-mix(in srgb,var(--green) 8%,var(--panel))!important
}
body[data-theme="morning"] .match-table-head,
body[data-theme="morning"] .standings-table th,
body[data-theme="morning"] .ranking-table th,
body[data-theme="forenoon"] .match-table-head,
body[data-theme="forenoon"] .standings-table th,
body[data-theme="forenoon"] .ranking-table th,
body[data-theme="midday"] .match-table-head,
body[data-theme="midday"] .standings-table th,
body[data-theme="midday"] .ranking-table th,
body[data-theme="afternoon"] .match-table-head,
body[data-theme="afternoon"] .standings-table th,
body[data-theme="afternoon"] .ranking-table th,
body[data-theme="evening"] .match-table-head,
body[data-theme="evening"] .standings-table th,
body[data-theme="evening"] .ranking-table th,
body[data-theme="night"] .match-table-head,
body[data-theme="night"] .standings-table th,
body[data-theme="night"] .ranking-table th{
  background:color-mix(in srgb,var(--green) 13%,var(--panel))!important;
  color:var(--ink)!important
}


/* Präzisierte Vormittags-/Abendoptik und Teamlogos im Hero – v110 */
body[data-theme="forenoon"]{
  --ink:#17352f;--muted:#55766d;--line:#c8e2d9;--paper:#eef9f5;--green:#21866b;--green-2:#78b47b;--blue:#3b82b3;--gold:#c9a447;--rose:#aa6170;--header:#f3fbf8;--panel:#fff;--shadow:0 18px 45px rgba(27,94,75,.13)
}
body[data-theme="forenoon"][data-heading-color="auto"]{--page-heading-color:#21866b}

body[data-theme="evening"]{
  --ink:#3b3026;--muted:#7b6c5d;--line:#e2d4c5;--paper:#faf3ea;--green:#75673b;--green-2:#9b8b55;--blue:#557a99;--gold:#d38e32;--rose:#b15b4f;--header:#fff8ef;--panel:#fffdf9;--shadow:0 18px 45px rgba(90,60,35,.15)
}
body[data-theme="evening"][data-heading-color="auto"]{--page-heading-color:#9a512f}
.hero-leader-logo{position:relative;overflow:visible}
.hero-team-logo-image{
  display:grid;
  width:100%;
  height:100%;
  place-items:center;
  overflow:hidden;
  border-radius:5px;
  background:#fff
}
.hero-team-logo-image img{display:block;width:100%;height:100%;object-fit:contain}
.hero-team-logo-image .club-logo-fallback{width:100%;height:100%;border:0;border-radius:5px;font-size:.62rem;box-shadow:none}
.hero-team-badge{
  position:absolute;
  right:-5px;
  bottom:-5px;
  display:grid;
  width:17px;
  height:17px;
  place-items:center;
  border:1px solid #fff;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:.58rem;
  font-weight:800;
  line-height:1;
  box-shadow:0 2px 7px rgba(23,33,28,.24)
}


/* Klar getrennte Nachmittags- und Nachtoptik – v115 */
body[data-theme="afternoon"]{
  --ink:#39291f;--muted:#806b5b;--line:#ead2b9;--paper:#fff2df;
  --green:#b8662d;--green-2:#d79545;--blue:#60758b;--gold:#e1a13a;
  --rose:#a94f43;--header:#fff7eb;--panel:#fffaf3;
  --shadow:0 18px 45px rgba(112,63,30,.16)
}
body[data-theme="afternoon"][data-heading-color="auto"]{--page-heading-color:#a95128}

body[data-theme="night"]{
  color-scheme:dark;
  --ink:#eef4ff;--muted:#a9b9d0;--line:#304664;--paper:#0b1424;
  --green:#4d86bf;--green-2:#727caf;--blue:#78ace0;--gold:#e1b75f;
  --rose:#ad719f;--header:#101d30;--panel:#17253b;
  --shadow:0 18px 48px rgba(0,7,18,.44)
}
body[data-theme="night"][data-heading-color="auto"]{--page-heading-color:#8fbce8}
body[data-theme="night"] .topbar,
body[data-theme="night"] .topbar .brand,
body[data-theme="night"] .main-nav,
body[data-theme="night"] .nav-submenu-panel,
body[data-theme="night"] .home-metrics,
body[data-theme="night"] .home-current,
body[data-theme="night"] .content-band.page-view:not([data-view="home"]){
  background-color:var(--paper)!important;
  color:var(--ink)!important
}
body[data-theme="night"] :is(.metric,.current-grid,.current-column,.news-item,.next-match,.club-card,.team-card,.team-row,.player-card,.player-panel,.match-row,.download-item,.public-report-item,.table-wrap,.standings-table,.ranking-table,.service-card,.info-card,.admin-shell,.form-block){
  background-color:var(--panel)!important;
  color:var(--ink)!important;
  border-color:var(--line)!important
}
body[data-theme="night"] :is(.search,.select,.theme-select,.form-block input,.form-block select,.form-block textarea,.button.secondary){
  background:#1d2d46!important;
  color:var(--ink)!important;
  border-color:#3b5475!important
}
body[data-theme="night"] :is(.muted,.metric span,.eyebrow,.page-summary span){color:var(--muted)!important}

body[data-theme="night"] :is(.main-nav>a,.nav-submenu>summary,.nav-submenu-panel>a){
  color:var(--muted)!important
}
body[data-theme="night"] :is(.main-nav>a:hover,.main-nav>a.is-active,.nav-submenu>summary:hover,.nav-submenu[open]>summary,.nav-submenu.is-active>summary,.nav-submenu-panel>a:hover,.nav-submenu-panel>a.is-active){
  background:color-mix(in srgb,var(--blue) 18%,var(--panel))!important;
  color:#e5f1ff!important
}
body[data-theme="night"] :is(.nav-service-heading,.nav-layout-settings>strong){color:#c2d2e8!important}
body[data-theme="night"] :is(.layout-reset,.current-toggle){background:#1d2d46!important;color:#dcecff!important;border-color:#3b5475!important}
body[data-theme="night"] .metric-icon{
  background:color-mix(in srgb,var(--metric-accent) 22%,var(--panel))!important;
  border-color:color-mix(in srgb,var(--metric-accent) 46%,var(--line))!important
}
body[data-theme="night"] .metric:hover{background:color-mix(in srgb,var(--blue) 8%,var(--panel))!important}

body[data-theme="night"] .player-stats div{background:#20324d!important;border-color:#3b5475!important;color:var(--ink)!important}
body[data-theme="night"] .player-stats dt{color:var(--muted)!important}
body[data-theme="night"] .player-stats dd{color:var(--ink)!important}
body[data-theme="night"] .player-photo{background:#223551!important;color:#9cc5ee!important;border-color:#3b5475!important}


/* Deutlich getrennte Farbwelten der sechs Tageszeiten – v118 */
body[data-theme="morning"]{
  --ink:#352d48;--muted:#76657f;--line:#dfcedd;--paper:#f4edf5;
  --green:#74629e;--green-2:#b47499;--blue:#596fa7;--gold:#e39a63;
  --rose:#b85f7b;--header:#fbf3f7;--panel:#fff9fc;
  --shadow:0 18px 45px rgba(76,51,91,.16)
}
body[data-theme="morning"][data-heading-color="auto"]{--page-heading-color:#76558f}

body[data-theme="forenoon"]{
  --ink:#143b43;--muted:#527781;--line:#b9dddd;--paper:#e9f8f7;
  --green:#13858c;--green-2:#4fb7aa;--blue:#167fbd;--gold:#e4b53d;
  --rose:#b85e73;--header:#effcfb;--panel:#fbffff;
  --shadow:0 18px 45px rgba(16,103,110,.14)
}
body[data-theme="forenoon"][data-heading-color="auto"]{--page-heading-color:#087b8a}

body[data-theme="midday"]{
  --ink:#14324c;--muted:#57718a;--line:#c2dcf0;--paper:#edf6ff;
  --green:#256eaa;--green-2:#4c9bd0;--blue:#086fc1;--gold:#f1c62d;
  --rose:#b94e68;--header:#f4faff;--panel:#fff;
  --shadow:0 18px 45px rgba(19,91,145,.14)
}
body[data-theme="midday"][data-heading-color="auto"]{--page-heading-color:#086fc1}

body[data-theme="afternoon"]{
  --ink:#45291d;--muted:#87644f;--line:#ecc9a9;--paper:#fff0dc;
  --green:#c26327;--green-2:#e09a37;--blue:#687589;--gold:#eaae32;
  --rose:#b74d3f;--header:#fff6e8;--panel:#fffaf2;
  --shadow:0 18px 45px rgba(125,65,27,.18)
}
body[data-theme="afternoon"][data-heading-color="auto"]{--page-heading-color:#a84820}

body[data-theme="evening"]{
  --ink:#40283d;--muted:#846578;--line:#e3c7d6;--paper:#f4eaf2;
  --green:#884b77;--green-2:#b65c75;--blue:#5a5a91;--gold:#e09462;
  --rose:#b94d65;--header:#fbf1f5;--panel:#fff8fb;
  --shadow:0 18px 45px rgba(83,42,70,.2)
}
body[data-theme="evening"][data-heading-color="auto"]{--page-heading-color:#8b4168}

body[data-theme="night"]{
  --ink:#eef4ff;--muted:#a9b9d0;--line:#304664;--paper:#0b1424;
  --green:#4d86bf;--green-2:#727caf;--blue:#78ace0;--gold:#e1b75f;
  --rose:#ad719f;--header:#101d30;--panel:#17253b;
  --shadow:0 18px 48px rgba(0,7,18,.44)
}
body[data-theme="night"][data-heading-color="auto"]{--page-heading-color:#8fbce8}


/* Ruhige Dämmerungspalette für die Abendoptik – v119 */
body[data-theme="evening"]{
  --ink:#30364d;--muted:#6f7389;--line:#cdd2df;--paper:#eef0f6;
  --green:#53658f;--green-2:#9b7180;--blue:#3f5f91;--gold:#d79054;
  --rose:#b65e59;--header:#f5f3f6;--panel:#fbfafc;
  --shadow:0 18px 45px rgba(48,52,79,.2)
}
body[data-theme="evening"][data-heading-color="auto"]{--page-heading-color:#4b5e88}


/* Feste Markenfarben und bildbasierte Tageszeitpaletten – v120 */
:root{
  --brand-yellow:#f2c400;
  --brand-red:#b51f32;
}
.topbar .brand,
.hero-crest{
  border-top-color:var(--brand-yellow)!important;
}
.topbar .brand::after,
.hero-crest::after{
  background:var(--brand-red)!important;
}

body[data-theme="morning"]{
  --ink:#352f49;--muted:#706a7e;--line:#d8d4df;--paper:#f1f0f5;
  --green:#6b7298;--green-2:#9b829f;--blue:#5975a3;--gold:#d39b69;
  --rose:#a9617d;--header:#f8f6fa;--panel:#fdfbfe;
  --shadow:0 18px 45px rgba(55,57,84,.16)
}
body[data-theme="morning"][data-heading-color="auto"]{--page-heading-color:#696d96}

body[data-theme="forenoon"]{
  --ink:#173744;--muted:#5a7580;--line:#c3dce3;--paper:#eaf6f8;
  --green:#247f9c;--green-2:#4f9a7d;--blue:#1d6fa9;--gold:#d5a948;
  --rose:#b95e72;--header:#f1f9fa;--panel:#fbfeff;
  --shadow:0 18px 45px rgba(31,103,131,.15)
}
body[data-theme="forenoon"][data-heading-color="auto"]{--page-heading-color:#1c7595}

body[data-theme="midday"]{
  --ink:#294238;--muted:#6e7d70;--line:#d7e2cf;--paper:#f4f8ef;
  --green:#5d8f49;--green-2:#8fab52;--blue:#438fba;--gold:#dfb83f;
  --rose:#b65c67;--header:#f8fbf4;--panel:#fff;
  --shadow:0 18px 45px rgba(86,116,61,.13)
}
body[data-theme="midday"][data-heading-color="auto"]{--page-heading-color:#4388ad}

body[data-theme="afternoon"]{
  --ink:#3e3427;--muted:#796f60;--line:#ded4c5;--paper:#f7f1e7;
  --green:#96723a;--green-2:#aa8845;--blue:#647a8d;--gold:#d09a42;
  --rose:#a65d48;--header:#fbf6ee;--panel:#fffdf9;
  --shadow:0 18px 45px rgba(93,74,43,.16)
}
body[data-theme="afternoon"][data-heading-color="auto"]{--page-heading-color:#8c6534}

body[data-theme="evening"]{
  --ink:#3d3438;--muted:#7a7073;--line:#ddd1cd;--paper:#f1ece8;
  --green:#795e60;--green-2:#a16e60;--blue:#647187;--gold:#cf8d53;
  --rose:#af5d58;--header:#f7f2ee;--panel:#fdfaf7;
  --shadow:0 18px 45px rgba(71,55,58,.18)
}
body[data-theme="evening"][data-heading-color="auto"]{--page-heading-color:#74565c}

body[data-theme="night"]{
  --ink:#eef4ff;--muted:#a9b9d0;--line:#304664;--paper:#0b1424;
  --green:#4d86bf;--green-2:#727caf;--blue:#78ace0;--gold:#e1b75f;
  --rose:#ad719f;--header:#101d30;--panel:#17253b;
  --shadow:0 18px 48px rgba(0,7,18,.44)
}
body[data-theme="night"][data-heading-color="auto"]{--page-heading-color:#8fbce8}

/* Drei klar definierte Layoutstufen: PC, Tablet und Smartphone – v121 */
.responsive-label-short{
  display:none;
  border:0;
  text-decoration:none;
}
.responsive-label-full{display:inline}
.player-stats .responsive-label-full{display:none}
.player-stats .responsive-label-short{display:inline}
.table-label-full{display:inline}
.table-label-short{display:none}

/* PC: vollständige Beschriftungen und kompakte, aber luftige Raster. */
@media (min-width:1100px){
  .content-band.page-view:not([data-view="home"]){
    padding-top:12px;
    padding-bottom:18px;
  }
  .content-band.page-view:not([data-view="home"]) .section-head{
    min-height:54px;
    grid-template-rows:54px;
    margin-bottom:8px;
  }
  .content-band.page-view:not([data-view="home"]) .toolbar-row{min-height:54px}
  .page-summary,
  .player-summary{margin-bottom:8px!important}
  .table-wrap th,
  .table-wrap td{padding:8px 10px}
  #ranking .ranking-table[data-ranking-type="players"]{min-width:1080px}
  #ranking .ranking-table[data-ranking-type="teams"]{min-width:1240px}
  #ranking .responsive-label-full{display:inline}
  #ranking .responsive-label-short{display:none}
}
@media (min-width:1600px){
  .player-stats .responsive-label-full{display:inline}
  .player-stats .responsive-label-short{display:none}
}

/* Tablet: ein kompakter Kopf, Filter in einer Zeile und dichtere Inhalte. */
@media (min-width:700px) and (max-width:1099px){
  :root{--page-edge:10px}
  .topbar{min-height:60px!important;padding-block:3px!important}
  .topbar .brand{min-height:50px}
  .content-band.page-view:not([data-view="home"]){
    padding-top:10px;
    padding-bottom:14px;
  }
  .content-band.page-view:not([data-view="home"]) .section-head{
    display:grid;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    min-height:0!important;
    gap:5px;
    margin-bottom:7px;
  }
  .content-band.page-view:not([data-view="home"]) .section-head .page-heading{
    min-height:47px;
  }
  .content-band.page-view:not([data-view="home"]) .section-head h2{
    height:auto;
    min-height:27px;
    font-size:1.35rem!important;
    line-height:1.25;
    white-space:normal;
  }
  .content-band.page-view:not([data-view="home"]) .section-head .eyebrow{
    height:16px;
    margin-bottom:2px;
    font-size:.68rem;
    line-height:16px;
  }
  .content-band.page-view:not([data-view="home"]) .toolbar-row{
    display:flex!important;
    min-height:34px;
    gap:6px;
    align-items:end;
    justify-content:flex-start;
    flex-wrap:nowrap;
  }
  .content-band.page-view:not([data-view="home"]) .toolbar-spacer{display:none}
  .content-band.page-view:not([data-view="home"]) .search,
  #players .toolbar-row .search{
    flex:1 1 210px;
    width:auto;
    min-width:150px;
    height:34px;
    min-height:34px;
    padding:6px 9px;
  }
  .content-band.page-view:not([data-view="home"]) .sort-control{
    flex:0 1 150px;
    min-width:112px;
    width:auto;
    gap:1px;
  }
  .content-band.page-view:not([data-view="home"]) .sort-control .select,
  .content-band.page-view:not([data-view="home"]) .toolbar-row>.select,
  #players .toolbar-row .sort-control .select{
    width:100%;
    min-width:0;
    height:34px;
    min-height:34px;
    padding:5px 7px;
    font-size:.82rem;
  }
  .page-summary,
  .player-summary{
    min-height:34px!important;
    margin-bottom:7px!important;
    padding:5px 8px!important;
  }
  .club-grid:not(.is-list-view):not(.is-logo-view),
  .team-list:not(.is-list-view):not(.is-logo-view){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .club-grid.is-logo-view,
  .team-list.is-logo-view{
    grid-template-columns:repeat(auto-fill,minmax(128px,1fr));
  }
  .player-grid-page{
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr))!important;
    gap:6px;
  }
  #players .player-grid-page .player-card{
    grid-template-columns:46px minmax(130px,.8fr) minmax(220px,1.2fr);
    min-height:70px;
    padding:7px;
  }
  #players .player-grid-page .player-photo{width:46px;height:46px}
  .player-stats{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}
  .player-stats div{padding:4px 3px}
  .player-stats dt{font-size:.63rem}
  .player-stats dd{font-size:.9rem}
  .round-block{gap:6px;margin-bottom:10px}
  .round-head{padding:7px 9px}
  .match-table-head,
  .match-row{
    grid-template-columns:78px minmax(130px,1fr) minmax(130px,1fr) 68px 68px;
    min-height:38px;
    padding-inline:8px;
  }
  .match-table-head{font-size:.7rem}
  .match-row{font-size:.84rem}
  .match-player-game,
  .match-player-games-head{padding:5px 8px}
  .table-wrap th,
  .table-wrap td{padding:7px 6px;font-size:.79rem}
  #ranking .responsive-label-full{display:none}
  #ranking .responsive-label-short{display:inline}
  #ranking .ranking-table[data-ranking-type="players"]{min-width:780px}
  #ranking .ranking-table[data-ranking-type="teams"]{min-width:840px}
  #ranking .ranking-table th,
  #ranking .ranking-table td{height:38px;padding:5px 6px}
  .public-report-list,
  .download-list,
  .info-grid{gap:7px}
  .public-report-item,
  .download-item,
  .info-card{padding:8px 10px}
  .footer{padding-block:14px}
}

/* Smartphone: Bild zuerst, Beschreibung darunter und Inhalte ohne unnötige Höhe. */
@media (max-width:699px){
  :root{--page-edge:8px}
  body{font-size:.9rem;line-height:1.35}
  .topbar{
    min-height:56px!important;
    padding:2px var(--page-edge)!important;
  }
  .topbar .brand{
    min-height:48px;
    padding:2px 7px 3px 5px!important;
  }
  .topbar .brand-mark,
  .topbar .brand-mark img{width:40px!important;height:40px!important}
  .nav-toggle{width:40px;height:40px}
  .main-nav{
    top:56px;
    left:var(--page-edge);
    right:var(--page-edge);
    max-height:calc(100vh - 64px);
    padding:7px;
    overflow-y:auto;
  }

  .season-band{
    display:grid!important;
    grid-template-rows:auto auto;
    width:100%;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:visible!important;
    background:var(--paper)!important;
  }
  .season-band .season-visual{
    position:relative!important;
    inset:auto!important;
    grid-row:1;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9;
  }
  .season-band .season-copy{
    position:static!important;
    grid-row:2;
    display:block;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:0;
    padding:9px var(--page-edge) 10px!important;
    overflow:visible;
    border:0;
    border-radius:0;
    background:var(--paper)!important;
    color:var(--ink)!important;
  }
  .season-band .season-copy .eyebrow{
    height:auto;
    margin:0 0 2px!important;
    color:var(--muted)!important;
    font-size:.64rem!important;
    line-height:1.2!important;
  }
  .season-band .season-copy h1{
    height:auto;
    margin:0 0 5px!important;
    color:var(--page-heading-color,var(--green))!important;
    font-size:1.14rem!important;
    line-height:1.15!important;
    white-space:normal;
  }
  .season-band .season-copy>p:not(.eyebrow){
    max-width:none;
    margin:0!important;
    color:var(--ink)!important;
    font-size:.76rem!important;
    line-height:1.28!important;
  }
  .hero-daypart-dots{
    top:28vw;
    left:6px;
    gap:0;
    padding:3px 2px;
  }
  .hero-daypart-dot{width:17px;height:17px}
  .hero-leaders{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
    margin-top:7px;
    padding-top:6px;
    border-top:1px solid var(--line);
    color:var(--muted);
  }
  .hero-leader{
    min-width:0;
    grid-template-columns:34px minmax(0,1fr);
    gap:5px;
    padding:4px 5px;
    border-color:var(--line);
    background:var(--panel);
    color:var(--muted);
  }
  .hero-leader-logo{width:34px;height:34px}
  .hero-leader-copy>span{font-size:.58rem;line-height:1.05}
  .hero-leader-copy strong{
    color:var(--ink);
    font-size:.74rem;
    line-height:1.12;
    overflow-wrap:anywhere;
  }

  .home-metrics{padding-block:7px!important}
  .dashboard-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
  }
  .home-metrics .metric{
    min-height:54px;
    grid-template-columns:30px minmax(0,1fr);
    gap:7px;
    padding:6px 8px;
  }
  .metric-icon{width:30px;height:30px;border-radius:8px}
  .metric-icon svg{width:18px;height:18px}
  .home-metrics .metric-label{font-size:.62rem}
  .home-metrics .metric-copy strong{font-size:1.25rem;line-height:1}

  .home-current{padding-block:9px!important}
  .home-current .current-head{gap:6px;margin-bottom:6px}
  .home-current .current-head .eyebrow{margin-bottom:1px;font-size:.62rem}
  .home-current .current-head h2{
    font-size:1rem!important;
    line-height:1.15!important;
  }
  .current-head h2::after{width:62px;height:3px;margin-top:5px}
  .current-toggle{min-height:30px;padding:4px 7px;font-size:.7rem}
  .home-current:not(.is-expanded) .current-scroll-list{
    height:96px!important;
    min-height:96px!important;
  }
  .home-current .news-item,
  .home-current .next-match{padding:7px 8px}
  .home-current .news-item h3{font-size:.83rem}
  .home-current .news-item p,
  .home-current .next-match{font-size:.76rem}

  .content-band.page-view:not([data-view="home"]){
    min-height:calc(100vh - 56px);
    padding:7px var(--page-edge) 10px;
  }
  .content-band.page-view:not([data-view="home"]) .section-head{
    display:block!important;
    min-height:0!important;
    margin-bottom:5px;
    background:none!important;
    box-shadow:none!important;
  }
  .content-band.page-view:not([data-view="home"]) .section-head .page-heading{
    min-height:43px;
  }
  .content-band.page-view:not([data-view="home"]) .section-head .eyebrow{
    height:14px;
    margin:0 0 1px;
    font-size:.62rem;
    line-height:14px;
  }
  .content-band.page-view:not([data-view="home"]) .section-head h2{
    height:auto;
    min-height:25px;
    margin:0;
    font-size:1.16rem!important;
    line-height:1.18!important;
    white-space:normal;
  }
  .content-band.page-view:not([data-view="home"]) .toolbar-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    min-height:0;
    gap:4px 6px;
    align-items:end;
  }
  .content-band.page-view:not([data-view="home"]) .toolbar-spacer{display:none}
  .content-band.page-view:not([data-view="home"]) .search,
  #players .toolbar-row .search{
    grid-column:1/-1;
    width:100%;
    min-width:0;
    height:32px;
    min-height:32px;
    padding:5px 8px;
    font-size:.8rem;
  }
  .content-band.page-view:not([data-view="home"]) .sort-control{
    display:grid;
    width:100%;
    min-width:0;
    gap:1px;
    font-size:.68rem;
  }
  .content-band.page-view:not([data-view="home"]) .sort-control>span{
    font-size:.62rem;
    line-height:12px;
  }
  .content-band.page-view:not([data-view="home"]) .sort-control .select,
  .content-band.page-view:not([data-view="home"]) .toolbar-row>.select,
  #players .toolbar-row .sort-control .select{
    width:100%;
    min-width:0;
    height:32px;
    min-height:32px;
    padding:4px 6px;
    font-size:.76rem;
  }
  .page-summary,
  .player-summary,
  .service-summary{
    min-height:30px!important;
    margin:0 0 5px!important;
    padding:4px 7px!important;
    gap:6px;
    font-size:.76rem;
  }

  .club-grid,
  .team-list,
  .player-grid-page,
  .match-list,
  .public-report-list,
  .download-list,
  .info-grid{gap:5px}
  .club-grid.is-logo-view,
  .team-list.is-logo-view{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .club-grid:not(.is-list-view):not(.is-logo-view),
  .team-list:not(.is-list-view):not(.is-logo-view){
    grid-template-columns:1fr;
  }
  .club-grid.is-list-view .club-card,
  .team-list.is-list-view .team-card{
    grid-template-columns:68px minmax(0,1fr);
    grid-template-rows:auto;
    min-height:68px;
  }
  .club-grid.is-list-view .club-logo-link,
  .team-list.is-list-view .team-logo-link{
    min-height:68px;
    padding:4px;
    border-right:1px solid var(--line);
    border-bottom:0;
  }
  .team-list.is-list-view .team-logo-wrap{height:60px}
  .club-grid.is-list-view .club-card-body,
  .team-list.is-list-view .team-card-body{
    display:grid;
    grid-template-columns:1fr auto;
    grid-template-rows:auto auto auto;
    gap:2px 6px;
    padding:5px 7px;
  }
  .club-grid.is-list-view .club-card-body h3,
  .team-list.is-list-view .team-card-body h3{
    grid-column:1/-1;
    font-size:.82rem;
    line-height:1.15;
  }
  .club-grid.is-list-view .club-location,
  .team-list.is-list-view .team-card-body>p{
    font-size:.7rem;
  }
  .club-grid.is-list-view .club-contact{grid-column:1/-1}
  .club-grid.is-list-view .club-teams{
    grid-column:1/-1;
    padding-top:3px;
    border-top:1px solid var(--line);
    border-left:0;
  }
  .team-list.is-list-view .team-captain{padding-top:2px}
  .team-list.is-list-view .team-card-actions{gap:3px}
  .team-list.is-list-view .team-player-link{min-height:27px;padding:3px 6px}
  .team-inline-detail{margin-bottom:6px}

  .player-grid-page{grid-template-columns:1fr!important}
  #players .player-grid-page .player-card{
    grid-template-columns:40px minmax(0,1fr);
    grid-template-rows:auto auto auto;
    gap:2px 6px;
    min-height:0;
    padding:6px;
  }
  #players .player-grid-page .player-photo{
    grid-row:1/3;
    width:40px;
    height:40px;
  }
  #players .player-grid-page .player-name-line,
  #players .player-grid-page .player-subline{grid-column:2}
  #players .player-grid-page .player-name-line strong{font-size:.86rem}
  #players .player-grid-page .player-subline{font-size:.68rem}
  #players .player-grid-page .player-stats{
    grid-column:1/-1;
    grid-row:3;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:3px;
  }
  .player-stats div{padding:3px 2px}
  .player-stats dt{font-size:.57rem}
  .player-stats dd{font-size:.82rem}
  .player-sort-break{margin:2px 0}

  .round-block{gap:4px;margin-bottom:7px}
  .round-head{padding:5px 7px}
  .round-head h3{font-size:.88rem}
  .round-head p{margin:0;font-size:.68rem}
  .round-head>span{min-height:24px;padding:3px 5px;font-size:.67rem}
  .match-table{border:0;background:transparent}
  .match-table-head{display:none}
  .match-entry{margin-bottom:4px}
  .match-row{
    display:grid;
    grid-template-columns:58px minmax(0,1fr) 52px;
    grid-template-rows:auto auto;
    gap:2px 5px;
    min-height:0;
    margin:0;
    padding:5px 6px;
    border:1px solid var(--line);
    border-radius:6px;
    background:var(--panel);
    font-size:.72rem;
  }
  .match-row .match-date{
    grid-column:1;
    grid-row:1/3;
    align-self:center;
    color:var(--muted);
    font-size:.65rem;
  }
  .match-row .match-team{grid-column:2;white-space:normal;line-height:1.15}
  .match-row .match-team:nth-child(2){grid-row:1}
  .match-row .match-team:nth-child(3){grid-row:2}
  .match-row .match-team:nth-child(2)::before{content:"H: ";color:var(--muted);font-size:.62rem}
  .match-row .match-team:nth-child(3)::before{content:"G: ";color:var(--muted);font-size:.62rem}
  .match-row>[role="cell"]:nth-child(4){grid-column:3;grid-row:1}
  .match-row>[role="cell"]:nth-child(5){grid-column:3;grid-row:2;text-align:center}
  .match-row .score{min-width:48px;padding:3px 4px;font-size:.72rem}
  .match-row .report-link{min-height:24px;padding:2px 5px;font-size:.66rem}
  .match-player-games{margin:0 3px 5px}
  .match-player-games-head,
  .match-player-game{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;
    gap:3px;
    padding:4px;
    font-size:.66rem;
  }

  .standings-table-wrap{overflow-x:visible!important}
  .standings-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }
  .standings-table th,
  .standings-table td{
    height:34px;
    padding:5px 2px!important;
    font-size:.68rem;
    line-height:1.1;
  }
  .standings-table th:first-child,
  .standings-table td:first-child{width:27px}
  .standings-table th:nth-child(3),
  .standings-table td:nth-child(3){width:42px}
  .standings-table th:nth-child(4),
  .standings-table td:nth-child(4){width:54px}
  .standings-table th:nth-child(5),
  .standings-table td:nth-child(5){width:58px}
  .standings-table th:nth-child(6),
  .standings-table td:nth-child(6){width:48px}
  .standings-table td:nth-child(2){
    overflow-wrap:anywhere;
    hyphens:auto;
  }

  #ranking .ranking-scroll-hint{display:none}
  #ranking .ranking-table-wrap{overflow-x:visible!important}
  #ranking .ranking-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
  }
  #ranking .ranking-table th,
  #ranking .ranking-table td{
    width:auto!important;
    min-width:0!important;
    height:34px;
    padding:4px 3px!important;
    font-size:.66rem;
    white-space:normal;
  }
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(4),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(4),
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(5),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(5),
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(6),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(6),
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(8),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(8),
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(10),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(10),
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(11),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(11){display:none}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(1),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(1){width:34px!important}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(2),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(2){width:auto}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(3),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(3){width:38px!important}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(7),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(7){width:43px!important}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(9),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(9){width:58px!important}

  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(5),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(5),
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(6),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(6),
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(7),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(7),
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(9),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(9),
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(11),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(11),
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(12),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(12){display:none}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{width:34%!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-top-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-top-value{width:32px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-cell{width:28%!important}
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(4),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(4){width:37px!important}
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(8),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(8){width:42px!important}
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(10),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(10){width:56px!important}
  #ranking .ranking-logo{
    flex-basis:28px;
    width:28px;
    height:28px;
  }
  #ranking .ranking-logo img,
  #ranking .ranking-logo .club-logo-fallback,
  #ranking .ranking-logo-empty{
    width:26px;
    height:26px;
    max-width:26px;
    max-height:26px;
  }
  #ranking .ranking-identity-layout{gap:4px}
  #ranking .ranking-identity-copy strong,
  #ranking .ranking-player-name-only{font-size:.68rem!important}
  #ranking .ranking-identity small{display:none}
  #ranking .ranking-team-entry{gap:3px;flex-wrap:wrap}
  #ranking .ranking-team-order{flex-basis:22px;font-size:.72rem}
  #ranking .ranking-team-value{margin-top:2px;padding:2px 3px;font-size:.55rem}
  #ranking .ranking-quote{min-width:0;padding:3px;font-size:.76rem}
  #ranking .position-badge{width:24px;height:24px;font-size:.7rem}

  .public-report-item{
    grid-template-columns:minmax(0,1fr) 54px;
    gap:4px 7px;
    min-height:0;
    padding:6px 7px;
  }
  .public-report-item>div{grid-column:1;grid-row:1/3}
  .public-report-item h3{font-size:.78rem}
  .public-report-item .score{grid-column:2;grid-row:1;min-width:48px}
  .public-report-item .report-open-button{
    grid-column:2;
    grid-row:2;
    min-height:26px;
    padding:3px 5px;
    font-size:.66rem;
  }
  .download-item{
    grid-template-columns:minmax(0,1fr) auto;
    gap:4px 8px;
    padding:7px 8px;
  }
  .download-title{grid-column:1/-1}
  .download-item>span:not(.status-pill){font-size:.7rem}
  .download-action{min-height:26px;padding:3px 6px;font-size:.68rem}
  .info-grid{grid-template-columns:1fr}
  .info-card{padding:8px 9px}
  .info-card h3{margin-bottom:4px;font-size:.9rem}
  .info-card p{margin-bottom:6px;font-size:.76rem}

  .footer{
    gap:3px;
    padding:10px var(--page-edge);
    font-size:.68rem;
  }
}

/* Kurze Beschriftungen nur dort, wo die Smartphonebreite sie wirklich benötigt. */
@media (max-width:1099px){
  #ranking .responsive-label-full{display:none}
  #ranking .responsive-label-short{display:inline}
}
@media (max-width:639px){
  .table-label-full,
  .match-table-head .responsive-label-full{display:none}
  .table-label-short,
  .match-table-head .responsive-label-short{
    display:inline;
    border:0;
    text-decoration:none;
  }
}
@media (min-width:640px){
  .table-label-full,
  .match-table-head .responsive-label-full{display:inline}
  .table-label-short,
  .match-table-head .responsive-label-short{display:none}
}

/* Smartphone quer: weniger Höhe bei weiterhin großem Bildanteil. */
@media (max-width:699px) and (orientation:landscape){
  .season-band .season-visual{aspect-ratio:16/6}
  .season-band .season-copy{padding-block:6px 7px!important}
  .season-band .season-copy>p:not(.eyebrow){font-size:.7rem!important;line-height:1.2!important}
  .hero-daypart-dots{top:18.75vw}
  .hero-leaders{margin-top:5px;padding-top:4px}
  .home-metrics .metric{min-height:48px}
}

/* Sehr schmale Smartphones: letzte Verdichtung ohne horizontales Scrollen. */
@media (max-width:400px){
  .content-band.page-view:not([data-view="home"]) .section-head h2{font-size:1.06rem!important}
  .season-band .season-copy h1{font-size:1.05rem!important}
  .hero-leader-copy>span{font-size:.54rem}
  .hero-leader-copy strong{font-size:.68rem}
  .standings-table th,
  .standings-table td{font-size:.62rem}
  .standings-table th:nth-child(3),
  .standings-table td:nth-child(3){width:35px}
  .standings-table th:nth-child(4),
  .standings-table td:nth-child(4){width:45px}
  .standings-table th:nth-child(5),
  .standings-table td:nth-child(5){width:51px}
  .standings-table th:nth-child(6),
  .standings-table td:nth-child(6){width:42px}
}


/* Verborgene Seiten muessen unabhaengig von spaeteren Layoutregeln wirklich verschwinden. */
.page-view[hidden]{display:none!important}


/* Ranking auf schmalen Smartphones: wesentliche Werte ohne abgeschnittene Spalten. */
@media (max-width:480px){
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(1){font-size:0;text-align:center}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(1)::after{content:"#";font-size:.66rem}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(2),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(2){padding-left:7px!important}

  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(4),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(4),
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(8),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(8){display:none}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{width:145px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-top-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-top-value{width:30px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-cell{width:auto!important}
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(10),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(10){width:54px!important}
  #ranking .ranking-team-entry{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:2px;flex-wrap:initial}
  #ranking .ranking-identity-layout{display:grid;grid-template-columns:28px minmax(0,1fr);gap:3px}
  #ranking .ranking-identity-copy{min-width:0}
  #ranking .ranking-identity-copy>strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #ranking .ranking-team-value{font-size:0}
  #ranking .ranking-team-value::before{content:"Wert ";font-size:.55rem}
  #ranking .ranking-team-value strong{font-size:.66rem}
}


/* Tabellencontainer darf auf Smartphones nie durch Mindestinhalte breiter werden. */
@media (max-width:699px){
  #ranking .ranking-block{width:100%;min-width:0;overflow:hidden}
  #ranking .ranking-table-wrap{width:100%!important;max-width:100%;min-width:0;overflow:hidden!important}
  #ranking .ranking-table th,
  #ranking .ranking-table td{overflow:hidden}
}


/* Semantische Ranking-Spalten bleiben auch bei Zeilen mit rowspan korrekt. */
@media (max-width:699px){
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-top-value,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-cell,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-col-games,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-col-points,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-col-quote{display:table-cell!important}
  #ranking .ranking-table .ranking-col-wins,
  #ranking .ranking-table .ranking-col-losses,
  #ranking .ranking-table .ranking-col-draws,
  #ranking .ranking-table .ranking-col-result,
  #ranking .ranking-table .ranking-col-home,
  #ranking .ranking-table .ranking-col-away{display:none!important}
}
@media (max-width:480px){
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-col-games,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-col-points{display:none!important}
}

@media (max-width:699px){#ranking .ranking-table col{width:auto!important}}


/* Colgroup folgt auf Mobilgeraeten derselben sichtbaren Spaltenauswahl wie die Zellen. */
@media (max-width:699px){
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(5),
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(6),
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(7),
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(9),
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(11),
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(12){visibility:collapse;width:0!important}
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(1){width:34%!important}
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(2){width:32px!important}
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(3){width:auto!important}
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(4){width:37px!important}
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(8){width:42px!important}
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(10){width:56px!important}
}
@media (max-width:480px){
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(4),
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(8){visibility:collapse;width:0!important}
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(1){width:145px!important}
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(2){width:30px!important}
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(3){width:auto!important}
  #ranking .ranking-table[data-ranking-type="teams"] col:nth-child(10){width:54px!important}
}

@media (max-width:480px){
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading{font-size:0;text-align:left}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading::after{content:"Mannschaft";font-size:.66rem}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-top-heading{text-align:center}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-heading{padding-left:7px!important;text-align:left}
}


/* Tablet-Hero: Foto vollstaendig zeigen, Text kompakt darunter anordnen. */
@media (min-width:700px) and (max-width:1099px){
  .season-band{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto!important;
    min-height:0!important;
    background:var(--paper)!important;
  }
  .season-band .season-visual{
    position:relative!important;
    inset:auto!important;
    grid-column:1;
    grid-row:1;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/6;
  }
  .season-band .season-copy{
    position:relative!important;
    inset:auto!important;
    grid-column:1;
    grid-row:2;
    display:grid!important;
    grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);
    grid-template-rows:auto auto auto;
    gap:3px 18px;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    padding:11px var(--page-edge) 12px!important;
    border:0!important;
    border-radius:0!important;
    background:color-mix(in srgb,var(--paper) 96%,var(--panel))!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .season-band .season-copy .eyebrow{grid-column:1;grid-row:1;margin:0!important;color:var(--muted)!important;text-shadow:none!important}
  .season-band .season-copy h1{grid-column:1;grid-row:2;margin:0!important;color:var(--page-heading-color)!important;font-size:1.32rem!important;text-shadow:none!important}
  .season-band .season-copy>p:not(.eyebrow){grid-column:1;grid-row:3;margin:2px 0 0!important;color:var(--ink)!important;font-size:.8rem!important;line-height:1.28!important;text-shadow:none!important}
  .season-band .hero-leaders{grid-column:2;grid-row:1/4;align-self:center;margin:0;padding:0;border:0}
  .season-band .hero-daypart-dots{top:18.75vw}
}

@media (min-width:700px) and (max-width:1099px){.season-band{height:auto!important;aspect-ratio:auto!important;overflow:visible!important;gap:0!important}}


/* Mobile Startseite v134: dezente Tageszeitpunkte, Hero-Overlay und Aktuelles-Tabs. */
.current-tabs{display:none}
.hero-daypart-dots{
  opacity:.72;
  border-color:rgba(255,255,255,.32);
  background:rgba(5,28,21,.14);
  box-shadow:none;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  transition:opacity .18s ease;
}
.hero-daypart-dots:hover,.hero-daypart-dots:focus-within{opacity:1}
.hero-daypart-dot::before{
  width:7px;
  height:7px;
  border:1.25px solid rgba(255,255,255,.9);
  background:rgba(255,255,255,.12);
  box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.hero-daypart-dot[aria-pressed="true"]::before{
  width:9px;
  height:9px;
  border-width:3px;
  border-color:rgba(255,255,255,.96);
  background:rgba(255,255,255,.88);
  box-shadow:0 1px 4px rgba(0,0,0,.24);
}

@media (max-width:699px){
  .season-band{
    position:relative!important;
    display:block!important;
    height:auto!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .season-band .season-visual{
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9;
  }
  .season-band .season-copy{
    position:absolute!important;
    inset:auto 0 0!important;
    z-index:4;
    display:block!important;
    width:100%!important;
    min-height:0!important;
    padding:34px var(--page-edge) 7px!important;
    background:linear-gradient(180deg,transparent 0,rgba(4,19,17,.72) 32%,rgba(4,19,17,.9) 100%)!important;
    color:#fff!important;
  }
  .season-band .season-copy .eyebrow{
    margin:0 0 1px!important;
    color:rgba(255,255,255,.8)!important;
    font-size:.58rem!important;
    line-height:1.1!important;
    text-shadow:0 1px 2px rgba(0,0,0,.4)!important;
  }
  .season-band .season-copy h1{
    margin:0 0 4px!important;
    color:#fff!important;
    font-size:.98rem!important;
    line-height:1.08!important;
    text-shadow:0 1px 3px rgba(0,0,0,.65)!important;
  }
  .season-band .season-copy>p:not(.eyebrow){display:none!important}
  .season-band .hero-leaders{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px;
    margin:0;
    padding:0;
    border:0;
  }
  .season-band .hero-leader{
    min-height:40px;
    grid-template-columns:32px minmax(0,1fr);
    gap:4px;
    padding:3px 4px;
    border-color:rgba(255,255,255,.28);
    background:rgba(8,28,26,.5);
    color:#fff;
    box-shadow:none;
  }
  .season-band .hero-leader-logo{width:32px;height:32px;background:rgba(255,255,255,.92)}
  .season-band .hero-leader-copy>span{color:rgba(255,255,255,.78);font-size:.52rem;line-height:1.03}
  .season-band .hero-leader-copy strong{color:#fff;font-size:.69rem;line-height:1.08;overflow:visible;overflow-wrap:normal}
  .hero-daypart-dots{top:50%;transform:translateY(-50%);padding:3px 2px}
  .hero-daypart-dot{width:16px;height:16px}

  .home-metrics{padding-top:6px!important}
  .home-current{padding:7px var(--page-edge) 9px!important}
  .home-current .current-head{align-items:center;margin-bottom:5px}
  .home-current .current-head h2{display:none!important}
  .home-current .current-head .eyebrow{margin:0!important;font-size:.7rem!important;color:var(--page-heading-color)!important}
  .home-current .current-head h2::after{display:none}
  .current-toggle{min-height:27px;padding:3px 7px;font-size:.66rem}
  .current-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3px;
    margin-bottom:4px;
    padding:3px;
    border:1px solid color-mix(in srgb,var(--green) 20%,var(--line));
    border-radius:8px;
    background:color-mix(in srgb,var(--paper) 72%,var(--panel));
  }
  .current-tab{
    min-height:30px;
    padding:4px 7px;
    border:1px solid transparent;
    border-radius:6px;
    background:transparent;
    color:var(--muted);
    cursor:pointer;
    font-size:.72rem;
    font-weight:700;
  }
  .current-tab.is-active{
    border-color:color-mix(in srgb,var(--green) 30%,var(--line));
    background:var(--panel);
    color:var(--green);
    box-shadow:0 2px 8px color-mix(in srgb,var(--ink) 8%,transparent);
  }
  .home-current .current-grid{display:block;overflow:visible}
  .home-current [data-current-panel]{display:none!important}
  .home-current[data-current-active="news"] [data-current-panel="news"],
  .home-current[data-current-active="upcoming"] [data-current-panel="upcoming"]{display:block!important}
  .home-current .current-column,
  .home-current .next-matches.current-column{padding:7px;border:0;border-radius:0;background:transparent}
  .home-current .current-column>h3{display:none}
  .home-current .current-scroll-list,
  .home-current:not(.is-expanded) .current-scroll-list{
    height:auto!important;
    min-height:0!important;
    max-height:none;
    gap:5px;
    padding:0;
    overflow:visible;
    scrollbar-gutter:auto;
  }
  .home-current.is-expanded .current-scroll-list{
    max-height:min(66vh,540px);
    padding-right:3px;
    overflow-y:auto;
  }
  .home-current:not(.is-expanded) [data-current-panel] .current-scroll-list>:nth-child(n+3){display:none}
  .home-current .current-scroll-list .news-item,
  .home-current .current-scroll-list .next-match{
    display:grid;
    width:100%;
    height:auto!important;
    min-height:0!important;
    margin:0;
    padding:7px 8px;
    overflow:visible;
  }
  .home-current .current-scroll-list .news-item h3,
  .home-current .current-scroll-list .news-item p{
    display:block!important;
    margin:0;
    overflow:visible;
    text-overflow:clip;
    white-space:normal!important;
    -webkit-line-clamp:unset;
  }
  .home-current .news-item h3{font-size:.79rem;line-height:1.22}
  .home-current .news-item p{font-size:.72rem;line-height:1.25}
  .home-current .news-date,
  .home-current .next-match-date,
  .home-current .next-match-round{font-size:.68rem}
  .home-current .next-match-teams{font-size:.78rem}
  .home-current .news-item .current-context-links,
  .home-current .next-match .current-context-links{
    display:flex;
    width:100%;
    grid-column:1;
    grid-row:auto;
    flex-wrap:nowrap;
    gap:5px;
    justify-self:stretch;
    margin-top:4px;
  }
  .home-current .current-context-links a{
    flex:1 1 0;
    min-width:0;
    min-height:27px;
    padding:3px 7px;
    font-size:.68rem;
  }
}

@media (max-width:699px) and (orientation:landscape){
  .season-band .season-visual{aspect-ratio:16/6}
  .season-band .season-copy{padding-top:24px!important}
  .season-band .season-copy h1{font-size:.9rem!important}
  .season-band .hero-leader{min-height:36px}
}


/* Mobile Nachschärfung v135: zwei vollständige Einträge und Punkte außerhalb des Textes. */
@media (max-width:699px){
  .hero-daypart-dots{top:35%;transform:translateY(-50%)}
  .hero-daypart-dot{width:14px;height:14px}
  .home-current:not(.is-expanded) [data-current-panel] .current-scroll-list>*{display:grid!important}
  .home-current:not(.is-expanded) [data-current-panel] .current-scroll-list>:nth-child(n+3){display:none!important}
}

@media (max-width:699px){
  .home-current.is-expanded .current-scroll-list{
    height:min(66vh,540px)!important;
    min-height:0!important;
    max-height:min(66vh,540px)!important;
  }
}


/* Tablet v137: Aktuelles nutzt die vorhandene Breite statt unnoetig zu stapeln. */
@media (min-width:700px) and (max-width:1099px){
  .home-current .current-grid{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr)!important}
  .home-current .current-column,
  .home-current .next-matches.current-column{padding:10px}
  .home-current .current-column>h3{margin-bottom:7px;padding-bottom:6px}
}


/* Tablet v138: Karteninhalt vollstaendig statt mit Auslassungszeichen. */
@media (min-width:700px) and (max-width:1099px){
  .home-current:not(.is-expanded) .current-scroll-list{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .home-current .current-scroll-list .news-item,
  .home-current .current-scroll-list .next-match{
    height:auto;
    min-height:104px;
    overflow:visible;
  }
  .home-current .current-scroll-list .news-item h3,
  .home-current .current-scroll-list .news-item p{
    display:block;
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
  }
}


/* Schmale Tablets v139: Tabs statt gequetschter Zweispaltenkarten. */
@media (min-width:700px) and (max-width:799px){
  .home-current .current-head{align-items:center;margin-bottom:5px}
  .home-current .current-head h2{font-size:1.05rem!important}
  .current-tabs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:3px;
    margin-bottom:4px;
    padding:3px;
    border:1px solid color-mix(in srgb,var(--green) 20%,var(--line));
    border-radius:8px;
    background:color-mix(in srgb,var(--paper) 72%,var(--panel));
  }
  .current-tab{
    min-height:32px;
    padding:4px 8px;
    border:1px solid transparent;
    border-radius:6px;
    background:transparent;
    color:var(--muted);
    cursor:pointer;
    font-size:.76rem;
    font-weight:700;
  }
  .current-tab.is-active{
    border-color:color-mix(in srgb,var(--green) 30%,var(--line));
    background:var(--panel);
    color:var(--green);
    box-shadow:0 2px 8px color-mix(in srgb,var(--ink) 8%,transparent);
  }
  .home-current .current-grid{display:block!important;overflow:visible}
  .home-current [data-current-panel]{display:none!important}
  .home-current[data-current-active="news"] [data-current-panel="news"],
  .home-current[data-current-active="upcoming"] [data-current-panel="upcoming"]{display:block!important}
  .home-current .current-column,
  .home-current .next-matches.current-column{padding:8px;border:0;background:transparent}
  .home-current .current-column>h3{display:none}
  .home-current:not(.is-expanded) .current-scroll-list{height:auto!important;min-height:0!important;overflow:visible!important}
  .home-current .current-scroll-list .news-item,
  .home-current .current-scroll-list .next-match{width:100%;height:auto;min-height:104px;overflow:visible}
}


/* Erweiterte mobile Listen v140: Karten behalten ihre Inhaltshoehe, nur die Liste scrollt. */
@media (max-width:699px){
  .home-current.is-expanded .current-scroll-list{
    grid-auto-rows:max-content!important;
    align-content:start!important;
  }
  .home-current.is-expanded .current-scroll-list .news-item,
  .home-current.is-expanded .current-scroll-list .next-match{
    height:auto!important;
    min-height:max-content!important;
    align-self:start;
  }
}


/* Tageszeit-Auswahl v141: inaktiv hohl, aktiv dunkel und eindeutig. */
.hero-daypart-dot::before{
  border-color:rgba(255,255,255,.9);
  background:transparent;
  box-shadow:0 1px 3px rgba(0,0,0,.35);
}
.hero-daypart-dot:hover::before{
  background:rgba(255,255,255,.18);
}
.hero-daypart-dot[aria-pressed="true"]::before{
  width:9px;
  height:9px;
  border-width:3px;
  border-color:rgba(255,255,255,.96);
  background:rgba(8,20,24,.9);
  box-shadow:0 0 0 1px rgba(255,255,255,.34),0 1px 4px rgba(0,0,0,.5);
}


/* Begegnungen v142: Spieltag bleibt so breit und rechtsbuendig wie bei Neuigkeiten. */
@media (max-width:699px){
  .home-current .next-match .current-context-links{
    width:calc(50% - 2.5px);
    margin-left:auto;
  }
  .home-current .next-match .current-context-links a{
    flex:0 0 100%;
    width:100%;
  }
}


/* Teamdetails v143: runde Aktionssymbole und kompakte Spielzeilen. */
.team-list .team-card-actions .team-player-link{
  flex:0 0 34px;
  width:34px;
  min-width:34px;
  height:34px;
  min-height:34px;
  padding:0;
  border-radius:50%;
}
.team-game-row{
  grid-template-columns:112px minmax(180px,1fr) 104px;
  gap:8px;
  padding:5px 8px;
}
.team-game-result{
  display:grid;
  justify-items:stretch;
  gap:2px;
}
.team-game-result .report-link{
  min-height:19px;
  padding:0 5px;
  font-size:.7rem;
  line-height:1.15;
}
.team-game-result .score{
  min-width:0;
  padding:1px 5px;
  font-size:.82rem;
  line-height:1.2;
}
.team-game-result>.muted{
  text-align:center;
  font-size:.68rem;
}
@media(max-width:700px){
  .team-game-row{
    grid-template-columns:minmax(0,1fr) 96px;
    gap:4px 7px;
    padding:5px 7px;
  }
  .team-game-date{grid-column:1;grid-row:1}
  .team-game-opponent{grid-column:1;grid-row:2}
  .team-game-result{grid-column:2;grid-row:1/3}
  .team-game-row>.team-game-date,
  .team-game-row>.team-game-opponent{
    display:flex;
    align-items:baseline;
    gap:6px;
    min-width:0;
    line-height:1.15;
  }
  .team-game-date>span,
  .team-game-opponent>span{flex:0 0 auto;font-size:.68rem}
  .team-game-opponent>strong{min-width:0;font-size:.8rem;line-height:1.15}
}


/* Spielergebnisse v146: Bericht beim Datum, Ergebnis auf Gegnerhoehe. */
@media(max-width:760px){
  .player-result-row{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    gap:4px 9px;
    min-height:0;
    padding:7px 8px 7px 6px;
  }
  .player-result-date{
    grid-column:1;
    grid-row:1;
    display:flex;
    align-items:baseline;
    gap:6px;
    line-height:1.15;
  }
  .player-result-report{
    grid-column:2;
    grid-row:1;
    width:auto;
    min-height:25px!important;
    height:25px!important;
    margin:0;
    padding:2px 7px!important;
    font-size:.72rem;
  }
  .player-result-opponent{
    grid-column:1;
    grid-row:2;
    line-height:1.15;
  }
  .player-result-score{
    grid-column:2;
    grid-row:2;
    min-width:68px;
    align-self:start;
    justify-items:end;
    line-height:1.15;
  }
  .player-result-score strong{font-size:.94rem}
  .player-result-date span,
  .player-result-opponent span,
  .player-result-score span{font-size:.7rem}
}


/* Spieleransichten v147: kompakte Smartphone-Liste mit Kernwerten. */
@media(max-width:700px){
  #players .player-grid-page.is-list-view .player-card{
    grid-template-columns:34px minmax(0,1fr) 94px;
    grid-template-rows:auto auto;
    gap:1px 6px;
    min-height:0;
    padding:5px 6px;
  }
  #players .player-grid-page.is-list-view .player-photo{
    grid-column:1;
    grid-row:1/3;
    width:34px;
    height:34px;
    align-self:center;
  }
  #players .player-grid-page.is-list-view .player-name-line{
    grid-column:2;
    grid-row:1;
    flex-wrap:nowrap;
  }
  #players .player-grid-page.is-list-view .player-subline{
    grid-column:2;
    grid-row:2;
  }
  #players .player-grid-page.is-list-view .player-stats{
    grid-column:3;
    grid-row:1/3;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-self:center;
  }
  #players .player-grid-page.is-list-view .player-stats>div:nth-child(2),
  #players .player-grid-page.is-list-view .player-stats>div:nth-child(3),
  #players .player-grid-page.is-list-view .player-stats>div:nth-child(4){display:none}
}


/* Lesbarkeit v150: themegerechte Flaechen und belastbare Kontraste. */
.section-head,
.player-detail,
.player-result-row{background:var(--panel)}
.player-detail-head{background:color-mix(in srgb,var(--green) 7%,var(--panel))}
.player-detail-close{background:var(--panel);color:var(--ink)}
.score,
.team-game-row .score{
  background:color-mix(in srgb,var(--green) 12%,var(--panel));
  color:var(--ink);
}
.match-row.is-open .score{
  background:color-mix(in srgb,var(--gold) 12%,var(--panel));
  color:var(--ink);
}

/* Ergebniswerte innerhalb ihrer unveränderten Spalte mittig ausrichten. */
.match-table-head>span:nth-child(4){text-align:center}
.match-row>[role="cell"]:nth-child(4){
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}
.match-row .score{text-align:center}
.report-link,
.team-player-link,
.club-team-link{
  border-color:color-mix(in srgb,var(--blue) 35%,var(--line));
  background:color-mix(in srgb,var(--blue) 8%,var(--panel));
  color:color-mix(in srgb,var(--blue) 62%,var(--ink));
}
.captain-badge{
  border-color:color-mix(in srgb,var(--gold) 48%,var(--line));
  background:color-mix(in srgb,var(--gold) 16%,var(--panel));
  color:color-mix(in srgb,var(--ink) 78%,var(--gold));
}
.round-head>span{
  background:var(--panel);
  color:color-mix(in srgb,var(--green) 62%,var(--ink));
}
.team-game-row>div>span,
.player-result-date span,
.player-result-opponent span,
.player-result-score span,
.match-table-head,
.standings-table th,
.ranking-table th{
  color:color-mix(in srgb,var(--muted) 72%,var(--ink));
}
.player-photo{
  background:linear-gradient(135deg,color-mix(in srgb,var(--green) 14%,var(--panel)),color-mix(in srgb,var(--gold) 12%,var(--panel)));
}
.player-photo span{color:color-mix(in srgb,var(--green) 68%,var(--ink))}


/* Kleine Rankingwerte folgen derselben lesbaren Theme-Farbe. */
.ranking-quote,
#ranking .ranking-team-value strong{
  color:color-mix(in srgb,var(--green) 58%,var(--ink));
}
.ranking-method-link{
  color:color-mix(in srgb,var(--green) 58%,var(--ink))!important;
}


/* Tabellenhierarchie v153: Tabelle ist die gemeinsame typografische Basis. */
.standings-table,
#ranking .ranking-table{
  font-family:Arial,Helvetica,sans-serif!important;
  font-variant-numeric:tabular-nums;
}
.standings-table th,
#ranking .ranking-table th{
  font-family:inherit!important;
  font-size:.76rem!important;
  font-weight:700!important;
  line-height:1.15;
  letter-spacing:.015em;
  text-transform:uppercase;
}
.standings-table td,
#ranking .ranking-table td{
  font-family:inherit!important;
  font-size:.82rem!important;
  font-weight:400!important;
  line-height:1.22;
}
.standings-team-link{
  display:block;
  border-radius:5px;
  color:inherit;
  text-decoration:none!important;
}
.standings-team-link:hover .standings-team-identity>span:last-child{
  color:var(--green);
}
.standings-team-link:focus-visible{
  outline:2px solid var(--green);
  outline-offset:2px;
}
.standings-team-identity>span:last-child{
  font-size:.94rem;
  font-weight:700;
}
.standings-table tbody td:not(:nth-child(2)){
  color:color-mix(in srgb,var(--muted) 72%,var(--ink));
  font-size:.81rem!important;
  font-weight:500!important;
}
.standings-table tbody td:nth-child(6){
  color:var(--ink);
  font-weight:700!important;
}
#ranking .ranking-identity-copy>strong,
#ranking .ranking-player-name-only strong{
  font-family:inherit!important;
  font-size:.9rem!important;
  font-weight:700!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell .ranking-identity-copy>strong{
  font-size:.94rem!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-player-cell .ranking-player-name-only strong{
  font-size:.84rem!important;
  font-weight:600!important;
}
#ranking .ranking-table td.ranking-stat-value,
#ranking .ranking-table td.ranking-result-value{
  color:color-mix(in srgb,var(--muted) 72%,var(--ink));
  font-size:.8rem!important;
  font-weight:500!important;
  line-height:1.2!important;
}
#ranking .ranking-quote{
  font-size:.82rem!important;
  font-weight:700!important;
  line-height:1.15!important;
}
#ranking .ranking-player-link,
#ranking .ranking-player-link *,
#ranking .ranking-player-link:hover strong{
  text-decoration:none!important;
}
.standings-table-wrap.is-compact .standing-rank.is-gold{
  border:1px solid #d6a91f!important;
  background:#f3cf55!important;
  color:#604900!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.62)!important;
}
.standings-table-wrap.is-compact .standing-rank.is-silver{
  border:1px solid #aeb8c2!important;
  background:#dce2e7!important;
  color:#42505b!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78)!important;
}
.standings-table-wrap.is-compact .standing-rank.is-bronze{
  border:1px solid #a96636!important;
  background:#ce8b59!important;
  color:#fffaf4!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45)!important;
}
@media(max-width:699px){
  .standings-table th,
  #ranking .ranking-table th{font-size:.64rem!important}
  .standings-table td,
  #ranking .ranking-table td{font-size:.69rem!important}
  .standings-team-identity>span:last-child,
  #ranking .ranking-identity-copy>strong,
  #ranking .ranking-player-name-only strong{font-size:.74rem!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell .ranking-identity-copy>strong{font-size:.76rem!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-cell .ranking-player-name-only strong{font-size:.68rem!important}
  #ranking .ranking-table td.ranking-stat-value,
  #ranking .ranking-table td.ranking-result-value{font-size:.66rem!important}
  #ranking .ranking-quote{font-size:.7rem!important}
}


/* Mobile Tabellenhierarchie v154: Identität bleibt vor den Zahlenwerten. */
@media(max-width:699px){
  .standings-table tbody td:not(:nth-child(2)){
    font-size:.68rem!important;
    font-weight:500!important;
  }
  .standings-table tbody td:nth-child(6){
    font-size:.7rem!important;
    font-weight:700!important;
  }
  .standings-table .standing-rank,
  .standings-table-wrap.is-compact .standing-rank.is-gold,
  .standings-table-wrap.is-compact .standing-rank.is-silver,
  .standings-table-wrap.is-compact .standing-rank.is-bronze,
  #ranking .position-badge,
  #ranking .ranking-team-order{
    width:26px!important;
    height:26px!important;
    font-size:.66rem!important;
  }
  #ranking .position-badge-small{
    width:24px!important;
    height:24px!important;
    font-size:.64rem!important;
  }
}


/* Gemeinsames Anfangsraster fuer Tabelle und Spieler-Ranking. */
#ranking .ranking-table-wrap{scrollbar-gutter:auto}
@media (min-width:700px){
  #table .standings-table,
  #ranking .ranking-table[data-ranking-type="players"]{width:100%;table-layout:fixed}
  #table .standings-table th:first-child,
  #table .standings-table td:first-child,
  #ranking .ranking-table[data-ranking-type="players"] th:first-child,
  #ranking .ranking-table[data-ranking-type="players"] td:first-child{width:50px!important;min-width:50px!important}
  #table .standings-table th:nth-child(2),
  #table .standings-table td:nth-child(2),
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(2),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(2){width:340px!important;min-width:340px!important}
}
@media (min-width:1100px) and (max-width:1279px){
  #ranking .responsive-label-full{display:none}
  #ranking .responsive-label-short{display:inline}
}
@media (max-width:699px){
  #table .standings-table th:first-child,
  #table .standings-table td:first-child,
  #ranking .ranking-table[data-ranking-type="players"] th:first-child,
  #ranking .ranking-table[data-ranking-type="players"] td:first-child{width:34px!important}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(3),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(3){width:52px!important}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(7),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(7){width:68px!important}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(9),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(9){width:82px!important}
}
@media (max-width:400px){
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(3),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(3){width:45px!important}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(7),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(7){width:55px!important}
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(9),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(9){width:73px!important}
}


/* Tageszeitauswahl etwas dezenter; Ranking als gemeinsame Kartenueberschrift. */
.hero-daypart-dot[aria-pressed="true"]::before{
  border-width:2px;
  box-shadow:0 0 0 1px rgba(255,255,255,.22),0 1px 4px rgba(0,0,0,.42);
}
.hero-ranking-label{
  grid-column:1/-1;
  display:block;
  margin:0 1px -3px;
  color:inherit;
  font-size:.68rem;
  font-weight:400;
  line-height:1;
  letter-spacing:.04em;
}
@media (max-width:699px){
  .hero-ranking-label{margin-bottom:-2px;font-size:.54rem;color:rgba(255,255,255,.82)}
}


/* Club-Liste: vorhandene Logoflaeche proportional maximal nutzen. */
.club-grid.is-list-view .club-logo-link{padding:3px!important}
.club-grid.is-list-view .club-logo-link img{
  width:auto;
  height:auto;
  max-width:100%!important;
  max-height:78px!important;
  object-fit:contain;
}


/* Team-Liste: einheitliche Zeilen, grosse proportionale Logos und Kennung an der Kachel. */
@media (min-width:901px){
  .team-list.is-list-view .team-card{height:86px!important;min-height:86px!important}
  .team-list.is-list-view .team-logo-link{
    height:84px;
    min-height:84px!important;
    grid-template-columns:1fr!important;
    padding:3px!important;
  }
  .team-list.is-list-view .team-logo-wrap{width:100%;height:78px!important}
  .team-list.is-list-view .team-logo-wrap img{
    width:auto;
    height:auto;
    max-width:100%!important;
    max-height:78px!important;
    object-fit:contain;
  }
  .team-list.is-list-view .team-badge{
    position:absolute!important;
    right:4px!important;
    bottom:4px!important;
    width:26px!important;
    height:26px!important;
    font-size:.76rem;
    line-height:1;
  }
}
@media (max-width:900px){
  .team-list.is-list-view .team-logo-link{grid-template-columns:1fr!important}
  .team-list.is-list-view .team-badge{
    position:absolute!important;
    right:3px!important;
    top:calc(50% + 6px)!important;
    bottom:auto!important;
    width:24px!important;
    height:24px!important;
    font-size:.7rem;
    line-height:1;
  }
}


/* Spieltage: einheitliche Typografie und eindeutige Ergebnisfarben. */
#schedule,
#schedule .round-head,
#schedule .match-table,
#schedule .match-player-games,
#schedule .score,
#schedule .report-link{font-family:Arial,Helvetica,sans-serif!important}
.match-player-name{
  min-height:28px;
  padding:4px 7px;
  border-left:3px solid var(--line);
  border-radius:5px;
  font-weight:600;
}
.match-player-name.is-winner{
  border-left-color:var(--green);
  background:color-mix(in srgb,var(--green) 12%,var(--panel));
  color:color-mix(in srgb,var(--green) 68%,var(--ink));
}
.match-player-name.is-loser{
  border-left-color:var(--rose);
  background:color-mix(in srgb,var(--rose) 10%,var(--panel));
  color:color-mix(in srgb,var(--rose) 68%,var(--ink));
}
.match-player-name.is-draw{
  border-left-color:var(--gold);
  background:color-mix(in srgb,var(--gold) 15%,var(--panel));
  color:color-mix(in srgb,var(--gold) 58%,var(--ink));
}
.match-player-name.is-winner::after{content:none}
.match-player-game.is-draw .match-player-name{font-weight:600}


/* Sichtbare Ausrichtung von Tabelle und Spieler-Ranking, nicht nur Spaltengrenzen. */
@media (min-width:700px){
  #table .standings-table th:nth-child(-n+2),
  #table .standings-table td:nth-child(-n+2),
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(-n+2),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(-n+2){padding-inline:10px!important}
  .standings-logo,
  #ranking .ranking-table[data-ranking-type="players"] .ranking-logo{flex:0 0 42px;width:42px;height:42px}
  #ranking .ranking-table[data-ranking-type="players"] .ranking-logo img,
  #ranking .ranking-table[data-ranking-type="players"] .ranking-logo .club-logo-fallback,
  #ranking .ranking-table[data-ranking-type="players"] .ranking-logo-empty{width:40px;height:40px;max-width:40px;max-height:40px}
  .standings-team-identity,
  #ranking .ranking-table[data-ranking-type="players"] .ranking-identity-layout{gap:9px}
}
@media (max-width:699px){
  #table .standings-table th:nth-child(-n+2),
  #table .standings-table td:nth-child(-n+2),
  #ranking .ranking-table[data-ranking-type="players"] th:nth-child(-n+2),
  #ranking .ranking-table[data-ranking-type="players"] td:nth-child(-n+2){padding-inline:2px!important}
  .standings-logo,
  #ranking .ranking-table[data-ranking-type="players"] .ranking-logo{flex:0 0 28px;width:28px;height:28px}
  #ranking .ranking-table[data-ranking-type="players"] .ranking-logo img,
  #ranking .ranking-table[data-ranking-type="players"] .ranking-logo .club-logo-fallback,
  #ranking .ranking-table[data-ranking-type="players"] .ranking-logo-empty{width:26px;height:26px;max-width:26px;max-height:26px}
  .standings-team-identity,
  #ranking .ranking-table[data-ranking-type="players"] .ranking-identity-layout{gap:4px}
  .standings-team-identity>span:last-child,
  #ranking .ranking-table[data-ranking-type="players"] .ranking-identity-copy>strong{font-size:.72rem!important;line-height:1.12}
}


/* Kompaktes Darstellungsmenü in der Kopfzeile – v164 */
.topbar-actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:6px;
}
.display-menu{
  position:relative;
  flex:0 0 auto;
}
.display-menu>summary{
  display:grid;
  width:38px;
  height:38px;
  padding:0;
  place-items:center;
  border:1px solid var(--line);
  border-radius:8px;
  background:color-mix(in srgb,var(--panel) 94%,transparent);
  color:var(--ink);
  cursor:pointer;
  list-style:none;
  transition:border-color .16s ease,background .16s ease,color .16s ease;
}
.display-menu>summary::-webkit-details-marker{display:none}
.display-menu>summary::marker{content:""}
.display-menu>summary:hover,
.display-menu[open]>summary{
  border-color:color-mix(in srgb,var(--green) 42%,var(--line));
  background:color-mix(in srgb,var(--green) 10%,var(--panel));
  color:var(--green);
}
.display-menu>summary svg{
  width:21px;
  height:21px;
  overflow:visible;
  fill:var(--panel);
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.display-panel{
  position:absolute;
  top:calc(100% + 9px);
  right:0;
  z-index:40;
  width:min(330px,calc(100vw - 24px));
  max-height:calc(100vh - 78px);
  overflow-y:auto;
  overscroll-behavior:contain;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  box-shadow:var(--shadow);
}
.display-heading{
  display:block;
  margin:0 0 10px;
  padding:2px 4px 9px;
  border-bottom:1px solid var(--line);
  color:var(--green);
  font-size:.82rem;
  line-height:1.2;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.display-panel .nav-theme-setting{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,1.25fr);
  gap:10px;
  align-items:center;
  margin:0;
  padding:0 4px 10px;
  border-top:0;
}
.display-panel .nav-theme-setting>span{
  color:var(--muted);
  font-size:.78rem;
  letter-spacing:0;
}
.display-panel .theme-select{width:100%;min-width:0}
.display-panel .nav-layout-settings{
  margin-top:0;
  padding:0 4px 2px;
  border-top:0;
}
.display-panel .nav-layout-select{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(150px,1.25fr);
  gap:10px;
  align-items:center;
  margin:0;
  padding:0 0 10px;
}
.display-panel :is(.nav-theme-setting>span,.nav-layout-select>span){
  color:var(--muted);
  font-size:.78rem;
  font-weight:500;
  line-height:1.2;
  letter-spacing:0;
  text-transform:none;
}
.display-panel :is(.theme-select,.nav-layout-select select){
  box-sizing:border-box;
  width:100%;
  min-width:0;
  height:38px;
  min-height:38px;
  margin:0;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:8px;
  background:var(--panel);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  font-size:.9rem;
  font-weight:400;
  line-height:1.2;
  text-transform:none;
}
.main-nav .nav-submenu-panel{min-width:230px}
@media(max-width:900px){
  .topbar{gap:10px}
  .main-nav{order:4}
  .topbar-actions{margin-left:auto}
  .display-panel{
    position:fixed;
    top:64px;
    right:var(--page-edge);
    left:var(--page-edge);
    width:auto;
    max-height:calc(100vh - 74px);
  }
}
@media(max-width:699px){
  .display-menu>summary{width:40px;height:40px}
  .display-panel{top:56px;max-height:calc(100vh - 64px)}
}
body[data-theme="night"] .display-menu>summary,
body[data-theme="night"] .display-panel{
  border-color:#3e5676;
  background:#172439;
  color:#eef5ff;
}
body[data-theme="night"] .display-menu>summary svg{fill:#172439}
body[data-theme="night"] .display-heading,
body[data-theme="night"] .display-panel .nav-theme-setting>span,
body[data-theme="night"] .display-panel .nav-layout-settings>strong{color:#c2d2e8!important}


/* Hero-Ueberschrift: Unterkante nicht beschneiden – v165 */
.season-band .season-copy h1{
  line-height:1.16!important;
  padding-bottom:.08em;
  overflow:visible;
}
@media(max-width:699px){
  .season-band .season-copy h1{line-height:1.16!important;padding-bottom:.1em}
}


/* Identische kompakte Zeilenhoehe fuer Tabelle und Ranking – v166 */
@media(min-width:700px){
  #table .standings-table-wrap:not(.is-compact) tbody tr,
  #ranking .ranking-table tbody tr{
    height:55px;
  }
  #table .standings-table-wrap:not(.is-compact) tbody td,
  #ranking .ranking-table tbody td{
    height:55px!important;
    padding-top:5px!important;
    padding-bottom:5px!important;
  }
}
@media(max-width:699px){
  #table .standings-table tbody tr,
  #ranking .ranking-table tbody tr{
    height:34px;
  }
  #table .standings-table tbody td,
  #ranking .ranking-table tbody td{
    height:34px!important;
    padding-top:3px!important;
    padding-bottom:3px!important;
  }
}


/* Mobiler Spielplan: Berichtsspalte nach Inhalt statt starr – v167 */
@media(max-width:699px){
  #schedule .match-row{
    grid-template-columns:64px minmax(0,1fr) max-content;
    column-gap:4px;
  }
  #schedule .match-row>[role="cell"]:nth-child(5){justify-self:end}
  #schedule .match-row .report-link{white-space:nowrap}
}


/* Einheitliche rahmenlose Tabellenlogos und Mannschaftsspiele in der Tabelle – v168 */
#ranking .ranking-logo{
  overflow:visible;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
#ranking .ranking-logo img{
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
}
.standings-team-link{
  width:100%;
  padding:2px;
  border:0;
  background:transparent;
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.standings-team-link:hover,
.standings-team-link.is-active{
  background:color-mix(in srgb,var(--green) 8%,transparent);
}
.standings-team-link.is-active .standings-team-identity>span:last-child{color:var(--green)}
.standings-team-detail{
  position:relative;
  margin:0 0 10px;
}
.standings-team-detail>.team-games-panel{
  padding:10px;
}
.standings-team-detail .team-detail-head{
  padding-right:42px;
}
.standings-team-detail .player-detail-close{
  position:absolute;
  top:8px;
  right:8px;
}


/* Spieltage erweitert: neutrale Namen, Ergebnis nur als Statussymbol – v169 */
#schedule .match-player-games-head{
  background:color-mix(in srgb,var(--green) 68%,var(--ink));
  color:#fff!important;
}
#schedule .match-player-games-head>span{
  color:inherit!important;
}
#schedule .match-player-name{
  position:relative;
  min-height:28px;
  padding:4px 7px 4px 29px;
  border-left:0;
  background:transparent!important;
  color:var(--ink)!important;
  font-weight:600!important;
}
#schedule .match-player-name::before{
  content:"";
  position:absolute;
  left:5px;
  top:50%;
  display:grid;
  width:17px;
  height:17px;
  place-items:center;
  border-radius:50%;
  transform:translateY(-50%);
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  line-height:1;
}
#schedule .match-player-name.is-winner::before{
  content:"✓";
  background:var(--green);
}
#schedule .match-player-name.is-loser::before{
  content:"×";
  background:var(--rose);
}
#schedule .match-player-name.is-draw::before{
  content:"=";
  background:var(--gold);
  color:color-mix(in srgb,var(--ink) 82%,#000);
}


/* Spieltage erweitert: exakt wie die vorhandenen Spielergebnisse – v170 */
#schedule .match-player-name{
  padding:4px 7px;
  border-left:4px solid var(--line);
}
#schedule .match-player-name::before{content:none!important}
#schedule .match-player-name.is-winner{border-left-color:var(--green)}
#schedule .match-player-name.is-loser{border-left-color:var(--rose)}
#schedule .match-player-name.is-draw{border-left-color:var(--gold)}
#schedule .match-player-game .score{
  display:grid;
  gap:0;
  justify-items:center;
  line-height:1.15;
}
#schedule .match-player-game .score strong{font-size:inherit}
#schedule .match-player-game .score small{
  color:var(--muted);
  font-size:.68rem;
  font-weight:400;
}
#schedule .match-player-game[data-outcome="gewonnen"] .score small{color:var(--green)}
#schedule .match-player-game[data-outcome="verloren"] .score small{color:var(--rose)}
#schedule .match-player-game[data-outcome="unentschieden"] .score small{color:var(--gold)}


/* Ranking-Links exakt wie die Mannschaftslinks der Tabelle – v171 */
#ranking .ranking-player-link{
  width:100%;
  padding:2px;
  border:0;
  border-radius:5px;
  background:transparent;
  color:inherit!important;
  text-align:left;
  text-decoration:none!important;
}
#ranking .ranking-player-link:hover{
  background:color-mix(in srgb,var(--green) 8%,transparent);
}
#ranking .ranking-player-link:hover .ranking-identity-copy strong,
#ranking .ranking-player-link.ranking-player-name-only:hover strong{
  color:var(--green)!important;
  text-decoration:none!important;
}
#ranking .ranking-player-link:focus-visible{
  outline:2px solid var(--green);
  outline-offset:2px;
}


/* Teamkennung als kompakter Kachelmarker – v202 */
.team-list:not(.is-logo-view) .team-logo-link{
  grid-template-columns:minmax(0,1fr)!important;
  gap:0!important;
}
.team-list:not(.is-logo-view) .team-badge{
  display:none!important;
}
.team-list.is-logo-view .team-logo-link{
  position:relative;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
  gap:0!important;
  padding:0!important;
}
.team-list.is-logo-view .team-logo-wrap{
  position:static;
  grid-column:1;
  grid-row:1;
  width:calc(100% - 31px);
  height:100%;
  min-height:0;
  justify-self:start;
}
.team-list.is-logo-view .team-logo-wrap img,
.team-list.is-logo-view .team-logo-wrap .club-logo-fallback{
  width:min(var(--logo-view-size),100%)!important;
  height:min(var(--logo-view-size),100%)!important;
  max-width:100%!important;
  max-height:100%!important;
}
.team-list.is-logo-view .team-badge{
  position:absolute!important;
  right:5px!important;
  bottom:5px!important;
  z-index:4;
  display:grid!important;
  width:24px!important;
  height:24px!important;
  place-items:center;
  border:2px solid var(--panel)!important;
  border-radius:50%!important;
  background:var(--green)!important;
  color:#fff!important;
  box-shadow:0 2px 7px color-mix(in srgb,var(--ink) 24%,transparent)!important;
  font-size:.72rem;
  line-height:1;
}


/* Erweiterte Spieltage: Begegnung hervorheben, Einzelspielkopf zurücknehmen – v173 */
#schedule .match-list.is-extended .match-row{
  background:color-mix(in srgb,var(--green) 68%,var(--ink));
  color:#fff;
}
#schedule .match-list.is-extended .match-row .match-date,
#schedule .match-list.is-extended .match-row .match-team{
  color:#fff;
}
#schedule .match-list.is-extended .match-row .score{
  background:color-mix(in srgb,var(--panel) 94%,transparent);
  color:var(--ink);
}
#schedule .match-list.is-extended .match-row .report-link{
  border-color:color-mix(in srgb,#fff 64%,transparent);
  background:color-mix(in srgb,var(--panel) 94%,transparent);
  color:var(--blue);
}
#schedule .match-list.is-extended .match-row .muted{
  color:color-mix(in srgb,#fff 78%,transparent);
}
#schedule .match-list.is-extended .match-player-games-head{
  background:color-mix(in srgb,var(--green) 8%,var(--panel));
  color:var(--ink)!important;
}


/* Farbhierarchie der erweiterten Spieltage in allen Optiken erzwingen – v174 */
#schedule .match-list.is-extended .match-row{
  background:color-mix(in srgb,var(--green) 68%,var(--ink))!important;
}
#schedule .match-list.is-extended .match-row .match-date,
#schedule .match-list.is-extended .match-row .match-team{
  color:#fff!important;
}
#schedule .match-list.is-extended .match-row .score{
  background:color-mix(in srgb,var(--panel) 94%,#fff)!important;
  color:var(--ink)!important;
}
#schedule .match-list.is-extended .match-row .report-link{
  border-color:color-mix(in srgb,#fff 64%,transparent)!important;
  background:color-mix(in srgb,var(--panel) 94%,#fff)!important;
  color:var(--blue)!important;
}
#schedule .match-list.is-extended .match-player-games-head{
  background:color-mix(in srgb,var(--green) 8%,var(--panel))!important;
  color:var(--ink)!important;
}


/* Identische Identitätstypografie in Tabelle und Spieler-Ranking – v177 */
@media(min-width:700px){
  .standings-team-identity>span:last-child,
  #ranking .ranking-table[data-ranking-type="players"] .ranking-identity-copy>strong{
    font-family:Arial,Helvetica,sans-serif!important;
    font-size:.94rem!important;
    font-weight:700!important;
    line-height:1.22!important;
    letter-spacing:normal!important;
  }
}


/* Optional fixierter Seitenkopf unterhalb der Hauptnavigation – v178 */
.nav-layout-toggle input[type="checkbox"]{
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--green);
  cursor:pointer;
}
@media(min-width:1100px){
  body.sticky-page-header .content-band.page-view:not([data-view="home"]) .section-head{
    position:sticky;
    top:72px;
    z-index:15;
    margin-bottom:6px;
    padding:7px 0 8px;
    border-bottom:1px solid color-mix(in srgb,var(--green) 20%,var(--line));
    background:var(--paper);
    box-shadow:0 8px 14px color-mix(in srgb,var(--ink) 7%,transparent);
  }
}
@media(min-width:700px) and (max-width:1099px){
  body.sticky-page-header .content-band.page-view:not([data-view="home"]) .section-head{
    position:sticky;
    top:60px;
    z-index:15;
    margin-bottom:6px;
    padding:6px 0 7px;
    border-bottom:1px solid color-mix(in srgb,var(--green) 20%,var(--line));
    background:var(--paper);
    box-shadow:0 7px 12px color-mix(in srgb,var(--ink) 7%,transparent);
  }
}


/* Stabiler undurchsichtiger Abstand des fixierten Seitenkopfs – v179 */
@media(min-width:700px){
  body.sticky-page-header .content-band.page-view:not([data-view="home"]) .section-head{
    top:var(--topbar-height,72px)!important;
    isolation:isolate;
    background:var(--paper)!important;
    box-shadow:0 -1px 0 var(--paper),0 8px 14px color-mix(in srgb,var(--ink) 9%,transparent)!important;
  }
}


/* Beim fixierten Auswahlkopf scrollt die Hauptnavigation bewusst weg – v180 */
@media(min-width:700px){
  body.sticky-page-header .topbar{
    position:relative!important;
    top:auto!important;
  }
  body.sticky-page-header .content-band.page-view:not([data-view="home"]) .section-head{
    top:0!important;
  }
}


/* Hauptnavigation scrollt auf PC und Tablet unabhängig von der Auswahlkopf-Option weg – v181 */
@media(min-width:700px){
  .topbar{
    position:relative!important;
    top:auto!important;
  }
}


/* Gedämpfter Glaseffekt für den fixierten Auswahlkopf – v182 */
@media(min-width:700px){
  body.sticky-page-header .content-band.page-view:not([data-view="home"]) .section-head{
    background:color-mix(in srgb,var(--paper) 88%,transparent)!important;
    backdrop-filter:blur(10px) saturate(1.08);
    -webkit-backdrop-filter:blur(10px) saturate(1.08);
    box-shadow:0 1px 0 color-mix(in srgb,var(--green) 22%,var(--line)),0 9px 18px color-mix(in srgb,var(--ink) 10%,transparent)!important;
  }
}


/* Stabiler transparenter Auswahlkopf ohne Backdrop-Renderfragmente – v183 */
@media(min-width:700px){
  body.sticky-page-header .content-band.page-view:not([data-view="home"]) .section-head{
    background:color-mix(in srgb,var(--paper) 92%,transparent)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}


/* Identischer Hero-Bildausschnitt auf PC, Tablet und Smartphone – v184 */
@media(max-width:699px){
  .season-band .season-visual{
    aspect-ratio:8/3!important;
  }
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:cover!important;
    background-position:center 56%!important;
  }
}
@media(max-width:400px){
  .season-band .season-copy{
    padding:18px var(--page-edge) 5px!important;
  }
  .season-band .hero-leader{
    min-height:34px;
  }
  .season-band .hero-leader-logo{
    width:28px;
    height:28px;
  }
}


/* Endgültig identisches Hero-Verhältnis 3:1 auf allen Geräten – v185 */
@media(max-width:1099px){
  .season-band .season-visual{
    aspect-ratio:3/1!important;
  }
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:cover!important;
    background-position:center 56%!important;
  }
}
@media(min-width:700px) and (max-width:1099px){
  .season-band .hero-daypart-dots{
    top:16.6667vw!important;
  }
}


/* Tageszeitauswahl rechts unten und mehr Luft fuer Formstaerke – v186 */
@media(min-width:1100px){
  .season-band .hero-daypart-dots{
    left:auto!important;
    right:max(6px,var(--page-edge))!important;
    top:auto!important;
    bottom:14px!important;
    transform:none!important;
  }
  .season-band .season-copy{
    right:calc(var(--page-edge) + 36px)!important;
  }
  .season-band .hero-leader{
    grid-template-columns:44px minmax(0,1fr);
    gap:9px;
    padding:7px 9px;
  }
  .season-band .hero-leader-logo{
    width:44px;
    height:44px;
  }
  .season-band .hero-leader-copy>span{font-size:.76rem}
  .season-band .hero-leader-copy strong{font-size:.95rem}
}
@media(min-width:700px) and (max-width:1099px){
  .season-band .hero-daypart-dots{
    left:auto!important;
    right:max(6px,var(--page-edge))!important;
    top:calc(33.3333vw - 116px)!important;
    bottom:auto!important;
    transform:none!important;
  }
}
@media(max-width:699px){
  .season-band .hero-daypart-dots{
    left:auto!important;
    right:5px!important;
    top:auto!important;
    bottom:4px!important;
    display:grid!important;
    grid-auto-flow:column;
    gap:1px;
    transform:none!important;
    padding:2px 3px!important;
    border-color:rgba(255,255,255,.58)!important;
    background:rgba(5,28,21,.28)!important;
    box-shadow:0 3px 10px rgba(0,0,0,.16)!important;
  }
  .season-band .season-copy{
    padding-bottom:24px!important;
  }
}


/* Mobile Hero-Hoehe und erzwungene horizontale Tageszeitauswahl – v188 */
@media(max-width:699px){
  .season-band .season-visual{
    aspect-ratio:8/3!important;
  }
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:112.5% auto!important;
    background-position:center 56%!important;
  }
  .season-band .hero-daypart-dots{
    display:flex!important;
    grid-auto-flow:unset!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    align-items:center;
    flex-direction:row;
    flex-wrap:nowrap;
  }
  .season-band .hero-daypart-dot{
    flex:0 0 14px;
    width:14px!important;
    height:14px!important;
  }
}
@media(min-width:700px) and (max-width:1099px){
  .season-band .season-visual{
    aspect-ratio:8/3!important;
  }
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:112.5% auto!important;
    background-position:center 56%!important;
  }
  .season-band .hero-daypart-dots{
    top:calc(37.5vw - 134px)!important;
  }
  .season-band .hero-daypart-dot{
    width:16px;
    height:16px;
  }
}


/* Smartphone-Hero wieder in der frueheren grossen Bildhoehe – v189 */
@media(max-width:699px) and (orientation:portrait){
  .season-band .season-visual{aspect-ratio:16/9!important}
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:105% auto!important;
    background-position:center 58%!important;
  }
}
@media(max-width:699px) and (orientation:landscape){
  .season-band .season-visual{aspect-ratio:8/3!important}
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:112.5% auto!important;
    background-position:center 56%!important;
  }
}


/* Smartphone-Hero ohne weichzeichnende Skalierung oder Farbfilter – v190 */
@media(max-width:699px){
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:cover!important;
    filter:none!important;
    transform:none!important;
    image-rendering:auto;
  }
}


/* Getrennte Smartphone-Darstellung fuer Hoch- und Querformat – v191 */
@media(max-width:699px) and (orientation:portrait){
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:118% auto!important;
    background-position:42% 66%!important;
  }
}
@media(max-width:699px),
       (max-width:1099px) and (orientation:landscape) and (max-height:600px){
  .season-band .hero-daypart-dots{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    grid-auto-flow:unset!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
  }
}
@media(max-width:1099px) and (orientation:landscape) and (max-height:600px){
  .season-band{position:relative!important;display:block!important;overflow:hidden!important}
  .season-band .season-copy{
    position:absolute!important;
    z-index:4;
    right:108px!important;
    bottom:8px!important;
    left:auto!important;
    top:auto!important;
    display:block!important;
    width:min(56%,520px)!important;
    min-height:0!important;
    padding:8px 10px!important;
    border:1px solid rgba(255,255,255,.58)!important;
    border-radius:10px!important;
    background:rgba(5,38,30,.42)!important;
    color:#fff!important;
    box-shadow:0 8px 22px rgba(0,0,0,.18)!important;
  }
  .season-band .season-copy .eyebrow{margin:0 0 1px!important;color:rgba(255,255,255,.8)!important;font-size:.58rem!important}
  .season-band .season-copy h1{margin:0 0 4px!important;color:#fff!important;font-size:1rem!important}
  .season-band .season-copy>p:not(.eyebrow){display:none!important}
  .season-band .hero-leaders{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0;padding:0;border:0}
  .season-band .hero-leader{min-height:36px;grid-template-columns:30px minmax(0,1fr);gap:4px;padding:3px 4px}
  .season-band .hero-leader-logo{width:30px;height:30px}
  .season-band .hero-leader-copy>span{font-size:.52rem}
  .season-band .hero-leader-copy strong{font-size:.7rem}
  .season-band .hero-daypart-dots{
    left:auto!important;
    right:6px!important;
    top:auto!important;
    bottom:6px!important;
    transform:none!important;
  }
}


/* Vollstaendigerer Hero-Ausschnitt mit mehr Himmel – v222 */
@media(min-width:700px){
  .season-band,
  .season-band .season-visual{
    aspect-ratio:16/7!important;
  }
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:cover!important;
    background-position:center 50%!important;
  }
}
@media(max-width:699px) and (orientation:portrait){
  .season-band .season-visual{aspect-ratio:16/9!important}
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:100% auto!important;
    background-position:center 50%!important;
  }
}
@media(max-width:699px) and (orientation:landscape){
  .season-band .season-visual{aspect-ratio:16/7!important}
  .season-band .season-visual .course,
  .season-band .season-visual .hero-course-transition{
    background-size:cover!important;
    background-position:center 50%!important;
  }
}



/* Hero und Mannschaftsranking: kompakte, kollisionsfreie Responsive-Darstellung – v225 */
@media (min-width:1100px), (min-width:700px) and (min-height:601px){
  .season-band .season-copy{
    top:auto!important;
    bottom:16px!important;
    height:auto!important;
    min-height:0!important;
    justify-content:flex-start!important;
  }
}

@media (max-width:699px), (max-width:1099px) and (orientation:landscape) and (max-height:600px){
  .season-band{
    --mobile-hero-image-height:37.5vw;
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:calc(var(--mobile-hero-image-height) + 82px)!important;
    min-height:0!important;
    padding:0!important;
    overflow:visible!important;
    background:var(--paper)!important;
  }
  .season-band .season-visual{
    position:absolute!important;
    inset:0 0 auto!important;
    width:100%!important;
    height:var(--mobile-hero-image-height)!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
  }
  .season-band .season-copy{display:contents!important}
  .season-band .hero-copy-head{
    position:absolute;
    z-index:5;
    right:var(--page-edge);
    bottom:86px;
    left:var(--page-edge);
    padding:4px 7px 5px;
    border:1px solid rgba(255,255,255,.34);
    border-radius:7px;
    background:rgba(4,28,22,.36);
    color:#fff;
  }
  .season-band .hero-copy-head .eyebrow{
    margin:0 0 1px!important;
    color:rgba(255,255,255,.82)!important;
    font-size:.58rem!important;
    line-height:1.05!important;
  }
  .season-band .hero-copy-head h1{
    margin:0!important;
    color:#fff!important;
    font-size:1rem!important;
    line-height:1.08!important;
    white-space:nowrap;
  }
  .season-band .season-copy>p:not(.eyebrow){display:none!important}
  .season-band .hero-leaders{
    position:absolute;
    z-index:5;
    right:var(--page-edge);
    bottom:5px;
    left:var(--page-edge);
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:3px 5px!important;
    height:72px;
    margin:0!important;
    padding:5px!important;
    border:1px solid var(--line)!important;
    border-radius:8px;
    background:color-mix(in srgb,var(--panel) 96%,var(--paper))!important;
    box-shadow:0 3px 10px color-mix(in srgb,var(--ink) 10%,transparent);
  }
  .season-band .hero-ranking-label{
    margin:0!important;
    color:var(--muted)!important;
    font-size:.54rem!important;
    line-height:1!important;
  }
  .season-band .hero-leader{
    min-height:43px!important;
    grid-template-columns:30px minmax(0,1fr)!important;
    gap:5px!important;
    padding:3px 5px!important;
    border-color:color-mix(in srgb,var(--green) 24%,var(--line))!important;
    background:color-mix(in srgb,var(--green) 5%,var(--panel))!important;
    color:var(--ink)!important;
  }
  .season-band .hero-leader-logo{width:30px!important;height:30px!important}
  .season-band .hero-leader-copy>span{color:var(--muted)!important;font-size:.5rem!important;line-height:1.02!important}
  .season-band .hero-leader-copy strong{color:var(--ink)!important;font-size:.69rem!important;line-height:1.08!important}
}
@media (max-width:699px) and (orientation:portrait){
  .season-band{--mobile-hero-image-height:56.25vw}
}

@media (max-width:699px){
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading::after,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value::before{
    content:none!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] th,
  #ranking .ranking-table[data-ranking-type="teams"] td{
    height:30px!important;
    padding:3px 2px!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(4),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(4),
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(8),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(8){display:none!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{width:43%!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-top-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-top-value{width:28px!important;text-align:center!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-cell{width:auto!important;text-align:left!important}
  #ranking .ranking-table[data-ranking-type="teams"] th:nth-child(10),
  #ranking .ranking-table[data-ranking-type="teams"] td:nth-child(10){width:52px!important;text-align:center!important}
  #ranking .ranking-table[data-ranking-type="teams"] thead th{
    overflow:hidden;
    font-size:.56rem!important;
    line-height:1.05!important;
    letter-spacing:.015em!important;
    text-overflow:ellipsis;
    white-space:nowrap!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-entry{
    display:grid!important;
    grid-template-columns:22px minmax(0,1fr);
    gap:4px!important;
    align-items:start;
    flex-wrap:nowrap!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-order{
    width:22px!important;
    height:22px!important;
    min-width:22px!important;
    flex-basis:22px!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-identity-layout{
    display:grid!important;
    grid-template-columns:26px minmax(0,1fr);
    gap:4px!important;
    align-items:start!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo img,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo .club-logo-fallback,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo-empty{
    width:26px!important;
    height:26px!important;
    min-width:26px!important;
    max-width:26px!important;
    max-height:26px!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-identity-copy{min-width:0!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-identity-copy>strong{
    display:block;
    overflow-wrap:anywhere;
    font-size:.63rem!important;
    line-height:1.05!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value{
    display:grid!important;
    grid-template-columns:1fr;
    gap:0!important;
    margin:2px 0 0!important;
    padding:0!important;
    background:transparent!important;
    line-height:1!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value>span{
    overflow:hidden;
    color:var(--muted);
    font-size:.48rem!important;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value>strong{
    color:var(--green);
    font-size:.7rem!important;
    line-height:1.05!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-name-only{
    display:block;
    font-size:.63rem!important;
    line-height:1.08!important;
    overflow-wrap:anywhere;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-quote{
    padding:2px 3px!important;
    font-size:.68rem!important;
  }
}

/* Verbindliche Korrektur: Hero-Abstand und kompaktes Mannschaftsranking – v227 */
@media (min-width:1100px){
  .season-band .season-copy{right:16px!important}
  #ranking .ranking-table[data-ranking-type="teams"]{width:100%!important;min-width:0!important;table-layout:fixed!important}
  #ranking .ranking-table[data-ranking-type="teams"] thead th{
    overflow:hidden!important;
    padding:6px 5px!important;
    font-size:.68rem!important;
    line-height:1.08!important;
    text-overflow:ellipsis;
    white-space:nowrap!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] tbody tr{height:42px!important}
  #ranking .ranking-table[data-ranking-type="teams"] tbody td{
    height:42px!important;
    padding:3px 5px!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{width:260px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-top-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-top-value{width:50px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-player-cell{width:220px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-entry{
    display:grid!important;
    grid-template-columns:26px minmax(0,1fr);
    gap:6px!important;
    align-items:center!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-order{
    width:26px!important;
    height:26px!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-identity-layout{
    display:grid!important;
    grid-template-columns:32px minmax(0,1fr);
    gap:6px!important;
    align-items:center!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo img,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo .club-logo-fallback,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo-empty{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    max-height:30px!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell .ranking-identity-copy>strong{
    font-size:.86rem!important;
    line-height:1.08!important;
  }
}
@media (min-width:700px) and (max-width:1099px) and (min-height:601px){
  .season-band .season-copy{
    width:calc(100% - 16px)!important;
    margin-right:16px!important;
  }
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  width:max-content!important;
  max-width:100%!important;
  gap:1px!important;
  margin-top:3px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  white-space:normal!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value>span{
  display:block!important;
  overflow:hidden;
  color:var(--muted)!important;
  font-size:.58rem!important;
  line-height:1!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value>strong{
  display:block!important;
  font-size:.74rem!important;
  line-height:1!important;
}
#ranking .ranking-table[data-ranking-type="teams"] thead th{
  overflow:hidden!important;
  text-overflow:ellipsis;
}
/* Wiederhergestellte Tagesauswahl mit fester, sprungfreier Bildbasis – v228 */
.season-band .season-copy{overflow:visible!important}
.season-band .hero-daypart-dots{
  position:absolute!important;
  z-index:12!important;
  left:auto!important;
  right:0!important;
  top:-34px!important;
  bottom:auto!important;
  display:flex!important;
  grid-template-columns:none!important;
  gap:2px!important;
  align-items:center;
  width:max-content!important;
  padding:3px 5px!important;
  border:1px solid rgba(255,255,255,.48)!important;
  border-radius:999px!important;
  background:rgba(10,28,24,.34)!important;
  box-shadow:0 5px 16px rgba(4,18,14,.16)!important;
  opacity:.82!important;
  transform:none!important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.season-band .hero-daypart-dots:hover,
.season-band .hero-daypart-dots:focus-within{opacity:1!important}
.season-band .hero-daypart-dot{
  display:grid!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  padding:0!important;
  place-items:center;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
}
.season-band .hero-daypart-dot::before{
  width:6px!important;
  height:6px!important;
  border:1px solid rgba(255,255,255,.94)!important;
  background:rgba(225,231,229,.74)!important;
  box-shadow:0 1px 3px rgba(0,0,0,.28)!important;
}
.season-band .hero-daypart-dot:hover::before{transform:scale(1.18)!important}
.season-band .hero-daypart-dot[aria-pressed="true"]::before{
  width:9px!important;
  height:9px!important;
  border:2px solid rgba(255,255,255,.96)!important;
  background:rgba(24,43,37,.9)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.42),0 2px 5px rgba(0,0,0,.3)!important;
}
@media (max-width:699px), (max-width:1099px) and (orientation:landscape) and (max-height:600px){
  .season-band .hero-daypart-dots{
    right:12px!important;
    top:auto!important;
    bottom:90px!important;
  }
}
/* Tagesauswahl mobil oberhalb des Textglases statt darueber – v229 */
@media (max-width:699px) and (orientation:portrait){
  .season-band .hero-daypart-dots{bottom:131px!important}
}
@media (max-width:1099px) and (orientation:landscape) and (max-height:600px){
  .season-band .hero-daypart-dots{bottom:160px!important}
}
/* Tageszeiten per Wischgeste und kurzzeitige Auswahlmeldung – v240 */
.season-band .season-visual{
  --hero-swipe-offset:0px;
  touch-action:pan-y;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
}
.season-band .season-visual:active{cursor:grabbing}
.season-band .season-visual .course{
  translate:var(--hero-swipe-offset) 0;
  transition:translate .18s ease;
}
.season-band .season-visual.is-hero-swiping .course{transition:none!important}
.hero-daypart-status{
  position:absolute;
  z-index:14;
  top:14px;
  left:50%;
  max-width:calc(100% - 32px);
  padding:7px 13px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:999px;
  background:rgba(8,25,22,.72);
  box-shadow:0 6px 20px rgba(0,0,0,.2);
  color:#fff;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.01em;
  line-height:1.2;
  opacity:0;
  pointer-events:none;
  text-align:center;
  transform:translate(-50%,-8px);
  transition:opacity .18s ease,transform .18s ease;
  white-space:nowrap;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
.hero-daypart-status:empty{display:none}
.hero-daypart-status.is-visible{opacity:1;transform:translate(-50%,0)}
@media(max-width:699px){
  .hero-daypart-status{top:9px;padding:6px 11px;font-size:.74rem}
}
/* Mannschaftsranking: farbiger Positionsbereich und gut lesbares Logo – v230 */
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{
  background:color-mix(in srgb,var(--blue) 10%,var(--panel))!important;
  box-shadow:inset 4px 0 0 color-mix(in srgb,var(--blue) 58%,var(--panel));
}
@media (min-width:1100px){
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-identity-layout{
    grid-template-columns:42px minmax(0,1fr)!important;
    gap:8px!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo img,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo .club-logo-fallback,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo-empty{
    width:40px!important;
    height:40px!important;
    min-width:40px!important;
    max-width:40px!important;
    max-height:40px!important;
  }
}
@media (max-width:699px){
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-identity-layout{
    grid-template-columns:34px minmax(0,1fr)!important;
  }
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo img,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo .club-logo-fallback,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo-empty{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    max-height:32px!important;
  }
}
/* Einheitlicher Auswahlkopf und Mannschaftsranking v231 */
:root{--page-header-opacity:92%}
.content-band.page-view:not([data-view="home"]) .section-head,
#schedule .section-head,
#table .section-head,
#ranking .section-head{
  background:color-mix(in srgb,var(--paper) var(--page-header-opacity),transparent)!important;
  box-shadow:none!important;
}
@media(min-width:700px){
  body.sticky-page-header .content-band.page-view:not([data-view="home"]) .section-head,
  body.sticky-page-header #schedule .section-head,
  body.sticky-page-header #table .section-head,
  body.sticky-page-header #ranking .section-head{
    background:color-mix(in srgb,var(--paper) var(--page-header-opacity),transparent)!important;
    box-shadow:0 1px 0 color-mix(in srgb,var(--green) 22%,var(--line)),0 9px 18px color-mix(in srgb,var(--ink) 10%,transparent)!important;
  }
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{
  border-left:0!important;
  box-shadow:none!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-entry{
  display:grid!important;
  grid-template-columns:30px 48px minmax(0,1fr)!important;
  gap:8px!important;
  align-items:center!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-order{
  grid-column:1;
  margin:0!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-logo{
  grid-column:2;
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  max-height:46px!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-logo img,
#ranking .ranking-table[data-ranking-type="teams"] .ranking-logo .club-logo-fallback,
#ranking .ranking-table[data-ranking-type="teams"] .ranking-logo-empty{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  max-width:46px!important;
  max-height:46px!important;
  object-fit:contain!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-copy{
  grid-column:3;
  display:flex;
  min-width:0;
  align-items:center;
  gap:4px;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-copy>strong{
  min-width:0;
  flex:1 1 auto;
  color:var(--ink);
  font-size:.9rem!important;
  line-height:1.12;
  overflow-wrap:anywhere;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value{
  display:inline-grid!important;
  flex:0 0 auto;
  grid-template-columns:1fr!important;
  place-items:center;
  gap:1px!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:5px 11px!important;
  border:1px solid color-mix(in srgb,var(--green) 42%,var(--line))!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--green) 11%,var(--panel))!important;
  color:color-mix(in srgb,var(--muted) 78%,var(--ink))!important;
  box-shadow:inset 0 1px 0 color-mix(in srgb,var(--panel) 75%,transparent)!important;
  white-space:nowrap!important;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value>span{
  display:block!important;
  color:inherit!important;
  font-size:.58rem!important;
  font-weight:600;
  line-height:1!important;
  letter-spacing:.015em;
}
#ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value>strong{
  display:block!important;
  color:color-mix(in srgb,var(--green) 68%,var(--ink))!important;
  font-size:.82rem!important;
  font-weight:800!important;
  line-height:1.05!important;
}
@media(min-width:1100px){
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{width:320px!important}
  #ranking .ranking-table[data-ranking-type="teams"] tbody tr,
  #ranking .ranking-table[data-ranking-type="teams"] tbody td{height:48px!important}
}
@media(min-width:700px) and (max-width:1099px){
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{width:285px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-entry{grid-template-columns:28px 42px minmax(0,1fr)!important;gap:6px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo img,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo .club-logo-fallback,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo-empty{width:40px!important;height:40px!important;min-width:40px!important;max-width:40px!important;max-height:40px!important}
}
@media(max-width:699px){
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{width:45%!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-entry{grid-template-columns:22px 36px minmax(0,1fr)!important;gap:4px!important;align-items:start!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo img,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo .club-logo-fallback,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-logo-empty{width:34px!important;height:34px!important;min-width:34px!important;max-width:34px!important;max-height:34px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-copy{display:grid!important;gap:3px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-copy>strong{font-size:.67rem!important;line-height:1.05}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value{justify-self:start;padding:3px 7px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value>span{font-size:.47rem!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-value>strong{font-size:.68rem!important}
}
/* Mannschaftsname vor Verdichtung schuetzen v232 */
@media(min-width:1100px){
  #ranking .ranking-table[data-ranking-type="teams"]{min-width:1480px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{width:350px!important;min-width:350px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-copy>strong{
    flex-basis:92px;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
  }
}
@media(min-width:700px) and (max-width:1099px){
  #ranking .ranking-table[data-ranking-type="teams"]{min-width:1240px!important}
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-heading,
  #ranking .ranking-table[data-ranking-type="teams"] .ranking-team-cell{width:285px!important;min-width:285px!important}
}
/* Ranking: Suche links, Sortierung und Ansicht rechts. */
#ranking .toolbar-row{display:grid!important;grid-template-columns:minmax(180px,1fr) 160px 160px!important;gap:8px!important;align-items:end!important}
#ranking .toolbar-row .search{width:100%!important;min-width:0!important;max-width:360px}
#ranking .toolbar-row .sort-control{width:160px!important;min-width:0!important}
@media(min-width:1450px){#ranking .section-head{grid-template-columns:minmax(360px,1fr) minmax(560px,1fr)!important}}
@media(max-width:1449px){#ranking .section-head{grid-template-columns:1fr!important}}
@media(max-width:700px){#ranking .toolbar-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}#ranking .toolbar-row .search{grid-column:1/-1;max-width:none}#ranking .toolbar-row .sort-control{width:100%!important}}
/* Details bleiben beim gewählten Eintrag; Rankingsuche an der linken Inhaltskante. */
#ranking .section-head{grid-template-columns:1fr!important}
.inline-detail-panel{grid-column:1/-1;min-width:0;margin:8px 0 12px!important;overflow-anchor:none}
tr[data-inline-detail-row]>td.inline-detail-cell{padding:0!important;border:0!important;background:var(--panel)!important;text-align:left!important;white-space:normal!important}
.inline-detail-cell>.inline-detail-panel{box-sizing:border-box;width:min(100%,calc(100vw - 2 * var(--page-edge) - 24px));max-width:100%;font-size:1rem;font-weight:400}
.player-grid>.inline-detail-panel{width:100%}
#ranking .ranking-table tr[data-inline-detail-row]>td.inline-detail-cell,
#table .standings-table tr[data-inline-detail-row]>td.inline-detail-cell{width:auto!important;min-width:0!important;max-width:none!important;padding:0!important;display:table-cell!important}

/* Spielerstatistik richtet sich nach der Kartenbreite, nicht der Bildschirmbreite. */
.ranking-provisional,.ranking-neutral{display:block;font-size:.65rem;line-height:1.25;color:var(--muted);white-space:normal;margin-top:3px}
.player-stats{container-type:inline-size;container-name:player-stats;min-width:0}
.player-stats .responsive-label-full{display:none}
.player-stats .responsive-label-short{display:inline}
.player-stats dt{white-space:nowrap}
@container player-stats (min-width:440px){
  .player-stats .responsive-label-full{display:inline}
  .player-stats .responsive-label-short{display:none}
}
