/* ==========================================================================
   TCC Neo — design system ported from reference/demo/index.html
   Ink/bone palette, Anton display, zero radius, clip-path corners, grain.
   ========================================================================== */

/* ============ FONTS (self-hosted) ============ */
/* Anton and Bebas Neue each ship ONE weight (400). Every heading and every <b>
   asks for 700 by default, so the browser was synthesising the bold: it smears
   the outlines, which closes the counters and eats the sidebearings on two
   already-condensed faces. Safari's synthetic bold is heavier than Chrome's,
   which is why it read as "jammed" there in particular. Claiming the full range
   on the face makes the browser use the real outlines at any requested weight. */
@font-face{font-family:'Anton';src:url('fonts/anton.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'Bebas Neue';src:url('fonts/bebas-neue.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url('fonts/jetbrains-mono.woff2') format('woff2');font-weight:100 800;font-display:swap}
@font-face{font-family:'Inter';src:url('fonts/inter.woff2') format('woff2');font-weight:100 900;font-display:swap}

/* ============ TOKENS ============ */
:root{
  --ink:#0E1120; --ink-deep:#080A16; --ink-glow:#0E1739;
  --bone:#F5F4EF; --red:#FF2929; --cobalt:#002BFF; --acid:#C2FF1A;
  --steel:#1B1E2D; --steel-2:#282C3E; --card:#121626;
  --muted:#A7ABBE; --border:#262B40; --maroon:#290000;

  /* compat layer — variables the tcc-league plugin templates were styled
     against in the previous theme, remapped onto the Neo palette so plugin
     pages inherit the dark system without edits. */
  --bg:var(--ink); --bg-elev:var(--ink-deep);
  --card-2:#181C30;
  --line:var(--border); --line-2:#343A55;
  --fg:var(--bone); --mut:var(--muted); --dim:#8E93A8;
  --navy:var(--steel-2);
  --accent:var(--acid); --accent-h:#d4ff5c; --accent-ink:var(--ink);
  --live:var(--red); --yellow:#eab308;
  --win:var(--acid); --draw:var(--muted); --loss:var(--red);
  --f:'Inter',system-ui,-apple-system,sans-serif;
  --fm:'JetBrains Mono',ui-monospace,monospace;
  --r:0; --r-sm:0; --r-xs:0; --pill:0;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(ellipse 60% 40% at 18% 0%, rgba(0,43,255,.14), transparent 60%),
    radial-gradient(ellipse 40% 30% at 100% 30%, rgba(255,41,41,.10), transparent 60%),
    radial-gradient(ellipse 80% 40% at 50% 100%, var(--ink-glow), transparent 70%),
    linear-gradient(var(--ink), var(--ink-deep));
  background-attachment:fixed;
  color:var(--bone);
  font-family:'Inter',system-ui,sans-serif;
  overflow-x:hidden;
}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip-link{position:absolute;left:-9999px;top:0;z-index:300;background:var(--acid);color:var(--ink);padding:10px 16px;font-family:'JetBrains Mono',monospace;font-size:11px}
.skip-link:focus{left:0}

/* grain overlay */
.grain{position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.06;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.bg-grid{background-image:linear-gradient(rgba(245,244,239,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(245,244,239,.06) 1px,transparent 1px);background-size:48px 48px}

/* signature utilities */
.clip-tag{clip-path:polygon(0 0,100% 0,96% 100%,4% 100%)}
.clip-notch{clip-path:polygon(0 0,100% 0,100% 92%,92% 100%,0 100%)}
.stroke{color:transparent;-webkit-text-stroke:2px var(--bone)}
.stroke-acid{color:transparent;-webkit-text-stroke:2px var(--acid)}
.chroma{text-shadow:2px 0 rgba(255,41,41,.85),-2px 0 rgba(0,43,255,.85)}
.skew,.skew-italic{display:inline-block;transform:skewX(-8deg)}
.kicker{display:flex;align-items:center;gap:14px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.3em;text-transform:uppercase}
.kicker .chip{padding:4px 8px;letter-spacing:.2em;font-weight:700}
.kicker .rule{height:1px;flex:0 0 60px;background:var(--border)}
.chip-acid{background:var(--acid);color:var(--ink)}
.chip-red{background:var(--red);color:var(--bone)}
.chip-cobalt{background:var(--cobalt);color:var(--bone)}
.chip-steel{background:var(--steel-2);color:var(--muted)}
.section{padding:80px 32px;border-top:1px solid var(--border);position:relative}
.section-slim{padding:56px 32px}
.wrap{max-width:1600px;margin:0 auto;position:relative;z-index:2}
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:.15em}
.btn-acid{background:var(--acid);color:var(--ink)}
.btn-ghost{border:1px solid var(--border);color:var(--bone);transition:.3s}
.btn-ghost:hover{border-color:var(--acid);color:var(--acid)}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* marquees */
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.mq{overflow:hidden;white-space:nowrap}
.mq-track{display:inline-flex;align-items:center;animation:marquee linear infinite}
.mq-slow .mq-track{animation-duration:60s}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:currentColor;animation:pulse 1.2s infinite}

/* ============ HEADER ============ */
.site-head{position:fixed;top:0;left:0;right:0;z-index:100}
.nav{height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 32px;background:rgba(14,17,32,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-logo{display:flex;align-items:center;gap:12px}
.nav-logo img{height:36px}
.nav-logo span{font-family:'Bebas Neue';font-size:20px;letter-spacing:.1em}
.nav-menu{display:flex;gap:32px;font-family:'Bebas Neue';font-size:15px;letter-spacing:.12em}
.nav-menu a{position:relative;padding:4px 0}
.nav-menu a::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--acid);transition:width .3s}
.nav-menu a:hover::after{width:100%}
.live-btn{background:var(--red);color:var(--bone);display:flex;align-items:center;gap:10px;padding:10px 22px;font-family:'Bebas Neue';font-size:14px;letter-spacing:.15em;white-space:nowrap}
.live-btn.is-next{background:var(--steel-2)}
.ticker{background:var(--acid);color:var(--ink);border-bottom:2px solid var(--ink);font-family:'JetBrains Mono';font-weight:700;font-size:11px;letter-spacing:.08em;padding:7px 0}
.ticker .mq-track span{margin:0 24px}
.head-pad{height:96px}
/* mobile nav */
.nav-burger{display:none;font-size:20px;padding:6px 10px}
.mobnav{display:none}
@media(max-width:1080px){
  .nav-menu{display:none}
  .nav-burger{display:block}
  .mobnav{position:fixed;inset:0;z-index:150;background:rgba(8,10,22,.97);padding:90px 32px;flex-direction:column;gap:22px;font-family:'Bebas Neue';font-size:26px;letter-spacing:.1em}
  .mobnav.open{display:flex}
  .mobnav a:hover{color:var(--acid)}
  .mobnav .mclose{position:absolute;top:22px;right:28px;font-size:22px;color:var(--muted)}
}

/* ============ HERO ============ */
.hero{height:100vh;min-height:680px;position:relative;background:var(--ink-deep);overflow:hidden}
.hero::before,.hero::after{content:'';position:absolute;left:0;right:0;height:6vh;background:var(--ink-deep);z-index:8;pointer-events:none}
.hero::before{top:0}.hero::after{bottom:0}
/* each slide is absolutely stacked; inactive slides are fully clipped, not just opacity:0,
   so content in the inactive slides cannot bleed through no matter what */
.hero-slide{position:absolute;inset:0;visibility:hidden;opacity:0;transition:opacity .7s ease,visibility 0s .7s;pointer-events:none}
.hero-slide.on{visibility:visible;opacity:1;transition:opacity .7s ease;pointer-events:auto}
.hero-img-fallback{background:radial-gradient(ellipse 50% 45% at 30% 35%, rgba(0,43,255,.35), transparent 70%),radial-gradient(ellipse 40% 35% at 75% 65%, rgba(255,41,41,.22), transparent 70%)}
.hero-img{position:absolute;inset:0;background-size:cover;background-position:center 25%;filter:grayscale(100%)}
/* pre-tint: compresses image dynamic range so gradients above work reliably on any photo */
.hero-img::after{content:'';position:absolute;inset:0;background:rgba(8,10,22,.5)}
/* duotone: cobalt shadows → acid highlights, maps every photo into brand palette */
.hero-tint{position:absolute;inset:0;background:linear-gradient(135deg,var(--cobalt) 0%,var(--acid) 100%);mix-blend-mode:color;opacity:.65}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(to top, rgba(8,10,22,.97) 0%, rgba(8,10,22,.4) 45%, transparent 62%),linear-gradient(to right, rgba(8,10,22,.82) 0%, rgba(8,10,22,.45) 40%, transparent 62%)}
.hero-grid{position:absolute;inset:0;opacity:.2}
.hero-content{position:absolute;bottom:0;left:0;right:0;z-index:5;padding:0 32px calc(7vh + 56px);max-width:1600px;margin:0 auto}
@media(min-width:768px){.hero-content{padding:0 48px calc(7vh + 72px);max-width:70vw;right:auto}}
/* big Anton headlines: three lines */
.hero-content h2{font-family:'Anton';font-size:clamp(48px,7vw,112px);line-height:.95;text-transform:uppercase;margin:28px 0;letter-spacing:.04em}
/* line-by-line reveal: each span.hl wraps one line, overflow:hidden clips the rising text */
.hero-content h2 .hl{display:block;overflow:hidden}
.hero-content h2 .hl span{display:block;transform:translateY(110%);transition:transform .8s cubic-bezier(.2,.7,.2,1);will-change:transform}
/* trigger reveal when slide becomes .on */
.hero-slide.on .hero-content h2 .hl:nth-child(1) span{transform:none;transition-delay:.05s}
.hero-slide.on .hero-content h2 .hl:nth-child(2) span{transform:none;transition-delay:.17s}
.hero-slide.on .hero-content h2 .hl:nth-child(3) span{transform:none;transition-delay:.29s}
.hero-slide.on .hero-content h2 .hl:nth-child(4) span{transform:none;transition-delay:.41s}
.hero-slide.on .hero-content h2 .hl:nth-child(5) span{transform:none;transition-delay:.53s}
.hero-content .kicker{margin-bottom:14px}
.hero-content .kicker .rule{background:var(--acid);height:1.5px}
.hero-content p{font-family:'JetBrains Mono';font-size:12px;color:rgba(245,244,239,.72);max-width:380px;line-height:1.6;margin-top:22px}
/* progress bars sit at 7vh from the bottom — above the ink band, below the scroll cue */
.hero-bars{position:absolute;bottom:7vh;left:0;right:0;z-index:9;display:flex;gap:6px;padding:0 32px}
@media(min-width:768px){.hero-bars{padding:0 48px}}
.hero-bars .bar{flex:1;height:20px;position:relative;cursor:pointer}
/* track — the full-width background strip */
.hero-bars .bar::before{content:'';position:absolute;top:50%;left:0;right:0;height:2px;transform:translateY(-50%);background:rgba(245,244,239,0.2)}
/* done — track turns solid acid green */
.hero-bars .bar.done::before{background:var(--acid)}
/* fill — animates from left to right while active */
.hero-bars .bar.active::after{content:'';position:absolute;top:50%;left:0;height:2px;transform:translateY(-50%);background:var(--acid);animation:barfill 6s linear forwards}
@keyframes barfill{from{width:0}to{width:100%}}
.scroll-cue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);z-index:9;font-family:'JetBrains Mono';font-size:10px;letter-spacing:.25em;color:rgba(245,244,239,.5);pointer-events:none}
.hero-nav{position:absolute;right:48px;top:50%;transform:translateY(-50%);z-index:9;display:flex;flex-direction:column;gap:8px}
.hero-nav-btn{width:48px;height:48px;background:rgba(14,17,32,.6);border:1px solid rgba(245,244,239,.15);color:var(--bone);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);transition:background .2s,border-color .2s,color .2s;cursor:pointer}
.hero-nav-btn:hover{background:var(--acid);border-color:var(--acid);color:var(--ink)}
@media(max-width:767px){.hero-nav{display:none}}
@media(min-height:1800px){.hero{height:900px}}
@media(max-width:767px){
  .hero-content{padding:0 20px calc(7vh + 48px);max-width:100%;right:0}
  .hero-content h2{font-size:clamp(40px,10vw,72px);line-height:.95}
  .hero-content p{max-width:100%}
  .hero-bars{left:20px;right:20px}
  .scroll-cue{bottom:16px}
}
@media(max-width:479px){
  .hero-content h2{font-size:clamp(36px,11vw,60px)}
  .hero-content p{display:none}
  .hero{min-height:580px}
  .hero::before,.hero::after{height:4vh}
}
.hero-empty{position:relative;z-index:7;width:100%;padding:0 32px 16vh;max-width:1600px;margin:0 auto}
.hero-empty h2{font-family:'Anton';font-size:clamp(48px,7vw,112px);line-height:.88;text-transform:uppercase;letter-spacing:-.03em;margin:18px 0}

/* ============ SECTION HEADS ============ */
h2.sec-title{font-family:'Anton';font-size:clamp(48px,7vw,120px);line-height:.85;text-transform:uppercase;margin:24px 0 18px}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px}
.sec-head .desc{font-family:'JetBrains Mono';font-size:12px;color:var(--muted);max-width:380px;line-height:1.7;text-align:right}
.idx{font-family:'JetBrains Mono';font-size:11px;letter-spacing:.3em;color:var(--acid)}

/* designed empty state (mono, muted) */
.neo-empty{border:1px dashed var(--border);background:rgba(18,22,38,.5);padding:44px 30px;text-align:center;font-family:'JetBrains Mono',monospace}
.neo-empty b{display:block;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--bone);margin-bottom:10px;font-weight:700}
.neo-empty span{font-size:11px;letter-spacing:.08em;color:var(--muted);line-height:1.8;display:block;max-width:52ch;margin:0 auto}

/* ============ FIXTURES ============ */
.matchday-mq{position:absolute;top:70px;left:0;right:0;overflow:hidden;pointer-events:none;z-index:0}
.matchday-mq .mq-track{font-family:'Anton';font-size:14vw;text-transform:uppercase;transform:skewX(-8deg);color:transparent;-webkit-text-stroke:1.5px rgba(245,244,239,.08)}
.countdown{display:flex;flex-wrap:wrap;align-items:center;gap:32px;border:1px solid var(--border);background:var(--card);padding:26px 32px;margin-bottom:40px}
.countdown .vs{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-family:'Bebas Neue';font-size:22px;letter-spacing:.06em}
.countdown .vs img{height:44px;width:44px;object-fit:contain}
.countdown .meta{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.15em;color:var(--muted);width:100%}
.countdown .meta a{color:var(--acid)}
.cd-clock{display:flex;gap:26px;margin-left:auto}
.cd-unit{text-align:center}
.cd-unit b{display:block;font-family:'Anton';font-size:40px;color:var(--acid)}
.cd-unit span{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.3em;color:var(--muted)}
.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-bottom:34px}
.seg{display:inline-flex;border:1px solid var(--border);background:var(--card)}
.seg button{padding:12px 26px;font-family:'Bebas Neue';font-size:14px;letter-spacing:.15em;color:var(--muted)}
.seg button.on{background:var(--acid);color:var(--ink)}
.comp-tabs{display:flex;flex-wrap:wrap;gap:8px}
.comp-tabs button{padding:8px 14px;font-family:'JetBrains Mono';font-size:10px;letter-spacing:.2em;border:1px solid var(--border);color:var(--muted);text-transform:uppercase}
.comp-tabs button.on{border-color:var(--acid);color:var(--acid)}
.match-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.match-card{background:var(--card);border:1px solid var(--border);padding:26px;position:relative;overflow:hidden;transition:border-color .3s;display:block}
.match-card::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--acid);transform:scaleX(0);transform-origin:left;transition:transform .3s;z-index:5}
.match-card:hover{border-color:rgba(194,255,26,.6)}
.match-card:hover::after{transform:scaleX(1)}
.match-card .wm{position:absolute;top:50%;transform:translateY(-50%);width:170px;opacity:.08;pointer-events:none}
.match-card .wm.left{left:-60px}.match-card .wm.right{right:-60px}
.match-card .state{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.25em;padding:4px 8px;display:inline-block;margin-bottom:18px;text-transform:uppercase}
.m-row{display:flex;align-items:center;gap:12px;padding:8px 0;position:relative;z-index:2}
.m-row img{height:30px;width:30px;object-fit:contain}
.m-row .tn{font-family:'Bebas Neue';font-size:19px;letter-spacing:.05em;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-row .sc{font-family:'Anton';font-size:26px;min-width:30px;text-align:right}
.m-row .sc.win{color:var(--acid)}
.m-venue{border-top:1px solid var(--border);margin-top:16px;padding-top:14px;font-family:'JetBrains Mono';font-size:10px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}
.m-venue .go{color:var(--acid)}
/* standings table */
.tbl{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--border)}
.tbl th{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.25em;color:var(--muted);text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}
.tbl td{padding:12px 14px;border-bottom:1px solid var(--border);font-family:'JetBrains Mono';font-size:12px}
.tbl .pos{font-family:'Anton';font-size:18px;width:30px}
.tbl .team{display:flex;align-items:center;gap:10px;font-family:'Bebas Neue';font-size:17px;letter-spacing:.04em}
.tbl .team img{height:26px;width:26px;object-fit:contain}
.tbl tr.q{background:rgba(194,255,26,.06)}
.tbl tr.q .pts{color:var(--acid);font-weight:700}
.tbl-note{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.2em;color:var(--muted);margin-top:14px;text-transform:uppercase}
.tbl-note a{color:var(--acid)}

/* ============ MATCHDAY DRAWER ============ */
/* Tab — fixed to right viewport edge, visible mobile only */
.matchday-tab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:90;width:48px;height:140px;background:var(--steel-2);border:none;border-left:4px solid var(--acid);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:0;transition:background .2s,border-color .2s;box-shadow:-4px 0 24px rgba(0,0,0,.5)}
.matchday-tab .tab-dot{display:none;width:8px;height:8px;border-radius:50%;background:var(--bone);flex-shrink:0;animation:pulse 1.2s infinite}
.matchday-tab .tab-label{font-family:'Bebas Neue';font-size:17px;letter-spacing:.25em;color:var(--bone);writing-mode:vertical-lr;transform:rotate(180deg)}
.matchday-tab.is-live{background:var(--red);border-left-color:rgba(245,244,239,.4)}
.matchday-tab.is-live .tab-dot{display:block}
/* Drawer overlay */
.matchday-drawer{position:fixed;inset:0;z-index:120;visibility:hidden;pointer-events:none}
.matchday-drawer.open{visibility:visible;pointer-events:auto}
.matchday-backdrop{position:absolute;inset:0;background:rgba(8,10,22,.75);opacity:0;transition:opacity .3s}
.matchday-drawer.open .matchday-backdrop{opacity:1}
/* Panel */
.matchday-panel{position:absolute;top:0;right:0;bottom:0;width:min(480px,92vw);background:var(--ink-deep);border-left:1px solid var(--border);transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.7,.2,1);display:flex;flex-direction:column;overflow:hidden}
.matchday-drawer.open .matchday-panel{transform:none}
.matchday-panel-head{height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--border);font-family:'Bebas Neue';font-size:22px;letter-spacing:.1em;flex-shrink:0}
.matchday-close{width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono';font-size:14px;color:var(--muted);background:none;border:1px solid var(--border);cursor:pointer;transition:color .2s,border-color .2s}
.matchday-close:hover{color:var(--acid);border-color:var(--acid)}
.matchday-panel-body{flex:1;overflow-y:auto;padding:28px;display:flex;flex-direction:column;gap:28px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.matchday-panel-body::-webkit-scrollbar{width:4px}
.matchday-panel-body::-webkit-scrollbar-thumb{background:var(--border)}
/* Drawer blocks */
.md-block{display:flex;flex-direction:column}
.md-bh{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.3em;color:var(--muted);text-transform:uppercase;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:14px}
/* Next match team display */
/* Compact clock overrides for the panel */
.md-clock{gap:14px!important;justify-content:center;margin-left:0!important}
.md-clock .cd-unit b{font-size:32px!important}
.md-clock .cd-unit span{font-size:9px!important;letter-spacing:.2em!important}
/* Fixture / result rows */
/* Mini standings table */
.md-tbl{width:100%;border-collapse:collapse;font-family:'JetBrains Mono';font-size:12px}
.md-tbl th{color:var(--muted);letter-spacing:.2em;font-size:10px;padding:7px 6px;border-bottom:1px solid var(--border);text-align:left;text-transform:uppercase}
.md-tbl td{padding:9px 6px;border-bottom:1px solid var(--border)}
.md-tbl tr:last-child td{border-bottom:none}
.md-tbl tr.q .md-pos{color:var(--acid);font-weight:700}
.md-tbl .md-pts{color:var(--acid)}
.md-drawer-link{display:block;margin-top:14px;font-family:'JetBrains Mono';font-size:10px;letter-spacing:.3em;color:var(--acid);text-transform:uppercase;text-decoration:none}
.md-drawer-link:hover{color:var(--bone)}
/* Tab always visible — drawer works on all screen sizes */

/* ============ CUP TEASER ============ */
@media(max-width:768px){.cup-inner{grid-template-columns:1fr}}
@keyframes spin-slow{to{transform:rotate(360deg)}}

/* ============ PROSPECTS ============ */
.rail-x{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:16px;-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.rail-x::-webkit-scrollbar{height:4px}
.rail-x::-webkit-scrollbar-thumb{background:var(--steel-2)}
.p-card{flex:0 0 300px;height:440px;scroll-snap-align:start;position:relative;overflow:hidden;background:var(--card);border:1px solid var(--border);display:block}
.p-card .spine{position:absolute;left:0;top:0;bottom:0;width:8px;z-index:3}
.p-card .ph{position:absolute;inset:0;background-size:cover;background-position:top center;filter:grayscale(40%);transition:.7s}
.p-card:hover .ph{filter:none;transform:scale(1.05)}
.p-card .ph-fallback{position:absolute;inset:0;display:grid;place-items:center;font-family:'Anton';font-size:120px;color:rgba(245,244,239,.07)}
.p-card .grad{position:absolute;inset:0;background:linear-gradient(to top, rgba(8,10,22,.95) 10%, transparent 60%)}
.p-card .top{position:absolute;top:16px;left:22px;right:16px;display:flex;justify-content:space-between;gap:10px;font-family:'JetBrains Mono';font-size:10px;letter-spacing:.2em;z-index:2;text-transform:uppercase}
.p-card .top .club{color:var(--acid);text-align:right}
.p-card .info{position:absolute;left:22px;right:16px;bottom:66px;z-index:2}
.p-card .info h3{font-family:'Anton';font-size:30px;line-height:.95;text-transform:uppercase}
.p-card .info .pos{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.25em;color:var(--muted);margin-top:6px;text-transform:uppercase}
.p-card .stats{position:absolute;left:0;right:0;bottom:0;display:flex;background:rgba(14,17,32,.85);backdrop-filter:blur(6px);border-top:1px solid var(--border);transform:translateY(8px);opacity:.7;transition:.35s;z-index:4}
.p-card:hover .stats,.p-card:focus-visible .stats{transform:none;opacity:1}
.p-card .stats div{flex:1;text-align:center;padding:12px 0}
.p-card .stats b{display:block;font-family:'Anton';font-size:22px}
.p-card .stats span{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.3em;color:var(--muted)}

/* ============ DATA (maroon) ============ */
.bg-pitch{background-image:radial-gradient(ellipse at center, rgba(0,43,255,.25), transparent 70%),repeating-linear-gradient(90deg, rgba(245,244,239,.04) 0 1px, transparent 1px 60px)}

/* ============ PIPELINE ============ */
.pipeline{position:relative;overflow:hidden}
.alum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:50px}
.alum-card{background:var(--card);border:1px solid var(--border);overflow:hidden;transition:border-color .3s;position:relative;padding:26px 22px 20px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;gap:20px}
.alum-card:hover{border-color:rgba(194,255,26,.6)}
.alum-card .wm{position:absolute;right:-34px;top:-24px;width:150px;opacity:.07;pointer-events:none;filter:grayscale(60%)}
.alum-card .crest{height:34px;width:34px;object-fit:contain}
.alum-card h3{font-family:'Anton';font-size:22px;text-transform:uppercase;margin-top:12px}
.alum-card .from{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.15em;color:var(--muted);margin-top:6px;text-transform:uppercase}
.alum-card .route{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.12em;color:var(--muted);display:flex;align-items:center;gap:8px;border-top:1px solid var(--border);padding-top:14px;text-transform:uppercase}
.alum-card .route b{color:var(--acid);font-weight:400}

/* ============ TOTW ============ */
.totw-pitch-neo{position:relative;border:1px solid var(--border);background:radial-gradient(ellipse at center, rgba(0,43,255,.28), rgba(14,17,32,.9) 75%),repeating-linear-gradient(90deg, rgba(245,244,239,.05) 0 1px, transparent 1px 60px);min-height:560px;padding:30px}
.totw-pitch-neo .pline{position:absolute;border:1px solid rgba(245,244,239,.14)}
.totw-pitch-neo .pl-outer{inset:14px}
.totw-pitch-neo .pl-half{left:14px;right:14px;top:50%;height:0;border-width:0 0 1px}
.totw-pitch-neo .pl-circle{left:50%;top:50%;width:130px;height:130px;transform:translate(-50%,-50%);border-radius:50%}
.totw-field-neo{position:absolute;inset:4% 6%}
.totw-p{position:absolute;transform:translate(-50%,-50%);text-align:center;width:104px}
.totw-p .shot{width:58px;height:58px;margin:0 auto 8px;background:var(--card);border:1px solid var(--border);overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:'Anton';font-size:20px;color:var(--acid)}
.totw-p .shot img{width:100%;height:100%;object-fit:cover;object-position:top center}
.totw-p .nm{font-family:'Bebas Neue';font-size:13px;letter-spacing:.06em;background:rgba(8,10,22,.8);padding:3px 6px;display:inline-block;max-width:104px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.totw-p .cl{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.2em;color:var(--muted);margin-top:3px;text-transform:uppercase}
.totw-p.coach{width:130px}
.totw-p.coach .nm{background:var(--acid);color:var(--ink)}
.totw-note{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.2em;color:var(--muted);margin-top:18px;text-transform:uppercase}
@media(max-width:700px){.totw-pitch-neo{min-height:640px}.totw-p{width:76px}.totw-p .shot{width:44px;height:44px}.totw-p .nm{font-size:10px;max-width:76px}}

/* ============ MEDIA CENTRE ============ */
.story-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:20px}
.story-tile{position:relative;height:380px;overflow:hidden;border:1px solid var(--border);display:block;background:var(--card)}
.story-tile .ph{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(40%);transition:.7s}
.story-tile:hover .ph{filter:none;transform:scale(1.05)}
.story-tile .grad{position:absolute;inset:0;background:linear-gradient(to top, rgba(8,10,22,.95) 5%, rgba(8,10,22,.3) 55%, transparent),linear-gradient(to right, rgba(8,10,22,.6) 0%, transparent 60%)}
.story-tile .top-bar{position:absolute;top:20px;left:20px;right:20px;z-index:2;display:flex;align-items:center;justify-content:space-between}
.story-tile .chip{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.2em;padding:4px 8px;text-transform:uppercase}
.story-tile .read-btn{width:38px;height:38px;background:rgba(14,17,32,.7);border:1px solid rgba(245,244,239,.25);display:grid;place-items:center;transition:background .3s;flex-shrink:0}
.story-tile:hover .read-btn{background:var(--red);border-color:var(--red)}
.story-tile .txt{position:absolute;left:24px;right:24px;bottom:24px;z-index:2}
.story-tile h3{font-family:'Anton';font-size:34px;line-height:.95;text-transform:uppercase}
.story-tile p{font-family:'JetBrains Mono';font-size:11px;color:rgba(245,244,239,.7);margin-top:10px;line-height:1.7}
.story-tile .read-cue{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.3em;color:var(--acid);margin-top:14px;text-transform:uppercase}
/* crest filter chips */
.crest-chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 6px}
.crest-chips button{border:1px solid var(--border);padding:8px;background:var(--card);transition:border-color .3s}
.crest-chips button img{height:30px;width:30px;object-fit:contain;filter:grayscale(60%);transition:.3s}
.crest-chips button .ini,.bf-crest .ini{display:inline-flex;align-items:center;justify-content:center;height:30px;width:30px;font-family:var(--fm);font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--bone);background:var(--steel-2)}
.bf-crest .ini{height:100%;width:100%;font-size:18px}
.crest-chips button:hover,.crest-chips button.on{border-color:var(--acid)}
.crest-chips button:hover img,.crest-chips button.on img{filter:none}
.badge-feature{display:flex;gap:20px;align-items:center;margin-top:20px;border:1px solid var(--border);background:var(--card);padding:22px 24px;transition:border-color .3s}
.badge-feature:hover{border-color:rgba(194,255,26,.6)}
.badge-feature .bf-crest{flex:0 0 auto;width:72px;height:72px;display:grid;place-items:center;background:var(--steel);padding:12px}
.badge-feature .bf-crest img{max-height:100%;object-fit:contain}
.badge-feature .bf-kick{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.25em;color:var(--acid);text-transform:uppercase}
.badge-feature h3{font-family:'Anton';font-size:24px;text-transform:uppercase;line-height:1;margin:8px 0 6px}
.badge-feature p{font-family:'JetBrains Mono';font-size:11px;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ============ HIGHLIGHTS BENTO ============ */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:16px}
.b-tile{position:relative;overflow:hidden;border:1px solid var(--border);background:var(--card);display:block}
.b-tile::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--bone);transform:scaleX(0);transform-origin:left;transition:transform .3s;z-index:6}
.b-tile:hover::before{transform:scaleX(1)}
.b-feature{grid-column:span 2;grid-row:span 2;background:var(--red)}
.b-feature .ribbon{position:absolute;top:56px;left:-40px;transform:rotate(-12deg);background:var(--ink);color:var(--acid);font-family:'Anton';font-size:26px;padding:10px 60px;letter-spacing:.05em;z-index:3;text-transform:uppercase}
.b-tile .ph{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(40%);transition:.7s;opacity:.85}
.b-tile:hover .ph{filter:none;transform:scale(1.04)}
.b-tile .grad{position:absolute;inset:0;background:linear-gradient(to top, rgba(8,10,22,1) 8%, transparent 55%)}
.b-tile .cat{position:absolute;top:14px;left:14px;z-index:2;font-family:'JetBrains Mono';font-size:9px;letter-spacing:.25em;padding:4px 8px;background:rgba(14,17,32,.8);border:1px solid var(--border);text-transform:uppercase}
.b-tile .ttl{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;font-family:'Anton';font-size:20px;text-transform:uppercase;line-height:1}
.b-feature .ttl{font-size:34px;left:24px;bottom:22px}
.play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:54px;height:54px;border-radius:50%;border:1px solid rgba(245,244,239,.5);display:flex;align-items:center;justify-content:center;z-index:2;background:rgba(14,17,32,.5);backdrop-filter:blur(4px);font-size:14px;transition:.3s}
.b-tile:hover .play{background:var(--red);border-color:var(--red)}
.b-feature iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:5}
@media(max-width:900px){.bento{grid-template-columns:repeat(2,1fr)}}

/* ============ SOCIAL ROW (end of highlights) ============ */
.social-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:32px;border-top:1px solid var(--border);padding-top:22px}
.social-chip{width:36px;height:36px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-family:'Bebas Neue';font-size:13px;letter-spacing:.1em;color:var(--bone);text-decoration:none;transition:background .2s,border-color .2s,color .2s}
.social-chip:hover{background:var(--acid);border-color:var(--acid);color:var(--ink)}

/* ============ RED MARQUEE / CTA ============ */
.cta{background:var(--ink-deep);border-top:1px solid var(--border);position:relative;overflow:hidden;padding:96px 32px}
.cta .circle{position:absolute;border-radius:50%;mix-blend-mode:difference}
.cta .c1{width:420px;height:420px;background:var(--red);top:-140px;right:8%}
.cta .c2{width:280px;height:280px;background:var(--acid);bottom:-90px;left:5%}
.cta h2{font-family:'Anton';font-size:clamp(52px,9vw,150px);line-height:.84;text-transform:uppercase}
.cta form{display:flex;flex-wrap:wrap;gap:14px;margin-top:40px;max-width:640px}
.cta input{flex:1;min-width:240px;background:var(--card);border:1px solid var(--border);color:var(--bone);padding:16px 20px;font-family:'JetBrains Mono';font-size:12px;letter-spacing:.1em;outline:none;border-radius:0}
.cta input:focus{border-color:var(--acid)}
.cta input::placeholder{color:rgba(245,244,239,.6)}

/* ============ FOOTER ============ */
.site-foot{background:var(--ink);border-top:2px solid var(--acid)}
.f-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px;padding:70px 32px;max-width:1600px;margin:0 auto}
.f-brand .t-block{width:52px;height:52px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.f-brand .t-block img{max-height:100%;object-fit:contain}
.f-brand p{font-family:'JetBrains Mono';font-size:11px;color:var(--muted);line-height:1.7;max-width:300px;text-transform:uppercase}
.f-brand .est{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.2em;color:var(--acid);margin-top:16px;text-transform:uppercase}
.f-col h4{font-family:'Anton';font-size:20px;text-transform:uppercase;margin-bottom:18px}
.f-col a{display:block;font-family:'JetBrains Mono';font-size:11px;letter-spacing:.1em;color:var(--muted);padding:5px 0;transition:.2s}
.f-col a:hover{color:var(--acid)}
.f-legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:20px 32px;font-family:'JetBrains Mono';font-size:10px;letter-spacing:.15em;color:var(--muted);max-width:1600px;margin:0 auto;text-transform:uppercase}
.crest-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;padding:22px 32px;border-top:1px solid var(--border)}
.crest-bar img{height:34px;width:34px;object-fit:contain;opacity:.75;transition:.2s}
.crest-bar a:hover img{opacity:1}

@media(max-width:900px){
  .f-grid{grid-template-columns:1fr 1fr}
  .cd-clock{margin-left:0}
  .section{padding:80px 18px}
  .head-pad{height:96px}
}

/* ==========================================================================
   INNER PAGES — utility layer + compatibility styles for classes the
   tcc-league plugin templates (and simple theme fallbacks) rely on.
   ========================================================================== */
.sec{padding:56px 32px;position:relative}
.sec.alt{background:rgba(18,22,38,.4)}
.sec .wrap{max-width:1280px}
.page-hero{padding:26px 0 8px}
.page-hero .kick,.kick{display:inline-block;font-family:var(--fm);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--acid)}
.page-hero h1,.utility h1{font-family:'Anton';font-size:clamp(38px,6vw,84px);line-height:.9;text-transform:uppercase;margin:14px 0 12px}
.page-hero .lead,.lead{font-family:var(--fm);font-size:12.5px;color:var(--muted);max-width:640px;line-height:1.8}
.mut{color:var(--muted)}
.ml{font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acid)}
.ml:hover{text-decoration:underline}
.chip{display:inline-block;font-family:var(--fm);font-size:9px;letter-spacing:.2em;text-transform:uppercase;padding:4px 8px;background:var(--steel-2);color:var(--bone)}
.chip.accent{background:var(--acid);color:var(--ink)}
.crest{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none}
.crest img{width:100%;height:100%;object-fit:contain}
.crest.lg{width:44px;height:44px}
.panel{background:var(--card);border:1px solid var(--border)}
.panel .ph{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border)}
.panel .ph h3{font-family:'Anton';font-size:17px;letter-spacing:.02em;text-transform:uppercase}
table{width:100%;border-collapse:collapse}
table th{font-family:var(--fm);font-size:9px;letter-spacing:.2em;color:var(--muted);text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);text-transform:uppercase}
table td{padding:10px 12px;border-bottom:1px solid var(--border);font-family:var(--fm);font-size:12px}
table tr.q{background:rgba(194,255,26,.06)}
table td.pts{color:var(--acid);font-weight:700}
.tk{display:inline-block;font-family:var(--fm);font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:7px 13px;border:1px solid var(--border);color:var(--muted);background:var(--card);cursor:pointer;transition:.2s}
.tk.on,.tk:hover{border-color:var(--acid);color:var(--acid)}
a.tk{text-decoration:none}
.gpanel{display:block}
@media(max-width:860px){.gtab-bar~* .gpanel{display:none}.gtab-bar~* .gpanel.gactive{display:block}}
.season-soon{border:1px dashed var(--border);background:rgba(18,22,38,.5);padding:52px 30px;text-align:center;font-family:var(--fm)}
.season-soon .ss-orb{font-size:28px;display:block;margin-bottom:14px}
.season-soon .ss-kick{display:inline-block;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--acid)}
.season-soon .ss-title{font-family:'Anton';font-size:clamp(26px,4vw,44px);text-transform:uppercase;margin:12px 0 10px}
.season-soon .ss-sub{font-size:11.5px;color:var(--muted);line-height:1.8;max-width:52ch;margin:0 auto}
.season-soon .ss-count{display:flex;justify-content:center;gap:22px;margin-top:26px}
.season-soon .ss-count b{display:block;font-family:'Anton';font-size:34px;color:var(--acid)}
.season-soon .ss-count span{font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.cup-badge img{height:60px;width:auto}
.cupwin{display:flex;align-items:center;gap:14px;border:1px solid var(--acid);background:rgba(194,255,26,.06);padding:16px 18px;margin-bottom:16px;font-family:var(--fm)}
.cupwin .lbl{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--acid)}
.cupwin b{font-family:'Bebas Neue';font-size:22px;letter-spacing:.05em}
.kostage{font-family:var(--fm);font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--acid);padding:14px 16px 6px}
.korow{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}
.korow .side{display:flex;align-items:center;gap:9px;min-width:0}
.korow .side.h{justify-content:flex-end;text-align:right}
.korow .nm{font-family:'Bebas Neue';font-size:16px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.korow .mid{font-family:'Anton';font-size:19px;text-align:center;min-width:64px}
.korow .mid small{display:block;font-family:var(--fm);font-size:9px;letter-spacing:.1em;color:var(--muted)}
input,select,textarea{background:var(--card);border:1px solid var(--border);color:var(--bone);font-family:var(--fm);font-size:12px;padding:10px 12px;border-radius:0}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--acid)}

/* article / prose */
.prose{max-width:820px;margin:0 auto}
.prose-hero{position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;border-bottom:1px solid var(--border)}
.prose-hero .ph{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(20%)}
.prose-hero .scrim{position:absolute;inset:0;background:linear-gradient(to top, rgba(8,10,22,.96) 10%, transparent 70%)}
.prose-hero .inner{position:relative;z-index:2;padding:60px 32px;max-width:1100px;margin:0 auto;width:100%}
.prose-hero h1{font-family:'Anton';font-size:clamp(34px,5vw,72px);line-height:.92;text-transform:uppercase;margin:16px 0 10px;max-width:22ch}
.entry{font-size:15.5px;line-height:1.85;color:rgba(245,244,239,.88)}
.entry>*+*{margin-top:1.2em}
.entry h2,.entry h3{font-family:'Anton';text-transform:uppercase;line-height:1;letter-spacing:.01em}
.entry h2{font-size:30px}.entry h3{font-size:23px}
.entry a{color:var(--acid);text-decoration:underline;text-underline-offset:3px}
.entry img{border:1px solid var(--border)}
.entry blockquote{border-top:1px solid var(--acid);padding:14px 0 6px;margin:18px 0;font-family:var(--fm);font-size:13px;color:var(--muted)}
.entry ul,.entry ol{padding-left:22px}
.entry figcaption{font-family:var(--fm);font-size:10px;letter-spacing:.1em;color:var(--muted);margin-top:8px;text-transform:uppercase}
.entry .wp-block-embed__wrapper{position:relative}
.entry .wp-embed-aspect-16-9.wp-has-aspect-ratio .wp-block-embed__wrapper::before{content:'';display:block;padding-top:56.25%}
.entry .wp-embed-aspect-16-9.wp-has-aspect-ratio .wp-block-embed__wrapper iframe{position:absolute;inset:0;width:100%;height:100%;border:1px solid var(--border)}
.meta-line{font-family:var(--fm);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.meta-line b{color:var(--acid);font-weight:400}

/* simple archive cards */
.arch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:34px}
.arch-card{border:1px solid var(--border);background:var(--card);display:block;transition:border-color .3s;overflow:hidden}
.arch-card:hover{border-color:rgba(194,255,26,.6)}
.arch-card .ph{aspect-ratio:16/10;background:var(--steel);background-size:cover;background-position:center;filter:grayscale(30%);transition:.6s}
.arch-card:hover .ph{filter:none}
.arch-card .bd{padding:16px 18px 18px}
.arch-card h3{font-family:'Anton';font-size:20px;text-transform:uppercase;line-height:1.05;margin:8px 0 8px}
.arch-card p{font-family:var(--fm);font-size:11px;color:var(--muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pagenav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px;
  margin-top:44px;font-family:var(--fm);font-size:11px}
.pagenav:empty{display:none}
.pagenav .page-numbers{padding:9px 14px;border:1px solid var(--border);color:var(--muted);
  text-decoration:none;min-height:38px;display:inline-flex;align-items:center;
  font-variant-numeric:tabular-nums}
.pagenav .page-numbers.current,.pagenav .page-numbers:hover{border-color:var(--acid);color:var(--acid)}
.pagenav .page-numbers.current{color:var(--acid)}
/* An ellipsis is not a destination, so it gets no box. */
.pagenav .page-numbers.dots{border-color:transparent;padding:9px 4px}
.pagenav .page-numbers.dots:hover{border-color:transparent;color:var(--muted)}
.pagenav .prev,.pagenav .next{letter-spacing:.1em}
@media (max-width:760px){
  .pagenav{gap:6px;margin-top:32px}
  .pagenav .page-numbers{padding:11px 13px;min-height:44px}
  .pagenav .page-numbers.dots{padding:11px 2px}
}

/* ==========================================================================
   PLUGIN PAGE COMPONENTS — classes output by tcc-league plugin templates.
   Defined here so they inherit the neo design system automatically.
   ========================================================================== */

/* ---- shared layout helpers ---- */
@media(max-width:700px){.duo{grid-template-columns:1fr}}
.sec-h{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.sec-h h1,.sec-h h2,.sec-h h3{font-family:'Anton';text-transform:uppercase;letter-spacing:.01em;line-height:1}
.sec-h h1{font-size:clamp(28px,4vw,52px)}
.sec-h h2{font-size:clamp(22px,3vw,36px)}
.sec-h h3{font-size:clamp(18px,2vw,24px)}

/* ---- match scoreboard / feature panel ---- */
.feat{border:1px solid var(--border);background:radial-gradient(120% 160% at 80% -30%,rgba(0,43,255,.25),transparent 55%),var(--card);position:relative;overflow:hidden;padding:24px 28px}
.feat::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(48deg,rgba(255,255,255,.025) 0 1px,transparent 1px 60px);pointer-events:none}
.feat .fh{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.feat .score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;text-align:center}
.feat .score .team{display:flex;flex-direction:column;align-items:center;gap:8px}
.feat .score .team.away{align-items:flex-end;text-align:right}
.feat .score .cname{font-family:'Bebas Neue';font-size:clamp(15px,2vw,22px);letter-spacing:.05em;text-transform:uppercase}
.feat .score .num{font-family:'Anton';font-size:clamp(52px,8vw,100px);color:var(--bone);line-height:1;display:block}
.feat .score .sep{font-family:'JetBrains Mono';font-size:12px;color:var(--muted);letter-spacing:.2em}

/* ---- club hero panel (club profile + manager profile) ---- */
.club-hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(48deg,rgba(255,255,255,.025) 0 1px,transparent 1px 60px);pointer-events:none}

/* ---- player cards: index + squad grids ---- */
.pgrid,.pcgrid-club{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:14px}
.pc{background:var(--card);border:1px solid var(--border);display:block;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .3s;position:relative}
.pc:hover{border-color:rgba(194,255,26,.6)}
.pc .top{position:relative;aspect-ratio:3/4;background:var(--steel);overflow:hidden}
.pc .sil{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.pc .sil img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(30%);transition:.5s}
.pc:hover .sil img{filter:none}
.pc .no{position:absolute;top:10px;left:12px;font-family:'Anton';font-size:28px;opacity:.18;color:var(--bone);z-index:2;pointer-events:none}
.pc .bd{padding:11px 13px 14px}
.pc .bd .kick{font-family:'JetBrains Mono';font-size:9px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:4px}
.pc .bd h4{font-family:'Bebas Neue';font-size:18px;letter-spacing:.04em;line-height:1.1;text-transform:uppercase}

/* ---- players index: filter bar ---- */

/* ---- players index: card grid, 5 per row ---- */
.ptile-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
@media (max-width:980px){.ptile-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.ptile-grid{grid-template-columns:repeat(2,1fr)}}
.ptile{background:var(--card);border:1px solid var(--border);display:block;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .3s}
.ptile:hover{border-color:rgba(194,255,26,.6)}
.ptile-img{display:block;position:relative;aspect-ratio:3/4;background:var(--steel);overflow:hidden}
.ptile-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(30%);transition:.5s}
.ptile:hover .ptile-photo{filter:none}
.ptile-no{position:absolute;top:10px;left:12px;font-family:'Anton';font-size:26px;color:var(--bone);z-index:2;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.ptile-crest{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.5)}
.ptile-crest img{width:68%;height:68%;object-fit:contain}
.ptile-bd{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px 13px}
.ptile-name{display:flex;flex-direction:column;min-width:0}
.ptile-name .fn{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptile-name .ln{font-family:'Bebas Neue';font-size:19px;letter-spacing:.03em;line-height:1.15;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ptile-pos{font-family:'JetBrains Mono';font-size:10px;letter-spacing:.1em;color:var(--acid);flex:none}

/* ---- player profile: hero with large photo ---- */
@media (max-width:640px){.phero{flex-direction:column}.phero-img{width:100%;aspect-ratio:4/3}}

/* ---- player profile stat row ---- */

/* ---- stats leaderboards ---- */
.srow{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border)}
.srow:last-child{border-bottom:none}
.srow .rk{font-family:'Anton';font-size:18px;min-width:24px;color:var(--muted)}
.srow .sv{font-family:'Anton';font-size:18px;color:var(--acid);margin-left:auto;flex:none}
.srow .sn{flex:1;min-width:0}
.srow .sname{font-family:'Bebas Neue';font-size:16px;letter-spacing:.04em;text-transform:uppercase;display:block}

/* ---- clubs directory grid ---- */

/* ---- manager + referee cards ---- */

/* ---- history / honours timeline ---- */

/* ---- about page stat counters ---- */

/* ---- alumni grid (no-hyphen aliases match plugin output) ---- */

/* ===== Homepage carry-overs (2026-09-12): live band, matchday strip, discipline, form, galleries, news list, partners ===== */
.live-band{background:linear-gradient(180deg,var(--maroon),var(--ink));border-top:1px solid rgba(255,41,41,.35);border-bottom:1px solid var(--border);padding:34px 32px}
.live-band .lb-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px;font-size:10px;letter-spacing:.25em;color:var(--muted);margin-bottom:22px}
.live-band .lb-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px}
.live-band .lb-team{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--bone);font-family:'Bebas Neue',sans-serif;font-size:clamp(22px,3vw,40px);letter-spacing:.04em;min-width:0}
.live-band .lb-team.r{flex-direction:row-reverse;text-align:right}
.live-band .lb-team img{width:clamp(44px,6vw,84px);height:clamp(44px,6vw,84px);object-fit:contain;flex:none}
.live-band .lb-num{display:flex;align-items:center;gap:14px;font-family:'Anton',sans-serif;font-size:clamp(56px,9vw,120px);line-height:.9;color:var(--bone)}
.live-band .lb-num span{color:var(--red);font-size:.6em}
.live-band .lb-events{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.06em;color:var(--muted)}
.live-band .lb-ev{display:flex;flex-wrap:wrap;gap:6px 18px}
.live-band .lb-ev.a{justify-content:flex-end;text-align:right}
.live-band .lb-ev b{color:var(--acid);font-weight:600}.live-band .lb-ev i{font-style:normal;opacity:.7}.live-band .lb-ev .none{opacity:.4}
.live-band .lb-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:26px}
.live-band .lb-upd{font-size:9px;letter-spacing:.25em;color:var(--muted);margin-left:auto}
.live-band.is-ft .chip-red{background:var(--steel-2);color:var(--bone)}.live-band.is-ft .pulse-dot{display:none}
@media(max-width:720px){.live-band .lb-score{grid-template-columns:1fr;text-align:center}.live-band .lb-team,.live-band .lb-team.r{flex-direction:column;text-align:center;justify-content:center}.live-band .lb-num{justify-content:center}.live-band .lb-events{grid-template-columns:1fr}.live-band .lb-ev.a{justify-content:flex-start;text-align:left}}
.md-strip,.susp-strip{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;border:1px solid var(--border);background:var(--card);padding:14px 18px;margin:-16px 0 26px}
.md-strip-l{font-size:9px;letter-spacing:.3em;color:var(--acid);flex:none}
.md-strip-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;padding-bottom:2px}
.md-strip-row::-webkit-scrollbar{display:none}
.md-chip.live .mono{color:var(--red)}
.susp-chip{display:inline-flex;align-items:center;gap:10px;flex:none;border:1px solid rgba(255,41,41,.35);padding:8px 12px;text-decoration:none;color:var(--bone);font-size:12px}
.susp-chip img{width:18px;height:18px;object-fit:contain}
.susp-chip .mono{font-size:9px;letter-spacing:.15em;color:var(--red)}
.tbl .form-th{text-align:left}
.tbl .form-td{white-space:nowrap}
.fd{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px;background:var(--steel-2)}
.fd.w{background:var(--acid)}.fd.d{background:var(--muted)}.fd.l{background:var(--red)}
.fd.n{background:transparent;border:1px solid var(--border)}
@media(max-width:720px){.tbl .form-th,.tbl .form-td{display:none}}
.news-row:hover{background:var(--card-2)}
@media(max-width:600px){.news-row{grid-template-columns:1fr auto}.news-row .chip{display:none}}
.gal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.gal-tile{position:relative;display:block;height:220px;overflow:hidden;border:1px solid var(--border);background:var(--card);text-decoration:none;color:var(--bone)}
.gal-tile .ph{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .6s;filter:saturate(.9)}
.gal-tile .ph-empty{display:grid;place-items:center;font-size:48px;color:var(--steel-2)}
.gal-tile:hover .ph{transform:scale(1.05)}
.gal-tile .grad{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,10,22,.95))}
.gal-tile .chip{position:absolute;top:16px;left:16px}
.gal-tile .txt{position:absolute;left:18px;right:18px;bottom:18px}
.gal-tile h3{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:.03em;line-height:1;margin:0 0 6px}
.gal-tile .txt .mono{font-size:9px;letter-spacing:.2em;color:var(--muted)}
.lightbox{position:fixed;inset:0;z-index:999;background:rgba(8,10,22,.96);display:grid;place-items:center}
.lightbox[hidden]{display:none}
.lightbox img{max-width:92vw;max-height:80vh;object-fit:contain;border:1px solid var(--border);background:var(--card)}
.lightbox button{position:absolute;background:var(--card);border:1px solid var(--border);color:var(--bone);width:46px;height:46px;font-size:26px;cursor:pointer;display:grid;place-items:center}
.lightbox button:hover{border-color:var(--acid);color:var(--acid)}
.lightbox .lb-close{top:18px;right:18px}.lightbox .lb-prev{left:18px;top:50%;transform:translateY(-50%)}.lightbox .lb-next{right:18px;top:50%;transform:translateY(-50%)}
.lightbox .lb-cap{position:absolute;left:0;right:0;bottom:22px;text-align:center;font-size:10px;letter-spacing:.2em;color:var(--muted)}
.lightbox .lb-cap a{color:var(--acid);text-decoration:none}
.partners-neo{padding-top:80px;padding-bottom:80px}
.plogos{display:flex;flex-wrap:wrap;justify-content:center;gap:28px;margin-top:40px}
.plogo{display:flex;flex-direction:column;align-items:center;gap:12px;width:220px;padding:26px 20px;border:1px solid var(--border);background:var(--card);text-decoration:none;transition:border-color .2s}
.plogo:hover{border-color:var(--acid)}
.plogo img{width:150px;height:56px;max-width:100%;object-fit:contain;filter:grayscale(1) invert(1) brightness(1.1);transition:filter .2s}
.plogo:hover{background:var(--bone)}
.plogo:hover img{filter:none}
.plogo:hover .mono{color:var(--ink)}
.plogo .mono{font-size:9px;letter-spacing:.25em;color:var(--muted)}

/* trim pass: 1+2 highlights, footer crest fallback */
.crest-bar .ini{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;font-family:'JetBrains Mono';font-size:11px;font-weight:700;color:var(--bone);background:var(--steel-2)}
.comp-block[hidden],.ini[hidden],.totw-view[hidden]{display:none}
.gal-grid{margin-top:18px}

/* ===================== clubs board (replaces the static cup panel) ===================== */
.club-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.club-tile{display:block;padding:20px;background:var(--card);border:1px solid var(--border);text-decoration:none;color:var(--bone);transition:border-color .25s,transform .25s}
.club-tile:hover{border-color:var(--acid);transform:translateY(-3px)}
.club-tile .ct-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.club-tile .ct-top img{width:52px;height:52px;object-fit:contain}
.club-tile .ct-top .ini{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;font-family:'JetBrains Mono';font-size:15px;font-weight:700;color:var(--bone);background:var(--steel-2)}
.ct-pos{font-family:'Anton';font-size:26px;line-height:1;color:var(--muted)}
.ct-pos.q{color:var(--acid)}
.club-tile h3{font-family:'Anton';font-size:21px;line-height:1;text-transform:uppercase;margin-bottom:12px}
.ct-rec{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:9px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}
.ct-rec b{font-family:'Anton';font-size:14px;color:var(--bone);letter-spacing:0}
.ct-holder{color:var(--acid)}
.ct-next{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:9px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
.club-tile:hover .ct-next{color:var(--bone)}

/* ===================== horizontal rails: arrows + hint ===================== */
.rail-wrap{position:relative}
.rail-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:42px;height:42px;display:grid;place-items:center;background:rgba(8,10,22,.85);border:1px solid var(--border);color:var(--bone);font-size:22px;line-height:1;cursor:pointer;transition:background .2s,border-color .2s,opacity .2s}
.rail-btn:hover{border-color:var(--acid);color:var(--acid)}
.rail-btn.prev{left:-8px}
.rail-btn.next{right:-8px}
.rail-btn[disabled]{opacity:0;pointer-events:none}
.rail-hint{display:block;margin-top:10px;font-size:9px;letter-spacing:.28em;color:var(--muted);text-transform:uppercase}
@media(hover:hover){.rail-hint{display:none}}
@media(max-width:700px){.rail-btn{display:none}}

/* ===================== headline rail cards ===================== */
.news-rail .rail-x{gap:16px}
.nx-card{flex:0 0 calc(25% - 12px);min-width:210px;scroll-snap-align:start;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--border);text-decoration:none;color:var(--bone);transition:border-color .25s}
.nx-card:hover{border-color:var(--acid)}
.nx-ph{height:130px;background:var(--steel-2);background-size:cover;background-position:center;display:grid;place-items:center;color:rgba(245,244,239,.2);font-size:26px;filter:grayscale(30%);transition:filter .4s}
.nx-card:hover .nx-ph{filter:none}
.nx-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.nx-body .chip{align-self:flex-start;font-size:9px;letter-spacing:.2em;padding:3px 7px}
.nx-body h4{font-family:'Bebas Neue';font-size:17px;line-height:1.12;letter-spacing:.01em}
.nx-body p{font-size:11px;line-height:1.55;color:var(--muted)}
.nx-date{margin-top:auto;font-size:9px;letter-spacing:.22em;color:var(--muted)}
@media(max-width:1100px){.nx-card{flex:0 0 calc(33.333% - 11px)}}
@media(max-width:860px){.nx-card{flex:0 0 calc(50% - 8px)}}
@media(max-width:560px){.nx-card{flex:0 0 82%}}

/* ===================== highlights: feature + list ===================== */
.hl-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:stretch}
@media(max-width:900px){.hl-grid{grid-template-columns:1fr}}
.hl-feature{position:relative;overflow:hidden;border:1px solid var(--border);background:var(--card);min-height:420px;display:block;text-decoration:none;color:var(--bone)}
.hl-feature .ph{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(20%);transition:.7s}
.hl-feature:hover .ph{filter:none;transform:scale(1.04)}
.hl-feature .grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,10,22,.96) 8%,rgba(8,10,22,.25) 60%,transparent)}
.hl-feature .ribbon{position:absolute;top:22px;left:-6px;z-index:3;background:var(--acid);color:var(--ink);font-family:'Anton';font-size:15px;letter-spacing:.06em;padding:7px 16px;transform:rotate(-3deg);text-transform:uppercase}
.hl-feature .play,.hl-row .play{display:grid;place-items:center;border-radius:50%;background:rgba(245,244,239,.14);border:1px solid rgba(245,244,239,.5);backdrop-filter:blur(4px)}
.hl-feature .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66px;height:66px;font-size:20px;z-index:3;transition:background .25s}
.hl-feature:hover .play{background:var(--acid);color:var(--ink);border-color:var(--acid)}
.hl-cap{position:absolute;left:26px;right:26px;bottom:22px;z-index:3}
.hl-cap span{font-size:9px;letter-spacing:.25em;color:var(--acid);text-transform:uppercase}
.hl-cap h3{font-family:'Anton';font-size:clamp(22px,2.4vw,34px);line-height:1;text-transform:uppercase;margin-top:8px}
.hl-list{display:flex;flex-direction:column;gap:16px}
.hl-row{flex:1;display:flex;align-items:center;gap:14px;padding:12px;background:var(--card);border:1px solid var(--border);text-decoration:none;color:var(--bone);transition:border-color .25s}
.hl-row:hover{border-color:var(--acid)}
.hl-thumb{position:relative;flex:0 0 132px;height:78px;background:var(--steel-2);background-size:cover;background-position:center;filter:grayscale(25%);transition:filter .4s}
.hl-row:hover .hl-thumb{filter:none}
.hl-row .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;font-size:9px;font-style:normal}
.hl-meta{min-width:0;display:flex;flex-direction:column;gap:7px}
.hl-meta b{font-family:'Bebas Neue';font-size:17px;line-height:1.1;letter-spacing:.02em}
.hl-meta i{font-size:9px;letter-spacing:.2em;color:var(--muted);font-style:normal}

/* ===================== matchday drawer: bolder rows, round by round ===================== */
.matchday-tab{width:54px;height:158px}
.matchday-tab .tab-label{font-size:20px;letter-spacing:.28em}
.md-seg{width:100%}
.md-seg button{flex:1}
.md-comp{display:flex;flex-direction:column;gap:26px}
.md-comp[hidden]{display:none}
.md-none{font-size:11px;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;padding:6px 0}
.mdx{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:14px 10px;background:var(--card);border:1px solid var(--border);text-decoration:none;color:var(--bone);margin-bottom:10px;transition:border-color .2s,transform .2s}
.mdx:last-child{margin-bottom:0}
.mdx:hover{border-color:var(--acid);transform:translateX(-2px)}
.mdx-side{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:0}
.mdx-side img{width:46px;height:46px;object-fit:contain}
.mdx-side b{font-family:'Bebas Neue';font-size:19px;letter-spacing:.1em}
.mdx-mid{flex-shrink:0;min-width:92px;text-align:center;padding:10px 8px;background:var(--ink-deep);border:1px solid var(--border)}
.mdx-mid b{display:block;font-family:'Anton';font-size:27px;line-height:1;letter-spacing:.02em}
.mdx-mid i{display:block;margin-top:6px;font-family:'JetBrains Mono';font-size:9px;letter-spacing:.18em;color:var(--muted);font-style:normal}
.mdx.done .mdx-mid b{color:var(--acid)}
.mdx.is-live .mdx-mid{border-color:var(--red)}
.mdx.is-live .mdx-mid b{color:var(--red)}
.mdx.is-live .mdx-mid i{color:var(--red)}
.md-hero .mdx{margin-bottom:0}
.md-hero .mdx-side img{width:56px;height:56px}
.md-hero .mdx-mid b{font-size:32px}
.md-hero-btn{display:block;margin-top:14px;text-align:center;font-size:12px;padding:11px 22px}
.md-venue{font-size:9px;letter-spacing:.15em;color:var(--muted);margin-top:12px;text-align:center;text-transform:uppercase}
.md-clock{margin-top:16px}
.md-tbl{font-size:13px}
.md-tbl th{font-size:9px;letter-spacing:.22em}
.md-tbl td{padding:11px 6px}
.md-tbl .md-pos{font-family:'Anton';font-size:17px;width:26px}
.md-tbl .md-pts{font-family:'Anton';font-size:18px;text-align:right}
.md-club{display:flex;align-items:center;gap:9px;font-family:'Bebas Neue';font-size:16px;letter-spacing:.04em}
.md-club img{width:22px;height:22px;object-fit:contain;flex:none}

/* The fixed matchday tab sits over the right edge — keep a gutter for it. */
@media(min-width:901px){
	.section .wrap,.cta .wrap,.partners-neo .wrap,.site-foot .wrap{padding-right:74px}
	.rail-btn.next{right:10px}
}
.cta h2{margin-top:22px}
.cta .kicker{margin-bottom:6px}
.md-bh.now{color:var(--acid);border-bottom-color:rgba(194,255,26,.4)}

/* homepage standings: heavier so the table reads at a glance */
.tbl td{font-size:13px;padding:14px}
.tbl .pos{font-size:22px;width:38px}
.tbl .team{font-size:20px;letter-spacing:.03em}
.tbl .team img{height:30px;width:30px}
.tbl .pts{font-family:'Anton';font-size:20px;color:var(--bone)}
.tbl tr.q .pts{color:var(--acid);font-weight:400}
.tbl tr.q .pos{color:var(--acid)}

/* ===================== next-match header: symmetrical home / away ===================== */
.cd-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;flex:1;min-width:min(100%,280px)}
.cd-side{display:flex;align-items:center;gap:12px;min-width:0;font-family:'Bebas Neue';font-size:22px;letter-spacing:.06em;line-height:1.05}
.cd-side img{height:44px;width:44px;object-fit:contain;flex:none}
.cd-vs .cd-side:last-child{flex-direction:row-reverse;text-align:right}
.cd-mid{flex:none;text-align:center;font-size:11px;letter-spacing:.22em;color:var(--muted)}
.cd-mid.score{font-family:'Anton';font-size:26px;letter-spacing:.02em;color:var(--red)}

/* ===================== mobile ===================== */
@media(max-width:760px){
	.section{padding:56px 20px}
	.section-slim{padding:40px 20px}
	.cta{padding:64px 20px}
	.kicker{flex-wrap:wrap;gap:10px}
	.kicker .rule{display:none}
	.sec-head{margin-bottom:24px}
	.matchday-mq{display:none}
	.countdown{padding:20px;gap:20px}
	.cd-vs{gap:10px}
	.cd-side,.cd-vs .cd-side:last-child{flex-direction:column;text-align:center;gap:8px;font-size:15px}
	.cd-side img{height:40px;width:40px}
	.cd-clock{gap:18px;width:100%;justify-content:space-between}
	.cd-unit b{font-size:32px}
	.hl-feature{min-height:300px}
	.hl-thumb{flex:0 0 104px;height:62px}
	.p-card{flex:0 0 82%}
	.club-tile{padding:16px}
	.tbl td,.tbl th{padding:10px 8px}
	.tbl .team{font-size:17px}
	.tbl .pos{font-size:19px;width:30px}
	/* the drawer handle becomes a thumb-reachable pill instead of covering the page */
	.matchday-tab{top:auto;bottom:16px;right:16px;transform:none;width:auto;height:46px;padding:0 20px;flex-direction:row;gap:8px;border-left:none;background:var(--acid);box-shadow:0 6px 24px rgba(0,0,0,.55)}
	.matchday-tab .tab-label{writing-mode:horizontal-tb;transform:none;font-size:17px;letter-spacing:.18em;color:var(--ink)}
	.matchday-tab.is-live{background:var(--red)}
	.matchday-tab.is-live .tab-label{color:var(--bone)}
	.matchday-tab.is-live .tab-dot{background:var(--bone)}
}

/* plugin templates ship both a full and a short club label — show one */
.t-short{display:none}
@media(max-width:560px){.t-full{display:none}.t-short{display:inline}}
/* keep the fixed matchday handle off the plugin templates' content too */
@media(min-width:901px){.sec .wrap{padding-right:74px}}

/* =====================================================================
   MATCH PAGES — fixtures list + match centre (plugin templates)
   ===================================================================== */

/* --- accessibility baseline --- */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,[role="tab"]:focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.chip-red{color:var(--ink)}
@media(prefers-reduced-motion:reduce){
  .pulse-dot,.livebdg i{animation:none}
}
/* segmented controls are used with anchors as well as buttons */
.seg a{padding:12px 26px;font-family:'Bebas Neue';font-size:14px;letter-spacing:.15em;color:var(--muted);text-decoration:none;display:inline-block}
.seg a.on{background:var(--acid);color:var(--ink)}
.seg a:hover{color:var(--bone)}
.seg a.on:hover{color:var(--ink)}

/* --- the shared fixture row --- */
.fxrow{display:block;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-top:none;text-decoration:none;color:var(--bone);position:relative;transition:border-color .2s,background .2s}
.fx-day + .fxrow{border-top:1px solid var(--border)}
.fxrow:first-of-type{border-top:1px solid var(--border)}
.fxrow:hover{border-color:var(--acid);background:var(--ink-deep)}
.fxrow-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}
.fxrow-side{display:flex;align-items:center;gap:12px;min-width:0}
.fxrow-side.home{justify-content:flex-end;text-align:right}
.fxrow-side img{width:34px;height:34px;object-fit:contain;flex:none}
.fxrow-side .ini{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:none;font-family:var(--fm);font-size:11px;font-weight:700;background:var(--steel-2);color:var(--bone)}
.fxrow-side .nm{font-family:'Bebas Neue';font-size:19px;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fxrow-mid{flex:none;min-width:104px;text-align:center;padding:8px 10px;background:var(--ink-deep);border:1px solid var(--border)}
.fxrow-mid b{display:block;font-family:'Anton';font-size:24px;line-height:1;letter-spacing:.02em}
.fxrow-mid i{display:block;margin-top:5px;font-family:var(--fm);font-size:9px;letter-spacing:.16em;color:var(--muted);font-style:normal}
.fxrow.done .fxrow-mid b{color:var(--acid)}
.fxrow.is-live .fxrow-mid{border-color:var(--red)}
.fxrow.is-live .fxrow-mid b,.fxrow.is-live .fxrow-mid i{color:var(--red)}
/* the winner reads heavier than the loser, so a result lands without reading digits */
.fxrow.home-won .fxrow-side.away .nm,.fxrow.away-won .fxrow-side.home .nm{color:var(--muted)}
.fxrow-scorers{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-family:var(--fm);font-size:10px;line-height:1.6;color:var(--muted)}
.fxrow-scorers span:first-child{text-align:right}
.fxrow-tv{position:absolute;top:10px;right:12px;font-size:9px;color:var(--acid)}

/* --- fixtures page chrome --- */
.fx-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fx-season,.fx-club{display:flex;align-items:center;gap:8px}
.fx-season select,.fx-club select{background:var(--card);border:1px solid var(--line-2);color:var(--bone);padding:10px 12px;font-family:var(--fm);font-size:12px;border-radius:0}
.fx-go{padding:10px 16px;font-size:12px}
.fx-filters{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:20px 0}
.fx-tz{font-size:9px;letter-spacing:.2em;color:var(--muted);margin-left:auto}
.fx-comp,.fx-group{margin-bottom:12px}
.fx-bar{position:sticky;top:96px;z-index:20;background:var(--ink-deep);border:1px solid var(--border);padding:10px 12px;display:flex;align-items:center;gap:16px}
.fx-step{display:flex;align-items:center;gap:12px;flex:none}
.fx-arrow{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line-2);color:var(--bone);text-decoration:none;font-size:18px;flex:none}
.fx-arrow:hover{border-color:var(--acid);color:var(--acid)}
.fx-arrow.is-off{opacity:.25}
.fx-round{text-align:center;min-width:0}
.fx-round b{display:block;font-family:'Anton';font-size:18px;text-transform:uppercase;line-height:1;white-space:nowrap}
.fx-round i{display:block;margin-top:3px;font-size:9px;letter-spacing:.14em;color:var(--acid);font-style:normal;white-space:nowrap}
.fx-rail{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;flex:1;min-width:0;scrollbar-width:thin}
.fx-rail::-webkit-scrollbar{height:3px}
.fx-rail::-webkit-scrollbar-thumb{background:var(--steel-2)}
.fx-pill{flex:none;min-width:34px;padding:7px 8px;text-align:center;border:1px solid var(--line-2);color:var(--muted);font-family:var(--fm);font-size:11px;text-decoration:none}
.fx-pill.played{color:var(--bone)}
.fx-pill.on{background:var(--acid);border-color:var(--acid);color:var(--ink);font-weight:700}
.fx-pill:hover{border-color:var(--acid)}
.fx-day{padding:12px 16px;background:var(--ink-deep);border:1px solid var(--border);border-bottom:none;margin-top:16px}
.fx-day span{font-size:10px;letter-spacing:.24em;color:var(--acid)}
.fx-clubhead{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:4px}
.fx-clubname{font-family:'Anton';font-size:22px;text-transform:uppercase}
.fx-clear{font-size:10px;letter-spacing:.2em;color:var(--muted);text-decoration:none}
.fx-clear:hover{color:var(--red)}
.fx-foot{margin-top:22px}

/* --- match centre --- */
.mc-head{background:var(--card);border:1px solid var(--border);padding:22px 24px}
.mc-top{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.mc-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;margin:22px 0 6px}
.mc-side{display:flex;align-items:center;gap:14px;min-width:0}
.mc-side.away{flex-direction:row-reverse;text-align:right}
.mc-side img{width:56px;height:56px;object-fit:contain;flex:none}
.mc-side .cname{font-family:'Bebas Neue';font-size:clamp(17px,2.2vw,26px);letter-spacing:.04em;line-height:1.05}
.mc-num{flex:none;text-align:center}
.mc-num b{display:block;font-family:'Anton';font-size:clamp(40px,6vw,72px);line-height:.9;letter-spacing:.01em}
.mc-num i{display:block;margin-top:6px;font-size:10px;letter-spacing:.18em;color:var(--muted);font-style:normal}
.mc-pens{color:var(--acid)!important}
.mc-scorers{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:start;padding-top:14px;border-top:1px solid var(--border);font-family:var(--fm);font-size:11px;line-height:1.7;color:var(--muted)}
.mc-scorers span:first-child{text-align:right}
.mc-meta{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:10px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase;display:flex;gap:14px;flex-wrap:wrap}
.mc-tv{color:var(--acid);text-decoration:none}
.mc-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);font-size:10px;letter-spacing:.18em}
.mc-nav a{color:var(--muted);text-decoration:none}
.mc-nav a:hover{color:var(--acid)}
.mc-nav a:last-child{text-align:right}
.mc-nav a:nth-child(2){text-align:center;color:var(--bone)}
.mc-video{margin:16px auto 0;max-width:720px;border:1px solid var(--border);background:#000;position:relative;aspect-ratio:16/9;overflow:hidden}
.mc-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mc-tabs{margin-top:20px;flex-wrap:nowrap;max-width:100%;overflow-x:auto;scrollbar-width:none}
.mc-tabs::-webkit-scrollbar{display:none}
.mc-tabs button{cursor:pointer;background:none;border:none;white-space:nowrap}
.mc-panel{margin-top:18px}
.mc-panel[hidden]{display:none!important}
.mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:820px){.mc-grid{grid-template-columns:1fr}}
.mc-none{padding:16px;font-size:11px;letter-spacing:.12em;color:var(--muted);text-transform:uppercase}

/* event timeline */
.mc-events{padding:6px 0}
.mev{display:grid;grid-template-columns:44px 20px 34px 1fr;align-items:center;gap:10px;padding:11px 16px;border-bottom:1px solid var(--border)}
.mev:last-child{border-bottom:none}
.mev.away{grid-template-columns:1fr 34px 20px 44px;text-align:right}
.mev.away .mev-min{order:4}
.mev.away .mev-ico{order:3}
.mev.away .mev-face{order:2}
.mev.away .mev-body{order:1}
.mev-face{width:34px;height:34px}
.mev-face i{font-size:16px}
.mev-min{font-size:11px;color:var(--muted)}
.mev-ico{text-align:center;font-size:13px;line-height:1}
.mev-ico.goal{color:var(--bone)}
.mev-ico.og{color:var(--red)}
.mev-ico.yel{color:#eab308}
.mev-ico.red{color:var(--red)}
.mev-ico.subin{color:var(--acid)}
.mev-ico.subout{color:var(--muted)}
.mev-body{min-width:0}
.mev-body b{display:block;font-family:'Bebas Neue';font-size:17px;letter-spacing:.03em}
.mev-body i{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);font-style:normal;text-transform:uppercase;margin-top:2px}

/* lineups */
.mc-lu-head{padding:10px 16px;font-size:9px;letter-spacing:.24em;color:var(--acid);background:var(--ink-deep);border-bottom:1px solid var(--border)}
.mc-lu{list-style:none}
.mc-lu li{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);font-size:13px}
.mc-lu li:last-child{border-bottom:none}
.mc-lu .no{flex:none;width:24px;text-align:right;font-size:11px;color:var(--muted)}
.mc-lu a{color:var(--bone);text-decoration:none;font-family:'Bebas Neue';font-size:16px;letter-spacing:.03em}
.mc-lu a:hover{color:var(--acid)}
.mc-lu .pos{font-size:9px;letter-spacing:.14em;color:var(--muted)}
.mc-lu-marks{margin-left:auto;display:flex;align-items:center;gap:7px;flex:none}
.mk{font-size:10px;line-height:1}
.mk.yel{color:#eab308}
.mk.red{color:var(--red)}
.mk.subin{color:var(--acid);font-size:9px}
.mk.subout{color:var(--muted);font-size:9px}

/* form, head to head, suspension watch */
.mc-form{padding:6px 0}
.mc-form > div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-bottom:1px solid var(--border)}
.mc-form > div:last-child{border-bottom:none}
.mc-form .cname{font-family:'Bebas Neue';font-size:17px;letter-spacing:.03em}
.mc-h2h-sum{padding:14px 16px;border-bottom:1px solid var(--border);font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.mc-h2h-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--bone);font-family:'Bebas Neue';font-size:16px;letter-spacing:.03em}
.mc-h2h-row:last-child{border-bottom:none}
.mc-h2h-row:hover{color:var(--acid)}
.mc-h2h-row .mono{font-size:10px;letter-spacing:.14em;color:var(--muted);font-family:var(--fm)}
.mc-watch{margin-top:16px}
.mc-watch-list{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px}
.mc-watch-list a{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--line-2);text-decoration:none;color:var(--bone);font-family:'Bebas Neue';font-size:15px;letter-spacing:.03em}
.mc-watch-list a:hover{border-color:#eab308}
.mc-watch-list img{width:20px;height:20px;object-fit:contain}
.mc-watch-list .mono{font-family:var(--fm);font-size:9px;letter-spacing:.14em;color:#eab308}

/* match stats bars */
.ms-body{padding:18px 20px}
.ms-row{display:grid;grid-template-columns:46px 1fr 46px;gap:12px;align-items:center;margin-bottom:14px}
.ms-row:last-child{margin-bottom:0}
.ms-num{font-family:'Anton';font-size:17px;text-align:right}
.ms-num.a{text-align:left}
.ms-inner{display:flex;flex-direction:column;gap:6px}
.ms-bar{display:flex;height:6px;overflow:hidden;background:var(--border)}
.ms-bar-h{background:var(--acid)}
.ms-bar-a{background:var(--cobalt);margin-left:auto}
.ms-lbl{font-size:9px;letter-spacing:.18em;color:var(--muted);text-align:center;text-transform:uppercase}

/* preview / report cards */
.mc-story{display:block;padding:20px;background:var(--card);border:1px solid var(--border);text-decoration:none;color:var(--bone)}
.mc-story:hover{border-color:var(--acid)}
.mc-story h3{font-family:'Anton';font-size:19px;text-transform:uppercase;line-height:1.05;margin:10px 0 8px}
.mc-story p{font-size:12px;line-height:1.6;color:var(--muted)}

/* --- mobile --- */
@media(max-width:760px){
  .sec{padding:40px 16px}
  .fxrow{padding:12px 10px}
  .fxrow-main{gap:8px}
  .fxrow-side{flex-direction:column;gap:7px;text-align:center}
  .fxrow-side.home,.fxrow-side.away{text-align:center}
  .fxrow-side .nm{font-size:15px;max-width:92px}
  .fxrow-mid{min-width:82px;padding:7px 6px}
  .fxrow-mid b{font-size:20px}
  .fxrow-scorers{grid-template-columns:1fr;gap:4px}
  .fxrow-scorers span:first-child{text-align:left}
  .fx-bar{top:88px;padding:8px;flex-wrap:wrap}
  .fx-step{width:100%;justify-content:space-between}
  .fx-round b{font-size:16px}
  .fx-filters{gap:10px}
  .fx-tz{margin-left:0}
  .mc-head{padding:16px}
  .mc-score{gap:10px;margin:16px 0 4px}
  .mc-side{flex-direction:column;gap:8px;text-align:center}
  .mc-side.away{flex-direction:column;text-align:center}
  .mc-side img{width:44px;height:44px}
  .mc-scorers{grid-template-columns:1fr;gap:6px}
  .mc-scorers span:first-child{text-align:left}
  .mc-scorers span:nth-child(2){display:none}
  .mev{grid-template-columns:34px 18px 28px 1fr;gap:8px;padding:10px 10px}
  .mev.away{grid-template-columns:1fr 28px 18px 34px}
  .mev-face{width:28px;height:28px}
  .mev-face i{font-size:13px}
  .mc-tabs button{padding:11px 16px;font-size:13px}
  /* the fixed matchday pill floats bottom-right on mobile — keep the last
     row of content clear of it */
  .site-foot{padding-bottom:84px}
}

/* --- match centre: five-tab layout --- */
.mc-grid-wide{grid-template-columns:1.35fr 1fr}
@media(max-width:960px){.mc-grid-wide{grid-template-columns:1fr}}
.mc-col{display:flex;flex-direction:column;gap:16px;min-width:0}
.mc-story-panel{overflow:hidden}
.mc-story-img{display:block;height:210px;background-size:cover;background-position:center;filter:grayscale(25%);transition:filter .4s}
.mc-story-panel:hover .mc-story-img{filter:none}
.mc-story-body{padding:18px 20px}
.mc-story-body h4{font-family:'Anton';font-size:20px;line-height:1.08;text-transform:uppercase}
.mc-story-body p{margin-top:10px;font-size:13px;line-height:1.65;color:var(--muted)}
.mc-story-cta{margin-top:16px;font-size:12px;padding:11px 18px}
/* lineups */
.mc-lu-panel .ph{align-items:center}
.mc-lu-team{display:flex;align-items:center;gap:10px;min-width:0}
.mc-lu-team img{width:28px;height:28px;object-fit:contain;flex:none}
.mc-face{flex:none;width:32px;height:32px;overflow:hidden;background:var(--steel-2);display:grid;place-items:center}
.mc-face img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.mc-face i{font-family:'Bebas Neue';font-size:15px;color:var(--muted);font-style:normal}
/* table: the two clubs in this game */
.mc-tbl tr.mine{background:rgba(194,255,26,.09)}
.mc-tbl tr.mine .pos,.mc-tbl tr.mine .pts{color:var(--acid)}
.mc-tbl tr.mine .team{color:var(--bone)}
@media(max-width:760px){
  .mc-story-img{height:160px}
  .mc-story-body{padding:14px 16px}
  .mc-face{width:28px;height:28px}
}

/* =====================================================================
   CLUB PAGES — directory board + club hub
   ===================================================================== */

/* directory board (shared with the homepage's 13-club board) */
.club-board{list-style:none}
.club-board > li{display:block}
/* the card's visual half sits in an aria-hidden wrapper; without this it is an
   inline box holding block children, which draws stray rules between rows */
.club-tile > [aria-hidden]{display:block}
/* .ct-next is a <span> inside the card link; inline + border-top draws a stray rule */
.club-tile .ct-next,.club-tile .ct-rec{display:block}
.club-tile .ct-rec{display:flex}
.ct-name{display:block;font-family:'Anton';font-size:21px;line-height:1;text-transform:uppercase;margin-bottom:10px}
.ct-form{display:flex;flex-direction:row;align-items:center;gap:5px;margin-bottom:10px}
.ct-form .fd{margin-right:0;flex:0 0 auto}
.ct-rec .pts b{color:var(--acid)}
.ct-chip{display:inline-block;margin-top:10px}
.clubs-sort{margin-bottom:18px}
.clubs-tail-h{margin:34px 0 14px}
.clubs-tail-h .kicker{flex-wrap:wrap}

/* club hero */
.club-hero{background:var(--card);border:1px solid var(--border);padding:26px}
.club-hero.is-past{border-color:rgba(255,41,41,.4)}
.club-hero-top{display:flex;align-items:flex-start;gap:24px;flex-wrap:wrap}
.club-plate{flex:none;width:96px;height:96px;background:var(--steel);border:1px solid var(--border);display:grid;place-items:center;padding:12px}
.club-plate img{width:100%;height:100%;object-fit:contain}
.club-plate i{font-family:'Anton';font-size:34px;color:var(--muted);font-style:normal}
.club-hero-id{min-width:0;flex:1}
.club-hero-id h1{font-family:'Anton';font-size:clamp(32px,5vw,68px);line-height:.92;text-transform:uppercase;margin-top:12px}
.club-meta{margin-top:12px;font-size:11px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.club-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.club-social{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.club-social.in-panel{padding:16px}
.club-strip{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}
.club-strip.in-panel{margin-top:0;padding:18px 20px;border-top:none}
.cst{display:flex;flex-direction:column;gap:4px}
.cst b{font-family:'Anton';font-size:26px;line-height:1}
.cst b.acid{color:var(--acid)}
.cst i{font-family:var(--fm);font-size:9px;letter-spacing:.22em;color:var(--muted);font-style:normal}
.cst-form b{font-size:inherit;line-height:1.4}

/* club tab bar */
.club-tabbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:22px 0 0}
.club-tabs{max-width:100%;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}
.club-tabs::-webkit-scrollbar{display:none}
.club-tabs button{cursor:pointer;background:none;border:none;white-space:nowrap}

/* club fixture row (club's own perspective) */
.cfx{display:block;padding:12px 16px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--bone);transition:background .2s}
.cfx:last-child{border-bottom:none}
.cfx:hover{background:var(--ink-deep)}
.cfx-in{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:12px}
.cfx-crest{width:34px;height:34px;display:grid;place-items:center;overflow:hidden;background:var(--steel-2)}
.cfx-crest img{width:100%;height:100%;object-fit:contain}
.cfx-crest i{font-family:var(--fm);font-size:10px;font-weight:700;color:var(--bone);font-style:normal}
.cfx-who{min-width:0}
.cfx-who b{display:block;font-family:'Bebas Neue';font-size:18px;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cfx-who i{display:block;font-size:9px;letter-spacing:.18em;color:var(--muted);font-style:normal;margin-top:2px}
.cfx-res{flex:none;min-width:78px;text-align:center;padding:7px 8px;background:var(--ink-deep);border:1px solid var(--border)}
.cfx-res b{display:block;font-family:'Anton';font-size:20px;line-height:1}
.cfx-res i{display:block;margin-top:3px;font-family:var(--fm);font-size:9px;letter-spacing:.18em;color:var(--muted);font-style:normal}
.cfx.is-live .cfx-res{border-color:var(--red)}
.cfx.is-live .cfx-res b,.cfx.is-live .cfx-res i{color:var(--red)}

/* squad, scorers, staff, news, honours, facts */
.club-note{padding:12px 16px;font-size:10px;letter-spacing:.16em;color:var(--muted);border-bottom:1px solid var(--border)}
.club-band{margin-bottom:16px}
.club-squad,.club-scorers,.club-staff,.club-honours{list-style:none}
.club-squad li{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}
.club-squad li:last-child,.club-scorers li:last-child,.club-staff li:last-child,.club-honours li:last-child{border-bottom:none}
.club-squad .no{flex:none;width:24px;text-align:right;font-size:11px;color:var(--muted)}
.club-squad a{font-family:'Bebas Neue';font-size:17px;letter-spacing:.03em;color:var(--bone);text-decoration:none}
.club-squad a:hover{color:var(--acid)}
.club-flag{flex:none}
.club-pstats{margin-left:auto;display:flex;gap:12px;flex:none}
.club-pstats span{font-size:13px;font-family:'Anton'}
.club-pstats span.acid{color:var(--acid)}
.club-pstats i{font-family:var(--fm);font-size:9px;letter-spacing:.16em;color:var(--muted);font-style:normal}
.club-scorers li{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}
.club-scorers a{flex:1;min-width:0;font-family:'Bebas Neue';font-size:17px;letter-spacing:.03em;color:var(--bone);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.club-scorers a:hover{color:var(--acid)}
.club-scorers b{font-family:'Anton';font-size:19px;color:var(--acid)}
.club-staff li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}
.club-staff a,.club-staff > li > span{font-family:'Bebas Neue';font-size:16px;letter-spacing:.03em;color:var(--bone);text-decoration:none}
.club-staff a:hover{color:var(--acid)}
.club-staff i{font-size:9px;letter-spacing:.18em;color:var(--muted);font-style:normal;flex:none}
.club-news{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--bone)}
.club-news:last-child{border-bottom:none}
.club-news:hover{background:var(--ink-deep)}
.club-news-t{flex:1;min-width:0;font-family:'Bebas Neue';font-size:16px;letter-spacing:.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.club-news-d{flex:none;font-size:9px;letter-spacing:.16em;color:var(--muted)}
.club-honours li{display:flex;align-items:baseline;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border)}
.club-honours b{font-family:'Anton';font-size:16px;text-transform:uppercase}
.club-honours span{flex:1;font-size:10px;letter-spacing:.14em;color:var(--muted)}
.club-honours i{font-family:'Anton';font-size:16px;color:var(--acid);font-style:normal}
.club-bio{padding:20px}
.club-bio p{font-size:14px;line-height:1.75;max-width:72ch;color:var(--bone)}
.club-facts{display:grid;grid-template-columns:auto 1fr;gap:10px 20px;padding:18px 20px;font-size:13px}
.club-facts dt{font-family:var(--fm);font-size:9px;letter-spacing:.18em;color:var(--muted);text-transform:uppercase;align-self:center}
.club-facts dd{font-family:'Bebas Neue';font-size:17px;letter-spacing:.03em}
.club-facts .none{font-family:var(--fm);font-size:10px;letter-spacing:.14em;color:var(--muted)}

@media(max-width:760px){
  .club-hero{padding:18px}
  .club-hero-top{gap:16px}
  .club-plate{width:64px;height:64px;padding:8px}
  .club-plate i{font-size:22px}
  .club-hero-id h1{font-size:clamp(26px,8vw,40px)}
  .club-strip{gap:10px 18px}
  .cst b{font-size:20px}
  .club-tabs button{padding:11px 16px;font-size:13px}
  .cfx-in{grid-template-columns:28px 1fr auto;gap:9px}
  .cfx-crest{width:28px;height:28px}
  .cfx-res{min-width:66px}
  .cfx-res b{font-size:17px}
  .club-facts{grid-template-columns:1fr;gap:4px 0}
  .club-facts dd{margin-bottom:10px}
  .club-pstats{gap:8px}
}

/* =====================================================================
   TYPE LEGIBILITY — stop faux bold, even out the two engines, give the
   condensed numerals room to breathe
   ===================================================================== */

/* Never let the browser invent a weight or a slant we do not ship. */
html{font-synthesis:none;-webkit-font-synthesis:none}

/* Safari renders type appreciably heavier than Chrome without this, which was
   compounding the faux-bold problem. */
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}

/* Anton is a display face; below about 40px its digits need positive tracking,
   and number strips need equal-width figures so columns line up. */
.cst b,.ct-pos,.ct-rec b,.cfx-res b,.mdx-mid b,.fxrow-mid b,.mc-num b,.ms-num,
.tbl .pos,.tbl .pts,.md-tbl .md-pos,.md-tbl .md-pts,.club-honours b,.club-honours i,
.club-pstats span,.club-scorers b,.fx-round b,.st b,.cd-unit b,.p-card .stats b{
  letter-spacing:.03em;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}

/* The smallest mono labels were 8px with .22em tracking — past the point where
   tracking helps and into the point where it separates the word. */
.cst i,.mdx-mid i,.fxrow-mid i,.cfx-res i,.cfx-who i,.mev-body i,.club-pstats i,
.ct-rec,.club-news-d,.mc-scorers,.club-facts dt{font-size:9px;letter-spacing:.14em}
.cst i{font-size:9px;letter-spacing:.16em}

/* Bebas names read tighter than Anton at the same size; a touch of air helps. */
.cfx-who b,.club-squad a,.club-scorers a,.club-staff a,.club-staff > li > span,
.mev-body b,.mdx-side b,.fxrow-side .nm,.mc-lu a,.club-facts dd{letter-spacing:.045em}

/* back out of a club page to pick another */
.club-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:16px;padding:9px 16px;border:1px solid var(--line-2);color:var(--muted);text-decoration:none;font-size:10px;letter-spacing:.2em}
.club-back:hover{border-color:var(--acid);color:var(--acid)}

/* At 9-10px, tracking past about .2em stops helping and starts separating the
   word into letters. The signature wide kickers keep theirs; the micro labels
   inside cards do not need it. */
.cst i,.mdx-mid i,.fxrow-mid i,.cfx-res i,.cfx-who i,.mev-body i,.club-pstats i,
.club-news-d,.ms-lbl,.mc-lu .pos,.club-facts dt,.ct-rec{letter-spacing:.16em}

/* footer newsletter — present on every page, same handler as the homepage CTA */
.f-nl{border-top:1px solid var(--border);background:var(--ink-deep)}
.f-nl-in{max-width:1600px;margin:0 auto;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.f-nl-in p{margin-top:8px;font-size:10px;letter-spacing:.16em;color:var(--muted)}
.f-nl .nl-form{display:flex;gap:10px;flex-wrap:wrap}
.f-nl .nl-form input{min-width:240px;background:var(--card);border:1px solid var(--border);color:var(--bone);padding:13px 16px;font-family:var(--fm);font-size:12px;letter-spacing:.06em;border-radius:0}
.f-nl .nl-form input:focus{outline:none;border-color:var(--acid)}
.f-nl .nl-form button{padding:13px 22px;font-size:12px}
@media(max-width:760px){
  .f-nl-in{padding:20px 16px;gap:14px}
  .f-nl .nl-form,.f-nl .nl-form input{width:100%}
}

/* =====================================================================
   CONTACT
   ===================================================================== */
.ct-desks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;margin-bottom:22px}
.ct-desk-b{padding:18px 20px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.ct-desk-b p{font-size:13px;line-height:1.6;color:var(--muted)}
.ct-main{align-items:start}
.ctc-form{padding:20px;display:flex;flex-direction:column;gap:16px}
.ct-field{display:flex;flex-direction:column;gap:7px}
.ct-field > span{font-family:var(--fm);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.ct-field input,.ct-field select,.ct-field textarea{background:var(--ink-deep);border:1px solid var(--border);color:var(--bone);padding:13px 14px;font:inherit;font-size:14px;border-radius:0}
.ct-field textarea{resize:vertical;min-height:130px;line-height:1.6}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{outline:none;border-color:var(--acid)}
.ctc-form .btn{align-self:flex-start}
/* honeypot: off-screen, never announced as a real field */
.ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.ct-ok,.ct-err{margin:18px 20px 0;padding:14px 16px;border:1px solid var(--acid);display:flex;flex-direction:column;gap:5px}
.ct-err{border-color:var(--red)}
.ct-ok b,.ct-err b{font-family:'Anton';font-size:15px;text-transform:uppercase}
.ct-ok span,.ct-err span{font-size:12px;line-height:1.6;color:var(--muted)}
.ct-clubs{list-style:none}
.ct-clubs li{display:flex;align-items:center;gap:11px;padding:10px 16px;border-bottom:1px solid var(--border)}
.ct-clubs li:last-child{border-bottom:none}
.ct-clubs > li > a{flex:1;min-width:0;font-family:'Bebas Neue';font-size:16px;letter-spacing:.04em;color:var(--bone);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-clubs > li > a:hover{color:var(--acid)}
.ct-club-links{display:flex;gap:10px;flex:none;font-size:9px;letter-spacing:.14em}
.ct-club-links a{color:var(--muted);text-decoration:none}
.ct-club-links a:hover{color:var(--acid)}
.club-facts dd a{color:var(--acid);text-decoration:none}
.club-facts dd a:hover{text-decoration:underline}
@media(max-width:760px){
  .ct-desks{gap:12px}
  .ctc-form{padding:16px}
  .ct-ok,.ct-err{margin:14px 16px 0}
}

/* =====================================================================
   AWARDS
   ===================================================================== */
.aw-view{margin-bottom:16px}
.aw-note{margin:0 0 20px;padding:12px 14px;border:1px solid var(--border);background:var(--card);font-size:10px;letter-spacing:.14em;color:var(--muted)}
.aw-h{margin:32px 0 16px}
.aw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}
.aw-card .ph{padding:12px 16px}
.aw-card .ph .kick{color:var(--acid)}
.aw-card.is-major{border-color:rgba(194,255,26,.55)}
.aw-b{display:flex;align-items:center;gap:14px;padding:16px}
.aw-face{width:48px;height:48px;flex:none}
.aw-face i{font-size:20px}
.aw-who{min-width:0;display:flex;flex-direction:column;gap:5px}
.aw-name{font-family:'Anton';font-size:20px;line-height:1;text-transform:uppercase;color:var(--bone);text-decoration:none}
a.aw-name:hover{color:var(--acid)}
.aw-meta{font-size:9px;letter-spacing:.14em;color:var(--muted);text-transform:uppercase}
.aw-club{display:inline-flex;align-items:center;gap:6px;font-size:9px;letter-spacing:.14em;color:var(--muted);text-decoration:none}
.aw-club img{width:16px;height:16px;object-fit:contain}
.aw-club:hover{color:var(--acid)}
.aw-list{max-width:260px;font-size:9px;letter-spacing:.1em;color:var(--muted)}
.aw-months td{vertical-align:middle}
@media(max-width:760px){
  .aw-b{padding:14px;gap:11px}
  .aw-face{width:40px;height:40px}
  .aw-name{font-size:17px}
  .aw-list{display:none}
}

/* =====================================================================
   MANAGERS & COACHES
   ===================================================================== */
.mg-club select{background:var(--card);border:1px solid var(--line-2);color:var(--bone);padding:11px 14px;font-family:var(--fm);font-size:12px;border-radius:0}
.mg-club select:focus{outline:none;border-color:var(--acid)}
.mg-count{font-size:9px;letter-spacing:.16em;color:var(--muted);margin-left:auto}
.mg-people{list-style:none}
.mg-people li{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border)}
.mg-people li:last-child{border-bottom:none}
.mg-people li[hidden]{display:none}
.mg-people a,.mg-people .mg-name{flex:1;min-width:0;font-family:'Bebas Neue';font-size:17px;letter-spacing:.045em;color:var(--bone);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mg-people a:hover{color:var(--acid)}
.mg-people i{flex:none;font-family:var(--fm);font-size:9px;letter-spacing:.16em;color:var(--muted);font-style:normal}
.mg-group{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.mg-group[hidden]{display:none}
.mg-group-h{flex:none;min-width:82px;font-size:9px;letter-spacing:.2em;color:var(--acid)}
.mg-chips{display:flex;flex-wrap:wrap;gap:7px}
.mg-chips .chip i{font-style:normal;color:var(--muted)}
.mg-at{color:var(--acid);text-decoration:none}
.mg-at:hover{text-decoration:underline}
.club-plate img.is-face{object-fit:cover;object-position:top center}
.mg-faces{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px}
.mg-faces .mc-face{width:44px;height:44px;text-decoration:none}
.mg-faces .mc-face i{font-size:17px}
@media(max-width:760px){
  .mg-count{margin-left:0}
  .mg-group{gap:8px}
  .mg-group-h{min-width:0;flex:1 1 100%}
}

/* ============================================================
   PHOTOS — hub filters, lead tile, and the single-gallery sheet
   These classes were emitted by the templates but never styled.
   ============================================================ */
.ph-filter{display:flex;width:max-content;max-width:100%;margin:0 0 12px}
.ph-pages{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:28px;
  padding-top:20px;border-top:1px solid var(--border);flex-wrap:wrap}
.ph-pages .mono{font-size:9px;letter-spacing:.2em;color:var(--muted)}
.ph-pages .btn{margin:0}

/* The newest set gets a full-width plate so the hub opens on a photograph. */
.gal-lead{margin-bottom:18px}
.gal-tile.is-lead{height:clamp(240px,42vw,420px)}
.gal-tile.is-lead h3{font-size:clamp(30px,4.6vw,52px)}
.gal-tile.is-lead .ph{filter:saturate(1)}

/* Gallery hero: flat plate, photograph on the right, identity on the left. */
.gal-hero .club-hero-top{align-items:stretch}
.gal-hero-ph{display:block;width:clamp(140px,26%,320px);min-height:150px;align-self:stretch;
  background-size:cover;background-position:center;border:1px solid var(--border);
  background-color:var(--ink-deep);order:2;flex:0 0 auto}
.gal-hero .club-hero-id{order:1;min-width:0}
.gal-hero .club-hero-id h1{font-family:'Anton',sans-serif;font-size:clamp(30px,5vw,58px);
  line-height:.94;letter-spacing:.01em;margin:10px 0 12px;text-transform:uppercase}

/* Contact sheet. Uniform cells beat a ragged mix of landscape and portrait. */
.gal-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));
  gap:10px;margin:22px 0 26px}
.gal-shot{position:relative;display:block;padding:0;margin:0;border:1px solid var(--border);
  background:var(--ink-deep);cursor:zoom-in;overflow:hidden;aspect-ratio:4/3;
  -webkit-appearance:none;appearance:none}
.gal-shot img{display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease,opacity .3s ease}
.gal-shot:hover img,.gal-shot:focus-visible img{transform:scale(1.06)}
.gal-shot:hover,.gal-shot:focus-visible{border-color:var(--acid)}
.gal-shot::after{content:'';position:absolute;left:0;right:0;bottom:0;height:34%;
  background:linear-gradient(180deg,transparent,rgba(8,10,22,.55));opacity:0;transition:opacity .3s}
.gal-shot:hover::after{opacity:1}

.gal-fixtures,.gal-words{margin-top:20px}
.gal-words .club-bio p{margin:0;color:var(--dim);line-height:1.75}

@media (max-width:760px){
  .gal-shots{grid-template-columns:repeat(auto-fill,minmax(min(140px,48%),1fr));gap:7px}
  /* Seven season pills do not fit a phone; swipe rather than squash. */
  .ph-filter{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .ph-filter::-webkit-scrollbar{display:none}
  .ph-filter a{flex:0 0 auto;padding:11px 18px;font-size:13px}
  .gal-hero .club-hero-top{flex-direction:column}
  .gal-hero-ph{width:100%;order:1;height:180px;min-height:0}
  .gal-hero .club-hero-id{order:2}
  .ph-pages{gap:10px}
  .ph-pages .btn{flex:1 1 auto;text-align:center}
  .ph-pages .mono{order:3;width:100%;text-align:center}
}

/* ============================================================
   STATS CENTRE — /stats/
   Replaces an inline <style> block that used old-theme variables.
   ============================================================ */
.sb-tabs{margin-bottom:22px}

.sb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));
  gap:16px;align-items:start}
.sb-board{display:flex;flex-direction:column}
.sb-board .ph h3{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:.04em;margin:0}
.sb-board .ph .kick{color:var(--acid)}

/* Leader plate. Flat, no gradient wash, no accent bar. */
.sb-lead{display:flex;align-items:center;gap:14px;padding:18px;
  background:var(--ink-deep);border-bottom:1px solid var(--border)}
.sb-crest{width:48px;height:48px;flex:0 0 auto}
.sb-lead .sb-who{flex:1 1 auto;min-width:0}
.sb-big{font-family:'Anton',sans-serif;font-size:clamp(34px,6vw,46px);line-height:.9;
  color:var(--acid);letter-spacing:.02em;font-variant-numeric:tabular-nums;flex:0 0 auto}

.sb-who{display:block;min-width:0}
.sb-who a,.sb-who b{display:block;font-family:'Bebas Neue',sans-serif;font-size:19px;
  letter-spacing:.03em;line-height:1.1;color:var(--bone);text-decoration:none;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-who a:hover{color:var(--acid)}
.sb-club{display:block;font-size:9px;letter-spacing:.16em;color:var(--muted);margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.sb-rows{list-style:none;margin:0;padding:0;counter-reset:none}
.sb-row{display:flex;align-items:center;gap:11px;padding:10px 18px;
  border-bottom:1px solid var(--border)}
.sb-row:last-child{border-bottom:0}
.sb-row:hover{background:var(--ink-deep)}
.sb-rk{width:20px;flex:0 0 auto;font-size:10px;letter-spacing:.08em;color:var(--muted);
  text-align:right;font-variant-numeric:tabular-nums}
.sb-row .cfx-crest{width:26px;height:26px;flex:0 0 auto}
.sb-row .sb-who{flex:1 1 auto}
.sb-row .sb-who a,.sb-row .sb-who b{font-size:15px}
.sb-val{margin-left:auto;flex:0 0 auto;font-family:'Anton',sans-serif;font-size:17px;
  letter-spacing:.02em;color:var(--bone);font-variant-numeric:tabular-nums}
.sb-note{margin:0;padding:11px 18px 13px;font-size:9px;letter-spacing:.16em;
  color:var(--muted);border-top:1px solid var(--border)}

/* Discipline table */
.sb-disc td a{color:var(--bone);text-decoration:none}
.sb-disc td a:hover{color:var(--acid)}
.sb-disc .num{text-align:right;font-variant-numeric:tabular-nums}
.sb-disc th.num{text-align:right}
.sb-disc .sb-club-cell{color:var(--muted);font-size:11px;letter-spacing:.06em}
.sb-card{display:inline-block;width:8px;height:11px;margin-right:6px;vertical-align:-1px}
.sb-card.y{background:#E8B530}
.sb-card.r{background:var(--red)}

@media (max-width:760px){
  .sb-grid{grid-template-columns:1fr;gap:12px}
  .sb-lead{padding:14px;gap:11px}
  .sb-crest{width:40px;height:40px}
  .sb-row{padding:10px 14px;gap:9px}
  .sb-note{padding:10px 14px 12px}
}

/* ============================================================
   HISTORY — /history/
   ============================================================ */
.hs-intro{margin-bottom:18px}
.hs-story{padding:20px}
.hs-story p{margin:0 0 15px;color:var(--dim);line-height:1.78;max-width:66ch}
.hs-story p:last-child{margin-bottom:0}
.hs-story strong{color:var(--bone);font-weight:600}
.hs-story a{color:var(--acid);text-decoration:none;border-bottom:1px solid rgba(194,255,26,.35)}
.hs-story a:hover{border-bottom-color:var(--acid)}

/* Roll of honour */
.hs-honours{list-style:none;margin:0;padding:0}
.hs-honours li{display:flex;align-items:center;gap:11px;padding:12px 18px;
  border-bottom:1px solid var(--border)}
.hs-honours li:last-child{border-bottom:0}
.hs-honours .cfx-crest{width:28px;height:28px;flex:0 0 auto}
.hs-h-who{flex:1 1 auto;min-width:0}
.hs-h-who a,.hs-h-who b{display:block;font-family:'Bebas Neue',sans-serif;font-size:16px;
  letter-spacing:.03em;color:var(--bone);text-decoration:none;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hs-h-who a:hover{color:var(--acid)}
.hs-h-list{display:block;font-size:9px;letter-spacing:.14em;color:var(--muted);margin-top:3px}
.hs-h-n{flex:0 0 auto;font-family:'Anton',sans-serif;font-size:22px;color:var(--acid);
  letter-spacing:.02em;font-variant-numeric:tabular-nums}

/* Season timeline */
.hs-timeline{margin-bottom:18px}
.hs-timeline .ph .kick a{color:var(--acid);text-decoration:none}
.hs-season{display:flex;align-items:center;gap:18px;padding:14px 18px;
  border-bottom:1px solid var(--border)}
.hs-season:last-child{border-bottom:0}
.hs-season:hover{background:var(--ink-deep)}
.hs-season.is-live{background:var(--ink-deep)}
.hs-yr{flex:0 0 auto;width:92px;font-family:'Anton',sans-serif;font-size:19px;
  letter-spacing:.02em;color:var(--bone);font-variant-numeric:tabular-nums}
.hs-champs{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;min-width:0}
.hs-champ{display:inline-flex;align-items:center;gap:8px;min-width:0}
.hs-champ .cfx-crest{width:24px;height:24px;flex:0 0 auto}
.hs-champ a,.hs-champ b{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:.03em;
  color:var(--bone);text-decoration:none;white-space:nowrap}
.hs-champ a:hover{color:var(--acid)}
.hs-champ i{font-size:8px;letter-spacing:.18em;color:var(--acid);font-style:normal;
  font-family:'JetBrains Mono',monospace}
.hs-none{font-size:9px;letter-spacing:.16em;color:var(--muted)}
.hs-count{flex:0 0 auto;font-size:9px;letter-spacing:.14em;color:var(--muted);text-align:right}

/* Records */
.hs-records{margin-bottom:18px}
.hr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:1px;
  background:var(--border)}
.hr-card{background:var(--card);padding:18px;display:flex;flex-direction:column;gap:5px}
.hr-lbl{font-size:8.5px;letter-spacing:.18em;color:var(--muted)}
.hr-fig{font-family:'Anton',sans-serif;font-size:clamp(30px,5vw,42px);line-height:.95;
  color:var(--acid);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.hr-who{font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:.03em;color:var(--bone);
  line-height:1.25}
.hr-who a{color:var(--bone);text-decoration:none}
.hr-who a:hover{color:var(--acid)}
.hr-who i{color:var(--muted);font-style:normal;font-size:12px;margin:0 3px}
.hr-when{font-size:8.5px;letter-spacing:.16em;color:var(--muted);margin-top:2px}

/* All-time table */
.hs-alltime{margin-bottom:22px}
.hs-tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.hs-tbl th.num{text-align:right}
.hs-tbl-club{white-space:nowrap}
.hs-tbl-club .cfx-crest{width:22px;height:22px;display:inline-block;vertical-align:-6px;margin-right:8px}
.hs-tbl-club a,.hs-tbl-club b{font-family:'Bebas Neue',sans-serif;font-size:15px;
  letter-spacing:.03em;color:var(--bone);text-decoration:none}
.hs-tbl-club a:hover{color:var(--acid)}
.hs-tbl tbody tr:hover{background:var(--ink-deep)}

/* Outbound cards */
.hs-out{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px}
.hs-out-card{padding:24px;text-decoration:none;display:block;transition:border-color .25s}
.hs-out-card:hover{border-color:var(--acid)}
.hs-out-card .kick{display:block;font-size:9px;letter-spacing:.2em;color:var(--acid)}
.hs-out-card h3{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.03em;
  margin:8px 0 8px;color:var(--bone)}
.hs-out-card p{margin:0;color:var(--dim);font-size:13.5px;line-height:1.65}

@media (max-width:760px){
  .hs-story{padding:16px}
  .hs-honours li{padding:11px 14px}
  /* The year, the champion and the count stack rather than squeeze. */
  .hs-season{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}
  .hs-yr{width:auto;font-size:22px}
  .hs-count{text-align:left}
  .hr-card{padding:14px}
  .hs-out-card{padding:18px}
}

/* Wide data tables scroll inside their own box; the page body never does. */
.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.tbl-wrap > .tbl{min-width:560px}
.tbl-wrap::-webkit-scrollbar{height:6px}
.tbl-wrap::-webkit-scrollbar-track{background:var(--ink-deep)}
.tbl-wrap::-webkit-scrollbar-thumb{background:var(--steel-2)}
@media (max-width:760px){
  .tbl-wrap > .tbl td,.tbl-wrap > .tbl th{padding:10px 9px}
  /* The club column stays put while the numbers scroll under the thumb. */
  .hs-tbl-club{position:sticky;left:0;background:var(--card);z-index:1}
  .hs-tbl tbody tr:hover .hs-tbl-club{background:var(--ink-deep)}
}

/* ============================================================
   PARTNERS — /partners/
   ============================================================ */
.pt-intro{margin-bottom:18px}
.pt-list{display:flex;flex-direction:column;gap:16px;margin-bottom:18px}
.pt-card{display:grid;grid-template-columns:200px 1fr;gap:0;align-items:stretch}
.pt-plate{display:grid;place-items:center;background:var(--bone);padding:26px 20px;min-height:130px}
.pt-plate img{width:150px;height:58px;max-width:100%;object-fit:contain}
.pt-body{padding:24px;display:flex;flex-direction:column;gap:12px;justify-content:center}
.pt-body p{margin:0;color:var(--dim);line-height:1.75;font-size:14.5px;max-width:66ch}
.pt-since{font-size:8.5px;letter-spacing:.2em;color:var(--muted)}

.pt-reach{margin-bottom:18px}
.pt-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));
  gap:1px;background:var(--border);margin:0}
.pt-figs > div{background:var(--card);padding:20px 18px}
.pt-figs dt{font-size:8.5px;letter-spacing:.18em;color:var(--muted);margin:0 0 7px}
.pt-figs dd{margin:0;font-family:'Anton',sans-serif;font-size:clamp(28px,4vw,38px);line-height:.95;
  color:var(--acid);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.pt-reach .sb-note a,.tk-how .sb-note a{color:var(--acid);text-decoration:none}

.pt-cta-b{padding:24px}
.pt-cta-b p{margin:0 0 20px;color:var(--dim);line-height:1.78;max-width:64ch}
.pt-cta-actions{display:flex;flex-wrap:wrap;gap:12px}

/* ============================================================
   TICKETS — /tickets/
   ============================================================ */
.tk-intro,.tk-how,.tk-next,.tk-later{margin-bottom:18px}
.tk-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));
  gap:1px;background:var(--border)}
.tk-steps > div{background:var(--card);padding:22px 20px}
.tk-n{display:block;font-family:'Anton',sans-serif;font-size:26px;color:var(--acid);
  letter-spacing:.04em;line-height:1;margin-bottom:10px}
.tk-steps h3{font-family:'Bebas Neue',sans-serif;font-size:19px;letter-spacing:.04em;
  margin:0 0 8px;color:var(--bone)}
.tk-steps p{margin:0;color:var(--dim);font-size:13.5px;line-height:1.7}

.tk-next .ph .kick a,.tk-grounds .ph .kick a{color:var(--acid);text-decoration:none}
.tk-row{display:flex;align-items:center;gap:16px;padding:14px 18px;
  border-bottom:1px solid var(--border);text-decoration:none;color:inherit}
.tk-row:last-of-type{border-bottom:0}
.tk-row:hover{background:var(--ink-deep)}
.tk-when{flex:0 0 auto;width:96px}
.tk-when b{display:block;font-family:'Anton',sans-serif;font-size:14px;letter-spacing:.04em;
  color:var(--bone)}
.tk-when i{display:block;font-style:normal;font-size:9px;letter-spacing:.16em;
  color:var(--acid);margin-top:3px}
.tk-when i.is-tbc{color:var(--muted)}
.tk-tie{flex:1 1 auto;display:flex;align-items:center;gap:10px;min-width:0}
.tk-tie .cfx-crest{width:26px;height:26px;flex:0 0 auto}
.tk-names{flex:1 1 auto;min-width:0;font-family:'Bebas Neue',sans-serif;font-size:17px;
  letter-spacing:.03em;color:var(--bone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tk-row:hover .tk-names{color:var(--acid)}
.tk-at{flex:0 0 auto;max-width:200px;font-size:8.5px;letter-spacing:.14em;color:var(--muted);
  text-align:right;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.tk-gr-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:1px;background:var(--border)}
.tk-gr{background:var(--card);padding:20px 18px}
.tk-gr h3{font-family:'Bebas Neue',sans-serif;font-size:19px;letter-spacing:.04em;margin:0 0 7px;
  color:var(--bone)}
.tk-gr .mono{display:block;font-size:8.5px;letter-spacing:.16em;color:var(--muted);line-height:1.7}
.tk-map{display:inline-block;margin-top:12px;font-size:8.5px;letter-spacing:.18em;
  color:var(--acid);text-decoration:none}
.tk-map:hover{text-decoration:underline}

@media (max-width:760px){
  .pt-card{grid-template-columns:1fr}
  .pt-plate{min-height:108px;padding:22px}
  .pt-body{padding:18px}
  .pt-cta-b{padding:18px}
  .pt-cta-actions .btn{flex:1 1 100%;text-align:center}
  /* Date above the tie, ground under it: three columns do not fit a phone. */
  .tk-row{flex-wrap:wrap;gap:8px 12px;padding:14px}
  .tk-when{width:auto;display:flex;align-items:baseline;gap:9px}
  .tk-when b{font-size:13px}
  .tk-when i{margin-top:0}
  .tk-tie{flex:1 1 100%;order:3}
  .tk-at{flex:1 1 100%;order:4;text-align:left;max-width:none}
  .tk-steps > div{padding:18px}
}

/* ============================================================
   PLAYERS INDEX — /players/
   Club-grouped, client-side filtered. Replaces 23 pages of twenty.
   ============================================================ */

.pl-tools{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 22px;
  padding:12px 14px;background:var(--card);border:1px solid var(--border)}
.pl-search{display:flex;align-items:stretch;border:1px solid var(--border);background:var(--ink-deep)}
.pl-search input{background:transparent;border:0;color:var(--bone);font-family:var(--fm);
  font-size:12px;padding:11px 12px;width:200px;min-height:44px}
.pl-search input:focus{outline:none}
.pl-search:focus-within{border-color:var(--acid)}
.pl-sel{background:var(--ink-deep);color:var(--bone);border:1px solid var(--border);
  font-family:var(--fm);font-size:11px;letter-spacing:.04em;padding:11px 11px;min-height:44px;
  border-radius:0}
.pl-sel:focus{outline:none;border-color:var(--acid)}
.pl-count{margin-left:auto;font-size:9px;letter-spacing:.16em;color:var(--acid)}

/* A hidden tile must not hold a grid cell open. */
.ptile[hidden]{display:none!important}
/* Initials beat a silhouette repeated 351 times, and cost no bytes per tile. */
.ptile-fb{position:absolute;left:0;right:0;top:0;bottom:0;display:grid;place-items:center;
  font-family:'Anton',sans-serif;font-size:clamp(26px,4vw,38px);letter-spacing:.04em;
  color:var(--steel-2);background:var(--steel)}

@media (max-width:760px){
  .pl-tools{gap:8px;padding:11px}
  .pl-search{flex:1 1 100%}
  .pl-search input{width:100%}
  .pl-sel{flex:1 1 calc(50% - 4px);min-width:0}
  .pl-count{flex:1 1 100%;margin-left:0;text-align:left}
}

/* ============================================================
   STANDINGS — /tables/
   ============================================================ */
/* Competition pills left, season dropdown right. */
.tb-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 22px}
.tb-comps{display:flex;width:max-content;max-width:100%;margin:0}
.seas-pick{display:flex;align-items:center;gap:9px;margin-left:auto}
.seas-pick label{font-family:var(--fm);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap}
.seas-pick .btn{margin:0}
.tb-gtabs{margin-bottom:16px}
.tb-group[hidden]{display:none!important}
.tb-panel,.tb-oneoff{margin-bottom:16px}
.tb-ko{margin-bottom:16px}

.tb-tbl .num{text-align:right;font-variant-numeric:tabular-nums}
.tb-tbl th.num{text-align:right}
.tb-club{white-space:nowrap}
.tb-club .cfx-crest{width:22px;height:22px;display:inline-block;vertical-align:-6px;margin-right:9px}
.tb-club a,.tb-club b{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:.03em;
  color:var(--bone);text-decoration:none}
.tb-club a:hover{color:var(--acid)}
.tb-tbl tbody tr:hover{background:var(--ink-deep)}
/* Advancing places get a tint, never a border stripe. */
.tb-tbl tbody tr.is-q{background:rgba(194,255,26,.05)}
.tb-tbl tbody tr.is-q:hover{background:rgba(194,255,26,.09)}
.tb-tbl tbody tr.is-q .num:first-child{color:var(--acid)}

/* Super Cup: one match, so a result plate rather than a table. */
.tb-final{display:flex;align-items:center;justify-content:center;gap:clamp(14px,4vw,44px);
  padding:26px 18px;flex-wrap:wrap}
.tb-final-side{display:flex;align-items:center;gap:12px;min-width:0}
.tb-final-side .cfx-crest{width:44px;height:44px;flex:0 0 auto}
.tb-final-side b{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:.03em;
  color:var(--bone)}
.tb-final-side i{font-family:'Anton',sans-serif;font-style:normal;font-size:clamp(30px,5vw,44px);
  color:var(--acid);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.tb-final-x{color:var(--muted);font-size:18px}

@media (max-width:760px){
  .tb-comps,.tb-gtabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
    scrollbar-width:none}
  .tb-comps::-webkit-scrollbar,.tb-gtabs::-webkit-scrollbar{display:none}
  .tb-comps a,.tb-gtabs button{flex:0 0 auto;padding:14px 18px;font-size:13px;
    min-height:44px;display:inline-flex;align-items:center}
  /* Full-width dropdown under the pills rather than squeezed beside them. */
  .seas-pick{margin-left:0;width:100%}
  .seas-pick .pl-sel{flex:1 1 auto;min-width:0}
  .tb-final{gap:12px;padding:20px 14px}
  .tb-final-side .cfx-crest{width:34px;height:34px}
}

/* ============================================================
   ABOUT — /about/
   ============================================================ */
.ab-figs{margin-bottom:18px}
.ab-figs dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));
  gap:1px;background:var(--border);margin:0}
.ab-figs dl > div{background:var(--card);padding:22px 18px}
.ab-figs dd{margin:0 0 7px;font-family:'Anton',sans-serif;font-size:clamp(30px,4.4vw,42px);
  line-height:.95;color:var(--acid);letter-spacing:.02em;font-variant-numeric:tabular-nums}
.ab-figs dt{font-size:8.5px;letter-spacing:.18em;color:var(--muted)}

.ab-body{margin-bottom:18px}
.ab-body .hs-story{padding:24px}
.ab-body h2{font-family:'Bebas Neue',sans-serif;font-size:22px;letter-spacing:.03em;
  margin:0 0 12px;color:var(--bone)}
.ab-body h2 + p{margin-top:0}

.ab-block{margin-bottom:18px}
.ab-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:1px;background:var(--border)}
.ab-grid > div{background:var(--card);padding:22px 20px}
.ab-n{display:block;font-family:'Anton',sans-serif;font-size:24px;color:var(--acid);
  letter-spacing:.04em;line-height:1;margin-bottom:10px}
.ab-grid h3{font-family:'Bebas Neue',sans-serif;font-size:19px;letter-spacing:.04em;
  margin:0 0 8px;color:var(--bone)}
.ab-grid p{margin:0;color:var(--dim);font-size:13.5px;line-height:1.72}
.ab-block .sb-note a{color:var(--acid);text-decoration:none}

@media (max-width:760px){
  .ab-figs dl > div{padding:18px 14px}
  .ab-body .hs-story{padding:16px}
  .ab-grid > div{padding:18px 16px}
}

/* ============================================================
   ALUMNI — /players/past/
   ============================================================ */
.al-where{margin-bottom:18px}
.al-ctry{display:flex;flex-wrap:wrap;gap:1px;background:var(--border)}
.al-ctry-i{background:var(--card);padding:14px 16px;display:flex;align-items:baseline;gap:8px;
  flex:1 1 auto;min-width:110px}
.al-ctry-i b{font-family:'Anton',sans-serif;font-size:22px;color:var(--acid);letter-spacing:.02em;
  font-variant-numeric:tabular-nums}
.al-ctry-i i{font-style:normal;font-size:8.5px;letter-spacing:.16em;color:var(--muted)}

.al-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:14px}
.al-card{background:var(--card);border:1px solid var(--border);padding:16px 18px;
  display:flex;flex-direction:column;gap:13px;transition:border-color .25s}
.al-card:hover{border-color:var(--acid)}
.al-card[hidden]{display:none!important}
.al-top{display:flex;align-items:center;gap:12px;min-width:0}
.al-top .cfx-crest{width:38px;height:38px;flex:0 0 auto}
.al-who{min-width:0;flex:1 1 auto}
.al-who a,.al-who b{display:block;font-family:'Bebas Neue',sans-serif;font-size:19px;
  letter-spacing:.03em;line-height:1.1;color:var(--bone);text-decoration:none;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-who a:hover{color:var(--acid)}
.al-who .mono{display:block;font-size:8.5px;letter-spacing:.15em;color:var(--muted);margin-top:4px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-move{display:flex;align-items:center;gap:11px;padding-top:12px;
  border-top:1px solid var(--border)}
.al-arrow{color:var(--acid);font-size:15px;flex:0 0 auto}
.al-dest{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.al-dest b{font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:.03em;color:var(--bone)}
.al-dest i{font-style:normal}

@media (max-width:760px){
  .al-grid{grid-template-columns:1fr;gap:10px}
  .al-card{padding:14px}
  .al-ctry-i{min-width:88px;padding:12px 13px}
}

/* Videos: reel count left, season dropdown right. */
.vid-bar{margin-bottom:22px}
.vid-count{font-size:9px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
@media (max-width:760px){
  .vid-count{flex:1 1 100%}
}

/* ============================================================
   SEARCH
   The site had no search field anywhere, so the feature existed
   but could not be reached. One form, four placements.
   ============================================================ */
.sform{display:flex;align-items:stretch;border:1px solid var(--border);background:var(--ink-deep)}
.sform input{flex:1 1 auto;min-width:0;background:transparent;border:0;color:var(--bone);
  font-family:var(--fm);font-size:13px;padding:12px 14px;min-height:44px}
.sform input::placeholder{color:var(--muted)}
.sform input:focus{outline:none}
.sform:focus-within{border-color:var(--acid)}
.sform button{flex:0 0 auto;background:var(--acid);border:0;color:var(--ink);cursor:pointer;
  padding:0 18px;min-height:44px;font-size:17px;line-height:1}
.sform button:hover{background:var(--bone)}

/* Header: a toggle that reveals a full-width strip under the nav. */
.nav-right{display:flex;align-items:center;gap:10px}
.nav-search{background:transparent;border:1px solid var(--border);color:var(--bone);
  width:40px;height:40px;cursor:pointer;font-size:16px;line-height:1;display:grid;
  place-items:center;transition:border-color .2s,color .2s}
.nav-search:hover,.nav-search[aria-expanded="true"]{border-color:var(--acid);color:var(--acid)}
.headsearch{position:fixed;left:0;right:0;top:var(--head-h,70px);z-index:60;
  background:var(--ink);border-bottom:1px solid var(--border)}
.headsearch[hidden]{display:none!important}
.headsearch-in{max-width:1600px;margin:0 auto;padding:14px 32px}

/* Mobile nav and footer: always present, so search works with JS off. */
.mobnav-search{margin:0 0 18px}
.f-search{max-width:1600px;margin:0 auto;padding:0 32px 46px;display:flex;align-items:center;
  gap:16px;flex-wrap:wrap}
.f-search .mono{font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.f-search .sform{flex:1 1 300px;max-width:440px}

/* Results page */
.search-bar{max-width:520px;margin:0 0 22px}
.srch-jump{margin-bottom:20px}
.srch-jump ul{list-style:none;margin:0;padding:0}
.srch-jump li{display:flex;align-items:center;gap:14px;padding:12px 18px;
  border-bottom:1px solid var(--border)}
.srch-jump li:last-child{border-bottom:0}
.srch-jump li:hover{background:var(--ink-deep)}
.srch-jump li .mono{flex:0 0 62px;font-size:8.5px;letter-spacing:.16em;color:var(--acid)}
.srch-jump li a{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:.03em;
  color:var(--bone);text-decoration:none}
.srch-jump li a:hover{color:var(--acid)}

@media (max-width:760px){
  .nav-search{width:44px;height:44px}
  .headsearch-in{padding:12px 16px}
  .f-search{padding:0 16px 36px}
  .search-bar{max-width:none}
  .srch-jump li{padding:12px 14px;gap:10px}
}

/* Manager tiles reuse the player tile; only the body differs, because a title
   like "Goalkeeper Coach" needs a line of its own where "MID" did not. */
.mg-tile.is-flat{cursor:default}
.mg-tile.is-flat:hover{border-color:var(--border)}
.mg-bd{flex-direction:column;align-items:flex-start;gap:5px}
.mg-role{font-size:8.5px;letter-spacing:.15em;color:var(--acid);line-height:1.4;
  display:block;width:100%}
.mg-tile.is-flat .mg-role{color:var(--muted)}

/* ============================================================
   PLAYER PROFILE — /players/<id>/
   Reuses the club hero; only the photo plate and the log differ.
   ============================================================ */
.pf-plate{position:relative;width:128px;height:160px;padding:0;overflow:hidden}
.pf-plate img.is-face{width:100%;height:100%}
.pf-plate i{font-size:40px}
.pf-no{position:absolute;left:8px;bottom:6px;font-family:'Anton',sans-serif;font-size:26px;
  color:var(--bone);line-height:1;text-shadow:0 2px 8px rgba(0,0,0,.7)}
.pf-hero .club-hero-id h1{margin-top:10px}
.pf-hero .club-meta a{color:var(--bone);text-decoration:none}
.pf-hero .club-meta a:hover{color:var(--acid)}
.pf-club{display:inline-flex;align-items:center;gap:10px;margin-top:16px;padding:9px 14px 9px 9px;
  border:1px solid var(--border);background:var(--ink-deep);text-decoration:none;color:inherit;
  transition:border-color .2s}
.pf-club:hover{border-color:var(--acid)}
.pf-club .cfx-crest{width:30px;height:30px;flex:0 0 auto}
.pf-club b{display:block;font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:.03em;
  line-height:1.1;color:var(--bone)}
.pf-club i{display:block;font-style:normal;font-size:8.5px;letter-spacing:.16em;color:var(--muted);
  margin-top:2px}

.pf-figs{margin-top:18px}
.pf-figs dl{margin:0}
.pf-body{margin-top:18px}

.pf-log td{vertical-align:middle}
.pf-date{white-space:nowrap;color:var(--muted);font-size:10px;letter-spacing:.1em}
.pf-fx a{font-family:'Bebas Neue',sans-serif;font-size:16px;letter-spacing:.03em;color:var(--bone);
  text-decoration:none;white-space:nowrap}
.pf-fx a:hover{color:var(--acid)}
.pf-fx a .mono{font-size:10px;color:var(--muted);margin-right:4px}
.pf-fx i{display:block;font-style:normal;font-size:8.5px;letter-spacing:.14em;color:var(--muted);
  margin-top:3px}
.pf-res{white-space:nowrap}
.pf-res .fd{margin-right:8px;vertical-align:-1px}
.pf-res b{font-family:'Anton',sans-serif;font-size:16px;letter-spacing:.03em;
  font-variant-numeric:tabular-nums}
.pf-how{font-size:9px;letter-spacing:.12em;color:var(--muted);white-space:nowrap}
.pf-log .num{text-align:right;font-variant-numeric:tabular-nums}
.pf-log th.num{text-align:right}
.pf-cards{white-space:nowrap}
.pf-cards .sb-card{margin-right:3px}
.pf-scout{padding:18px}
.pf-scout p{margin:0;color:var(--dim);font-size:13.5px;line-height:1.7}

@media (max-width:760px){
  .pf-plate{width:96px;height:120px}
  .pf-plate i{font-size:32px}
  .pf-scout{padding:14px}
}

/* Header logo on phones. It was fixed at 36px tall at every width, which is
   about 97px wide on a 390px screen. Let it take the room left of the
   buttons, capped so it never breaks the 64px bar. */
@media (max-width:760px){
  .nav{gap:12px;padding:0 16px}
  .nav-logo{flex:1 1 auto;min-width:0}
  .nav-logo img{height:auto;width:100%;max-width:210px;max-height:46px;object-fit:contain;object-position:left center}
}

/* Horizontal bleed on phones. overflow-x is declared on body, but iOS Safari
   only honours it when html carries it too, so any element a few pixels
   wider than the viewport let the whole page pan sideways. clip is the
   right value: it does not create a scroll container the way hidden does. */
html{overflow-x:clip}
@media (max-width:760px){
  /* The toolbar's flex items are the <label> wrappers, not the selects, so
     the selects' intrinsic width could hold a label open past the edge. */
  .pl-tools > label{flex:1 1 calc(50% - 4px);min-width:0;max-width:100%}
  .pl-tools > label.pl-search{flex:1 1 100%}
  .pl-sel{width:100%;max-width:100%}
  .pagenav{max-width:100%}
  .ptile-grid,.al-grid{max-width:100%}
}

/* Grid items default to min-width:auto, so a panel holding a table with a
   560px minimum could not shrink below it and pushed the whole column past
   the viewport on phones — the match log on the player profile. Letting
   grid children shrink lets .tbl-wrap do its job and scroll internally. */
.mc-grid > *,.mc-col > *{min-width:0}
.mc-col{min-width:0}
