/* SUBSTITUIÇÕES (scene 'sub') — flat: white type, one small green / red word, the client's stripes as the only decoration */
.scene-sub { --sb-in: #1FC95B; --sb-out: #F2343F; }
.scene-sub .sb-layer { overflow: hidden; }

/* the small ENTRA / SAI word */
.scene-sub .sb-word { font-size: 58px; line-height: 1; letter-spacing: .1em; text-align: center; white-space: nowrap; }
.scene-sub .sb-word.k-in { color: var(--sb-in); }
.scene-sub .sb-word.k-out { color: var(--sb-out); }

/* text in a mask (rises into place). Line box 1.24em keeps accents (Ã, É) inside the mask; visual pitch 1em */
.scene-sub .sb-mask { overflow: hidden; flex: none; line-height: 1.24; margin: -.12em 0; }
.scene-sub .sb-mask > div { white-space: nowrap; color: #fff; }

/* in / out: the player card text column */
.scene-sub .sb-col { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.scene-sub .sb-col .sb-word { margin-bottom: 46px; }
.scene-sub .sb-pname { letter-spacing: .005em; }
.scene-sub .sb-nmask { line-height: 1; margin: .04em 0 -.08em; }
.scene-sub .sb-nmask.solo { margin-top: 0; }
.scene-sub .sb-pnum { letter-spacing: -.01em; }
/* photo region of the card (box x 880–1920): soft left edge ∩ (x ≥ 1100 ∪ y ≥ 600) — hides the card's own lettering */
.scene-sub .sb-photo { will-change: transform, opacity;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 130px), linear-gradient(90deg, transparent 220px, #000 330px), linear-gradient(180deg, transparent 545px, #000 650px);
  -webkit-mask-composite: source-in, source-over, source-over;
  mask-image: linear-gradient(90deg, transparent 0, #000 130px), linear-gradient(90deg, transparent 220px, #000 330px), linear-gradient(180deg, transparent 545px, #000 650px);
  mask-composite: intersect, add, add; }
.scene-sub .sb-bigcrest { object-fit: contain; }

/* pair: scoreboard grid */
.scene-sub .sb-titlewrap { overflow: hidden; text-align: center; }
.scene-sub .sb-title { display: inline-block; line-height: 1.2; color: #fff; white-space: nowrap; letter-spacing: .01em; }
.scene-sub .sb-bigmask { overflow: hidden; text-align: center; }
.scene-sub .sb-bignum { display: inline-block; line-height: 330px; color: #fff; white-space: nowrap; letter-spacing: -.01em; }
.scene-sub .sb-colname { overflow: hidden; text-align: center; }
.scene-sub .sb-colname > div { display: inline-block; line-height: 1.3; color: #fff; white-space: nowrap; }

/* 2–3 pairs: rows — number and name share one size and one baseline */
.scene-sub .sb-row { display: flex; align-items: center; gap: 0; }
.scene-sub .sb-rmask { overflow: hidden; flex: none; line-height: 1.3; }
.scene-sub .sb-rmask.t { flex: 1; min-width: 0; }
.scene-sub .sb-rnum { display: inline-block; color: #fff; white-space: nowrap; line-height: 1.3; }
.scene-sub .sb-rname { display: inline-block; color: #fff; white-space: nowrap; line-height: 1.3; }
.scene-sub .sb-rname.dash { color: rgba(255,255,255,.35); }

/* bumper */
.scene-sub .sb-bumpwrap { overflow: hidden; }
.scene-sub .sb-bump { display: inline-block; line-height: 1.17; color: #fff; white-space: nowrap; letter-spacing: .005em; }

/* fundo próprio deste ecrã (⚙ PREPARAR JOGO → ECRÃS): aparece inteiro, sem escurecer */
#bg.has-ecra[data-ecra="sub"] .bg-img { opacity: 1; }
