/* ==========================================================================
   FUNDCAT - design tokens (locked from avatar.png / banner.png + ui-ux-pro-max
   esports-gaming pairing recommendation)
   Palette:   void #0A0B0D, panel #14171C, card #1B1F26, crimson #E31E24,
              crimson-deep #8E1216, bone #F3F3EF, gold #FFC93C (MVP only),
              pnl-up #3ECB6E, pnl-down #FF5555
   Type:      Orbitron 900/700 (scoreboard digits, headline) + Rajdhani
              500/600/700 (UI/body) + JetBrains Mono 500/700 (CA, timer, PnL)
   Radius:    2px (angular crest register, no soft rounding anywhere)
   Motion:    ticker-roll, screen-shake, badge-slam-in
   ========================================================================== */

@font-face{font-family:"Orbitron";src:url("assets/fonts/orbitron-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Orbitron";src:url("assets/fonts/orbitron-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap;}
@font-face{font-family:"Rajdhani";src:url("assets/fonts/rajdhani-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"Rajdhani";src:url("assets/fonts/rajdhani-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"Rajdhani";src:url("assets/fonts/rajdhani-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"JetBrains Mono";src:url("assets/fonts/jbmono-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"JetBrains Mono";src:url("assets/fonts/jbmono-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;}

:root{
  --clr-void:#0A0B0D;
  --clr-panel:#14171C;
  --clr-panel-2:#1B1F26;
  --clr-card:#20242C;
  --clr-crimson:#E31E24;
  --clr-crimson-deep:#8E1216;
  --clr-bone:#F3F3EF;
  --clr-bone-dim:#9A9C9F;
  --clr-gold:#FFC93C;
  --clr-pnl-up:#3ECB6E;
  --clr-pnl-down:#FF5555;
  --clr-line:#2C313A;

  --font-display:"Orbitron", "Arial Narrow", sans-serif;
  --font-body:"Rajdhani", "Segoe UI", sans-serif;
  --font-mono:"JetBrains Mono", ui-monospace, monospace;

  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-5:24px; --space-6:32px; --space-7:48px; --space-8:64px;

  --radius:2px;
  --ease-out:cubic-bezier(.16,.84,.32,1);
  --ease-slam:cubic-bezier(.2,1.6,.4,1);
}

*,*::before,*::after{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  background:var(--clr-void);
  color:var(--clr-bone);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
a{color:inherit;text-decoration:none;}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

/* boot error banner ------------------------------------------------------ */
#boot-error-banner{
  position:fixed;inset:0 0 auto 0;z-index:99999;
  background:#B00020;color:#fff;font:700 14px/1.4 monospace;
  padding:10px 14px;display:none;
}
#boot-error-banner:not(:empty){display:block;}

/* app shell ---------------------------------------------------------------
   Full-viewport HUD, no page scroll on comfortable heights; a safety
   min-height lets short/odd viewports scroll rather than crush content. */
.app{
  min-height:100dvh;
  display:flex;
  flex-direction:column;
  background:var(--clr-void);
}

/* header ------------------------------------------------------------------ */
.hud-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  padding:var(--space-2) var(--space-4);
  background:linear-gradient(180deg,#0D0E11,rgba(13,14,17,0));
  position:relative;
  z-index:20;
  flex:0 0 auto;
}
.brand{display:flex;align-items:center;gap:var(--space-2);}
.brand-badge{
  width:34px;height:34px;border-radius:50%;overflow:hidden;
  border:2px solid var(--clr-crimson);background:var(--clr-panel);
  flex:0 0 auto;
}
.brand-badge img{width:100%;height:100%;object-fit:cover;object-position:60% 35%;}
.brand-text{display:flex;flex-direction:column;line-height:1.05;}
.brand-mark{
  font-family:var(--font-display);font-weight:900;font-size:16px;
  letter-spacing:.04em;color:var(--clr-bone);
}
.brand-sub{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--clr-bone-dim);
}
.hud-controls{display:flex;align-items:center;gap:var(--space-2);}
.icon-btn{
  width:36px;height:36px;display:flex;align-items:center;justify-content:center;
  background:var(--clr-panel-2);border:1px solid var(--clr-line);
  border-radius:var(--radius);transition:transform .15s var(--ease-out),border-color .15s;
}
.icon-btn svg{width:20px;height:20px;}
.icon-btn:hover{transform:translateY(-1px);border-color:var(--clr-crimson);}
.icon-btn:active{transform:translateY(0);}

.buy-jersey{
  --jw:104px; --jh:48px;
  position:relative;
  width:var(--jw);height:var(--jh);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1px;
  background:linear-gradient(155deg,#161A20,#0E1013);
  clip-path:polygon(
    18% 0%, 32% 0%, 38% 10%, 62% 10%, 68% 0%, 82% 0%,
    100% 16%, 88% 30%, 82% 24%, 82% 100%, 18% 100%,
    18% 24%, 12% 30%, 0% 16%
  );
  border:0;transition:transform .15s var(--ease-out),filter .15s;
}
.buy-jersey::before{
  content:"";position:absolute;left:38%;right:38%;top:10%;height:6px;
  background:var(--clr-crimson);
}
.buy-jersey:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.08);}
.buy-jersey:active{transform:translateY(0) scale(.99);}
.buy-jersey-label{
  position:relative;z-index:2;
  font-family:var(--font-display);font-weight:700;font-size:10px;
  letter-spacing:.08em;color:var(--clr-bone);text-align:center;
  white-space:nowrap;
}
.buy-jersey-num{
  position:relative;z-index:2;font-family:var(--font-display);
  font-weight:900;font-size:17px;line-height:1;color:var(--clr-crimson);
}

/* HUD main scene ------------------------------------------------------------ */
.hud-main{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  min-height:0;
  position:relative;
  padding:0 var(--space-3) var(--space-3);
  gap:var(--space-2);
}

/* jumbotron ---------------------------------------------------------------- */
.jumbotron{
  flex:0 0 auto;
  background:
    linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0) 30%),
    var(--clr-panel);
  border:2px solid var(--clr-line);
  border-radius:var(--radius);
  padding:var(--space-3) var(--space-3) var(--space-2);
  position:relative;
  overflow:hidden;
}
.jumbotron::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px);
  mix-blend-mode:overlay;
}
.jumbotron.is-shaking{animation:jumboShake .32s var(--ease-out);}
@keyframes jumboShake{
  0%,100%{transform:translate(0,0);}
  20%{transform:translate(-3px,1px);}
  40%{transform:translate(3px,-1px);}
  60%{transform:translate(-2px,0);}
  80%{transform:translate(2px,1px);}
}

.match-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:var(--space-2);
}
.team{
  display:flex;align-items:center;gap:var(--space-2);
  min-width:0;
}
.team--away{flex-direction:row-reverse;text-align:right;}
.team-crest{width:44px;height:44px;object-fit:contain;flex:0 0 auto;}
.team-name{
  font-family:var(--font-body);font-weight:700;font-size:13px;
  letter-spacing:.05em;text-transform:uppercase;color:var(--clr-bone-dim);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.match-center{display:flex;flex-direction:column;align-items:center;gap:2px;}
.match-status{
  font-family:var(--font-body);font-weight:600;font-size:10px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--clr-crimson);
}
.scoreline{
  display:flex;align-items:center;gap:var(--space-2);
  font-family:var(--font-display);font-weight:900;
  font-size:clamp(28px,7vw,44px);color:var(--clr-bone);
  font-variant-numeric:tabular-nums;
}
.score-digit{display:inline-block;transition:transform .18s var(--ease-out);}
.score-digit.is-rolling{animation:digitRoll .32s var(--ease-out);}
@keyframes digitRoll{
  0%{transform:translateY(0);}
  40%{transform:translateY(-38%);}
  41%{transform:translateY(38%);}
  100%{transform:translateY(0);}
}
.score-sep{color:var(--clr-bone-dim);font-size:.7em;}
.match-clock{
  font-family:var(--font-mono);font-weight:500;font-size:12px;
  color:var(--clr-bone-dim);letter-spacing:.05em;
}

.crowd-meter{
  display:flex;align-items:flex-end;gap:2px;
  height:22px;margin-top:var(--space-2);padding:0 2px;
}
.crowd-bar{
  flex:1 1 0;min-width:2px;height:15%;
  background:var(--clr-crimson-deep);border-radius:1px 1px 0 0;
  transition:height .22s var(--ease-out),background-color .22s;
}
.crowd-bar.is-hot{background:var(--clr-crimson);}

/* scoreboard strip: CA lives here, centred, per the batch matrix ---------- */
.scoreboard-strip{
  margin-top:var(--space-2);
  display:flex;align-items:center;justify-content:center;gap:var(--space-3);
  padding:var(--space-2) var(--space-3);
  background:var(--clr-void);
  border:1px dashed var(--clr-line);
  border-radius:var(--radius);
  flex-wrap:wrap;
}
.ca-label{
  font-family:var(--font-body);font-weight:600;font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--clr-bone-dim);
}
.ca-copy{
  display:flex;align-items:center;gap:var(--space-2);
  padding:var(--space-1) var(--space-2);
  border-radius:var(--radius);
  transition:background-color .15s;
}
.ca-copy:hover{background:rgba(227,30,36,.08);}
.ca-text{
  font-family:var(--font-mono);font-weight:500;
  font-size:clamp(11px,3vw,14px);color:var(--clr-bone);
  letter-spacing:.01em;
}
.ca-jersey{width:22px;height:22px;position:relative;flex:0 0 auto;}
.ca-jersey svg{width:100%;height:100%;}
.ca-jersey .sign-mark{
  stroke-dasharray:60;stroke-dashoffset:60;opacity:0;
}
.ca-copy.is-signed .ca-jersey .sign-mark{
  animation:signDraw .55s var(--ease-out) forwards;
}
@keyframes signDraw{
  0%{opacity:1;stroke-dashoffset:60;}
  70%{stroke-dashoffset:0;}
  100%{opacity:1;stroke-dashoffset:0;}
}
.ca-copy.is-signed{background:rgba(62,203,110,.12);}
.ca-state{
  font-family:var(--font-body);font-weight:600;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--clr-bone-dim);
  min-width:64px;
}
.ca-copy.is-signed .ca-state{color:var(--clr-pnl-up);}

/* desk scene ---------------------------------------------------------------- */
.desk-scene{
  flex:1 1 auto;
  min-height:180px;
  position:relative;
  border-radius:var(--radius);
  overflow:hidden;
  background:url("assets/desk-scene.png") center 30% / cover no-repeat, var(--clr-void);
  border:2px solid var(--clr-line);
}
.desk-scene::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,11,13,.55) 0%,rgba(10,11,13,.05) 30%,rgba(10,11,13,.1) 70%,rgba(10,11,13,.75) 100%);
  pointer-events:none;
}

.pnl-badge{
  position:absolute;
  left:50%;top:14%;
  transform:translate(-50%,0);
  transition:top .3s var(--ease-out);
  display:flex;flex-direction:column;align-items:center;
  padding:var(--space-1) var(--space-3);
  background:rgba(10,11,13,.82);
  border:1px solid var(--clr-line);
  border-radius:var(--radius);
  z-index:3;
}
.pnl-label{
  font-family:var(--font-body);font-weight:600;font-size:9px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--clr-bone-dim);
}
.pnl-value{
  font-family:var(--font-mono);font-weight:700;font-size:clamp(16px,4.4vw,24px);
  color:var(--clr-bone-dim);transition:color .12s;
}
.pnl-value.is-up{color:var(--clr-pnl-up);}
.pnl-value.is-down{color:var(--clr-pnl-down);}
.pnl-value.is-flash{animation:pnlFlash .28s var(--ease-out);}
@keyframes pnlFlash{
  0%{transform:scale(1.22);}
  100%{transform:scale(1);}
}

.mvp-badge{
  position:absolute;left:50%;top:8%;
  transform:translate(-50%,-18px) rotate(-8deg) scale(.4);
  opacity:0;pointer-events:none;
  display:flex;flex-direction:column;align-items:center;
  padding:var(--space-2) var(--space-4);
  background:var(--clr-gold);color:var(--clr-void);
  border-radius:var(--radius);
  box-shadow:0 8px 24px rgba(0,0,0,.45);
  z-index:5;
}
.mvp-badge .mvp-top{font-family:var(--font-display);font-weight:900;font-size:20px;letter-spacing:.04em;}
.mvp-badge .mvp-sub{font-family:var(--font-body);font-weight:700;font-size:10px;letter-spacing:.12em;text-transform:uppercase;}
.app[data-state="post"] .mvp-badge{
  animation:mvpSlam .55s var(--ease-slam) forwards;
}
.app[data-state="post"] .pnl-badge{
  top:34%;
}
@keyframes mvpSlam{
  0%{opacity:0;transform:translate(-50%,-80px) rotate(-16deg) scale(.3);}
  60%{opacity:1;transform:translate(-50%,4px) rotate(6deg) scale(1.12);}
  80%{transform:translate(-50%,-2px) rotate(-3deg) scale(.97);}
  100%{opacity:1;transform:translate(-50%,0) rotate(-4deg) scale(1);}
}

/* control dock --------------------------------------------------------------- */
.control-dock{
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
  padding:var(--space-2) var(--space-1) 0;
  flex-wrap:wrap;
}
.match-action{
  font-family:var(--font-display);font-weight:700;font-size:13px;
  letter-spacing:.06em;text-transform:uppercase;
  padding:14px 22px;
  background:var(--clr-crimson);color:var(--clr-bone);
  border-radius:var(--radius);
  clip-path:polygon(0 0,100% 0,100% 70%,94% 100%,0 100%);
  transition:transform .15s var(--ease-out),filter .15s;
  min-height:44px;
}
.match-action:hover{filter:brightness(1.08);transform:translateY(-1px);}
.match-action:active{transform:translateY(0);}
.match-action:disabled{opacity:.55;cursor:default;filter:none;transform:none;}
.app[data-state="live"] .match-action{background:var(--clr-panel-2);color:var(--clr-bone-dim);border:1px solid var(--clr-line);}

.stat-strip{
  display:flex;gap:var(--space-4);flex-wrap:wrap;
}
.stat{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;}
.stat-label{
  font-family:var(--font-body);font-weight:600;font-size:9px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--clr-bone-dim);
}
.stat-value{
  font-family:var(--font-mono);font-weight:700;font-size:14px;color:var(--clr-bone);
}

/* footer ---------------------------------------------------------------------- */
.hud-footer{
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-3);
  padding:var(--space-2) var(--space-4) max(var(--space-2),env(safe-area-inset-bottom));
  border-top:1px solid var(--clr-line);
  font-family:var(--font-mono);font-size:10px;color:var(--clr-bone-dim);
  flex-wrap:wrap;
}
#canary{color:var(--clr-pnl-up);}
.hud-footer .disclosure{
  flex-basis:100%;font-family:var(--font-body);font-size:11px;
  color:var(--clr-bone-dim);opacity:.75;
}

/* responsive -------------------------------------------------------------- */
@media (max-width:520px){
  .team-name{font-size:11px;}
  .team-crest{width:32px;height:32px;}
  .brand-sub{display:none;}
  .buy-jersey{--jw:96px;--jh:40px;}
  .stat-strip{gap:var(--space-3);}
  .pnl-badge{top:10%;}
}
@media (max-width:360px){
  .hud-header{padding:var(--space-2);}
  .jumbotron{padding:var(--space-2);}
  .scoreline{font-size:26px;}
}
@media (min-width:920px){
  .hud-main{padding:0 var(--space-6) var(--space-5);gap:var(--space-3);}
  .jumbotron{padding:var(--space-4) var(--space-5) var(--space-3);}
  .team-crest{width:56px;height:56px;}
  .team-name{font-size:16px;}
}

/* ==========================================================================
   LEAGUE DEPTH - scroll content below the live-match mechanic. Same token
   system as the HUD above (void/panel/crimson/bone/gold, Orbitron display,
   Rajdhani body, JetBrains Mono figures, 2px angular radius), laid out as
   read sections instead of HUD widgets: roster cards, lore copy, a
   standings table, booth pull-quotes, a numbered rules list.
   ========================================================================== */
.league-depth{
  background:var(--clr-void);
  padding:var(--space-8) var(--space-4) var(--space-4);
  display:flex;flex-direction:column;gap:var(--space-8);
  border-top:2px solid var(--clr-line);
}
.section-head{
  max-width:680px;margin:0 auto var(--space-5);text-align:center;
}
.eyebrow{
  font-family:var(--font-body);font-weight:600;font-size:11px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--clr-crimson);
  margin:0 0 var(--space-2);
}
.section-head h2{
  font-family:var(--font-display);font-weight:900;
  font-size:clamp(20px,4.4vw,30px);line-height:1.2;
  color:var(--clr-bone);margin:0;letter-spacing:.01em;
}

/* roster ------------------------------------------------------------------ */
.roster{max-width:1080px;margin:0 auto;width:100%;}
.roster-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:var(--space-3);
}
.roster-card{
  background:var(--clr-panel);
  border:1px solid var(--clr-line);
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;flex-direction:column;
}
.roster-card--feature{
  border-color:var(--clr-crimson);
  box-shadow:0 0 0 1px var(--clr-crimson-deep) inset;
  grid-row:span 1;
}
.roster-photo{
  aspect-ratio:170/200;
  background:var(--clr-void);
  overflow:hidden;
}
.roster-photo img{width:100%;height:100%;object-fit:cover;object-position:center 18%;}
.roster-photo--cat img{object-fit:cover;object-position:50% 28%;transform:scale(1.28);}
.roster-meta{
  display:flex;flex-direction:column;gap:1px;
  padding:var(--space-2) var(--space-2) 0;
}
.roster-seat{
  font-family:var(--font-mono);font-weight:500;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--clr-bone-dim);
}
.roster-name{
  font-family:var(--font-display);font-weight:700;font-size:14px;
  color:var(--clr-bone);letter-spacing:.02em;
}
.roster-card--feature .roster-name{color:var(--clr-crimson);}
.roster-role{
  font-family:var(--font-body);font-weight:600;font-size:11px;
  letter-spacing:.05em;text-transform:uppercase;color:var(--clr-bone-dim);
}
.roster-bio{
  font-family:var(--font-body);font-weight:500;font-size:13px;line-height:1.5;
  color:var(--clr-bone-dim);
  margin:var(--space-2) 0 0;
  padding:0 var(--space-2) var(--space-3);
}

/* scouting report / lore --------------------------------------------------- */
.scouting{max-width:680px;margin:0 auto;width:100%;}
.scouting-copy{
  display:flex;flex-direction:column;gap:var(--space-3);
  border-left:2px solid var(--clr-crimson);
  padding-left:var(--space-4);
}
.scouting-copy p{
  font-family:var(--font-body);font-weight:500;font-size:15px;line-height:1.65;
  color:var(--clr-bone);margin:0;
}

/* standings ----------------------------------------------------------------- */
.standings{max-width:920px;margin:0 auto;width:100%;}
.standings-intro{
  max-width:560px;margin:calc(var(--space-5) * -1) auto var(--space-4);
  text-align:center;font-family:var(--font-body);font-size:14px;
  color:var(--clr-bone-dim);line-height:1.5;
}
.standings .table-wrap{
  overflow-x:auto;
  border:1px solid var(--clr-line);
  border-radius:var(--radius);
  background:var(--clr-panel);
}
.standings table{
  width:100%;border-collapse:collapse;min-width:640px;
}
.standings thead th{
  font-family:var(--font-body);font-weight:600;font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--clr-bone-dim);
  text-align:left;padding:var(--space-2) var(--space-3);
  border-bottom:1px solid var(--clr-line);
  white-space:nowrap;
}
.standings tbody td{
  font-family:var(--font-mono);font-size:12px;color:var(--clr-bone);
  padding:var(--space-2) var(--space-3);
  border-bottom:1px solid var(--clr-line);
  vertical-align:middle;
}
.standings tbody tr:last-child td{border-bottom:0;}
.standings tbody tr.is-home{background:rgba(227,30,36,.07);}
.standings tbody td:nth-child(2){
  font-family:var(--font-display);font-weight:700;font-size:12px;letter-spacing:.02em;
}
.standings tbody td:last-child{
  font-family:var(--font-body);font-weight:500;font-size:12px;color:var(--clr-bone-dim);
  min-width:220px;line-height:1.4;
}
.is-up{color:var(--clr-pnl-up);}
.is-down{color:var(--clr-pnl-down);}
.form-bar{
  display:block;width:64px;height:6px;border-radius:1px;
  background:var(--clr-void);border:1px solid var(--clr-line);
  overflow:hidden;
}
.form-bar span{
  display:block;height:100%;width:var(--form);
  background:linear-gradient(90deg,var(--clr-crimson-deep),var(--clr-crimson));
}
.standings-disclosure{
  margin:var(--space-3) 0 0;text-align:center;
  font-family:var(--font-mono);font-size:10px;color:var(--clr-bone-dim);opacity:.75;
}

/* booth quotes ---------------------------------------------------------------- */
.booth{max-width:1080px;margin:0 auto;width:100%;}
.booth-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--space-3);
}
.booth-quote{
  margin:0;background:var(--clr-panel);border:1px solid var(--clr-line);
  border-left:3px solid var(--clr-crimson);
  border-radius:var(--radius);
  padding:var(--space-3) var(--space-3) var(--space-2);
}
.booth-quote--short{
  grid-column:span 1;
  display:flex;flex-direction:column;justify-content:center;
  background:var(--clr-void);border-left-color:var(--clr-gold);
}
.booth-quote p{
  font-family:var(--font-body);font-weight:500;font-size:14px;line-height:1.5;
  color:var(--clr-bone);margin:0 0 var(--space-2);
}
.booth-quote cite{
  display:block;font-style:normal;
  font-family:var(--font-mono);font-weight:500;font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--clr-bone-dim);
}

/* charter / house rules --------------------------------------------------------- */
.charter{max-width:680px;margin:0 auto;width:100%;}
.charter-list{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;
}
.charter-list li{
  display:flex;gap:var(--space-4);align-items:flex-start;
  padding:var(--space-3) 0;
  border-bottom:1px dashed var(--clr-line);
}
.charter-list li:last-child{border-bottom:0;}
.charter-index{
  flex:0 0 auto;
  font-family:var(--font-display);font-weight:900;font-size:16px;
  color:var(--clr-crimson);letter-spacing:.02em;
  min-width:34px;
}
.charter-list h3{
  font-family:var(--font-body);font-weight:700;font-size:14px;
  letter-spacing:.03em;text-transform:uppercase;color:var(--clr-bone);
  margin:0 0 4px;
}
.charter-list p{
  font-family:var(--font-body);font-weight:500;font-size:13px;line-height:1.55;
  color:var(--clr-bone-dim);margin:0;
}

@media (max-width:520px){
  .league-depth{padding:var(--space-7) var(--space-3) var(--space-3);gap:var(--space-7);}
  .roster-grid{grid-template-columns:repeat(2,1fr);}
  .roster-card--feature{grid-column:span 2;}
  .roster-card--feature .roster-photo{aspect-ratio:16/9;}
  .roster-card--feature .roster-photo img{object-position:50% 20%;transform:scale(1.05);}
  .standings-intro{margin-top:calc(var(--space-4) * -1);}
  .charter-list li{gap:var(--space-3);}
}
@media (min-width:920px){
  .league-depth{padding:var(--space-8) var(--space-6) var(--space-6);}
  .booth-quote--short{grid-column:span 1;}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;}
}
