/* Aufstellungen · every fixture of the matchday with both expected elevens on one pitch. */
/* Crest rail: one slim pill, logos close together, the selected club in a soft lime ring. */
#page-aufstellungen .bl-content>nav.bl-clubs{display:flex;align-items:center;justify-content:center;gap:2px;width:max-content;max-width:100%;min-height:0;margin:6px auto 30px;padding:5px 8px;border:1px solid #ffffff14;border-radius:999px;background:#07090bd9;box-shadow:0 18px 40px -24px #000,inset 0 1px 0 #ffffff0d;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);overflow-x:auto;scrollbar-width:none}
#page-aufstellungen .bl-content>nav.bl-clubs::-webkit-scrollbar{display:none}
#page-aufstellungen .bl-content>nav.bl-clubs .bl-club{flex:none;display:grid;place-items:center;width:42px;min-width:42px;height:42px;min-height:0;padding:0;border:0;border-radius:50%;background:none;transition:background .2s,transform .25s cubic-bezier(.22,1,.36,1)}
#page-aufstellungen .bl-content>nav.bl-clubs .bl-club img{width:26px;height:26px;object-fit:contain;filter:drop-shadow(0 2px 4px #0008);transition:transform .25s cubic-bezier(.22,1,.36,1)}
#page-aufstellungen .bl-content>nav.bl-clubs .bl-club:hover{background:#ffffff0d}
#page-aufstellungen .bl-content>nav.bl-clubs .bl-club:hover img{transform:scale(1.12)}
#page-aufstellungen .bl-content>nav.bl-clubs .bl-club[aria-pressed=true]{background:#cdff5f1f;box-shadow:inset 0 0 0 1.5px #cdff5f}
#page-aufstellungen .bl-content>nav.bl-clubs .bl-club-all{margin-right:8px}
#page-aufstellungen .bl-content>nav.bl-clubs .bl-club-all::after{top:11px;right:-5px;height:20px;background:#ffffff1f}
#page-aufstellungen .bl-content>nav.bl-clubs .bl-club-all svg{width:22px;height:22px;color:#c9d6dd}
#page-aufstellungen .bl-content>nav.bl-clubs .bl-club-all[aria-pressed=true] svg{color:#cdff5f}
@media(max-width:680px){#page-aufstellungen .bl-content>nav.bl-clubs{justify-content:flex-start;margin-bottom:22px}#page-aufstellungen .bl-content>nav.bl-clubs .bl-club{width:38px;min-width:38px;height:38px}#page-aufstellungen .bl-content>nav.bl-clubs .bl-club img{width:23px;height:23px}}

.mb-board{margin:34px 0 56px}
.mb-board-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px 32px;flex-wrap:wrap;margin-bottom:22px}
.mb-board-head h2{margin:6px 0 0;font:700 clamp(30px,3vw,40px)/1 var(--font-display,'Barlow Condensed',sans-serif);text-transform:uppercase;letter-spacing:.01em;color:#f3f7fa}
.mb-legend{display:flex;flex-wrap:wrap;gap:8px 18px;font:500 11.5px/1.3 var(--font-ui,Inter,sans-serif);color:#9fb1bd}
.mb-legend>span{display:inline-flex;align-items:center;gap:7px}
.mb-legend .bl-status-mark{position:static;width:16px;height:16px}
.mb-legend-alt i{display:inline-grid;place-items:center;min-width:22px;height:16px;padding:0 5px;border-radius:99px;background:#ffffff14;font:700 9.5px/1 var(--font-ui,Inter,sans-serif);font-style:normal;color:#e6eef2}
.mb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:18px}
.mb-source{margin:18px 0 0;font:400 12px/1.5 var(--font-ui,Inter,sans-serif);color:#6f8697}

.mb-match{display:flex;flex-direction:column;min-width:0;border:1px solid #8fa9bc2b;border-radius:20px;background:linear-gradient(180deg,#0f1a22,#0a1218);overflow:hidden;box-shadow:0 24px 50px -30px #000;transition:border-color .3s,transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s}
.mb-match:hover{border-color:#8fa9bc52}
.mb-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:14px 16px}
.mb-team{display:flex;align-items:center;gap:10px;min-width:0;padding:6px;border:0;border-radius:10px;background:none;color:#eef3f6;cursor:pointer;transition:background .2s}
.mb-team:hover{background:#ffffff0a}
.mb-team img{width:30px;height:30px;flex:none;object-fit:contain}
.mb-team b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font:700 14px/1.15 var(--font-ui,Inter,sans-serif);text-wrap:balance}
.mb-team-away{flex-direction:row-reverse;text-align:right}
.mb-time{display:grid;justify-items:center;gap:2px;padding:6px 12px;border:1px solid #8fa9bc2e;border-radius:12px;background:#ffffff06}
.mb-time small{font:500 10.5px/1 var(--font-ui,Inter,sans-serif);color:#8ea3b1}
.mb-time b{font:700 17px/1 var(--font-display,'Barlow Condensed',sans-serif);letter-spacing:.02em;color:#fff}

.mb-pitch{position:relative;display:grid;grid-template-rows:1fr 1fr;margin:0 12px;border-radius:14px;overflow:hidden;isolation:isolate;
  background:repeating-linear-gradient(180deg,#1d6337 0 7.14%,#1a5a32 7.14% 14.28%);box-shadow:inset 0 0 80px #000a,inset 0 0 0 1px #ffffff14}
.mb-pitch::after{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(90% 50% at 50% 0,#ffffff1c,transparent 60%),radial-gradient(90% 50% at 50% 100%,#ffffff12,transparent 60%)}
.mb-lines{position:absolute;inset:0;width:100%;height:100%;z-index:-1;color:#ffffff40;stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}
.mb-lines *{vector-effect:non-scaling-stroke}
.mb-half{display:grid;grid-template-rows:repeat(var(--rows,4),minmax(76px,1fr));align-items:center;padding:12px 6px}
.mb-home{padding-bottom:22px}
.mb-away{padding-top:22px}
.mb-row{display:flex;justify-content:space-evenly;align-items:center;gap:2px}
.mb-player{position:relative;display:grid;justify-items:center;gap:4px;width:min(84px,calc((100% - 8px) / var(--players,4)));padding:3px 0;border:0;background:none;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mb-face{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;overflow:hidden;background:linear-gradient(180deg,#2b3d47,#121c22);box-shadow:0 0 0 2px var(--ring,#ffffff55),0 6px 14px #0009;font:700 15px/1 var(--font-ui,Inter,sans-serif);color:#cdd9df;transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s}
.mb-face img{width:100%;height:100%;object-fit:cover;object-position:50% 8%;transform:scale(1.25);transform-origin:50% 0}
.mb-player:hover .mb-face,.mb-player:focus-visible .mb-face{transform:translateY(-3px) scale(1.06);box-shadow:0 0 0 2px var(--ring,#fff),0 0 18px var(--ring,#fff),0 10px 18px #000a}
.mb-player .bl-status-mark{position:absolute;top:0;left:calc(50% + 12px);width:17px;height:17px;box-shadow:0 0 0 2px #0b1612}
.mb-name{max-width:100%;padding:2px 7px;border-radius:6px;background:#050b0fcc;overflow:hidden;font:650 11px/1.25 var(--font-ui,Inter,sans-serif);text-overflow:ellipsis;white-space:nowrap;box-shadow:0 2px 6px #0007}
.mb-alt{position:absolute;top:30px;left:calc(50% + 12px);min-width:21px;height:16px;padding:0 5px;border-radius:99px;background:#f2cf4a;font:800 9.5px/16px var(--font-ui,Inter,sans-serif);color:#1a1404;box-shadow:0 0 0 2px #0b1612}
.mb-player[data-status=safe]{--ring:#4da3ff}
.mb-player[data-status=likely],.mb-player[data-status=confirmed]{--ring:#3ddc84}
.mb-player[data-status=option]{--ring:#f2cf4a}
.mb-player[data-status=concern]{--ring:#ff7a45}
.mb-player[data-status=out]{--ring:#ff3b4e}
.mb-player.is-open{cursor:default}
.mb-player.is-open .mb-face{background:#ffffff14;box-shadow:0 0 0 2px #ffffff40;border:1px dashed #ffffff66;color:#fff}
.mb-player.is-open .mb-name{background:#ffffff1a;color:#d7e2e8}
.mb-player:focus-visible{outline:none}
.mb-player:focus-visible .mb-name{outline:2px solid #cdff5f;outline-offset:2px}

.mb-half-empty{display:grid;place-items:center;min-height:320px;text-align:center}
.mb-half-empty p{display:grid;gap:4px;max-width:260px;margin:0;padding:12px 16px;border-radius:12px;background:#050b0fb3;font:400 12px/1.45 var(--font-ui,Inter,sans-serif);color:#b8c8d1}
.mb-half-empty p b{font-size:13px;color:#fff}
.mb-skeleton{display:grid;gap:22px;width:100%}
.mb-skeleton div{display:flex;justify-content:space-evenly}
.mb-skeleton i{width:40px;height:40px;border-radius:50%;background:linear-gradient(90deg,#ffffff10,#ffffff24,#ffffff10) 0 0/200% 100%;animation:mb-shimmer 1.4s linear infinite}
.mb-away .mb-skeleton{transform:scaleY(-1)}
@keyframes mb-shimmer{to{background-position:-200% 0}}

.mb-foot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px 18px 14px;font:400 11px/1.4 var(--font-ui,Inter,sans-serif);color:#8399a7}
.mb-foot>span:last-child{text-align:right}
.mb-foot b{font-weight:700;color:#d7e3ea}
.mb-foot .mb-confirmed{margin-right:6px;padding:2px 6px;border-radius:5px;background:#3ddc8426;color:#7ff0b3}
.mb-foot a{display:inline-flex;align-items:center;gap:4px;color:#9fb5c3;text-decoration:none}
.mb-foot a svg{width:12px;height:12px}
.mb-foot a:hover{color:#cdff5f}

#page-aufstellungen .bl-all-news{margin-top:8px}
#page-aufstellungen .bl-slot-open{display:grid;justify-items:center;gap:6px;color:#d7e2e8}
#page-aufstellungen .bl-open-mark{display:grid;place-items:center;width:46px;height:46px;border:1px dashed #ffffff73;border-radius:50%;background:#ffffff12;font:700 18px/1 Inter,sans-serif}
#page-aufstellungen .bl-slot-open strong{font:600 12px/1 Inter,sans-serif}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media(max-width:680px){
 .mb-pitch{margin:0 8px}
 .mb-half{grid-template-rows:repeat(var(--rows,4),minmax(66px,1fr))}
 .mb-face{width:38px;height:38px}
 .mb-name{font-size:10px;padding:2px 5px}
 .mb-player .bl-status-mark{left:calc(50% + 9px);width:15px;height:15px}
 .mb-alt{top:25px;left:calc(50% + 9px)}
 .mb-team b{font-size:12.5px}
 .mb-head{gap:6px;padding:12px 10px}
 .mb-team{gap:7px;padding:4px}
 .mb-time{padding:5px 8px}
 .mb-team img{width:26px;height:26px}
}
@media(prefers-reduced-motion:reduce){.mb-match,.mb-face,.mb-skeleton i{transition:none;animation:none}}

/* ===== Kickbase-style players: photo cutouts on the grass, name plate below, status as a coloured edge ===== */
.mb-player{gap:0;width:min(78px,calc((100% - 8px) / var(--players,4)))}
.mb-face{position:relative;display:block;width:60px;height:58px;border-radius:0;overflow:visible;background:none;box-shadow:none}
.mb-face img{position:absolute;left:50%;bottom:0;width:auto;height:66px;max-width:none;object-fit:contain;transform:translateX(-50%);transform-origin:50% 100%;filter:drop-shadow(0 6px 8px #0009);
  -webkit-mask:linear-gradient(#000 78%,transparent);mask:linear-gradient(#000 78%,transparent)}
.mb-player:hover .mb-face,.mb-player:focus-visible .mb-face{transform:none;box-shadow:none}
.mb-player:hover .mb-face img{transform:translateX(-50%) translateY(-3px)}
.mb-face img{transition:transform .25s cubic-bezier(.22,1,.36,1)}
.mb-name{position:relative;z-index:1;margin-top:-4px;padding:3px 8px 4px;border-radius:7px;background:#0a0f0de8;border-bottom:2px solid var(--ring,#ffffff55);font:700 11px/1.15 Inter,Arial,sans-serif;box-shadow:0 4px 10px #0008}
.mb-player .bl-status-mark{top:-2px;left:calc(50% + 16px);width:18px;height:18px;box-shadow:0 0 0 2px #0b1612}
.mb-alt{top:auto;bottom:24px;left:calc(50% + 16px)}
.mb-player.is-open .mb-face{display:grid;place-items:center;width:44px;height:44px;margin:7px 0;border:1px dashed #ffffff66;border-radius:50%;background:#ffffff10}
.mb-half{grid-template-rows:repeat(var(--rows,4),minmax(86px,1fr))}
/* Legend: a small toggle next to the title instead of a long row. */
.mb-legend-toggle{position:relative}
.mb-legend-toggle summary{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px;border:1px solid #ffffff1f;border-radius:999px;background:#07090bcc;font:600 12.5px/1 Inter,Arial,sans-serif;color:#cfd8dc;cursor:pointer;list-style:none}
.mb-legend-toggle summary::-webkit-details-marker{display:none}
.mb-legend-toggle summary::before{content:'?';display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#ffffff1a;font-size:10.5px;font-weight:800}
.mb-legend-toggle[open] summary{background:#ffffff14;color:#fff}
.mb-legend-toggle .mb-legend{position:absolute;right:0;top:calc(100% + 8px);z-index:20;display:grid;gap:10px;width:260px;padding:14px 16px;border:1px solid #ffffff1f;border-radius:16px;background:#0b0f12f7;box-shadow:0 20px 50px -18px #000}
@media(max-width:680px){.mb-face{width:50px;height:48px}.mb-face img{height:56px}.mb-half{grid-template-rows:repeat(var(--rows,4),minmax(74px,1fr))}}

/* ===== Bundesliga news: lead story, ranked side list, compact rows ===== */
#page-aufstellungen .bl-all-news .bl-news{margin-top:8px}
.nx-board{display:grid;gap:18px}
.nx-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:18px}
.nx{position:relative;display:grid;min-width:0;color:#eef3f6;text-decoration:none;isolation:isolate}
.nx-visual{position:relative;display:block;overflow:hidden;border-radius:16px;background:radial-gradient(120% 90% at 50% 0%,#1f3442,#0b1218 70%)}
.nx-visual[data-club=FCB],.nx-visual[data-club=B04],.nx-visual[data-club=VFB],.nx-visual[data-club=M05],.nx-visual[data-club=FCU],.nx-visual[data-club=KOE],.nx-visual[data-club=SGE],.nx-visual[data-club=FCA],.nx-visual[data-club=SCF],.nx-visual[data-club=RBL]{background:radial-gradient(120% 90% at 50% 0%,#5a1a24,#120b0e 70%)}
.nx-visual[data-club=BVB]{background:radial-gradient(120% 90% at 50% 0%,#5a4a10,#12100a 70%)}
.nx-visual[data-club=SVW],.nx-visual[data-club=BMG],.nx-visual[data-club=TSG]{background:radial-gradient(120% 90% at 50% 0%,#14432c,#0a120e 70%)}
.nx-visual[data-club=S04],.nx-visual[data-club=HSV]{background:radial-gradient(120% 90% at 50% 0%,#14305a,#0a0e14 70%)}
.nx-crest-bg{position:absolute;right:-8%;top:50%;width:62%;max-width:none;opacity:.12;transform:translateY(-50%);filter:grayscale(.2)}
.nx-photo{position:absolute;left:50%;bottom:0;height:96%;width:auto;max-width:none;transform:translateX(-50%);filter:drop-shadow(0 10px 20px #000a)}
.nx-crest{position:absolute;left:50%;top:50%;width:38%;max-width:84px;transform:translate(-50%,-50%);filter:drop-shadow(0 8px 16px #000a)}
.nx-copy{display:grid;gap:6px;align-content:start;min-width:0}
.nx-tag{justify-self:start;padding:3px 8px;border-radius:999px;background:#cdff5f;font:750 10.5px/1.2 Inter,Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#122008}
.nx-title{font:650 15px/1.3 Inter,Arial,sans-serif;letter-spacing:-.01em;color:#f2f6f8;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nx:hover .nx-title{color:#fff;text-decoration:underline;text-decoration-color:#ffffff40;text-underline-offset:3px}
.nx-meta{display:flex;align-items:center;gap:6px;min-width:0;font:500 11.5px/1 Inter,Arial,sans-serif;color:#8596a0;white-space:nowrap}
.nx-meta span{overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.04em;font-size:10.5px}
.nx-meta i{width:3px;height:3px;border-radius:50%;background:#5c6b73;flex:none}
.nx-meta-crest{width:14px;height:14px;object-fit:contain;flex:none}
/* Lead: big visual with the copy laid over the bottom. */
.nx-lead .nx-visual{height:100%;min-height:340px}
.nx-lead .nx-copy{position:absolute;left:0;right:0;bottom:0;padding:22px 22px 20px;border-radius:0 0 16px 16px;background:linear-gradient(0deg,#05080af2 0%,#05080acc 55%,#05080a00)}
.nx-lead .nx-title{font-size:clamp(19px,1.8vw,24px);line-height:1.2;font-weight:750;-webkit-line-clamp:3}
.nx-lead .nx-photo{height:92%;left:62%}
/* Side list: thumbnail + text, separated by hairlines. */
.nx-side{display:grid;grid-template-rows:repeat(4,1fr);border:1px solid #ffffff12;border-radius:16px;background:#07090bb3;overflow:hidden}
.nx-side .nx,.nx-rows .nx{grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;padding:12px 14px}
.nx-side .nx+.nx{border-top:1px solid #ffffff0d}
.nx-side .nx:hover,.nx-rows .nx:hover{background:#ffffff06}
.nx-side .nx-visual,.nx-rows .nx-visual{height:72px;border-radius:12px}
.nx-side .nx-title,.nx-rows .nx-title{font-size:14px;-webkit-line-clamp:2}
.nx-side .nx-tag,.nx-rows .nx-tag{padding:0;background:none;color:#cdff5f;font-size:10px}
/* Rows: two columns of the same compact cards. */
.nx-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.nx-rows .nx{border:1px solid #ffffff10;border-radius:16px;background:#07090bb3}
@media(max-width:900px){.nx-top{grid-template-columns:1fr}.nx-lead .nx-visual{min-height:260px}.nx-rows{grid-template-columns:1fr}}
/* Fixed heights so the lead and the side list never stretch each other. */
.nx-top{align-items:start}
.nx-lead .nx-visual{height:380px;min-height:0}
.nx-side{display:flex;flex-direction:column;grid-template-rows:none;height:380px}
.nx-side .nx{flex:1;min-height:0}
.nx-visual img{max-height:none}
.nx-side .nx-visual img.nx-photo,.nx-rows .nx-visual img.nx-photo{height:118%;bottom:-18%}
@media(max-width:900px){.nx-lead .nx-visual{height:280px}.nx-side{height:auto}}
#page-aufstellungen .nx-board a.nx{display:grid}#page-aufstellungen .nx-board a.nx-lead{display:block}#page-aufstellungen .nx-side a.nx{overflow:hidden}
/* Full cutouts (no bottom fade), steady status icons, browsable alternatives. */
.mb-face img{-webkit-mask:none;mask:none;will-change:transform}
.mb-slot{position:relative;display:grid;justify-items:center;width:min(78px,calc((100% - 8px) / var(--players,4)))}
.mb-slot>.mb-player{width:100%}
.mb-player .bl-status-mark{z-index:2;transform:translateZ(0)}
.mb-player .bl-status-mark svg{width:12px;height:12px}
button.mb-alt{position:absolute;z-index:3;top:auto;bottom:24px;left:calc(50% + 16px);border:0;cursor:pointer;font-variant-numeric:tabular-nums;transform:translateZ(0)}
button.mb-alt:hover{background:#ffe07a}
button.mb-alt:focus-visible{outline:2px solid #fff;outline-offset:1px}
.mb-slot.is-alternative .mb-name{background:#1a1708f0}
/* Toolbar: Legende sits with the News / Aufstellungen switch. */
#page-aufstellungen .bn-lineups-actions{display:flex;align-items:center;gap:10px;margin-left:auto}
#page-aufstellungen .bn-lineups-actions .mb-legend-toggle summary{height:44px;padding:0 16px;border-radius:9px}
/* "+1" / "2/2": centred in the pill by flex, not by line-height (buttons place text low otherwise). */
button.mb-alt{display:inline-flex;align-items:center;justify-content:center;padding:0 6px;line-height:1;box-sizing:border-box}
/* .bl-page button {font:inherit} outranked the badge font (14px text in a 16px pill). */
.bl-page button.mb-alt,#page-aufstellungen button.mb-alt{height:18px;min-width:24px;padding-top:1px;font:800 10.5px/1 var(--font-ui,Inter,sans-serif)}
