/*
 * NPL Home — loaded only on ok-cricket/template-npl*.php
 * Source: Figma "New UIs 2025" › Cricket-live comentry (6136:3), 1848px canvas.
 *
 * Tokens: --npl-color-* / --npl-sm / --npl-body / --npl-font-en mirror the Figma variables 1:1.
 * --npl-raw-* are fills used in the design that have no Figma variable bound.
 */

:root {
	/* Figma variables */
	--npl-color-grey-100: #f8f8f9;
	--npl-color-grey-200: #e7e7e9;
	--npl-color-grey-300: #d6d6d8;
	--npl-color-grey-400: #c5c6c8;
	--npl-color-primary-50: #ebf4fe;
	--npl-color-primary-100: #c0defd;
	--npl-color-primary-300: #6bb1fa;
	--npl-color-primary-400: #419bf9;
	--npl-color-primary-500: #1685f8;
	--npl-color-secondary-100: #feeded;
	--npl-color-secondary-200: #fbb8b8;
	--npl-color-secondary-400: #f87171;
	--npl-color-secondary-500: #f64e4e;
	--npl-color-dark-100: #f5f6fb;
	--npl-color-dark-300: #c8cad3;
	--npl-color-dark-400: #4a527a;
	--npl-color-dark-500: #2e386a;
	--npl-color-dark-600: #1c2346;
	--npl-color-dark-700: #000d4d;
	--npl-color-neutral-1000: #000d4d;
	--npl-color-surface-brand: #1685f8;
	--npl-color-grey-600: #939397;
	--npl-color-status-success: #0ec240;
	--npl-color-status-error: #ec3534;
	--npl-colors-yellow: #ffcc00;
	--npl-body: 16px;
	--npl-sm: 6px;
	--npl-font-en: 'Inter', sans-serif;

	/* Fonts used in the design */
	--npl-font-np: 'Anek Devanagari', sans-serif; /* all Devanagari/Nepali text (Figma Mukta layers switched per request) */
	--npl-font-display: var(--npl-font-en); /* Figma: Proxima Nova Alt — Inter per request, one step bolder */

	/* Raw fills (no Figma variable) */
	--npl-raw-page: #f9f9fa;
	--npl-raw-header: #0b0d1c;
	--npl-raw-ok-red: #e50300;
	--npl-raw-season: #ffc700;
	--npl-raw-live: #ff6b6b;
	--npl-raw-score-bg: #f2f2fc;
	--npl-raw-four: #6b00c9;
	--npl-raw-six: #107ced;
	--npl-raw-wicket: #ff0201;
	--npl-raw-feed-four: #60abfa;
	--npl-raw-feed-six: #63cb8d;
	--npl-raw-over-blue: #1476da;
	--npl-raw-tab-idle: #e8e8e8;
	--npl-raw-potm-bg: #fefbee;
	--npl-raw-drs-fill: #dbe9f8;
	--npl-raw-feed-line: #ececec;
	--npl-raw-table-line: #e0e1e9;
	--npl-raw-avatar: #d9d9d9;
	--npl-raw-sc-head: #f1f1f1;
	--npl-raw-fifty-from: #0b1a3e;
	--npl-raw-fifty-to: #1f4ea0;
	--npl-raw-stage-done: #009e10;
	--npl-raw-stage-current: #00acff;
	--npl-raw-stage-track: #eaebf0;
	--npl-raw-card-fade: rgba(229, 231, 237, 0.8);
	/* Figma uses Color/Dark/700 at reduced opacity for secondary text */
	--npl-ink-80: color-mix(in srgb, var(--npl-color-dark-700) 80%, transparent);
	--npl-ink-68: color-mix(in srgb, var(--npl-color-dark-700) 68%, transparent);
	--npl-ink-65: color-mix(in srgb, var(--npl-color-dark-700) 65%, transparent);
	--npl-ink-45: color-mix(in srgb, var(--npl-color-dark-700) 45%, transparent);
	--npl-card-border: rgba(0, 13, 77, 0.1);
	--npl-card-bg: rgba(255, 255, 255, 0.8);
	--npl-card-box: rgba(242, 242, 245, 0.6);
	--npl-line-08: rgba(0, 0, 0, 0.08);

	/* Layout (1848 canvas → 1248 content, rail 40 / main 772 / sidebar 307) */
	--npl-container: 1248px;
	--npl-rail-w: 40px;
	--npl-main-w: 772px;
	--npl-side-w: 307px;
	--npl-gap-rail: 68px;
	--npl-gap-side: 51px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body.npl-body {
	margin: 0;
	background: var(--npl-raw-page);
	color: var(--npl-color-dark-600);
	font-family: var(--npl-font-en);
	-webkit-font-smoothing: antialiased;
}

/* Reader profiles are injected after login; NPL pages only need authentication. */
:is(.npl-body, .npl-match-page) .ok-user-profile-panel {
	display: none !important;
}

/* Resets use :where() so they carry zero specificity and never beat component rules. */
:where(.npl-body) :where(p, h2, h3, ul, ol, figure) {
	margin: 0;
	padding: 0;
}

:where(.npl-body) :where(ul, ol) {
	list-style: none;
}

:where(.npl-body) img {
	display: block;
	max-width: 100%;
}

:where(.npl-body) a {
	color: inherit;
	text-decoration: none;
}

:where(.npl-body) button {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	cursor: pointer;
}

/* Plugin login modal (ok-user-manager) prints in wp_footer; its theme CSS is not loaded here. */
.npl-body > .ok-login-form,
.npl-body > .ok-forget-password-form,
.npl-body > .ok-forget-password-message {
	display: none;
}

.npl-body :focus-visible {
	outline: 2px solid var(--npl-color-primary-500);
	outline-offset: 2px;
}

.npl-container {
	width: 100%;
	max-width: var(--npl-container);
	margin: 0 auto;
}

/* ---------- Header (6136:497) ---------- */

.npl-header {
	font-family: var(--npl-font-en);
	font-size: 16px;
	font-weight: 400;
	line-height: normal;
	min-height: 205px;
	/* Preserve the mascot's full height on wide monitors. */
	background: var(--npl-raw-header) url('../../img/npl-header-banner-s3.png') center / auto 100% no-repeat;
	overflow: hidden;
}

.npl-header :where(div, span, a) {
	line-height: inherit;
}

.npl-header a {
	text-decoration: none;
}

.npl-header img {
	display: block;
}

.npl-header__inner {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	height: 100%;
}

.npl-header__ok-logo {
	position: absolute;
	top: 38px;
	left: 9px;
}

.npl-header__ok-logo img {
	width: 182px;
	height: 36px;
}

.npl-header__brand {
	padding-block: clamp(10px, 5vw, 20px);
	color: var(--npl-color-grey-100);
	display: flex;
	align-items: center;
	gap: 15px;
}

.npl-header__logo-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

/* Logo image box: anchors the invisible OK-home hit area */
.npl-header__logo-img {
	position: relative;
	display: block;
	width: 200px;
}

.npl-header__npl-logo {
	width: 200px;
	height: auto;
}

/* Hit area over the OK mark (top-left of the NPL Buzz logo: ~10% wide, ~25% tall) */
.npl-header__ok-mark {
	position: absolute;
	top: 0;
	left: 0;
	width: 11%;
	height: 26%;
	border-radius: 3px;
}

.npl-header__ok-mark:focus-visible {
	outline-offset: 2px;
}

/* Powered by: sponsor logos under "Season - 3" */
.npl-header__powered {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 6px;
}

.npl-header__powered-label {
	font-family: var(--npl-font-en);
	font-weight: 800;
	font-size: 11px;
	line-height: 1;
	letter-spacing: 0.2px;
	color: #fff;
	text-transform: uppercase;
	white-space: nowrap;
}

.npl-header__powered-logo {
	flex: none;
	width: auto;
	height: 22px;
	object-fit: contain;
}

.npl-header__powered-logo--omoda {
	height: 14px;
}

/* Right side: OK home link + sponsor can, vertically centred */
.npl-header__right {
	display: flex;
	align-items: center;
	gap: 28px;
}

.npl-header__sponsor {
	flex: none;
	width: auto;
	height: 169px;
	max-height: 90%;
	object-fit: contain;
}

.npl-header__present-logo{
	width: 135px;
	height: 90px;
	margin-bottom: 5px;
}

.npl-header__season {
	font-family: var(--npl-font-display);
	font-weight: 800;
	font-size: 13.462px;
	line-height: 1.6;
	color: var(--npl-raw-season);
	text-transform: uppercase;
	white-space: nowrap;
}

.npl-header__tagline {
	position: absolute;
	top: 102px;
	left: 175px;
	font-family: var(--npl-font-display);
	color: #fff;
	text-transform: uppercase;
	white-space: nowrap;
}

.npl-header__tagline span {
	display: block;
	line-height: 1;
}

.npl-header__tagline-sm {
	font-size: 14px;
	font-weight: 500;
	color: inherit;
}

.npl-header__tagline-lg {
	font-size: 33.291px;
	font-weight: 800;
}

.npl-header__home {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 26px;
	border-radius: 85px;
	background: var(--npl-color-surface-brand);
	font-family: var(--npl-font-en);
	font-weight: 600;
	font-size: 15px;
	color: #fff;
	white-space: nowrap;
	transition: filter 0.2s;
}

.npl-header__home:hover {
	filter: brightness(1.1);
}

/* ---------- Layout ---------- */

.npl-layout {
	display: grid;
	grid-template-columns: var(--npl-rail-w) var(--npl-gap-rail) minmax(0, var(--npl-main-w)) var(--npl-gap-side) var(--npl-side-w);
	align-items: start;
	padding: 33px 2px 64px 8px;
}

.npl-rail {
	grid-column: 1;
	align-self: stretch;
}

.npl-main {
	grid-column: 3;
	min-width: 0;
}

.npl-sidebar {
	grid-column: 5;
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 46px;
}

/* ---------- Share rail (6136:436) ---------- */

.npl-rail__inner {
	position: sticky;
	top: 20px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.npl-rail__count {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 7px;
	line-height: 12px;
	text-align: center;
}

.npl-rail__count-label {
	font-weight: 500;
	font-size: 12px;
	color: var(--npl-ink-45);
}

.npl-rail__count-num {
	font-weight: 800;
	font-size: 20px;
	color: var(--npl-ink-80);
}

.npl-rail__list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
}

.npl-rail__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.2s, transform 0.2s;
}

.npl-rail__btn:hover {
	opacity: 0.75;
}

/* ---------- Breadcrumb (6136:453) ---------- */

.npl-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	font-family: var(--npl-font-np);
	font-size: 12px;
	line-height: 17px;
}

.npl-breadcrumb li {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	color: var(--npl-color-dark-700);
}

.npl-breadcrumb li[aria-current] {
	font-weight: 500;
	color: var(--npl-ink-68);
}

.npl-breadcrumb a:hover {
	color: var(--npl-color-primary-500);
}

/* Figma flips the chevron horizontally (rotate 180 + scaleY -1) */
.npl-breadcrumb__sep {
	width: 5px;
	height: 8px;
	transform: scaleX(-1);
}

/* ---------- Score card (6136:459) ---------- */

.npl-score {
	position: relative;
	margin-top: 28px;
	border-radius: var(--npl-sm);
	overflow: hidden;
	background: var(--npl-raw-score-bg) url('../../img/score-card-bg.png') center top / 100% 100% no-repeat;
}

.npl-score__head,
.npl-score__teams,
.npl-score__live {
	border-bottom: 1px solid var(--npl-color-dark-300);
}

.npl-score__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	height: 76px;
	padding: 23px 31px 0 22px;
}

.npl-score__title {
	display: flex;
	align-items: center;
	gap: 7px;
	font-weight: 800;
	font-size: 16px;
	line-height: 12px;
	color: var(--npl-color-dark-700);
}

.npl-live {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 15px;
	border-radius: 2px;
	background: var(--npl-raw-live);
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 11px;
	line-height: 1;
	color: #fff;
	animation: npl-live 1.6s ease-in-out infinite;
}

@keyframes npl-live {
	50% {
		opacity: 0.6;
	}
}

.npl-score__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin: 10px 0 0 1px;
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-color-dark-600);
}

.npl-dot {
	width: 4px;
	height: 4px;
	background: url('../../img/npl/dot-sep.svg') center / contain no-repeat;
}

.npl-score__links {
	display: flex;
	gap: 7px;
}

.npl-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	padding: 8px 20px;
	border-radius: 85px;
	font-weight: 600;
	font-size: 12px;
	line-height: 12px;
	white-space: nowrap;
	transition: background-color 0.2s, color 0.2s;
}

.npl-pill--outline {
	border: 1px solid var(--npl-color-dark-700);
	color: var(--npl-color-dark-700);
}

.npl-pill--outline:hover {
	background: var(--npl-color-dark-700);
	color: var(--npl-color-dark-100);
}

.npl-pill--brand {
	background: var(--npl-color-surface-brand);
	color: var(--npl-color-dark-100);
}

.npl-pill--brand:hover {
	background: var(--npl-color-primary-400);
}

.npl-score__teams {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 123px;
	padding: 0 31px 0 28px;
}

.npl-team {
	display: flex;
	align-items: center;
	gap: 20px;
}

.npl-team__logo {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 64.818px;
	height: 64.818px;
	background: url('../../img/npl/team-circle.svg') center / contain no-repeat;
}

.npl-team__logo img {
	width: 38.541px;
	height: 38.541px;
}

.npl-team__info {
	display: flex;
	flex-direction: column;
	gap: 9px;
	width: 140px;
}

.npl-team--away .npl-team__info {
	align-items: flex-end;
	gap: 5px;
	width: 110.378px;
	text-align: right;
}

.npl-team__name {
	font-family: var(--npl-font-np);
	font-weight: 700;
	font-size: var(--npl-body);
	line-height: normal;
	color: var(--npl-color-dark-700);
}

.npl-team__score {
	display: flex;
	align-items: flex-end;
	gap: 7px;
	line-height: 17.518px;
	white-space: nowrap;
}

.npl-team__score strong {
	font-weight: 600;
	font-size: 23.643px;
	color: var(--npl-color-dark-700);
}

.npl-team__score span,
.npl-team__status {
	font-weight: 500;
	font-size: 14px;
	line-height: 17.518px;
	color: var(--npl-color-dark-400);
}

.npl-score__innings {
	position: absolute;
	top: 55px;
	left: calc(50% - 34px);
	font-weight: 600;
	font-size: 14px;
	line-height: 17.518px;
	color: var(--npl-color-primary-500);
	white-space: nowrap;
}

/* Live indicator: a short segment sweeps across a 45px track, like Google's live score */
.npl-live-bar {
	position: relative;
	display: block;
	width: 100%;
	height: 3px;
	margin-top: 6.5px;
	border-radius: 3.412px;
	background: rgba(22, 133, 248, 0.18);
	overflow: hidden;
}

.npl-live-bar::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 45%;
	height: 100%;
	border-radius: inherit;
	background: var(--npl-color-primary-500);
	animation: npl-live-sweep 1.4s ease-in-out infinite;
}

@keyframes npl-live-sweep {
	0% {
		transform: translateX(-100%);
	}

	100% {
		transform: translateX(230%);
	}
}

/* Ball event animation lives in npl-ballfx.css; position it on this card. */
.npl-score__teams .npl-ballfx {
	top: 6px;
	left: calc(50% - 58px);
}

@media (prefers-reduced-motion: reduce) {
	.npl-live-bar::before {
		width: 100%;
		animation: none;
	}
}

.npl-score__live {
	display: flex;
	flex-direction: column;
	gap: 25px;
	height: 89px;
	padding: 15px 31px 0 28px;
}

.npl-score__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
}

.npl-score__group {
	display: flex;
	align-items: center;
	gap: 15px;
}

.npl-score__group--over {
	gap: 10px;
}

.npl-score__player,
.npl-score__label,
.npl-score__rates {
	font-weight: 500;
	font-size: 14px;
	line-height: 17px;
	color: var(--npl-color-dark-600);
	white-space: nowrap;
}

.npl-score__player {
	display: flex;
	align-items: center;
	gap: 0;
}

/* Gap only after the bat/ball icon (name link + figures are separate flex items) */
.npl-score__player .npl-icon-bat {
	margin-right: 10px;
}

.npl-score__player .npl-icon-ball {
	margin-right: 11px;
}

.npl-icon-bat,
.npl-icon-ball {
	width: 16px;
	height: 16px;
	background: var(--npl-color-dark-700);
	-webkit-mask: url('../../img/npl/icon-bat.png') center / 16px 16px no-repeat;
	mask: url('../../img/npl/icon-bat.png') center / 16px 16px no-repeat;
}

/* Figma mirrors the ball glyph (rotate 180 + scaleY -1) */
.npl-icon-ball {
	-webkit-mask-image: url('../../img/npl/icon-ball.png');
	mask-image: url('../../img/npl/icon-ball.png');
	transform: scaleX(-1);
}

.npl-score__rates {
	display: flex;
	gap: 19px;
}

.npl-score__foot {
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 62px;
	padding: 0 31px 4px 28px;
}

.npl-score__toss {
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-color-dark-600);
}

.npl-score__foot-links {
	display: flex;
	align-items: center;
	gap: 21px;
}

.npl-score__tournament {
	font-weight: 600;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-color-dark-700);
	text-decoration: underline dotted;
	text-decoration-thickness: 10.5%;
	text-underline-offset: 3px;
}

.npl-score__tournament:hover {
	color: var(--npl-color-primary-500);
}

.npl-score__share {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	transition: transform 0.2s;
}

.npl-score__share:hover {
	transform: scale(1.06);
}

/* ---------- Ball chips (score card 20px / timeline 29px) ---------- */

.npl-chips {
	display: flex;
	align-items: center;
	gap: 8.529px;
}

.npl-chip {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	min-width: 29px;
	height: 29px;
	border-radius: 3.412px;
	background: var(--npl-color-grey-200);
	font-weight: 700;
	font-size: 15.353px;
	line-height: 29px;
	color: var(--npl-color-dark-600);
}

.npl-chip--dot {
	background: none;
}

.npl-chip--four {
	background: var(--npl-raw-four);
	color: #fff;
}

.npl-chip--six {
	background: var(--npl-raw-six);
	color: rgba(255, 255, 255, 0.8);
}

.npl-chip--wicket {
	border: 1.706px solid var(--npl-raw-wicket);
	background: var(--npl-raw-wicket);
	color: #fff;
}

.npl-chip--nb {
	width: 37.529px;
	background: var(--npl-color-secondary-100);
	color: var(--npl-color-secondary-500);
}

.npl-chip--extra {
	padding: 0 4px;
}

.npl-chips--sm {
	gap: 5.882px;
}

.npl-chips--sm .npl-chip {
	min-width: 20px;
	height: 20px;
	border-radius: 2.353px;
	font-size: 10.588px;
	line-height: 20px;
}

.npl-chips--sm .npl-chip--outline {
	border: 0.588px solid var(--npl-color-dark-700);
	background: none;
}

.npl-chips--sm .npl-chip--wide {
	width: 25.882px;
}

.npl-chips--sm .npl-chip--four,
.npl-chips--sm .npl-chip--wicket {
	color: var(--npl-color-dark-100);
}

.npl-chips--sm .npl-chip--wicket {
	border-width: 1.176px;
}

/* ---------- Player of the match (6185:15015) ---------- */

.npl-potm {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 45px;
	margin-top: -4px;
	padding: 5px 20px 5px 15px;
	border: 1px solid var(--npl-colors-yellow);
	border-radius: 0 0 var(--npl-sm) var(--npl-sm);
	background: var(--npl-raw-potm-bg);
}

.npl-potm__label {
	font-weight: 700;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-color-dark-700);
}

.npl-potm__player {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 236px;
}

.npl-potm__avatar {
	position: relative;
	flex: none;
	width: 33px;
	height: 33px;
}

.npl-potm__avatar > img:first-child {
	width: 33px;
	height: 33px;
	border-radius: 50%;
}

.npl-potm__badge {
	position: absolute;
	top: 19.07px;
	left: 21.27px;
	width: 13.933px;
	height: 13.933px;
}

.npl-potm__name {
	margin-right: -2px;
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 14px;
	line-height: 24px;
	color: var(--npl-color-dark-500);
	white-space: nowrap;
}

.npl-potm__meta {
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-ink-65);
	white-space: nowrap;
}

/* ---------- Over timeline (6170:12975) ---------- */

/* Sticks to the top of the viewport while the main column scrolls (stops at the end of .npl-main) */
.npl-timeline {
	position: sticky;
	top: var(--npl-sticky-top, 0px);
	z-index: 20;
	height: 77px;
	margin-top: 20px;
	border: 1px solid var(--npl-line-08);
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
}

/* Logged-in admins: sit below the WP admin bar */
body.admin-bar {
	--npl-sticky-top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar {
		--npl-sticky-top: 46px;
	}
}

/* WP admin bar stops being fixed at 600px and scrolls away */
@media (max-width: 600px) {
	body.admin-bar {
		--npl-sticky-top: 0px;
	}
}

.npl-timeline {
	transition: box-shadow 0.2s, border-radius 0.2s;
}

.npl-timeline.is-stuck {
	border-radius: 0 0 6px 6px;
	box-shadow: 0 6px 16px -6px color-mix(in srgb, var(--npl-color-dark-700) 25%, transparent);
}

/* Edge fades: left 67px, right 126px */
.npl-timeline::before,
.npl-timeline::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 1;
	pointer-events: none;
}

.npl-timeline::before {
	left: 0;
	width: 67px;
	background: linear-gradient(89.4774deg, #fff 13.453%, rgba(255, 255, 255, 0) 99.481%);
}

.npl-timeline::after {
	right: 0;
	width: 126px;
	background: linear-gradient(-89.0172deg, #fff 13.453%, rgba(255, 255, 255, 0) 99.481%);
}

.npl-timeline__track {
	display: flex;
	align-items: center;
	gap: 24px;
	height: 100%;
	padding: 0 33px 0 32px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.npl-timeline__track::-webkit-scrollbar {
	display: none;
}

.npl-timeline__over {
	display: flex;
	flex: none;
	align-items: center;
	gap: 11px;
}

.npl-timeline__label {
	font-weight: 700;
	font-size: 14px;
	line-height: 17px;
	color: var(--npl-color-dark-600);
	white-space: nowrap;
}

.npl-timeline__arrow {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	transition: opacity 0.2s;
}

.npl-timeline__arrow img {
	width: 6px;
	height: 12px;
}

.npl-timeline__arrow--prev {
	left: 0;
}

.npl-timeline__arrow--next {
	right: 0;
}

/* Figma flips the right arrow horizontally */
.npl-timeline__arrow--next img {
	transform: scaleX(-1);
}

/* At either end: drop that side's fade and arrow so the first/last chips are fully visible */
.npl-timeline::before,
.npl-timeline::after {
	transition: opacity 0.2s;
}

.npl-timeline.is-start::before,
.npl-timeline.is-end::after {
	opacity: 0;
}

.npl-timeline.is-start .npl-timeline__arrow--prev,
.npl-timeline.is-end .npl-timeline__arrow--next {
	visibility: hidden;
}

.npl-timeline__arrow[disabled] {
	opacity: 0.3;
	cursor: default;
}

/* ---------- Venue + innings tabs ---------- */

.npl-venue {
	margin-top: 20px;
	font-weight: 400;
	font-size: 14px;
	line-height: 12px;
	color: var(--npl-color-dark-500);
}

.npl-venue strong {
	font-weight: 600;
}

.npl-venue b {
	font-weight: 500;
}

.npl-innings-tabs {
	display: flex;
	gap: 29px;
	margin-top: 21px;
	padding-top: 27px;
	border-top: 1px solid var(--npl-color-grey-300);
	border-bottom: 1px solid var(--npl-color-grey-300);
}

.npl-innings-tabs__tab {
	position: relative;
	padding-bottom: 21px;
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 16px;
	line-height: 12px;
	color: var(--npl-color-dark-500);
	white-space: nowrap;
}

.npl-innings-tabs__tab.is-active {
	font-weight: 700;
}

.npl-innings-tabs__tab.is-active::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 70px;
	height: 2px;
	background: var(--npl-color-primary-500);
}

/* ---------- Panel (6136:519) ---------- */

.npl-panel {
	padding: 26px 19px 0 21px;
	border: 1px solid rgba(0, 0, 0, 0.05);
	border-top: 0;
	background: #fff;
}

.npl-subtabs {
	display: flex;
	gap: 5px;
	margin-left: 1px;
	overflow-x: auto;
	scrollbar-width: none;
}

.npl-subtabs::-webkit-scrollbar {
	display: none;
}

.npl-subtabs__tab {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 12px 25px;
	border-radius: 6px;
	background: var(--npl-raw-tab-idle);
	font-weight: 600;
	font-size: 14px;
	line-height: 12px;
	color: var(--npl-color-dark-700);
	white-space: nowrap;
	transition: background-color 0.2s, color 0.2s;
}

.npl-subtabs__tab:hover {
	background: var(--npl-color-grey-300);
}

.npl-subtabs__tab.is-active {
	background: var(--npl-color-surface-brand);
	color: #fff;
}

.npl-fow {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
	margin: 20px 0 0 1px;
	padding: 20px 0;
	border-top: 1px solid var(--npl-line-08);
	border-bottom: 1px solid var(--npl-line-08);
}

.npl-fow__label {
	padding: 5px 6px;
	background: var(--npl-color-secondary-100);
	font-weight: 700;
	font-size: 14px;
	line-height: 12px;
	color: var(--npl-color-secondary-500);
}

.npl-fow__list {
	max-width: 100%;
	overflow-x: auto;
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 16px;
	line-height: 24px;
	color: var(--npl-color-dark-500);
	white-space: nowrap;
	scrollbar-width: none;
}

.npl-fow__list::-webkit-scrollbar {
	display: none;
}

/* Right fade (179px) over the wicket list */
.npl-fow::after {
	content: '';
	position: absolute;
	right: 18px;
	bottom: 20px;
	width: 179px;
	height: 31px;
	background: linear-gradient(-86.536deg, #fff 13.453%, rgba(255, 255, 255, 0) 99.481%);
	pointer-events: none;
}

/* ---------- Feed (6185:14904) ---------- */

.npl-feed {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 24px;
	padding-bottom: 1px;
}

/* Full-width feed blocks share one rhythm: 16px feed gap + 3px = 19px above and below */
.npl-over-sum,
.npl-milestone,
.npl-feed-ad,
.npl-commentary {
	margin: 3px 0;
}

.npl-feed > :first-child {
	margin-top: 0;
}

.npl-over-no {
	display: flex;
	flex: none;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	width: 42px;
	font-family: var(--npl-font-en);
	line-height: 20px;
	color: var(--npl-raw-over-blue);
	white-space: nowrap;
}

.npl-over-no span {
	font-weight: 500;
	font-size: 18px;
}

.npl-over-no strong {
	font-weight: 700;
	font-size: 20px;
}

/* End of over */
.npl-over-sum__top {
	position: relative;
	display: flex;
	align-items: center;
	height: 68px;
	padding: 0 23px 0 22px;
	background: var(--npl-color-primary-50);
}

.npl-over-sum__divider {
	width: 1px;
	height: 35px;
	margin: 0 17px 0 13px;
	background: rgba(0, 0, 0, 0.6);
}

.npl-over-sum__runs,
.npl-over-sum__title {
	font-weight: 700;
	font-size: 18px;
	line-height: 20px;
	white-space: nowrap;
	letter-spacing: -0.5px;
}

.npl-over-sum__runs {
	color: var(--npl-color-dark-600);
}

.npl-over-sum__runs-wrap {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}

.npl-over-sum__link {
	font-weight: 600;
	font-size: 13px;
	line-height: 16px;
	color: var(--npl-raw-over-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.npl-over-sum__link:hover,
.npl-over-sum__link:focus-visible {
	color: var(--npl-color-dark-600);
}

.npl-over-sum__title {
	position: absolute;
	left: 50%;
	top: 26px;
	transform: translateX(-50%);
	color: var(--npl-raw-over-blue);
}

.npl-over-sum__team {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 9px;
	margin-left: auto;
	color: var(--npl-color-dark-500);
	white-space: nowrap;
}

.npl-over-sum__team span {
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 16px;
	line-height: 12px;
}

.npl-over-sum__team strong {
	margin-right: 2px;
	font-weight: 600;
	font-size: 20px;
	line-height: 17.518px;
}

.npl-over-sum__bottom {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	height: 38px;
	padding: 0 23px 0 14px;
	background: var(--npl-color-primary-100);
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-color-dark-600);
	white-space: nowrap;
}

.npl-over-sum__crr {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.npl-over-sum__bowler {
	margin-left: auto;
}

/* Ball row */
.npl-ball {
	margin: 0 9px 0 2px;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--npl-raw-feed-line);
}

.npl-ball__main {
	display: flex;
	align-items: flex-start;
}

.npl-ball__no {
	display: flex;
	flex: none;
	align-items: center;
	gap: 6px;
	width: 72px;
	height: 45px;
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	color: var(--npl-color-dark-700);
}

/* Figma: 48% opacity, mirrored (rotate 180 + scaleY -1) */
.npl-ball__no img {
	width: 16px;
	height: 16px;
	opacity: 0.48;
	transform: scaleX(-1);
}

.npl-ball__badge {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	border-radius: 4px;
	font-weight: 800;
	font-size: 20px;
	line-height: 20px;
	color: #fff;
}

.npl-ball__badge--four {
	background: var(--npl-raw-feed-four);
}

.npl-ball__badge--six {
	background: var(--npl-raw-feed-six);
}

.npl-ball__badge--wicket {
	background: var(--npl-color-secondary-500);
	font-size: 18px;
	color: var(--npl-color-dark-100);
}

.npl-ball__badge--run,
.npl-ball__badge--extra,
.npl-ball__badge--nb {
	background: #cecece;
}

.npl-ball__badge--extra,
.npl-ball__badge--nb {
	font-size: 16px;
}

.npl-ball__badge--dot {
	padding-bottom: 6px;
	background: var(--npl-color-grey-200);
	font-size: 24px;
	color: var(--npl-color-dark-600);
}

.npl-ball__text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 45px;
	max-width: 566px;
	margin-left: 23px;
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 16px;
	line-height: 23px;
	color: var(--npl-color-dark-700); /* Figma fill is raw rgba(0,0,0,.94), no variable; mapped to Color/Dark/700 */
}

/* Milestone (50 / 100) card — century: gold */
.npl-milestone {
	border-radius: var(--npl-sm);
	overflow: hidden;
	color: #fff;
	background: linear-gradient(97.2525deg, #8a5a00 0%, #c98a0a 55%, #e0a82a 100%);
}

/* Wicket stripe (wicket-card.php): the red gradient */
.npl-milestone--wicket {
	background: linear-gradient(97.2525deg, var(--npl-raw-ok-red) 0%, #fa2877 100%);
}

.npl-milestone--wicket .npl-milestone__badge em {
	font-family: var(--npl-font-np);
}

/* Fifty: navy */
.npl-milestone--fifty {
	background: linear-gradient(97.2525deg, var(--npl-raw-fifty-from) 0%, var(--npl-raw-fifty-to) 100%);
}

.npl-milestone--fifty .npl-milestone__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 20px;
	padding: 7px 20px 8px;
	background: rgba(0, 0, 0, 0.14);
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	color: rgba(255, 255, 255, 0.92);
}

.npl-milestone__top {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 20px;
}

.npl-milestone__avatar {
	flex: none;
	width: 44px;
	height: 44px;
}

.npl-milestone__avatar > img {
	width: 44px;
	height: 44px;
	border: 2px solid rgba(255, 255, 255, 0.85);
	border-radius: 50%;
	object-fit: cover;
}

.npl-milestone__player {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	white-space: nowrap;
}

.npl-milestone__player strong {
	font-family: var(--npl-font-np);
	font-weight: 800;
	font-size: 18px;
	line-height: 22px;
}

.npl-milestone__player span {
	font-weight: 600;
	font-size: 13px;
	line-height: 16px;
	color: rgba(255, 255, 255, 0.9);
}

.npl-milestone__badge {
	display: flex;
	align-items: flex-end;
	gap: 8px;
	margin-left: auto;
	line-height: 1;
	white-space: nowrap;
}

.npl-milestone__badge strong {
	font-weight: 900;
	font-size: 44px;
	line-height: 0.82;
	letter-spacing: -1.5px;
}

.npl-milestone__badge span {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.npl-milestone__badge b {
	font-weight: 800;
	font-size: 16px;
	line-height: 1;
}

.npl-milestone__badge em {
	font-family: var(--npl-font-np);
	font-style: normal;
	font-weight: 700;
	font-size: 11px;
	line-height: 1;
}

.npl-milestone__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 28px;
	padding: 11px 26px 12px;
	background: rgba(0, 0, 0, 0.14);
	font-weight: 700;
	font-size: 13px;
	line-height: 18px;
	color: rgba(255, 255, 255, 0.92);
}

/* Ad */
.npl-feed-ad {
	display: block;
	height: 100px;
	margin-right: 2px;
	overflow: hidden;
}

.npl-feed-ad img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	object-position: 0.4% center;
}

/* Commentary box */
.npl-commentary {
	display: flex;
	align-items: flex-start;
	margin-right: 2px;
	padding: 16px 20px 17px 21px;
	border: 1px solid var(--npl-color-primary-400);
}

.npl-commentary .npl-over-no {
	margin-top: 3px;
}

.npl-commentary__icon {
	flex: none;
	width: 45px;
	height: 45px;
	margin-left: 10px;
}

.npl-commentary__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 15px;
	max-width: 558px;
	margin: 3px 0 0 26px;
}

.npl-commentary__tag {
	padding: 5px 6px;
	background: var(--npl-color-primary-50);
	font-weight: 700;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-color-dark-500);
}

.npl-commentary__body p {
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 15px;
	line-height: 28px;
	color: var(--npl-color-dark-700); /* Figma fill is raw rgba(0,0,0,.94), no variable; mapped to Color/Dark/700 */
}

/* DRS row */
.npl-ball--drs .npl-ball__main {
	align-items: center;
}

.npl-ball--drs .npl-over-no {
	align-items: flex-start;
	width: 72px;
	padding-left: 1px;
}

.npl-ball__icon {
	flex: none;
	width: 45px;
	height: 45px;
}

/* DRS pill inside a ball row, under the commentary text */
.npl-drs.npl-drs--inline {
	flex: none;
	align-self: stretch; /* full text width: status text changes length while the review runs */
	max-width: 540px;
	margin: 10px 0 0;
	font-family: var(--npl-font-en);
}

.npl-drs--inline .npl-drs__team:nth-child(2) {
	padding-left: 18px;
}

/* Inline pill: indeterminate progress — a band sweeps across on a loop */
.npl-drs.npl-drs--inline {
	overflow: hidden;
}

.npl-drs.npl-drs--inline::before {
	display: block;
	left: 0;
	width: 40%;
	border-radius: 60px;
	animation: npl-drs-sweep 1.6s ease-in-out infinite;
}

@keyframes npl-drs-sweep {
	from { left: -40%; }
	to { left: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.npl-drs.npl-drs--inline::before {
		left: 3px;
		width: calc(100% - 6px);
		animation: npl-drs-pulse 2s ease-in-out infinite;
	}

	@keyframes npl-drs-pulse {
		50% { opacity: 0.45; }
	}
}

.npl-drs {
	position: relative;
	display: flex;
	align-items: center;
	flex: 1;
	max-width: 591px;
	height: 34px;
	margin: 0 -4px 0 17px;
	padding: 0 20px 0 13px;
	border: 1px solid var(--npl-color-primary-500);
	border-radius: 68px;
	background: var(--npl-color-dark-100);
	white-space: nowrap;
}

/* Review progress: fills 0 -> full over --npl-drs-time once the pill is on screen (npl.js) */
.npl-drs::before {
	content: '';
	position: absolute;
	top: 3px;
	left: 3px;
	width: 0;
	height: 27px;
	border-radius: 60px 0 0 60px;
	background: var(--npl-raw-drs-fill);
}

.npl-drs.is-filling::before {
	width: calc(100% - 6px);
	transition: width var(--npl-drs-time, 10s) linear;
}

.npl-drs.is-done::before {
	border-radius: 60px;
}

/* Decision text once the review completes */
.npl-drs.is-done .npl-drs__status span {
	font-weight: 700;
	color: var(--npl-color-dark-600);
}

@media (prefers-reduced-motion: reduce) {
	.npl-drs.is-filling::before {
		transition: none;
	}
}

.npl-drs p {
	position: relative;
	display: flex;
	align-items: center;
}

.npl-drs__status {
	gap: 9px;
}

.npl-drs__status strong {
	font-weight: 700;
	font-size: 14px;
	line-height: 20px;
	color: var(--npl-color-dark-600);
}

.npl-drs__status span,
.npl-drs__team {
	font-weight: 600;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-ink-80);
}

.npl-drs__team {
	gap: 4px;
}

.npl-drs__team:nth-child(2) {
	margin-left: auto;
}

.npl-drs__team + .npl-drs__team {
	margin-left: 22px;
}

.npl-drs__team img {
	width: 10px;
	height: 10px;
	margin-right: 3px;
}

.npl-drs__team b {
	margin-left: 4px;
	font-weight: 700;
	color: var(--npl-color-dark-600);
}

.npl-drs__team span {
	color: var(--npl-ink-45);
}

/* ---------- Sidebar cards ---------- */

.npl-card {
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 22px 18px 27px 20px;
	border: 1px solid var(--npl-card-border);
	background: var(--npl-card-bg);
}

.npl-card__title {
	font-weight: 700;
	font-size: 16px;
	line-height: 12px;
	color: var(--npl-color-dark-700);
}

.npl-card__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

/* Figma rotates the share glyph -90deg */
.npl-card__share img {
	width: 13px;
	height: 13px;
	transform: rotate(-90deg);
}

.npl-card__share:hover {
	opacity: 0.7;
}

.npl-card__box {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 10px;
	border-radius: 5px;
	background: var(--npl-card-box);
}

/* Poll (6185:14972) */
.npl-poll__teams,
.npl-poll__bars,
.npl-poll__actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.npl-poll__teams {
	font-weight: 600;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-ink-80);
}

.npl-poll__bars {
	gap: 5px;
}

.npl-poll__bar {
	position: relative;
	flex: 0 1 120px;
	height: 23px;
	border: 1px solid var(--npl-color-primary-300);
	border-radius: 3.412px;
	background: var(--npl-color-grey-200);
	overflow: hidden;
}

.npl-poll__bar--away {
	border-color: var(--npl-color-secondary-400);
}

.npl-poll__fill {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	min-width: 22px;
	border-radius: 3.412px;
	background: rgba(22, 133, 248, 0.2);
	transition: width 0.6s ease;
}

.npl-poll__fill::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 7px;
	width: 10px;
	height: 10px;
	margin-top: -5px;
	border-radius: 50%;
	background: var(--npl-color-primary-500);
}

.npl-poll__bar--away .npl-poll__fill {
	background: rgba(246, 78, 78, 0.3);
}

.npl-poll__bar--away .npl-poll__fill::before {
	left: 5px;
	background: var(--npl-color-secondary-500);
}

.npl-poll__bar b {
	position: absolute;
	top: 0;
	right: 7px;
	font-weight: 700;
	font-size: 12px;
	line-height: 21px;
	color: var(--npl-color-dark-600);
}

.npl-poll__vote {
	width: 47px;
	height: 29px;
	border: 1px solid var(--npl-color-grey-400);
	border-radius: 3.412px;
	background: var(--npl-color-grey-200);
	font-weight: 700;
	font-size: 12px;
	line-height: 27px;
	color: var(--npl-color-dark-600);
	transition: background-color 0.2s;
}

.npl-poll__vote:hover:not([disabled]) {
	background: var(--npl-color-grey-300);
}

.npl-poll__vote[disabled] {
	cursor: default;
	opacity: 0.55;
}

.npl-poll__vote.is-voted {
	opacity: 1;
	border-color: var(--npl-color-primary-500);
	background: var(--npl-color-primary-50);
}

/* Before voting: hint holds the bars' 23px row so the card doesn't jump */
.npl-poll__hint {
	height: 23px;
	font-weight: 500;
	font-size: 12px;
	line-height: 23px;
	color: var(--npl-ink-65);
	text-align: center;
}

.npl-poll__hint[hidden],
.npl-poll__bars[hidden] {
	display: none;
}

.npl-poll__msg {
	min-height: 0;
	font-weight: 600;
	font-size: 12px;
	line-height: 16px;
	color: var(--npl-color-dark-600);
	text-align: center;
}

.npl-poll__msg:empty {
	display: none;
}

.npl-poll__msg.is-success {
	color: var(--npl-color-primary-500);
}

.npl-poll__msg.is-error {
	color: var(--npl-color-secondary-500);
}

.npl-poll__vote.is-loading {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: auto;
	padding: 0 8px;
	opacity: 1;
	cursor: progress;
}

.npl-poll__vote.is-loading::before {
	content: '';
	width: 10px;
	height: 10px;
	border: 2px solid var(--npl-color-grey-400);
	border-top-color: var(--npl-color-primary-500);
	border-radius: 50%;
	animation: npl-spin 0.7s linear infinite;
}

.npl-poll__vote.is-voted {
	width: auto;
	padding: 0 8px;
	color: var(--npl-color-primary-500);
}

@keyframes npl-spin {
	to {
		transform: rotate(360deg);
	}
}

.npl-poll__total {
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-color-dark-700);
}

/* Boundary Meter: split bars per stat (home blue | away red), same tokens as the poll and graphs */
.npl-bmeter__rows {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.npl-bmeter__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
	margin-bottom: 6px;
	font-size: 12px;
	line-height: 14px;
}

.npl-bmeter__head span {
	font-weight: 500;
	color: var(--npl-ink-65);
	text-align: center;
}

.npl-bmeter__head b {
	min-width: 32px;
	font-weight: 600;
	font-size: 14px;
	color: var(--npl-ink-80);
}

.npl-bmeter__head b:last-child {
	text-align: right;
}

.npl-bmeter__head b.is-lead {
	font-weight: 800;
	color: var(--npl-color-dark-700);
}

.npl-bmeter__bar {
	display: flex;
	gap: 2px; /* surface gap between the two fills */
	height: 8px;
}

.npl-bmeter__fill {
	display: block;
	min-width: 4px;
	border-radius: 4px;
	transform-origin: left center;
	animation: npl-bmeter-grow 0.8s ease-out both;
}

.npl-bmeter__fill--home {
	flex: 0 0 calc(var(--npl-share) - 1px);
	background: var(--npl-color-primary-500);
}

.npl-bmeter__fill--away {
	flex: 1 1 auto;
	background: var(--npl-color-secondary-500);
	transform-origin: right center;
}

@keyframes npl-bmeter-grow {
	from { transform: scaleX(0); }
}

@media (prefers-reduced-motion: reduce) {
	.npl-bmeter__fill {
		animation: none;
	}
}

.npl-bmeter__since {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-top: 12px;
	border-top: 1px dashed var(--npl-raw-table-line);
	font-weight: 500;
	font-size: 12px;
	line-height: 16px;
	color: var(--npl-ink-65);
}

.npl-bmeter__since strong {
	font-weight: 800;
	font-size: 15px;
	color: var(--npl-color-dark-700);
}

.npl-bmeter__since small {
	font-size: 11px;
	color: var(--npl-raw-over-blue);
}

/* Graph cards (6176:14686, 6176:14613) */
.npl-legend p {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-ink-80);
}

.npl-legend b {
	margin-left: auto;
	font-weight: 600;
}

.npl-legend__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--npl-color-primary-500);
}

.npl-legend__dot--away {
	background: var(--npl-color-secondary-500);
}

/* Charts (SVG, drawn by npl.js from data-npl-data) */
.npl-chart {
	position: relative;
}

.npl-chart__plot {
	position: relative;
	min-height: 150px;
}

.npl-chart__plot svg {
	display: block;
	overflow: visible;
}

.npl-chart__grid {
	stroke: var(--npl-raw-feed-line);
	stroke-width: 1;
	shape-rendering: crispEdges;
}

.npl-chart__tick {
	font-family: var(--npl-font-en);
	font-weight: 500;
	font-size: 9px;
	fill: var(--npl-ink-45);
}

.npl-chart__fill--home {
	fill: var(--npl-color-primary-500);
}

.npl-chart__fill--away {
	fill: var(--npl-color-secondary-500);
}

.npl-chart__bar .npl-chart__fill {
	transition: opacity 0.15s;
}

.npl-chart__plot:hover .npl-chart__bar .npl-chart__fill {
	opacity: 0.45;
}

.npl-chart__plot .npl-chart__bar:hover .npl-chart__fill {
	opacity: 1;
}

.npl-chart__stub {
	fill: var(--npl-color-grey-200);
}

/* Wicket marker: red dot with a 2px surface ring */
.npl-chart__wkt,
.npl-chart__dot {
	stroke: #fff;
	stroke-width: 2;
	paint-order: stroke;
}

.npl-chart__wkt,
.npl-chart__dot--away {
	fill: var(--npl-color-secondary-500);
}

.npl-chart__dot--home {
	fill: var(--npl-color-primary-500);
}

.npl-chart__line {
	fill: none;
	stroke-width: 2;
	stroke-linejoin: round;
	stroke-linecap: round;
}

.npl-chart__line--home {
	stroke: var(--npl-color-primary-500);
}

.npl-chart__line--away {
	stroke: var(--npl-color-secondary-500);
}

.npl-chart__cross {
	stroke: var(--npl-color-dark-300);
	stroke-width: 1;
	shape-rendering: crispEdges;
	pointer-events: none;
}

.npl-chart__hit {
	fill: transparent;
	cursor: crosshair;
}

.npl-chart__tip {
	position: absolute;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 6px 8px;
	border-radius: 4px;
	background: var(--npl-color-dark-700);
	font-size: 11px;
	line-height: 14px;
	color: var(--npl-color-dark-100);
	white-space: nowrap;
	pointer-events: none;
}

.npl-chart__tip[hidden] {
	display: none;
}

.npl-chart__tip span {
	display: flex;
	align-items: center;
	gap: 5px;
}

.npl-chart__tip b {
	font-weight: 700;
}

.npl-chart__foot {
	display: flex;
	justify-content: space-between;
	margin-top: 6px;
	font-weight: 500;
	font-size: 10px;
	line-height: 12px;
	color: var(--npl-ink-65);
}

.npl-chart__foot span {
	display: flex;
	align-items: center;
	gap: 4px;
}

.npl-chart__key {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

.npl-chart__key--wicket,
.npl-chart__key--away {
	background: var(--npl-color-secondary-500);
}

.npl-chart__key--home {
	background: var(--npl-color-primary-500);
}

/* Fan cam (6185:14885) */
.npl-fancam {
	position: relative;
	height: 204px;
	overflow: hidden;
	background: var(--npl-color-dark-700);
}

.npl-fancam__slide {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

.npl-fancam__slide img {
	position: absolute;
	top: -4.22%;
	left: -8.67%;
	width: 122.71%;
	height: 122.71%;
	max-width: none;
	object-fit: cover;
}

.npl-fancam__label {
	position: absolute;
	top: 16px;
	left: 15px;
	padding: 0 12px;
	border-radius: 3.412px;
	background: var(--npl-color-neutral-1000);
	font-weight: 700;
	font-size: 12px;
	line-height: 29px;
	color: var(--npl-color-dark-100);
}

.npl-fancam__nav {
	position: absolute;
	top: 13px;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	transition: background-color 0.2s;
}

.npl-fancam__nav:hover {
	background: rgba(255, 255, 255, 0.2);
}

.npl-fancam__nav--prev {
	left: 226px;
}

/* Figma flips the prev arrow horizontally */
.npl-fancam__nav--prev img {
	transform: scaleX(-1);
}

.npl-fancam__nav--next {
	left: 263px;
}

/* Most run (6136:358) */
.npl-most-run {
	gap: 0;
	width: calc(100% - 2px);
	padding-bottom: 8px;
}

.npl-most-run__sub {
	margin-top: 11px;
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-ink-65);
}

.npl-most-run__table {
	width: 267px;
	max-width: 100%;
	margin-top: 28px;
	border-collapse: collapse;
	table-layout: fixed;
}

.npl-most-run__table th {
	padding: 0 0 10px;
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-ink-65);
	text-align: left;
}

.npl-most-run__table th:nth-child(1) {
	width: 160px;
}

.npl-most-run__table th:nth-child(2) {
	width: 65px;
	text-align: center;
}

.npl-most-run__table th:nth-child(3) {
	padding-right: 6px;
	text-align: right;
}

.npl-most-run__table td {
	height: 58px;
	padding: 12px 0 11px;
	border-top: 1px solid var(--npl-raw-table-line);
	font-weight: 600;
	font-size: 14px;
	line-height: 12px;
	color: var(--npl-ink-80);
	vertical-align: top;
}

.npl-most-run__table td:nth-child(2),
.npl-most-run__table td:nth-child(3) {
	padding-top: 18px;
}

.npl-most-run__table td:nth-child(2) {
	text-align: center;
}

.npl-most-run__table td:nth-child(3) {
	padding-right: 4px;
	text-align: right;
}

.npl-player {
	display: flex;
	align-items: center;
	gap: 11px;
}

.npl-player__avatar {
	position: relative;
	flex: none;
	width: 35px;
	height: 35px;
	border-radius: 86.842px;
	overflow: hidden;
	background: var(--npl-raw-avatar) url('../../img/npl/player-bg.svg') 0 0 / 33px 33px no-repeat;
}

.npl-player__avatar img {
	position: absolute;
	max-width: none;
	object-fit: cover;
}

.npl-player__avatar--a img:nth-child(1),
.npl-player__avatar--b img:nth-child(1) {
	top: -4.98px;
	left: -4.98px;
	width: 43.585px;
	height: 43.585px;
}

/* Figma crop: 182.76% × 188.74% of a 35.824 × 42 frame, offset -41.38% / -1.72% */
.npl-player__avatar--a img:nth-child(2) {
	top: -0.72px;
	left: -14.82px;
	width: 65.47px;
	height: 79.27px;
	object-fit: fill;
}

.npl-player__avatar--b img:nth-child(2) {
	top: 0;
	left: 0;
	width: 35.824px;
	height: 42px;
}

.npl-player__avatar--c img {
	top: -1px;
	left: 3px;
	width: 30px;
	height: 35px;
}

.npl-player__info {
	display: flex;
	flex-direction: column;
	gap: 5.5px;
	min-width: 0;
	font-size: 12px;
	line-height: 12px;
	white-space: nowrap;
}

.npl-player__info strong {
	font-weight: 600;
	color: var(--npl-color-dark-700);
}

.npl-player__info span {
	overflow: hidden;
	text-overflow: ellipsis;
	font-weight: 500;
	color: var(--npl-ink-65);
}

/* ---------- Scorecard tab (6185:15119) ---------- */

.npl-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.npl-sc {
	max-width: 722px;
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin: 15px 0 0 3px;
	padding-bottom: 24px;
}

.npl-sc-card {
	position: relative;
	padding: 21px 17px 17px 19px;
	border: 1px solid var(--npl-card-border);
	background: var(--npl-card-bg);
}

/* Header band: 72px, inset 1px inside the border */
.npl-sc-card::before {
	content: '';
	position: absolute;
	top: 1px;
	left: 1px;
	right: 1px;
	height: 72px;
	background: var(--npl-raw-sc-head);
}

.npl-sc-card__title {
	position: relative;
	font-weight: 700;
	font-size: 16px;
	line-height: 12px;
	color: var(--npl-color-dark-700);
}

.npl-sc-table {
	position: relative;
	width: 100%;
	margin-top: 18px;
	border-collapse: collapse;
	table-layout: fixed;
}

.npl-sc-table th {
	padding: 0 0 10px;
	font-weight: 500;
	font-size: 14px;
	line-height: 12px;
	color: var(--npl-ink-65);
	text-align: center;
	white-space: nowrap;
}

.npl-sc-table th:first-child,
.npl-sc-table td:first-child {
	text-align: left;
}

.npl-sc-table td {
	height: 48px;
	padding: 22px 0 0;
	font-weight: 600;
	font-size: 14px;
	line-height: 12px;
	color: var(--npl-ink-80);
	text-align: center;
	vertical-align: top;
	white-space: nowrap;
}

.npl-sc-table td:first-child {
	padding-top: 12px;
}

/* Rows after the first: 10px gap, then a 1px rule at the top of the 48px row */
.npl-sc-table tbody tr + tr td {
	height: 58px;
	padding-top: 32px;
	background: linear-gradient(var(--npl-raw-table-line), var(--npl-raw-table-line)) 0 10px / 100% 1px no-repeat;
}

.npl-sc-table tbody tr + tr td:first-child {
	padding-top: 22px;
}

.npl-sc-table td.npl-sc-table__how {
	padding-top: 20px;
	overflow: hidden;
	line-height: 20px;
	text-overflow: ellipsis;
	font-family: var(--npl-font-np);
	font-weight: 500;
	color: var(--npl-color-dark-400);
	text-align: left;
}

.npl-sc-table td.npl-sc-table__how.is-en {
	font-family: var(--npl-font-en);
}

.npl-sc-table tbody tr + tr .npl-sc-table__how {
	padding-top: 30px;
}

/* Column grids measured from the Figma header positions; text columns without a width take the remaining space */
.npl-sc-table--bat col:nth-child(1) { width: 173px; }
.npl-sc-table--bat col:nth-child(3) { width: 56px; }
.npl-sc-table--bat col:nth-child(4) { width: 60px; }
.npl-sc-table--bat col:nth-child(5) { width: 52px; }
.npl-sc-table--bat col:nth-child(6) { width: 48px; }
.npl-sc-table--bat col:nth-child(7) { width: 37px; }

.npl-sc-table--bowl col:nth-child(2) { width: 56px; }
.npl-sc-table--bowl col:nth-child(3) { width: 64px; }
.npl-sc-table--bowl col:nth-child(4) { width: 68px; }
.npl-sc-table--bowl col:nth-child(5) { width: 70px; }
.npl-sc-table--bowl col:nth-child(6) { width: 47px; }

.npl-sc-table--fow col:nth-child(2),
.npl-sc-table--fow col:nth-child(3) { width: 64px; }

.npl-sc-player {
	display: flex;
	align-items: center;
	gap: 11px;
}

.npl-sc-player__avatar {
	position: relative;
	flex: none;
	width: 35px;
	height: 35px;
	border-radius: 86.842px;
	overflow: hidden;
	background: var(--npl-raw-avatar) url('../../img/npl/player-bg.svg') 0 0 / 33px 33px no-repeat;
}

.npl-sc-player__avatar img {
	position: absolute;
	top: 0;
	left: 0;
	width: 35.824px;
	height: 42px;
	max-width: none;
	object-fit: cover;
}

.npl-sc-player__info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.npl-sc-player__how {
	display: none;
	overflow: hidden;
	text-overflow: ellipsis;
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 12px;
	line-height: 18px;
	color: var(--npl-color-dark-400);
}

.npl-sc-player__name {
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 14px;
	line-height: 12px;
	color: var(--npl-color-dark-700);
}

/* Playing 11 (6185:16355): role right-aligned */
.npl-sc-table--squad td.npl-sc-table__role {
	padding-top: 24px;
	font-family: var(--npl-font-np);
	font-weight: 500;
	color: var(--npl-color-dark-400);
	text-align: right;
}

.npl-sc-table--squad tbody tr + tr td.npl-sc-table__role {
	padding-top: 34px;
}

/* Partnership (6185:17059): no header band */
.npl-partner {
	padding: 6px 17px 26px 19px;
}

.npl-partner::before {
	content: none;
}

/* Scorecard filter pills (same as tournament Stats); the .npl-sc column gap does the spacing */
.npl-sc__filters {
	margin-top: 0;
}

/* Fall of wickets graph (inside the Fall of Wicket card, under the table) */
.npl-fow-graph {
	position: relative;
	margin: 22px 0 0;
	padding-top: 18px;
	border-top: 1px solid var(--npl-raw-table-line);
}

.npl-fow-graph__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px 16px;
	margin-bottom: 10px;
}

.npl-fow-graph__title {
	font-weight: 700;
	font-size: 14px;
	color: var(--npl-color-dark-700);
}

.npl-fow-graph__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	font-weight: 500;
	font-size: 12px;
	color: var(--npl-ink-65);
}

.npl-fow-graph__legend > span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.npl-fow-graph__key {
	display: inline-block;
	flex: none;
}

.npl-fow-graph__key--line {
	width: 14px;
	height: 2px;
	border-radius: 1px;
	background: var(--npl-color-primary-500);
}

.npl-fow-graph__key--wkt {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--npl-color-secondary-500);
}

.npl-fow-graph__key--part {
	width: 14px;
	height: 9px;
	border-radius: 2px;
	background: var(--npl-color-grey-300);
}

.npl-fow-graph__plot {
	min-height: 230px;
}

.npl-fow-graph__area--home {
	fill: color-mix(in srgb, var(--npl-color-primary-500) 10%, transparent);
}

.npl-fow-graph__area--away {
	fill: color-mix(in srgb, var(--npl-color-secondary-500) 10%, transparent);
}

.npl-fow-graph__drop {
	stroke: var(--npl-color-secondary-500);
	stroke-width: 1;
	stroke-dasharray: 2 3;
	opacity: 0.55;
}

.npl-fow-graph__label {
	font-family: var(--npl-font-en);
	font-weight: 700;
	font-size: 11px;
	fill: var(--npl-color-dark-700);
	paint-order: stroke;
	stroke: #fff;
	stroke-width: 3px;
	stroke-linejoin: round;
}

.npl-fow-graph__wkt .npl-chart__wkt {
	transition: r 0.15s;
}

.npl-fow-graph__wkt.is-hover .npl-chart__wkt {
	r: 7px;
}

.npl-fow-graph__seg--a {
	fill: var(--npl-color-grey-200);
}

.npl-fow-graph__seg--b {
	fill: var(--npl-color-grey-300);
}

.npl-fow-graph__part.is-open .npl-fow-graph__seg {
	fill: color-mix(in srgb, var(--npl-color-primary-500) 18%, transparent);
}

.npl-fow-graph__part:hover .npl-fow-graph__seg {
	fill: var(--npl-color-dark-300);
}

.npl-fow-graph__seg-label {
	font-family: var(--npl-font-en);
	font-weight: 600;
	font-size: 10px;
	fill: var(--npl-color-dark-600);
	pointer-events: none;
}

/* Over Summary tab: Over | bowler to batters + ball chips | Runs */
.npl-sc-table--overs col:nth-child(1) { width: 92px; }
.npl-sc-table--overs col:nth-child(3) { width: 64px; }

.npl-sc-table--overs th:nth-child(2) {
	padding-left: 18px;
	text-align: left;
}

.npl-sc-table--overs td,
.npl-sc-table--overs tbody tr + tr td,
.npl-sc-table--overs tbody tr + tr td:first-child {
	height: auto;
	padding: 16px 0 16px;
	vertical-align: middle;
	white-space: normal;
	background: none;
}

.npl-sc-table--overs tbody tr + tr td {
	border-top: 1px solid var(--npl-raw-table-line);
}

.npl-sc-table--overs td:nth-child(2) {
	padding-left: 18px;
	border-left: 1px dashed var(--npl-raw-table-line);
	border-right: 1px dashed var(--npl-raw-table-line);
	text-align: left;
}

.npl-overs__no,
.npl-overs__score {
	display: block;
	line-height: 18px;
}

.npl-overs__no {
	font-weight: 700;
	font-size: 15px;
	color: var(--npl-color-dark-700);
}

.npl-overs__score {
	margin-top: 4px;
	font-weight: 500;
	font-size: 13px;
	color: var(--npl-color-dark-400);
}

.npl-overs__who {
	margin: 0 0 10px;
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 14px;
	line-height: 22px;
	color: var(--npl-ink-80);
}

.npl-overs__to {
	font-family: var(--npl-font-en);
	font-weight: 500;
	font-size: 13px;
	color: var(--npl-color-dark-400);
}

.npl-overs__balls {
	flex-wrap: wrap;
	row-gap: 6px;
}

td.npl-overs__runs {
	font-weight: 800;
	font-size: 17px;
	color: var(--npl-color-dark-700);
}

/* Partnership embedded in the Scorecard tab: titled like the other cards, shorter band (no column heads) */
.npl-partner--titled {
	padding: 21px 17px 26px 19px;
}

.npl-partner--titled::before {
	content: '';
	height: 54px;
}

.npl-partner--titled .npl-partner__list {
	position: relative;
	margin-top: 22px;
}

.npl-partner__row {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	height: 48px;
	padding-top: 12px;
}

.npl-partner__row + .npl-partner__row {
	padding-top: 11px;
	margin-top: 10px;
	border-top: 1px solid var(--npl-raw-table-line);
}

.npl-partner__who {
	display: flex;
	flex-direction: column;
	gap: 5px;
	white-space: nowrap;
}

.npl-sc-player--right .npl-partner__who {
	align-items: flex-end;
	gap: 6px;
}

.npl-partner__runs {
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-color-dark-400);
}

.npl-partner__total {
	position: absolute;
	top: 12px;
	left: calc(50% - 66.5px);
	width: 163px;
}

.npl-partner__row + .npl-partner__row .npl-partner__total {
	top: 11px;
}

.npl-partner__total b {
	display: block;
	padding-left: 37px;
	font-weight: 700;
	font-size: 14px;
	line-height: 12px;
	color: var(--npl-color-dark-600);
}

.npl-partner__bar {
	display: flex;
	gap: 5px;
	margin-top: 8px;
}

.npl-partner__bar span {
	flex-basis: 0;
	height: 9px;
	border-radius: 3.412px;
	background: rgba(22, 133, 248, 0.2);
}

.npl-partner__bar span + span {
	background: rgba(22, 133, 248, 0.6);
}

/* ---------- Empty state (innings not started) ---------- */

.npl-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 30px;
	text-align: center;
}

.npl-empty__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	margin-bottom: 6px;
	border-radius: 50%;
	background: var(--npl-color-primary-50);
}

.npl-empty__icon .npl-icon-bat {
	width: 26px;
	height: 26px;
	background: var(--npl-color-primary-500);
	-webkit-mask-size: 26px 26px;
	mask-size: 26px 26px;
}

.npl-empty__title {
	font-weight: 700;
	font-size: 18px;
	line-height: 24px;
	color: var(--npl-color-dark-700);
}

.npl-empty__text {
	max-width: 440px;
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 15px;
	line-height: 23px;
	color: var(--npl-ink-65);
}

/* ==========================================================================
   NPL Tournament (template-npl-tournament.php, Figma 6212:17879)
   ========================================================================== */

/* Layout: full-width band (score, upcoming, stages) above main + sidebar */
.npl-layout--tournament {
	grid-template-columns: var(--npl-rail-w) var(--npl-gap-rail) minmax(0, var(--npl-main-w)) 38px var(--npl-side-w);
}

.npl-layout--tournament .npl-rail {
	grid-row: 1 / span 2;
}

.npl-wide {
	grid-column: 3 / 6;
	min-width: 0;
}

.npl-layout--tournament .npl-main,
.npl-layout--tournament .npl-sidebar {
	grid-row: 2;
	margin-top: 36px;
}

/* Today's Match (6212:18433) */
.npl-today {
	margin-top: 28px;
	border-bottom: 1px solid color-mix(in srgb, var(--npl-color-dark-700) 20%, transparent);
	border-radius: var(--npl-sm);
	overflow: hidden;
	background: linear-gradient(to top, transparent, var(--npl-raw-card-fade));
}

.npl-today__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	min-height: 60px;
	padding: 0 20px;
	border-bottom: 1px solid color-mix(in srgb, var(--npl-color-dark-700) 20%, transparent);
}

.npl-today__heading {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 15px;
}

.npl-today__title {
	font-weight: 800;
	font-size: 18px;
	line-height: 22px;
	color: var(--npl-color-dark-600);
}

.npl-today__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	font-weight: 400;
	font-size: 14px;
	line-height: 16px;
	color: var(--npl-color-dark-500);
}

.npl-today__teams {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 24px;
	padding: 40px 81px 44px 85px;
	border-bottom: 1px solid color-mix(in srgb, var(--npl-color-dark-700) 20%, transparent);
}

.npl-today__team {
	display: flex;
	align-items: center;
	gap: 25px;
}

.npl-today__team--away {
	justify-content: flex-end;
	text-align: right;
}

.npl-today__logo {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 74.5px;
	height: 74.5px;
	background: url('../../img/npl/team-circle.svg') center / contain no-repeat;
}

.npl-today__logo img {
	width: 44.3px;
	height: 44.3px;
}

.npl-today__name {
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 20px;
	line-height: normal;
	color: var(--npl-color-dark-600);
	white-space: nowrap;
}

.npl-today__score {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin-top: 12px;
	white-space: nowrap;
}

.npl-today__score strong {
	font-weight: 600;
	font-size: 28.7px;
	line-height: 20px;
	color: var(--npl-color-dark-600);
}

.npl-today__score span {
	font-size: 20px;
	line-height: 20px;
	color: var(--npl-color-dark-400);
}

.npl-today__status {
	margin-top: 10px;
	font-weight: 500;
	font-size: 18px;
	line-height: 20px;
	color: var(--npl-color-dark-600);
}

.npl-today__mid {
	text-align: center;
}

.npl-today__innings {
	display: inline-block;
	font-weight: 600;
	font-size: 13.8px;
	line-height: 17px;
	color: var(--npl-color-primary-500);
}

.npl-today__innings .npl-live-bar {
	margin: 6px auto 0;
}

.npl-today__rates {
	display: flex;
	justify-content: center;
	gap: 17px;
	margin-top: 26px;
	font-weight: 600;
	font-size: 14px;
	line-height: 14px;
	color: var(--npl-color-dark-500);
	white-space: nowrap;
}

.npl-today__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 48px;
	min-height: 58px;
	padding: 8px 21px;
}

.npl-today__toss,
.npl-today__over > span {
	font-weight: 500;
	font-size: 14px;
	line-height: 16px;
	color: var(--npl-color-dark-500);
}

.npl-today__over {
	display: flex;
	align-items: center;
	gap: 9px;
}

.npl-today__over > span {
	font-weight: 600;
	white-space: nowrap;
}

.npl-today__live {
	display: inline-flex;
	align-items: center;
	height: 32px;
	margin-left: auto;
	padding: 0 10px;
	border: 1px solid var(--npl-color-grey-400);
	border-radius: 3.412px;
	background: var(--npl-color-grey-200);
	font-weight: 700;
	font-size: 12px;
	color: var(--npl-color-dark-600);
	white-space: nowrap;
	transition: background-color 0.2s;
}

.npl-today__live:hover {
	background: var(--npl-color-grey-300);
}

/* Double-header: live match | next match side by side (same layout, compact), vertical divider */
.npl-today__split {
	display: grid;
	grid-auto-columns: minmax(0, 1fr);
	grid-auto-flow: column; /* one column = full width, two = halves */
	border-bottom: 1px solid color-mix(in srgb, var(--npl-color-dark-700) 20%, transparent);
}

.npl-today__split .npl-today__teams {
	border-bottom: 0;
}

.npl-today__col {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.npl-today__col > .npl-today__teams {
	flex: 1;
}

/* This Over, inside the live column under the score row */
.npl-today__over--col {
	justify-content: center;
	flex-wrap: wrap;
	margin: 0 22px;
	padding: 14px 0 18px;
	border-top: 1px dashed var(--npl-raw-table-line);
}

.npl-today__col--next {
	border-left: 1px solid color-mix(in srgb, var(--npl-color-dark-700) 20%, transparent);
}

.npl-today__split:has(.npl-today__col--next) .npl-today__teams {
	gap: 14px;
	padding: 26px 22px 22px;
	border-bottom: 0;
}

.npl-today__split:has(.npl-today__col--next) .npl-today__team {
	gap: 12px;
	min-width: 0;
}

.npl-today__split:has(.npl-today__col--next) .npl-today__logo {
	width: 56px;
	height: 56px;
}

.npl-today__split:has(.npl-today__col--next) .npl-today__logo img {
	width: 33px;
	height: 33px;
}

.npl-today__split:has(.npl-today__col--next) .npl-today__name {
	font-size: 17px;
	line-height: 24px;
	white-space: normal;
}

.npl-today__split:has(.npl-today__col--next) .npl-today__score {
	gap: 6px;
	margin-top: 8px;
}

.npl-today__split:has(.npl-today__col--next) .npl-today__score strong {
	font-size: 24px;
}

.npl-today__split:has(.npl-today__col--next) .npl-today__score span,
.npl-today__split:has(.npl-today__col--next) .npl-today__status {
	font-size: 14px;
}

.npl-today__split:has(.npl-today__col--next) .npl-today__status {
	margin-top: 6px;
}

.npl-today__split:has(.npl-today__col--next) .npl-today__rates {
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin-top: 16px;
}

.npl-today__initial {
	font-family: var(--npl-font-np);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.4;
	color: var(--npl-color-dark-500);
}

.npl-today__mid--next .npl-today__innings {
	color: var(--npl-color-dark-500);
	white-space: nowrap;
}

.npl-today__start {
	margin-top: 10px;
	font-weight: 800;
	font-size: 22px;
	line-height: 26px;
	color: var(--npl-raw-over-blue);
	white-space: nowrap;
}

.npl-today__toss-at {
	margin-top: 6px;
	font-weight: 500;
	font-size: 13px;
	line-height: 16px;
	color: var(--npl-color-dark-500);
	white-space: nowrap;
}

/* Ball chips, medium size (24.8px) */
.npl-chips--md {
	gap: 7.3px;
}

.npl-chips--md .npl-chip {
	min-width: 24.8px;
	height: 24.8px;
	border-radius: 2.917px;
	font-size: 13.1px;
	line-height: 24.8px;
}

.npl-chips--md .npl-chip--outline {
	border: 0.729px solid color-mix(in srgb, var(--npl-color-dark-600) 68%, transparent);
	color: var(--npl-color-dark-600);
}

.npl-chips--md .npl-chip--wide {
	width: 32.1px;
}

.npl-chips--md .npl-chip--dot img {
	width: 24.8px;
	height: 24.8px;
}

/* Upcoming matches (6212:18650) */
.npl-upcoming {
	margin-top: 12px;
}

.npl-upcoming__title {
	padding: 5px 0 0 4px;
	font-weight: 700;
	font-size: 16px;
	line-height: 12px;
	color: var(--npl-color-dark-500);
}

.npl-upcoming__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 9px;
	margin-top: 23px;
}

/* Fixture card — upcoming / live / finished (Figma 6304:7478), shared by Upcoming Matches and the Fixtures tab */
/* Team names link to the team page (ok_npl_team_url) */
.npl-team-link {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s;
	font-weight: 500;
	font-size: 13px;
}

.npl-team-link:hover {
	color: var(--npl-color-primary-500);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Player names (ok_npl_player_link) — inherit surrounding type; '#' until player URLs are wired */
.npl-player-link {
	color: inherit;
	text-decoration: none;
	transition: color 0.15s;
}

.npl-player-link:hover {
	color: var(--npl-color-primary-500);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.npl-fixture {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 117px;
	padding-bottom: 12px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: var(--npl-sm);
	background: #fff;
	transition: border-color 0.2s, box-shadow 0.2s;
}

/* Card-wide match link sits under the content; team links are raised above it */
.npl-fixture__link {
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}

.npl-fixture__link:focus-visible {
	outline-offset: -2px;
}

.npl-fixture .npl-team-link {
	position: relative;
	z-index: 2;
}

.npl-fixture--upcoming {
	background: linear-gradient(to top, transparent, var(--npl-raw-card-fade));
}

.npl-fixture--live {
	border-color: var(--npl-color-secondary-200);
}

.npl-fixture:hover {
	border-color: var(--npl-color-primary-300);
	box-shadow: 0 4px 12px -6px color-mix(in srgb, var(--npl-color-dark-700) 25%, transparent);
}

.npl-fixture--live:hover {
	border-color: var(--npl-color-secondary-400);
}

.npl-fixture__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	height: 28px;
	padding: 0 11px 0 12px;
	border-bottom: 1px solid var(--npl-color-grey-300);
	font-size: 12px;
	line-height: 12px;
	white-space: nowrap;
}

.npl-fixture__date {
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 20px; /* Devanagari marks need room when overflow is hidden */
	font-family: var(--npl-font-np);
	font-weight: 500;
	color: var(--npl-ink-65);
}

.npl-fixture__group {
	margin-left: auto;
	font-weight: 500;
	color: var(--npl-color-dark-700);
}

.npl-fixture__body {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	padding: 14px 11px 0 10px;
}

.npl-fixture__rows {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.npl-fixture__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
}

.npl-fixture__team {
	display: flex;
	align-items: center;
	gap: 11px;
	min-width: 0;
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 14px;
	line-height: 14px;
	color: var(--npl-ink-80);
	white-space: nowrap;
}

.npl-fixture__logo {
	position: relative;
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: var(--npl-raw-avatar);
}

.npl-fixture__logo > img:first-child {
	width: 25px;
	height: 25px;
	border-radius: 50%;
	object-fit: cover;
}

.npl-fixture__logo > span {
	font-size: 12px;
	color: var(--npl-color-dark-500);
}

/* Winner: green check on the logo (Figma: 12 x 11 at the logo's bottom-right) */
.npl-fixture__win {
	position: absolute;
	top: 14px;
	left: 19px;
	width: 12px;
	height: 11px;
}

.npl-fixture__score {
	display: flex;
	flex: none;
	align-items: baseline;
	gap: 6px;
	white-space: nowrap;
}

.npl-fixture__score strong {
	font-weight: 700;
	font-size: 14px;
	line-height: 14px;
	color: var(--npl-ink-80);
}

.npl-fixture__score span {
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-ink-65);
}

/* Finished: losing side faded to 30% ink */
.npl-fixture__row.is-loser .npl-fixture__team,
.npl-fixture__row.is-loser .npl-fixture__score strong,
.npl-fixture__row.is-loser .npl-fixture__score span {
	color: color-mix(in srgb, var(--npl-color-dark-700) 30%, transparent);
}

.npl-fixture__row.is-loser .npl-fixture__logo {
	opacity: 0.55;
}

/* Live: batting side in full ink */
.npl-fixture__row.is-batting .npl-fixture__team,
.npl-fixture__row.is-batting .npl-fixture__score strong,
.npl-fixture__row.is-batting .npl-fixture__score span {
	color: var(--npl-color-dark-700);
}

.npl-fixture__when {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 5px;
	margin-top: 21px;
	white-space: nowrap;
}

.npl-fixture__when span {
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-ink-65);
}

.npl-fixture__when strong {
	font-weight: 700;
	font-size: 14px;
	line-height: 14px;
	color: var(--npl-ink-80);
}

/* Fixtures tab list */
.npl-fixtures {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(1, 1fr));
	gap: 12px;
	margin-top: 22px;
}

/* Stage progress (6212:18511) */
.npl-stages {
	margin-top: 28px;
}

.npl-stages__track {
	display: flex;
	align-items: center;
}

.npl-stages__dot {
	flex: none;
	width: 18px;
	height: 18px;
}

.npl-stages__trophy {
	flex: none;
	width: 26px;
	height: 26px;
	margin-left: 8px;
}

.npl-stages__bar {
	flex: 1;
	height: 8px;
	margin: 0 6px;
	background: var(--npl-raw-stage-track);
	overflow: hidden;
}

.npl-stages__bar > span {
	display: block;
	height: 100%;
	background: color-mix(in srgb, var(--npl-raw-stage-done) 27%, transparent);
}

.npl-stages__labels {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	margin-top: 17px;
	font-weight: 600;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-ink-80);
}

.npl-stages__labels li:nth-child(2) {
	text-align: center;
}

.npl-stages__labels li:nth-child(3) {
	text-align: right;
}

.npl-stages__labels li[aria-current] {
	color: var(--npl-color-dark-700);
}

/* Tabs panel (6212:18303) */
.npl-tpanel {
	padding: 20px 20px 30px 21px;
	border: 1px solid rgba(0, 0, 0, 0.05);
	border-radius: var(--npl-sm);
	background: #fff;
}

.npl-tpanel .npl-sc {
	margin-top: 22px;
	padding-bottom: 0;
}

/* Points table */
.npl-sc-table--points col:nth-child(2) { width: 56px; }
.npl-sc-table--points col:nth-child(3) { width: 66px; }
.npl-sc-table--points col:nth-child(4) { width: 52px; }
.npl-sc-table--points col:nth-child(5) { width: 44px; }
.npl-sc-table--points col:nth-child(6) { width: 56px; }
.npl-sc-table--points col:nth-child(7) { width: 147px; }

.npl-sc-table--points th:last-child,
.npl-sc-table--points td:last-child {
	padding-left: 40px; /* room for the lettered form dots */
	text-align: left;
}

.npl-team-badge {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--npl-color-grey-200);
}

.npl-sc-player__avatar.npl-team-badge img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.npl-team-badge > span {
	font-family: var(--npl-font-np);
	font-weight: 700;
	font-size: 15px;
	color: var(--npl-color-dark-500);
}

.npl-form {
	display: inline-flex;
	gap: 3px;
	vertical-align: middle;
}

.npl-form__dot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--npl-color-dark-300);
	font-style: normal;
}

/* Result letter (W / L / D) on the dot; the sr-only text carries it for screen readers */
.npl-form__dot b {
	font-family: var(--npl-font-en);
	font-weight: 700;
	font-size: 10px;
	line-height: 1;
	color: #fff;
}

.npl-form__dot--d b {
	color: var(--npl-color-dark-600);
}

.npl-form__dot--w {
	background: var(--npl-color-status-success);
}

.npl-form__dot--l {
	background: var(--npl-color-status-error);
}

/* Form legend under the points table */
.npl-form-legend {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 8px 20px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--npl-raw-table-line);
	font-weight: 500;
	font-size: 12px;
	line-height: 14px;
	color: var(--npl-ink-65);
}

.npl-form-legend__items {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
}

.npl-form-legend__items > span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--npl-color-dark-500);
}

/* Playing Team tab: team list on the NPL table card */
.npl-teams {
	padding: 0;
	overflow: hidden;
	border-radius: var(--npl-sm);
}

.npl-teams::before {
	content: none;
}

.npl-sc-table--teams {
	margin-top: 0;
}

.npl-sc-table--teams col:nth-child(1) { width: 48px; }
.npl-sc-table--teams col:nth-child(3) { width: 30%; }
.npl-sc-table--teams col:nth-child(4),
.npl-sc-table--teams col:nth-child(5),
.npl-sc-table--teams col:nth-child(6) { width: 60px; }
.npl-sc-table--teams col:nth-child(7) { width: 40px; }

.npl-sc-table--teams th {
	padding: 14px 12px;
	background: var(--npl-raw-sc-head);
	font-family: var(--npl-font-np);
	font-size: 13px;
	line-height: 16px;
	text-align: left;
}

.npl-sc-table--teams th:nth-child(1) {
	padding-left: 16px;
}

.npl-sc-table--teams th:nth-child(n+4) {
	text-align: center;
}

.npl-sc-table--teams td,
.npl-sc-table--teams tbody tr + tr td,
.npl-sc-table--teams tbody tr + tr td:first-child {
	height: 66px;
	padding: 10px 12px;
	border-top: 1px solid var(--npl-raw-table-line);
	background: none;
	vertical-align: middle;
}

.npl-sc-table--teams tbody tr {
	transition: background-color 0.15s;
}

.npl-sc-table--teams tbody tr:hover {
	background: var(--npl-color-grey-100);
}

.npl-sc-table--teams td.npl-teams__rank,
.npl-sc-table--teams tbody tr + tr td.npl-teams__rank {
	padding-left: 16px;
	font-weight: 500;
	color: var(--npl-ink-65);
}

.npl-team-badge__abbr {
	font-family: var(--npl-font-en);
	font-style: italic;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: -0.2px;
}

.npl-sc-table--teams .npl-sc-player__avatar {
	width: 40px;
	height: 40px;
}

.npl-sc-table--teams td:nth-child(2),
.npl-sc-table--teams td:nth-child(1) {
	text-align: left;
}

.npl-teams__names {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	min-width: 0;
}

.npl-teams__np {
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
	color: var(--npl-color-dark-700);
	white-space: nowrap;
}

.npl-teams__en {
	font-weight: 500;
	font-size: 12px;
	line-height: 14px;
	color: var(--npl-ink-65);
	white-space: nowrap;
}

.npl-sc-table--teams td.npl-teams__captain {
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 14px;
	color: var(--npl-color-dark-600);
	text-align: left;
}

.npl-teams__played,
.npl-teams__won,
.npl-teams__lost {
	font-weight: 700;
	font-size: 15px;
	color: var(--npl-color-dark-700);
}

.npl-sc-table--teams td.npl-teams__won {
	color: var(--npl-color-status-success);
}

.npl-sc-table--teams td.npl-teams__lost {
	color: var(--npl-color-status-error);
}

.npl-teams__go a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	transition: background-color 0.15s;
}

.npl-teams__go a:hover {
	background: var(--npl-color-grey-200);
}

/* Same chevron asset as the breadcrumb, mirrored to point right */
.npl-teams__go img {
	width: 5px;
	height: 8px;
	opacity: 0.6;
	transform: scaleX(-1);
}

/* Stats tab: summary tiles, filter pills, leaderboard cards */
.npl-stats {
	margin-top: 22px;
}

.npl-stats__tiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.npl-stats__tile {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px 16px;
	border-radius: 5px;
	background: var(--npl-card-box);
}

.npl-stats__tile strong {
	font-weight: 800;
	font-size: 22px;
	line-height: 26px;
	color: var(--npl-color-dark-700);
}

.npl-stats__tile span {
	font-weight: 500;
	font-size: 12px;
	line-height: 14px;
	color: var(--npl-ink-65);
}

.npl-stats__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 20px;
}

.npl-stats__filter {
	border: 1px solid var(--npl-color-dark-300);
	color: var(--npl-color-dark-600);
}

.npl-stats__filter:hover {
	border-color: var(--npl-color-dark-600);
}

.npl-stats__filter.is-active {
	border-color: var(--npl-color-surface-brand);
	background: var(--npl-color-surface-brand);
	color: var(--npl-color-dark-100);
}

.npl-stats__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 16px;
}

.npl-stat-board {
	border: 1px solid var(--npl-card-border);
	border-radius: var(--npl-sm);
	background: var(--npl-card-bg);
	overflow: hidden;
}

.npl-stat-board[hidden] {
	display: none;
}

.npl-stat-board__head {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
	padding: 14px 16px 12px;
	background: var(--npl-raw-sc-head);
}

.npl-stat-board__head h3 {
	margin: 0;
	font-weight: 700;
	font-size: 15px;
	line-height: 18px;
	color: var(--npl-color-dark-700);
}

.npl-stat-board__head span {
	font-weight: 500;
	font-size: 11px;
	line-height: 14px;
	color: var(--npl-ink-65);
	white-space: nowrap;
}

.npl-stat-board__list {
	counter-reset: npl-rank;
	padding: 0 16px;
}

.npl-stat-board__list li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border-top: 1px solid var(--npl-raw-table-line);
	counter-increment: npl-rank;
}

.npl-stat-board__list li:first-child {
	border-top: 0;
}

.npl-stat-board__list li::before {
	content: counter(npl-rank);
	flex: none;
	width: 16px;
	font-weight: 600;
	font-size: 12px;
	color: var(--npl-ink-45);
}

/* Player photo(s) before the name; partnerships show both batters overlapped */
.npl-stat-board__avatars {
	display: flex;
	flex: none;
}

.npl-stat-board__avatars.is-pair .npl-stat-board__avatar + .npl-stat-board__avatar {
	margin-left: -12px;
	box-shadow: 0 0 0 2px var(--npl-card-bg, #fff);
}

.npl-stat-board__who {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0;
	min-width: 0;
}

.npl-stat-board__who strong {
	overflow: hidden;
	text-overflow: ellipsis;
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 14px;
	line-height: 22px; /* room for Devanagari marks above/below — overflow:hidden would clip them */
	color: var(--npl-color-dark-700);
	white-space: nowrap;
}

.npl-stat-board__who span {
	font-weight: 500;
	font-size: 11px;
	line-height: 13px;
	color: var(--npl-ink-65);
	white-space: nowrap;
}

.npl-stat-board__value {
	flex: none;
	font-weight: 700;
	font-size: 15px;
	color: var(--npl-ink-80);
}

/* Leader row: highlighted value + light primary wash */
.npl-stat-board__list li:first-child {
	margin: 0 -16px;
	padding: 12px 16px;
	background: var(--npl-color-primary-50);
}

.npl-stat-board__list li:first-child .npl-stat-board__value {
	font-size: 18px;
	color: var(--npl-color-dark-700);
}

/* News tab: single-column list — image left; category, title, author + time right; dashed separators */
.npl-news {
	display: flex;
	flex-direction: column;
	margin-top: 18px;
}

.npl-news__item {
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	gap: 22px;
	padding: 20px 0;
	border-top: 1px dashed var(--npl-color-dark-300);
}

.npl-news__item:first-child {
	padding-top: 0;
	border-top: 0;
}

.npl-news__thumb {
	display: block;
	overflow: hidden;
	aspect-ratio: 6 / 5;
	background: var(--npl-color-grey-200);
}

.npl-news__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s;
}

.npl-news__item:hover .npl-news__thumb img {
	transform: scale(1.04);
}

.npl-news__body {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 6px 0 4px;
}

.npl-news__cat {
	align-self: flex-start;
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 14px;
	line-height: 22px;
	color: var(--npl-raw-over-blue);
}

.npl-news__title {
	display: -webkit-box;
	margin: 6px 0 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 20px;
	line-height: 32px;
	color: var(--npl-color-dark-700);
}

.npl-news__title a:hover {
	color: var(--npl-color-primary-500);
}

.npl-news__excerpt {
	display: -webkit-box;
	margin-top: 6px;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-family: var(--npl-font-np);
	font-weight: 400;
	font-size: 15px;
	line-height: 24px;
	color: var(--npl-color-dark-400);
}

.npl-news__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 14px;
	margin-top: auto;
	padding-top: 12px;
	font-weight: 500;
	font-size: 13px;
	line-height: 18px;
	color: var(--npl-ink-65);
}

.npl-news__author {
	font-family: var(--npl-font-np);
	color: var(--npl-color-dark-600);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.npl-news__author:hover {
	color: var(--npl-color-primary-500);
}

/* ==========================================================================
   NPL Team (template-npl-team.php)
   ========================================================================== */

/* Team about: owner / team manager row (player-style round photos) */
.npl-team-about__people {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--npl-raw-table-line);
}

.npl-team-about__person {
	display: flex;
	align-items: center;
	gap: 10px;
}

.npl-team-about__person .npl-sc-player__avatar {
	width: 40px;
	height: 40px;
}

.npl-team-about__person .npl-sc-player__avatar img {
	width: 41px;
	height: 48px;
}

.npl-team-about__person-info {
	display: flex;
	flex-direction: column;
}

.npl-team-about__person-info strong {
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 15px;
	line-height: 22px;
	color: var(--npl-color-dark-700);
}

.npl-team-about__person-info span {
	font-weight: 500;
	font-size: 12px;
	line-height: 14px;
	color: var(--npl-ink-65);
}

/* Hero: built on the Today's Match card; team colour accents the logo ring */
.npl-team-hero .npl-today__logo {
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--npl-team-color, var(--npl-color-primary-500)) 35%, transparent);
	border-radius: 50%;
}

.npl-team-hero__abbr {
	font-size: 20px;
}

.npl-team-hero__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 32px;
	padding: 32px 40px 32px 48px;
	border-bottom: 1px solid color-mix(in srgb, var(--npl-color-dark-700) 20%, transparent);
}

.npl-team-hero__id {
	display: flex;
	align-items: center;
	gap: 25px;
	min-width: 0;
}

.npl-team-hero__name {
	margin: 0;
	font-family: var(--npl-font-np);
	font-weight: 700;
	font-size: 28px;
	line-height: 34px;
	color: var(--npl-color-dark-700);
}

.npl-team-hero__en {
	margin-top: 2px;
	font-weight: 500;
	font-size: 14px;
	line-height: 18px;
	color: var(--npl-ink-65);
}

.npl-team-hero__facts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 22px;
	margin: 14px 0 0;
}

.npl-team-hero__facts div {
	display: flex;
	gap: 6px;
	font-size: 13px;
	line-height: 20px;
}

.npl-team-hero__facts dt {
	font-family: var(--npl-font-np);
	font-weight: 500;
	color: var(--npl-ink-65);
}

.npl-team-hero__facts dt::after {
	content: ':';
}

.npl-team-hero__facts dd {
	margin: 0;
	font-family: var(--npl-font-np);
	font-weight: 600;
	color: var(--npl-color-dark-600);
}

.npl-team-hero__tiles {
	display: grid;
	grid-template-columns: repeat(5, minmax(64px, auto));
	gap: 8px;
}

.npl-team-hero__tiles li {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 10px 12px;
	border-radius: 5px;
	background: var(--npl-card-box);
}

.npl-team-hero__tiles strong {
	font-weight: 800;
	font-size: 20px;
	line-height: 24px;
	color: var(--npl-color-dark-700);
}

.npl-team-hero__tiles strong.is-won {
	color: var(--npl-color-status-success);
}

.npl-team-hero__tiles strong.is-lost {
	color: var(--npl-color-status-error);
}

.npl-team-hero__tiles span {
	font-weight: 500;
	font-size: 11px;
	line-height: 13px;
	color: var(--npl-ink-65);
}

.npl-team-hero__form {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 12px;
	font-weight: 600;
	font-size: 12px;
	color: var(--npl-color-dark-500);
}

.npl-team-hero__form small {
	font-weight: 500;
	font-size: 11px;
	color: var(--npl-ink-45);
}

.npl-team-hero .npl-today__toss strong {
	font-weight: 700;
	color: var(--npl-color-dark-600);
}

/* Squad tab: flat grid of vertical player cards, 3 per row */
.npl-squad {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 22px;
}

.npl-squad__player {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--npl-card-border);
	border-radius: var(--npl-sm);
	background: var(--npl-card-bg);
	transition: border-color 0.2s;
}

/* 4-per-row variant (Players to Watch); whole card is the link */
.npl-squad--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 18px;
}

.npl-squad__link {
	display: flex;
	flex-direction: column;
	color: inherit;
}

.npl-squad__link:hover .npl-squad__name {
	color: var(--npl-color-primary-500);
}

.npl-squad__player:hover {
	border-color: var(--npl-color-dark-300);
}

/* Big square photo on top (soft panel shows while the image loads) */
.npl-squad__photo {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	aspect-ratio: 1;
	overflow: hidden;
	background: linear-gradient(to bottom, var(--npl-color-primary-50), var(--npl-color-grey-200));
}

.npl-squad__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover; /* fill the square whatever the source ratio */
	object-position: center top;
	transition: transform 0.3s;
}

.npl-squad__player:hover .npl-squad__photo img {
	transform: scale(1.04);
}

.npl-squad__info {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 10px 12px 14px;
}

.npl-squad__badges {
	position: absolute;
	z-index: 1;
	top: 8px;
	right: 8px;
	display: flex;
	gap: 4px;
}

.npl-squad__badges .npl-squad__badge {
	padding: 1px 7px;
	background: var(--npl-raw-over-blue);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
	color: #fff;
}

.npl-squad__name {
	max-width: 100%;
	margin-top: 0;
	overflow: hidden;
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 15px;
	line-height: 24px;
	color: var(--npl-color-dark-700);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.npl-squad__role {
	margin-top: 2px;
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 13px;
	line-height: 20px;
	color: var(--npl-raw-over-blue);
}

.npl-squad__style {
	margin-top: 4px;
	font-weight: 500;
	font-size: 11px;
	line-height: 15px;
	color: var(--npl-ink-65);
}

.npl-squad__badge {
	padding: 0 5px;
	border-radius: 3px;
	background: var(--npl-color-primary-50);
	font-family: var(--npl-font-en);
	font-weight: 700;
	font-size: 10px;
	line-height: 16px;
	color: var(--npl-color-primary-500);
	text-decoration: none;
	cursor: help;
}

/* Sidebar: group standings */
/* Sidebar: latest results (tournament page) */
.npl-results__list {
	margin-top: 6px;
}

.npl-results__item {
	padding: 12px 0;
	border-top: 1px solid var(--npl-raw-table-line);
}

.npl-results__item:first-child {
	border-top: 0;
}

.npl-results__item:hover{
	background-color: rgba(0,0,0,.04);
}

.npl-results__date {
	margin-bottom: 8px;
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 12px;
	line-height: 16px;
	color: var(--npl-ink-65);
}

.npl-results__team {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.npl-results__team + .npl-results__team {
	margin-top: 6px;
}

.npl-results__team .npl-team-link {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	line-height: 22px; /* Devanagari marks */
	color: var(--npl-ink-65);
}

.npl-results__score {
	flex: none;
	font-size: 12px;
	color: var(--npl-ink-65);
	white-space: nowrap;
}

.npl-results__score b {
	font-weight: 600;
	font-size: 13px;
}

.npl-results__team.is-winner .npl-team-link,
.npl-results__team.is-winner .npl-results__score b {
	font-weight: 700;
	color: var(--npl-color-dark-700);
}

.npl-results__result {
	margin-top: 6px;
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 11px;
	line-height: 16px;
	color: var(--npl-ink-65);
}

.npl-results__more {
	align-self: flex-start;
	font-weight: 600;
	font-size: 13px;
	color: var(--npl-raw-over-blue);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.npl-results__more:hover {
	color: var(--npl-color-dark-700);
}

.npl-standings__table {
	width: 100%;
	margin-top: 16px;
	border-collapse: collapse;
}

.npl-standings__table th {
	padding: 0 0 8px;
	font-weight: 500;
	font-size: 12px;
	line-height: 12px;
	color: var(--npl-ink-65);
	text-align: center;
}

.npl-standings__table th:nth-child(2),
.npl-standings__table td:nth-child(2) {
	text-align: left;
}

.npl-standings__table td {
	padding: 9px 0;
	border-top: 1px solid var(--npl-raw-table-line);
	font-weight: 600;
	font-size: 13px;
	line-height: 18px;
	color: var(--npl-ink-80);
	text-align: center;
}

.npl-standings__table td:nth-child(1) {
	width: 22px;
	color: var(--npl-ink-45);
}

.npl-standings__table td:nth-child(2) {
	font-family: var(--npl-font-np);
	font-size: 14px;
	line-height: 20px;
	color: var(--npl-color-dark-700);
}

.npl-standings__table td:nth-child(n+3) {
	width: 34px;
}

.npl-standings__table tr.is-current td {
	background: var(--npl-color-primary-50);
}

.npl-standings__table tr.is-current td:nth-child(2) {
	font-weight: 700;
}

/* ==========================================================================
   NPL Player (template-npl-player.php)
   ========================================================================== */

.npl-player-hero__body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	align-items: center;
	gap: 32px;
	padding: 28px 40px 28px 32px;
}

.npl-player-hero__id {
	display: flex;
	align-items: center;
	gap: 22px;
	min-width: 0;
}

.npl-player-hero__photo {
	flex: none;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--npl-raw-avatar);
	box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--npl-color-dark-300);
}

.npl-player-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.npl-player-hero__badges {
	display: flex;
	gap: 6px;
	margin-top: 10px;
}

.npl-player-hero__badges .npl-squad__badge {
	font-family: var(--npl-font-np);
	font-size: 12px;
	line-height: 20px;
	padding: 0 8px;
	cursor: default;
}

.npl-player-hero__facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px 24px;
	margin: 0;
	padding: 16px 20px;
	border-radius: 5px;
	background: var(--npl-card-box);
}

.npl-player-hero__facts div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.npl-player-hero__facts dt {
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 12px;
	line-height: 18px;
	color: var(--npl-ink-65);
}

.npl-player-hero__facts dd {
	margin: 0;
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	color: var(--npl-color-dark-700);
}

.npl-player-hero__facts .npl-player-hero__teams {
	grid-column: 1 / -1;
}

/* Overview card inside the tab panel */
.npl-player-bio {
	margin-top: 22px;
}

.npl-player-bio .npl-about__text p + p {
	margin-top: 12px;
}

/* Nepali intro titles (player / team) in Anek Devanagari — Inter has no Devanagari glyphs */
.npl-player-bio .npl-about__title,
.npl-team-about .npl-about__title {
	font-family: var(--npl-font-np);
	font-size: 22px;
	line-height: 30px;
}

/* Collapsed biography / team intro: first paragraph only */
.npl-player-bio:not(.is-open) .npl-about__text p:nth-child(n+2),
.npl-team-about:not(.is-open) .npl-about__text p:nth-child(n+2) {
	display: none;
}

.npl-team-about .npl-about__text p + p {
	margin-top: 12px;
}

/* Team logo in place of the NPL logo */
.npl-team-about__logo {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: url('../../img/npl/team-circle.svg') center / contain no-repeat;
}

.npl-team-about__logo img {
	width: 40px;
	height: 40px;
}

.npl-team-about__logo .npl-team-badge__abbr {
	font-size: 18px;
}

/* Career stats tables: format column + equal stat columns */
.npl-sc-table--career col:first-child,
.npl-sc-table--career th:first-child {
	width: 22%;
}

.npl-sc-table--career td:first-child {
	padding-top: 22px;
	font-weight: 700;
	color: var(--npl-color-dark-700);
}

.npl-sc-table--career tbody tr + tr td:first-child {
	padding-top: 32px;
}

/* Recent matches */
.npl-sc-table--recent th:nth-child(n+2),
.npl-sc-table--recent td:nth-child(n+2) {
	text-align: left;
}

.npl-sc-table--recent th:nth-child(4),
.npl-sc-table--recent td:nth-child(4) {
	width: 84px;
	text-align: center;
}

.npl-sc-table--recent td.npl-recent__bat,
.npl-sc-table--recent td.npl-recent__bowl {
	font-weight: 600;
	font-size: 13px;
	color: var(--npl-color-dark-600);
}

.npl-result {
	display: inline-block;
	padding: 0 8px;
	border-radius: 3px;
	font-weight: 700;
	font-size: 11px;
	line-height: 20px;
}

.npl-result--won {
	background: color-mix(in srgb, var(--npl-color-status-success) 14%, transparent);
	color: var(--npl-color-status-success);
}

.npl-result--lost {
	background: color-mix(in srgb, var(--npl-color-status-error) 12%, transparent);
	color: var(--npl-color-status-error);
}

.npl-result--live {
	background: var(--npl-raw-live);
	color: #fff;
}

/* Sidebar: players to watch + other players */
.npl-watch__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: 16px;
}

.npl-watch__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 14px 8px 12px;
	border: 1px solid var(--npl-card-border);
	border-radius: var(--npl-sm);
	text-align: center;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.npl-watch__card:hover {
	border-color: var(--npl-color-primary-300);
	box-shadow: 0 4px 12px -6px color-mix(in srgb, var(--npl-color-dark-700) 25%, transparent);
}

.npl-watch__photo {
	width: 64px;
	height: 64px;
	margin-bottom: 4px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--npl-raw-avatar);
}

.npl-watch__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.npl-watch__card strong {
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	color: var(--npl-color-dark-700);
}

.npl-watch__card span:last-child {
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 12px;
	line-height: 18px;
	color: var(--npl-ink-65);
}

/* Overview: NPL season tiles above the biography */
.npl-player-snapshot {
	margin-top: 22px;
}

.npl-player-snapshot + .npl-player-bio {
	margin-top: 16px;
}

/* Overview: career snapshot after the biography */
.npl-player-career {
	margin-top: 24px;
}

.npl-player-career__title {
	margin: 0 0 12px;
	font-weight: 700;
	font-size: 16px;
	line-height: 20px;
	color: var(--npl-color-dark-700);
}

/* Players to Watch in the main column: one row of 4 */
.npl-watch--main {
	gap: 0;
	margin-top: 20px;
}

.npl-watch--main .npl-watch__grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

/* Other players: photo + name + role */
.npl-other-players {
	margin-top: 16px;
}

.npl-other-players li {
	border-top: 1px solid var(--npl-raw-table-line);
}

.npl-other-players li:first-child {
	border-top: 0;
}

.npl-other-players a {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 8px 0;
}

.npl-other-players__photo {
	flex: none;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--npl-raw-avatar);
}

.npl-other-players__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.npl-other-players__who {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.npl-other-players__who strong {
	font-family: var(--npl-font-np);
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	color: var(--npl-color-dark-700);
}

.npl-other-players__who span {
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 12px;
	line-height: 17px;
	color: var(--npl-ink-65);
}

.npl-other-players a:hover strong {
	color: var(--npl-color-primary-500);
}

/* About card (6212:19028) */
.npl-about {
	margin-top: 20px;
	padding: 25px 29px 28px;
	border: 1px solid var(--npl-color-primary-400);
	border-radius: var(--npl-sm);
	background: #fff;
}

.npl-about__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 20px;
}

.npl-about__title {
	padding-top: 4px;
	font-weight: 700;
	font-size: 20px;
	line-height: 25px;
	color: var(--npl-color-dark-500);
}

.npl-about__dates {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	margin-top: 15px;
	font-size: 14px;
	line-height: 14px;
	color: var(--npl-color-dark-500);
}

.npl-about__dates i {
	width: 10px;
	height: 2px;
	background: color-mix(in srgb, var(--npl-color-dark-700) 80%, transparent);
}

.npl-about__logo {
	flex: none;
	width: 108px;
	height: 56px;
	object-fit: contain;
}

.npl-about__text {
	margin-top: 29px;
	font-family: var(--npl-font-np);
	font-weight: 500;
	font-size: 16px;
	line-height: 29px;
	color: var(--npl-color-dark-700);
}

.npl-about:not(.is-open) .npl-about__text p {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
}

.npl-about__more {
	margin-top: 4px;
	font-weight: 600;
	font-size: 14px;
	line-height: 20px;
	color: var(--npl-color-primary-500);
}

.npl-about__more:hover {
	text-decoration: underline;
}

/* ---------- Responsive ---------- */

@media (max-width: 1279px) {
	.npl-layout,
	.npl-layout--tournament {
		grid-template-columns: var(--npl-rail-w) 24px minmax(0, 1fr) 24px var(--npl-side-w);
		padding-left: 16px;
		padding-right: 16px;
	}

	.npl-header__inner {
		padding: 0 16px;
	}

	.npl-header__ok-logo {
		left: 25px;
	}

	.npl-header__brand {
		left: 16px;
	}

	.npl-header__tagline {
		left: 191px;
	}
}

@media (max-width: 1023px) {
	.npl-layout,
	.npl-layout--tournament {
		grid-template-columns: minmax(0, 1fr);
	}

	.npl-wide,
	.npl-layout--tournament .npl-main,
	.npl-layout--tournament .npl-sidebar {
		grid-column: 1;
		grid-row: auto;
	}

	.npl-layout--tournament .npl-sidebar {
		margin-top: 24px;
	}

	.npl-rail {
		display: none;
	}

	.npl-main {
		grid-column: 1;
	}

	.npl-sidebar {
		grid-column: 1;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
		margin-top: 24px;
	}

	.npl-most-run {
		width: 100%;
	}

	.npl-most-run__table {
		width: 100%;
	}

	.npl-fancam__nav--prev {
		left: auto;
		right: 52px;
	}

	.npl-fancam__nav--next {
		left: auto;
		right: 15px;
	}
}

@media (max-width: 767px) {
	.npl-header {
		height: 150px;
		background-size: auto 150px;
	}

	.npl-header__ok-logo {
		top: 18px;
		left: 16px;
	}

	.npl-header__ok-logo img {
		width: 130px;
		height: auto;
	}

	.npl-header__brand {
		top: 58px;
		transform: scale(0.8);
		transform-origin: left top;
	}

	.npl-header__tagline {
		display: none;
	}

	.npl-header__right {
		gap: 10px;
	}

	.npl-header__home {
		height: 30px;
		padding: 0 12px;
		font-size: 12px;
	}

	.npl-header__sponsor {
		height: 120px;
	}

	.npl-layout {
		padding: 20px 12px 40px;
	}

	.npl-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	.npl-score {
		margin-top: 16px;
	}

	.npl-score__head,
	.npl-score__teams,
	.npl-score__live,
	.npl-score__foot {
		height: auto;
	}

	.npl-score__head {
		flex-direction: column;
		gap: 14px;
		padding: 18px 16px 16px;
	}

	.npl-score__teams {
		flex-wrap: wrap;
		gap: 16px 12px;
		padding: 18px 16px 16px;
	}

	.npl-score__innings {
		position: static;
		order: 3;
		flex-basis: 100%;
		text-align: center;
	}

	.npl-score__innings .npl-live-bar {
		margin: 6px auto 0;
		max-width: 50px;
	}

	.npl-score__teams .npl-ballfx {
		top: auto;
		bottom: 40px;
	}

	.npl-team {
		gap: 10px;
	}

	.npl-team__logo {
		display: none;
	}

	.npl-team__info,
	.npl-team--away .npl-team__info {
		width: auto;
	}

	.npl-team__score strong {
		font-size: 20px;
	}

	.npl-score__live {
		gap: 14px;
		padding: 14px 16px;
	}

	.npl-score__row {
		flex-wrap: wrap;
		gap: 10px;
	}

	.npl-score__group {
		flex-wrap: wrap;
		gap: 8px 15px;
	}

	.npl-score__player,
	.npl-score__label,
	.npl-score__rates {
		font-size: 13px;
	}

	.npl-score__foot {
		flex-wrap: wrap;
		gap: 10px;
		padding: 12px 16px 16px;
	}

	.npl-potm {
		flex-wrap: wrap;
		gap: 6px;
		padding: 8px 12px;
	}

	.npl-potm__player {
		width: auto;
	}

	.npl-venue {
		line-height: 20px;
	}

	.npl-panel {
		padding: 16px 12px 0;
	}

	.npl-subtabs__tab {
		padding: 12px 16px;
	}

	.npl-over-sum__top {
		flex-wrap: wrap;
		height: auto;
		padding: 12px;
	}

	.npl-over-sum__title {
		position: static;
		order: 5;
		flex-basis: 100%;
		margin-top: 8px;
		transform: none;
		text-align: center;
		font-size: 16px;
	}

	.npl-over-sum__bottom {
		flex-wrap: wrap;
		height: auto;
		padding: 10px 12px;
		gap: 8px 14px;
	}

	.npl-over-sum__crr {
		position: static;
		transform: none;
	}

	.npl-over-sum__bowler {
		margin-left: 0;
	}

	.npl-ball {
		margin-right: 0;
	}

	.npl-ball__no {
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		gap: 2px;
		width: 44px;
	}

	.npl-ball__text {
		margin-left: 12px;
		font-size: 15px;
		line-height: 22px;
	}

	.npl-milestone__top {
		padding: 10px 14px;
	}

	.npl-milestone__badge strong {
		font-size: 36px;
	}

	.npl-milestone__stats {
		gap: 2px 14px;
		padding: 6px 14px 7px;
		font-size: 11px;
	}

	.npl-commentary {
		flex-wrap: wrap;
		padding: 14px;
	}

	.npl-commentary__body {
		flex-basis: 100%;
		margin: 12px 0 0;
	}

	.npl-ball--drs .npl-ball__main {
		flex-wrap: wrap;
	}

	.npl-ball--drs .npl-over-no {
		width: 50px;
	}

	.npl-drs {
		flex-wrap: wrap;
		flex-basis: 100%;
		height: auto;
		margin: 10px 0 0;
		padding: 8px 14px;
		border-radius: 18px;
		gap: 8px 14px;
	}

	.npl-drs::before {
		display: none;
	}

	.npl-drs__team:nth-child(2),
	.npl-drs__team + .npl-drs__team {
		margin-left: 0;
	}

	/* Scorecard / squad / partnership: fit the width, no sideways scroll */
	.npl-sc-card {
		padding: 16px 12px 12px;
	}

	.npl-sc-table th,
	.npl-sc-table td {
		font-size: 13px;
	}

	.npl-sc-table--bat col:nth-child(1) { width: auto; }
	.npl-sc-table--bat col:nth-child(2) { width: 0; }
	.npl-sc-table--bat col:nth-child(3),
	.npl-sc-table--bat col:nth-child(4),
	.npl-sc-table--bat col:nth-child(5),
	.npl-sc-table--bat col:nth-child(6),
	.npl-sc-table--bat col:nth-child(7) { width: 34px; }

	/* Collapse (not remove) the dismissal column so cells stay aligned with the <col> grid */
	.npl-sc-table--bat th:nth-child(2),
	.npl-sc-table--bat td:nth-child(2),
	.npl-sc-table--bat tbody tr + tr td.npl-sc-table__how {
		padding: 0;
		overflow: hidden;
		font-size: 0;
		visibility: hidden;
	}

	.npl-sc-player__how {
		display: block;
	}

	.npl-sc-table--bowl col:nth-child(2),
	.npl-sc-table--bowl col:nth-child(3),
	.npl-sc-table--bowl col:nth-child(4),
	.npl-sc-table--bowl col:nth-child(5),
	.npl-sc-table--bowl col:nth-child(6) { width: 38px; }

	.npl-sc-table--fow col:nth-child(2),
	.npl-sc-table--fow col:nth-child(3) { width: 48px; }

	.npl-sc-player {
		gap: 8px;
	}

	.npl-partner__total {
		position: static;
		flex: none;
		width: 88px;
	}

	.npl-partner__total b {
		padding-left: 0;
		text-align: center;
	}

	/* Tournament */
	.npl-today__head {
		flex-direction: column;
		align-items: flex-start;
		padding: 14px 16px;
	}

	.npl-today__teams {
		grid-template-columns: 1fr 1fr;
		gap: 16px;
		padding: 18px 16px;
	}

	.npl-today__mid {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.npl-today__logo {
		display: none;
	}

	.npl-today__name {
		font-size: 18px;
	}

	.npl-today__score strong {
		font-size: 22px;
	}

	.npl-today__score span,
	.npl-today__status {
		font-size: 14px;
	}

	.npl-today__rates {
		margin-top: 14px;
	}

	/* Live: run rates left, innings + live bar right, one row */
	.npl-today__mid--live {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
		gap: 12px;
	}

	.npl-today__mid--live .npl-today__innings {
		text-align: right;
	}

	.npl-today__mid--live .npl-today__innings .npl-live-bar {
		margin: 6px 0 0 auto;
	}

	.npl-today__mid--live .npl-today__rates {
		justify-content: flex-start;
		margin-top: 0;
	}

	.npl-today__foot {
		gap: 10px;
		padding: 12px 16px;
	}

	.npl-today__over {
		flex-wrap: wrap;
	}

	.npl-today__live {
		margin-left: 0;
	}

	.npl-upcoming__list {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 250px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.npl-upcoming__list::-webkit-scrollbar {
		display: none;
	}

	.npl-upcoming__list .npl-fixture {
		scroll-snap-align: start;
	}

	.npl-tpanel {
		padding: 16px 12px 20px;
	}

	.npl-sc-table--points col:nth-child(n+2):nth-child(-n+6) { width: 30px; }
	.npl-sc-table--points col:nth-child(7) { width: 80px; }

	.npl-sc-table--points th:last-child,
	.npl-sc-table--points td:last-child {
		padding-left: 8px;
	}

	.npl-form {
		gap: 1px;
	}

	.npl-form__dot {
		width: 13px;
		height: 13px;
	}

	.npl-form__dot b {
		font-size: 8px;
	}

	.npl-about {
		padding: 18px 16px 20px;
	}

	.npl-about__title {
		font-size: 17px;
		line-height: 22px;
	}

	.npl-about__logo {
		width: 72px;
		height: 38px;
	}

	.npl-sc-table--teams col:nth-child(3) { width: 0; }
	.npl-sc-table--teams col:nth-child(1) { width: 30px; }
	.npl-sc-table--teams col:nth-child(4),
	.npl-sc-table--teams col:nth-child(5),
	.npl-sc-table--teams col:nth-child(6) { width: 38px; }
	.npl-sc-table--teams col:nth-child(7) { width: 30px; }

	.npl-sc-table--teams th:nth-child(3),
	.npl-sc-table--teams td.npl-teams__captain {
		padding: 0;
		overflow: hidden;
		font-size: 0;
		visibility: hidden;
	}

	.npl-sc-table--teams th,
	.npl-sc-table--teams td,
	.npl-sc-table--teams tbody tr + tr td {
		padding-left: 6px;
		padding-right: 6px;
	}

	.npl-sc-table--teams td.npl-teams__rank,
	.npl-sc-table--teams tbody tr + tr td.npl-teams__rank,
	.npl-sc-table--teams th:nth-child(1) {
		padding-left: 10px;
	}

	.npl-teams__np {
		font-size: 15px;
	}

	.npl-stats__tiles {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.npl-stats__tile strong {
		font-size: 19px;
	}

	.npl-stats__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.npl-news__item {
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 14px;
		padding: 14px 0;
	}

	.npl-news__thumb {
		aspect-ratio: 4 / 3;
	}

	.npl-news__body {
		padding: 0;
	}

	.npl-news__cat {
		font-size: 12px;
		line-height: 18px;
	}

	.npl-news__title {
		margin-top: 2px;
		font-size: 16px;
		line-height: 25px;
	}

	.npl-news__excerpt {
		font-size: 13px;
		line-height: 21px;
	}

	.npl-news__meta {
		padding-top: 6px;
		font-size: 12px;
	}

	.npl-team-hero__body {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		padding: 18px 16px;
	}

	.npl-team-hero .npl-today__logo {
		display: flex;
		width: 56px;
		height: 56px;
	}

	.npl-team-hero .npl-today__logo img {
		width: 34px;
		height: 34px;
	}

	.npl-team-hero__id {
		gap: 14px;
	}

	.npl-team-hero__name {
		font-size: 22px;
		line-height: 28px;
	}

	.npl-team-hero__tiles {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 6px;
	}

	.npl-team-hero__tiles li {
		padding: 8px 4px;
	}

	.npl-team-hero__tiles strong {
		font-size: 16px;
	}

	.npl-team-hero__form {
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	.npl-squad,
	.npl-squad--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.npl-player-hero__body {
		grid-template-columns: minmax(0, 1fr);
		gap: 18px;
		padding: 18px 16px;
	}

	.npl-player-hero__photo {
		width: 84px;
		height: 84px;
	}

	.npl-player-hero__facts {
		padding: 12px 14px;
	}

	.npl-sc-table--recent td.npl-recent__bowl,
	.npl-sc-table--recent th:nth-child(3) {
		display: none;
	}

	.npl-watch--main .npl-watch__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}


	/* Header (mobile): brand on the left, OK link + can stacked top-right */
	.npl-header {
		height: auto;
		min-height: 150px;
		background-size: cover;
	}

	.npl-header__inner {
		padding: 0 12px;
	}

	.npl-header__brand {
		top: auto;
		gap: 10px;
		padding-block: 12px;
		padding-right: 96px;
		transform: none;
	}

	.npl-header__present-logo {
		width: 64px;
		height: auto;
		margin-bottom: 0;
	}

	.npl-header__logo-img,
	.npl-header__npl-logo {
		width: 130px;
	}

	.npl-header__tagline-sm {
		font-size: 11px;
	}

	.npl-header__season {
		font-size: 11px;
	}

	.npl-header__right {
		position: absolute;
		top: 10px;
		right: 12px;
		flex-direction: column;
		align-items: flex-end;
		gap: 6px;
	}

	.npl-header__right .npl-header__home {
		height: 26px;
		padding: 0 10px;
		font-size: 11px;
	}

	.npl-header__right .npl-header__sponsor {
		height: 96px;
		max-height: none;
	}

	.npl-header__powered {
		flex-wrap: wrap;
		gap: 8px 12px;
		margin-top: 6px;
	}

	.npl-header__powered-label {
		flex-basis: 100%;
		font-size: 10px;
	}

	.npl-header__powered-logo {
		height: 16px;
	}

	.npl-header__powered-logo--omoda {
		height: 10px;
	}
}

/* Over Summary: narrower side columns on phones */
@media (max-width: 767px) {
	.npl-sc-table--overs col:nth-child(1) { width: 58px; }
	.npl-sc-table--overs col:nth-child(3) { width: 40px; }

	.npl-sc-table--overs td:nth-child(2),
	.npl-sc-table--overs th:nth-child(2) {
		padding-left: 10px;
		padding-right: 6px;
	}

	.npl-overs__no { font-size: 13px; }
	.npl-overs__score { font-size: 12px; }
	.npl-overs__who { font-size: 13px; line-height: 20px; }
	td.npl-overs__runs { font-size: 15px; }
}

/* Double-header on phones: columns stack, divider turns horizontal */
@media (max-width: 767px) {
	.npl-today__split {
		grid-auto-flow: row;
	}

	.npl-today__col--next {
		border-left: 0;
		border-top: 1px solid color-mix(in srgb, var(--npl-color-dark-700) 20%, transparent);
	}

	.npl-today__split:has(.npl-today__col--next) .npl-today__teams {
		padding: 18px 16px;
	}

	.npl-today__split:has(.npl-today__col--next) .npl-today__rates {
		flex-direction: row;
		margin-top: 0;
	}

	.npl-today__mid--next {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
		gap: 10px;
	}

	.npl-today__mid--next .npl-today__start,
	.npl-today__mid--next .npl-today__toss-at {
		margin-top: 0;
	}

	.npl-today__start {
		font-size: 17px;
	}
}

/* This Over in the live column on phones */
@media (max-width: 767px) {
	.npl-today__over--col {
		justify-content: flex-start;
		margin: 0 16px;
		padding: 12px 0 14px;
	}
}

/* Inline DRS pill keeps its endless bar on phones */
@media (max-width: 767px) {
	.npl-drs.npl-drs--inline::before {
		display: block;
		top: 0;
		height: 100%;
	}
}

/* Tournament tables share one mobile grid in the static and database layouts. */
@media (max-width: 767px) {
	.npl-tournament-table-scroll {
		max-width: 100%;
		overflow-x: auto;
		overscroll-behavior-x: contain;
	}

	.npl-tournament-table-scroll .npl-sc-table--points,
	.npl-tournament-table-scroll .npl-sc-table--teams {
		min-width: 440px;
	}

	.npl-tournament-table-scroll .npl-sc-player {
		min-width: 0;
	}

	.npl-tournament-table-scroll .npl-sc-player__name,
	.npl-tournament-table-scroll .npl-teams__names {
		min-width: 0;
		overflow: hidden;
	}

	.npl-tournament-table-scroll .npl-sc-player__name,
	.npl-tournament-table-scroll .npl-teams__np,
	.npl-tournament-table-scroll .npl-teams__en {
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
	}
}
