.gl-lab-shell {
	background:
		radial-gradient(circle at 84% 0%, rgb(84 124 153 / 18%), transparent 34rem),
		linear-gradient(180deg, #edf0ef 0%, #e5e9eb 48%, #f3f0e8 100%);
}

.gl-lab-shell *,
.gl-lab-shell *::before,
.gl-lab-shell *::after,
.gl-lab-app-route *,
.gl-lab-app-route *::before,
.gl-lab-app-route *::after {
	box-sizing: border-box;
}

.gl-lab-header {
	background: var(--gl-color-surface);
	border-block-end: 1px solid var(--gl-color-border);
}

.gl-lab-header__inner,
.gl-lab-layout {
	margin-inline: auto;
	max-width: var(--gl-container-dashboard);
	padding-inline: var(--gl-space-6);
	width: 100%;
}

.gl-lab-header__inner {
	display: grid;
	gap: var(--gl-space-5);
	padding-block: var(--gl-space-6);
}

.gl-lab-breadcrumb p {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	margin: 0;
}

.gl-lab-header__content {
	max-width: var(--gl-container-narrow);
}

.gl-lab-header__content h2 {
	font-size: var(--gl-font-size-2xl);
	margin-block-end: var(--gl-space-2);
}

.gl-lab-header__content p:not(.gl-eyebrow) {
	color: var(--gl-color-text-muted);
	margin: 0;
}

.gl-lab-nav {
	border-block-start: 1px solid var(--gl-color-border);
	padding-block-start: var(--gl-space-4);
}

.gl-lab-nav a {
	border-radius: var(--gl-radius-md);
	color: var(--gl-color-text);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	padding: var(--gl-space-2) var(--gl-space-3);
	text-decoration: none;
	transition:
		background-color var(--gl-transition-fast),
		color var(--gl-transition-fast);
}

.gl-lab-nav a:hover {
	background: var(--gl-color-surface-muted);
	color: var(--gl-color-accent);
}

.gl-lab-layout {
	align-items: start;
	display: grid;
	gap: var(--gl-space-8);
	grid-template-columns: minmax(0, 1fr);
	padding-block: var(--gl-space-10);
}

.gl-lab-content {
	min-width: 0;
}

.gl-lab-content > * + * {
	margin-block-start: var(--gl-space-8);
}

.gl-lab-hero,
.gl-lab-section {
	margin-inline: auto;
	width: 100%;
}

.gl-lab-hero__inner {
	align-items: center;
	display: grid;
	gap: var(--gl-space-8);
	grid-template-columns: minmax(0, 0.85fr) minmax(18rem, 1.15fr);
}

.gl-lab-hero__content,
.gl-lab-section__header,
.gl-lab-intro__inner,
.gl-lab-philosophy__inner {
	max-width: var(--gl-container-narrow);
}

.gl-lab-lede,
.gl-lab-section__header p,
.gl-lab-intro__inner p,
.gl-lab-philosophy__inner p {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-lg);
	line-height: var(--gl-line-height-relaxed);
}

.gl-placeholder--lab-hero {
	aspect-ratio: 16 / 10;
	min-height: 22rem;
}

.gl-lab-hero__image {
	border-style: solid;
	margin: 0;
	overflow: hidden;
	padding: 0;
}

.gl-lab-hero__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	width: 100%;
}
.gl-lab-launcher-hero {
	border-radius: var(--gl-radius-lg);
	display: grid;
	min-height: clamp(16rem, 31vw, 26rem);
	overflow: hidden;
	position: relative;
}

.gl-lab-launcher-hero::after {
	background: linear-gradient(90deg, rgb(0 9 22 / 86%) 0%, rgb(0 12 28 / 54%) 38%, rgb(0 12 28 / 8%) 70%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.gl-lab-launcher-hero .gl-lab-hero__image {
	border: 0;
	inset: 0;
	position: absolute;
}

.gl-lab-launcher-hero .gl-lab-hero__image img {
	object-position: center 62%;
}

.gl-lab-launcher-hero .gl-lab-launcher-hero__content {
	align-self: end;
	margin-inline-start: clamp(2.25rem, 6vw, 5.5rem);
	max-width: 36rem;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 3.5rem) clamp(3rem, 5vw, 5.5rem);
	position: relative;
	z-index: 1;
}

.gl-lab-launcher-hero .gl-lab-launcher-hero__content h1 {
	color: #ffffff;
	font-size: clamp(2.45rem, 4.6vw, 4.85rem);
	line-height: 0.95;
	margin-block-end: var(--gl-space-3);
	text-shadow: 0 0.35rem 1.6rem rgb(0 0 0 / 46%);
}

.gl-lab-launcher-hero .gl-lab-launcher-hero__content .gl-lab-lede {
	color: #ffffff;
	font-size: var(--gl-font-size-lg);
	margin: 0;
	opacity: 0.9;
}

.gl-placeholder--platform {
	aspect-ratio: 16 / 9;
	margin-block-end: var(--gl-space-6);
	min-height: 14rem;
}

.gl-lab-intro,
.gl-lab-philosophy {
	padding-block: 0;
}

.gl-lab-intro__inner,
.gl-lab-philosophy__inner,
.gl-lab-panel {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-lg);
	padding: var(--gl-space-8);
}

.gl-lab-panel {
	max-width: var(--gl-container-narrow);
}

.gl-lab-panel p,
.gl-lab-info-card p,
.gl-lab-status-card p,
.gl-lab-tool-card p {
	color: var(--gl-color-text-muted);
}

.gl-lab-section__header {
	margin-block-end: var(--gl-space-8);
}

.gl-lab-platform-grid {
	display: grid;
	gap: var(--gl-space-6);
	grid-template-columns: minmax(0, 32rem);
}

.gl-lab-card-grid {
	display: grid;
	gap: var(--gl-space-5);
}

.gl-lab-card-grid--platforms {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gl-lab-card-grid--tools {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gl-lab-app-card {
	background:
		linear-gradient(180deg, rgb(255 255 255 / 88%), rgb(242 246 247 / 86%)),
		var(--gl-color-surface);
	border-color: rgb(80 111 130 / 18%);
	box-shadow: 0 14px 38px rgb(31 52 65 / 8%);
	display: flex;
	flex-direction: column;
	min-height: 14rem;
}

.gl-lab-app-card--active {
	border-color: rgb(61 119 137 / 34%);
	box-shadow: 0 18px 48px rgb(31 52 65 / 12%);
}

.gl-lab-app-card--coming-soon {
	background: var(--gl-color-surface-muted);
}

.gl-lab-app-card--coming-soon .gl-tag {
	background: var(--gl-color-surface);
	color: var(--gl-color-text-muted);
}

.gl-lab-app-card .gl-tag {
	align-self: flex-start;
	margin-block-end: var(--gl-space-3);
}

.gl-lab-app-card p:not(.gl-tag) {
	color: var(--gl-color-text-muted);
}

.gl-lab-app-card p:last-child {
	margin-block-end: 0;
	margin-block-start: auto;
}

.gl-lab-platform-card {
	display: flex;
	flex-direction: column;
}

.gl-lab-platform-card .gl-tag {
	align-self: flex-start;
	margin-block-end: var(--gl-space-3);
}

.gl-lab-platform-card p:last-child {
	margin-block-end: 0;
}

.gl-lab-tool-grid {
	display: grid;
	gap: var(--gl-space-6);
	grid-template-columns: minmax(0, 36rem);
}

.gl-lab-tool-card {
	display: flex;
	flex-direction: column;
}

.gl-lab-tool-card--featured {
	border-color: var(--gl-color-accent);
	box-shadow: var(--gl-shadow-sm);
}

.gl-lab-tool-card .gl-tag,
.gl-lab-status-card .gl-tag {
	align-self: flex-start;
	margin-block-end: var(--gl-space-3);
}

.gl-lab-tool-card p:last-child,
.gl-lab-info-card p:last-child,
.gl-lab-status-card p:last-child {
	margin-block-end: 0;
}

.gl-lab-info-grid {
	display: grid;
	gap: var(--gl-space-6);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gl-vegas-center {
	display: grid;
	gap: var(--gl-space-4);
}

.gl-lab-workspace {
	display: grid;
	gap: var(--gl-space-8);
}

.gl-lab-workspace__header {
	max-width: var(--gl-container-narrow);
}

.gl-baseball-research__header {
	display: grid;
	gap: var(--gl-space-4);
	max-width: none;
}

.gl-baseball-research__nav {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
	margin-block-start: var(--gl-space-2);
}

.gl-baseball-research__nav a {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	color: var(--gl-color-text);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	padding: var(--gl-space-2) var(--gl-space-3);
	text-decoration: none;
}

.gl-baseball-research__nav a:hover,
.gl-baseball-research__nav a.is-active {
	background: var(--gl-color-accent);
	border-color: var(--gl-color-accent);
	color: #ffffff;
}

.gl-baseball-card-grid,
.gl-baseball-profile-grid {
	display: grid;
	gap: var(--gl-space-4);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
	margin-block-start: var(--gl-space-5);
}

.gl-baseball-profile-grid--wide {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
}

.gl-baseball-card {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-lg);
	padding: var(--gl-space-5);
}

.gl-baseball-card h3 {
	font-size: var(--gl-font-size-lg);
	margin-block: var(--gl-space-2);
}

.gl-baseball-card p:not(.gl-tag) {
	color: var(--gl-color-text-muted);
	line-height: var(--gl-line-height-relaxed);
	margin: 0;
}

.gl-baseball-link-row,
.gl-baseball-player-profile {
	margin-block-start: var(--gl-space-5);
}

.gl-baseball-player-profile {
	display: grid;
	gap: var(--gl-space-5);
}

.gl-baseball-fantasy-panel {
	display: grid;
	gap: var(--gl-space-4);
}

.gl-baseball-fantasy-panel h3 {
	margin-block-end: 0;
}

.gl-baseball-stat-grid {
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
}

.gl-baseball-stat {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	padding: var(--gl-space-4);
}

.gl-baseball-stat span,
.gl-baseball-stat strong {
	display: block;
}

.gl-baseball-stat span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	line-height: var(--gl-line-height-tight);
	text-transform: uppercase;
}

.gl-baseball-stat strong {
	font-size: var(--gl-font-size-xl);
	margin-block-start: var(--gl-space-2);
}





.gl-vegas-market__summary {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	padding: var(--gl-space-2) var(--gl-space-3);
	white-space: nowrap;
}

.gl-vegas-slate-form {
	align-items: end;
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: minmax(5.5rem, 7.5rem) minmax(10rem, 13rem) minmax(8rem, 10.5rem) minmax(7rem, 9rem);
}

.gl-vegas-slate-bar {
	align-items: end;
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: minmax(0, 1fr) minmax(17rem, 22rem);
}

.gl-vegas-context {
	align-items: end;
	grid-template-columns: minmax(7rem, 10rem) minmax(0, 1fr);
}

.gl-vegas-context .gl-data-notice {
	grid-column: 1 / -1;
}

.gl-vegas-slate-form label {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-vegas-slate-form span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-vegas-toolbar {
	align-items: end;
	display: grid;
	gap: var(--gl-space-4);
	grid-template-columns: minmax(14rem, 1fr) minmax(12rem, 18rem);
	margin-block-end: var(--gl-space-4);
}

.gl-vegas-toolbar label {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-vegas-toolbar span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-vegas-table-wrap {
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	overflow: auto;
}

.gl-vegas-table {
	background: var(--gl-color-surface);
	border-collapse: collapse;
	font-size: var(--gl-font-size-sm);
	min-width: 72rem;
	width: 100%;
}

.gl-vegas-table th,
.gl-vegas-table td {
	border-block-end: 1px solid var(--gl-color-border);
	padding: var(--gl-space-3);
	text-align: left;
	white-space: nowrap;
}

.gl-vegas-table th {
	background: var(--gl-color-surface-muted);
	position: sticky;
	top: 0;
	z-index: 1;
}

.gl-vegas-table th button {
	background: transparent;
	border: 0;
	color: var(--gl-color-text);
	cursor: pointer;
	font: inherit;
	font-weight: var(--gl-font-weight-semibold);
	min-height: auto;
	padding: 0;
	text-align: left;
}

.gl-vegas-table th button[data-sort-direction="asc"]::after {
	content: " ^";
}

.gl-vegas-table th button[data-sort-direction="desc"]::after {
	content: " v";
}

.gl-vegas-table tbody tr:hover {
	background: var(--gl-color-surface-muted);
}

.gl-vegas-empty {
	background: var(--gl-color-surface-muted);
	border: 1px dashed var(--gl-color-border-strong);
	border-radius: var(--gl-radius-md);
	color: var(--gl-color-text-muted);
	margin-block-start: var(--gl-space-4);
	padding: var(--gl-space-4);
}

.gl-vegas-empty p {
	margin: 0;
}

.gl-vegas-game-list {
	display: grid;
	gap: var(--gl-space-3);
}

.gl-vegas-game-card {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-3);
	padding: var(--gl-space-3) var(--gl-space-4);
}

.gl-vegas-game-card__header {
	align-items: center;
	display: flex;
	gap: var(--gl-space-3);
	justify-content: space-between;
}

.gl-vegas-game-card__header h3 {
	font-size: var(--gl-font-size-md);
	line-height: var(--gl-line-height-tight);
	margin-block: var(--gl-space-1) 0;
}

.gl-vegas-game-card__header .gl-tag {
	font-size: var(--gl-font-size-xs);
	line-height: 1;
	padding-block: var(--gl-space-1);
}

.gl-vegas-game-card__meta {
	align-items: end;
	color: var(--gl-color-text-muted);
	display: grid;
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	gap: var(--gl-space-1);
	justify-items: end;
	line-height: var(--gl-line-height-tight);
	text-transform: uppercase;
	white-space: nowrap;
}

.gl-vegas-game-card__body {
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	min-width: 0;
}

.gl-vegas-market-grid {
	display: grid;
	grid-template-columns: minmax(9rem, 1fr) repeat(3, minmax(6rem, 0.85fr));
	min-width: 0;
}

.gl-vegas-market-grid > div {
	align-items: center;
	border-block-start: 1px solid var(--gl-color-border);
	display: grid;
	min-height: 1.85rem;
	padding: var(--gl-space-1) var(--gl-space-2);
}

.gl-vegas-market-grid > div:nth-child(-n+4) {
	border-block-start: 0;
	min-height: auto;
	padding-block: 0 var(--gl-space-1);
}

.gl-vegas-market-grid > div:not(.gl-vegas-market-grid__team):not(.gl-vegas-market-grid__team-label) {
	justify-items: end;
	text-align: right;
}

.gl-vegas-market-grid__heading {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	line-height: var(--gl-line-height-tight);
	text-transform: uppercase;
}

.gl-vegas-market-grid span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	text-transform: uppercase;
}

.gl-vegas-market-grid strong {
	display: block;
	font-size: var(--gl-font-size-sm);
	line-height: var(--gl-line-height-tight);
}

.gl-vegas-market-grid__team strong {
	font-size: var(--gl-font-size-sm);
}

.gl-vegas-market-performance {
	background:
		linear-gradient(90deg, transparent, rgb(31 122 90 / 5%)),
		var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-2);
	min-width: 0;
	padding: var(--gl-space-3);
}

.gl-vegas-market-performance__heading {
	align-items: center;
	display: flex;
	gap: var(--gl-space-2);
	justify-content: space-between;
}

.gl-vegas-market-performance__heading span,
.gl-vegas-market-performance__grid span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	text-transform: uppercase;
}

.gl-vegas-market-performance__heading strong {
	font-size: var(--gl-font-size-xs);
	white-space: nowrap;
}

.gl-vegas-market-performance__grid {
	display: grid;
	gap: 1px;
	grid-template-columns: minmax(3rem, 0.55fr) repeat(4, minmax(5.25rem, 1fr));
}

.gl-vegas-market-performance__grid > div {
	background: var(--gl-color-surface);
	border-radius: var(--gl-radius-sm);
	display: grid;
	gap: 1px;
	min-height: 2.65rem;
	padding: var(--gl-space-1) var(--gl-space-2);
}

.gl-vegas-market-performance__team {
	align-items: center;
	color: var(--gl-color-text);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-vegas-market-performance__grid strong {
	font-size: var(--gl-font-size-sm);
	line-height: var(--gl-line-height-tight);
}

.gl-vegas-game-card__body > .gl-vegas-recommendations {
	align-self: start;
	display: block;
	min-width: 0;
	padding-block-start: var(--gl-space-1);
}

.gl-vegas-recommendations__list {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-1) var(--gl-space-4);
}

.gl-vegas-recommendation-row {
	align-items: center;
	display: inline-flex;
	line-height: 1;
	min-width: 0;
}

.gl-vegas-recommendation-row__primary {
	align-items: center;
	display: inline-flex;
	gap: var(--gl-space-2);
	min-width: 0;
}

.gl-porpoise-icons::before {
	content: "";
}

.gl-porpoise-icons--1::before {
	content: "🐬";
}

.gl-porpoise-icons--2::before {
	content: "🐬🐬";
}

.gl-porpoise-icons--3::before {
	content: "🐬🐬🐬";
}

.gl-porpoise-icons--4::before {
	content: "🐬🐬🐬🐬";
}

.gl-porpoise-icons--5::before {
	content: "🐬🐬🐬🐬🐬";
}

.gl-vegas-recommendation-row__porpoises {
	font-size: var(--gl-font-size-sm);
	letter-spacing: 0;
	line-height: 1;
	white-space: nowrap;
}

.gl-vegas-recommendation-row strong {
	font-size: var(--gl-font-size-sm);
	line-height: 1;
	min-width: 0;
	white-space: nowrap;
}

.gl-vegas-recommendation-row__action {
	color: var(--gl-color-text);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
}

.gl-vegas-recommendation-row__outcome {
	border-radius: var(--gl-radius-pill);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	letter-spacing: 0;
	line-height: 1;
	padding: 0.18rem var(--gl-space-2);
	text-transform: uppercase;
	white-space: nowrap;
}

.gl-vegas-recommendation-row__outcome--hit {
	background: color-mix(in srgb, var(--gl-color-success) 14%, transparent);
	color: var(--gl-color-success);
}

.gl-vegas-recommendation-row__outcome--miss {
	background: color-mix(in srgb, var(--gl-color-warning) 14%, transparent);
	color: var(--gl-color-warning);
}

.gl-vegas-recommendation-row__outcome--push {
	background: var(--gl-color-surface-muted);
	color: var(--gl-color-text-muted);
}

.gl-vegas-recommendation-row__outcome--pending,
.gl-vegas-recommendation-row__outcome--ungraded,
.gl-vegas-recommendation-row__outcome--void {
	background: var(--gl-color-surface-muted);
	color: var(--gl-color-text-muted);
}

.gl-vic-nav {
	align-items: center;
	background: color-mix(in srgb, var(--gl-color-surface) 92%, var(--gl-color-info));
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
	max-width: 100%;
	min-width: 0;
	padding: var(--gl-space-2);
}

.gl-vic-nav a {
	border-radius: var(--gl-radius-sm);
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	min-width: 0;
	overflow-wrap: anywhere;
	padding: var(--gl-space-2) var(--gl-space-3);
	text-decoration: none;
}

.gl-vic-nav a:hover,
.gl-vic-nav a.is-active {
	background: var(--gl-color-accent);
	color: #ffffff;
}

.gl-vic-performance {
	display: grid;
	gap: var(--gl-space-6);
	min-width: 0;
}

.gl-vic-performance > * {
	max-width: 100%;
	min-width: 0;
}

.gl-vic-performance__header {
	max-width: var(--gl-container-narrow);
}

.gl-vic-performance-health span,
.gl-vic-performance-metric dt,
.gl-vic-rate-card span,
.gl-vic-category-card span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	letter-spacing: 0;
	text-transform: uppercase;
}

.gl-vic-performance-health {
	background: color-mix(in srgb, var(--gl-color-surface-muted) 78%, var(--gl-color-info));
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-2);
	padding: var(--gl-space-4);
}

.gl-vic-performance-health strong {
	color: var(--gl-color-accent);
	font-size: var(--gl-font-size-lg);
	line-height: 1.1;
}

.gl-vic-performance-health p {
	color: var(--gl-color-text-muted);
	margin: 0;
}

.gl-vic-performance-health__body,
.gl-vic-performance-note {
	color: var(--gl-color-text-muted);
	margin: 0;
	max-width: 70rem;
}

.gl-vic-rate-grid {
	display: grid;
	gap: var(--gl-space-4);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gl-vic-rate-card {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-2);
	padding: clamp(var(--gl-space-4), 3vw, var(--gl-space-6));
}

.gl-vic-rate-card strong {
	color: var(--gl-color-text);
	font-size: clamp(2.4rem, 6vw, 5rem);
	font-weight: var(--gl-font-weight-semibold);
	letter-spacing: 0;
	line-height: 0.95;
}

.gl-vic-rate-card small {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
}

.gl-vic-rate-card small b {
	color: var(--gl-color-text);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-vic-rate-card--win {
	background: color-mix(in srgb, var(--gl-color-success) 10%, var(--gl-color-surface));
	border-color: color-mix(in srgb, var(--gl-color-success) 34%, var(--gl-color-border));
}

.gl-vic-rate-card--win strong {
	color: var(--gl-color-success);
}

.gl-vic-rate-card--loss {
	background: color-mix(in srgb, var(--gl-color-danger) 8%, var(--gl-color-surface));
	border-color: color-mix(in srgb, var(--gl-color-danger) 28%, var(--gl-color-border));
}

.gl-vic-rate-card--loss strong {
	color: var(--gl-color-danger);
}

.gl-vic-rate-card--push {
	background: color-mix(in srgb, var(--gl-color-surface-muted) 65%, var(--gl-color-surface));
}

.gl-vic-tier-rates {
	display: grid;
	gap: var(--gl-space-3);
	margin-block-start: var(--gl-space-4);
}

.gl-vic-tier-rates__header {
	display: grid;
	gap: var(--gl-space-1);
	max-width: 48rem;
}

.gl-vic-tier-rates__header h3 {
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: 1.1;
	margin: 0;
}

.gl-vic-tier-rates__header p {
	color: var(--gl-color-text-muted);
	margin: 0;
}

.gl-vic-tier-list {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-vic-tier-row {
	align-items: center;
	background: color-mix(in srgb, var(--gl-color-surface-muted) 74%, var(--gl-color-surface));
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: minmax(0, 1fr) auto minmax(8rem, auto);
	padding: var(--gl-space-3) var(--gl-space-4);
}

.gl-vic-tier-row__label {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
	min-width: 0;
}

.gl-vic-tier-row__marks {
	align-items: center;
	display: inline-flex;
	font-size: var(--gl-font-size-lg);
	letter-spacing: 0;
	line-height: 1;
	min-width: 1.5rem;
	white-space: nowrap;
}

.gl-vic-tier-row__marks--1::before {
	content: "🐬";
}

.gl-vic-tier-row__marks--2::before {
	content: "🐬🐬";
}

.gl-vic-tier-row__marks--3::before {
	content: "🐬🐬🐬";
}

.gl-vic-tier-row__marks--4::before {
	content: "🐬🐬🐬🐬";
}

.gl-vic-tier-row__marks--5::before {
	content: "🐬🐬🐬🐬🐬";
}

.gl-vic-tier-row strong {
	color: var(--gl-color-text);
	font-family: var(--gl-font-family-serif);
	font-size: clamp(1.2rem, 2vw, 1.75rem);
	line-height: 1.05;
}

.gl-vic-tier-row > span:not(.gl-vic-tier-row__marks) {
	color: var(--gl-color-accent);
	font-size: clamp(1.55rem, 3vw, 2.35rem);
	font-weight: var(--gl-font-weight-semibold);
	line-height: 1;
}

.gl-vic-tier-row small {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	text-align: right;
}

.gl-vic-window-switcher {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
	justify-content: flex-end;
}

.gl-vic-window-switcher a {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	padding: var(--gl-space-2) var(--gl-space-3);
	text-decoration: none;
}

.gl-vic-window-switcher a:hover,
.gl-vic-window-switcher a.is-active {
	background: var(--gl-color-accent);
	border-color: var(--gl-color-accent);
	color: #ffffff;
}

.gl-vic-performance-metrics {
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	margin: 0;
}

.gl-vic-performance-metric {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-sm);
	display: grid;
	gap: 0.35rem;
	padding: var(--gl-space-3);
}

.gl-vic-performance-metric dd {
	color: var(--gl-color-text);
	font-size: clamp(1.15rem, 1.7vw, 1.65rem);
	font-weight: var(--gl-font-weight-semibold);
	line-height: 1.05;
	margin: 0;
	order: 1;
}

.gl-vic-performance-metric dt {
	order: 2;
}

.gl-vic-breakdown-grid,
.gl-vic-review-grid,
.gl-vic-category-grid,
.gl-vic-weekly-grid {
	display: grid;
	gap: var(--gl-space-4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gl-vic-breakdown-card,
.gl-vic-review-grid section,
.gl-vic-category-card,
.gl-vic-weekly-notes section {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-3);
	min-width: 0;
	padding: var(--gl-space-4);
}

.gl-vic-breakdown-card h3,
.gl-vic-review-grid h3,
.gl-vic-weekly-notes h3 {
	font-size: var(--gl-font-size-md);
	line-height: 1.15;
	margin: 0;
}

.gl-vic-category-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.gl-vic-category-card strong {
	color: var(--gl-color-text);
	font-family: var(--gl-font-family-serif);
	font-size: clamp(1.35rem, 2.4vw, 2.2rem);
	font-weight: var(--gl-font-weight-semibold);
	line-height: 1.05;
}

.gl-vic-category-card em {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-style: normal;
}

.gl-vic-weekly-grid {
	align-items: start;
}

.gl-vic-weekly-notes {
	display: grid;
	gap: var(--gl-space-3);
}

.gl-vic-weekly-notes p {
	color: var(--gl-color-text-muted);
	margin: 0;
}

.gl-vic-performance-table-wrap {
	min-width: 0;
	overflow-x: auto;
	width: 100%;
}

.gl-vic-performance-table {
	border-collapse: collapse;
	min-width: 44rem;
	width: 100%;
}

.gl-vic-performance-table--compact {
	min-width: 34rem;
}

.gl-vic-performance-table th,
.gl-vic-performance-table td {
	border-block-end: 1px solid var(--gl-color-border);
	padding: var(--gl-space-2) var(--gl-space-3);
	text-align: left;
	vertical-align: middle;
}

.gl-vic-performance-table thead th {
	background: color-mix(in srgb, var(--gl-color-info) 16%, var(--gl-color-surface));
	color: var(--gl-color-text);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	letter-spacing: 0;
	text-transform: uppercase;
}

.gl-vic-performance-table tbody th {
	color: var(--gl-color-text);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-vic-performance-table tbody td {
	color: var(--gl-color-text-muted);
}

.gl-vic-review-list {
	display: grid;
	gap: var(--gl-space-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.gl-vic-review-list li {
	align-items: center;
	border-block-end: 1px solid var(--gl-color-border);
	display: grid;
	gap: var(--gl-space-2);
	grid-template-columns: minmax(0, 1fr) auto auto;
	padding-block: var(--gl-space-2);
}

.gl-vic-review-list li:last-child {
	border-block-end: 0;
}

.gl-vic-review-list span {
	color: var(--gl-color-text);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-vic-review-list strong {
	color: var(--gl-color-accent);
}

.gl-vic-review-list em {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-style: normal;
	text-transform: uppercase;
}

.gl-vegas-confidence-key {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-2);
	padding: var(--gl-space-3) var(--gl-space-4);
}

.gl-vegas-confidence-key h2 {
	font-size: var(--gl-font-size-sm);
	margin: 0;
}

.gl-vegas-confidence-key p {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	margin: 0;
}

.gl-vegas-confidence-key__grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-1) var(--gl-space-2);
}

.gl-vegas-confidence-key__grid div {
	align-items: center;
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	display: inline-flex;
	gap: var(--gl-space-2);
	padding: var(--gl-space-1) var(--gl-space-2);
}

.gl-vegas-confidence-key__grid span {
	letter-spacing: 0;
	line-height: 1;
}

.gl-vegas-confidence-key__grid strong {
	font-size: var(--gl-font-size-xs);
	line-height: 1;
}

.gl-vegas-info-section {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-4);
	padding: clamp(1.25rem, 2vw, 1.75rem);
}

.gl-vegas-info-section h2 {
	font-size: var(--gl-font-size-lg);
	line-height: 1.15;
	margin: 0;
}

.gl-vegas-info-section__content {
	color: var(--gl-color-text-muted);
	display: grid;
	gap: var(--gl-space-3);
	max-width: 76rem;
}

.gl-vegas-info-section__content p,
.gl-vegas-info-section__content ul {
	margin: 0;
}

.gl-vegas-info-section__content ul {
	display: grid;
	gap: var(--gl-space-2);
	padding-inline-start: 1.15rem;
}

.gl-vegas-info-section__content li {
	padding-inline-start: 0.15rem;
}

.gl-vegas-stat-grid {
	display: grid;
	gap: var(--gl-space-2);
	grid-template-columns: repeat(auto-fit, minmax(10rem, max-content));
	justify-content: start;
	margin: 0;
}

.gl-vegas-stat-grid div {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-sm);
	display: grid;
	gap: 0.25rem;
	min-width: 10rem;
	padding: var(--gl-space-2) var(--gl-space-3);
}

.gl-vegas-stat-grid dt {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	letter-spacing: 0;
	order: 2;
	text-transform: uppercase;
}

.gl-vegas-stat-grid dd {
	color: var(--gl-color-text);
	font-size: clamp(1.05rem, 1.4vw, 1.35rem);
	font-weight: var(--gl-font-weight-semibold);
	line-height: 1.1;
	margin: 0;
	order: 1;
}

.gl-vegas-responsible-gaming {
	border-color: color-mix(in srgb, var(--gl-color-warning) 22%, var(--gl-color-border));
}

.gl-lineup-workspace {
	display: grid;
	gap: var(--gl-space-8);
}

.gl-lineup-workspace__header {
	max-width: var(--gl-container-narrow);
}

.gl-workspace-section {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-lg);
	padding: var(--gl-space-6);
}

.gl-workspace-context {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-lg);
	display: grid;
	gap: var(--gl-space-3);
	padding: var(--gl-space-4) var(--gl-space-5);
}

.gl-workspace-context__header {
	max-width: var(--gl-container-narrow);
}

.gl-workspace-context__header h2 {
	margin-block-end: var(--gl-space-2);
}

.gl-vegas-context .gl-workspace-context__header h2 {
	font-size: var(--gl-font-size-lg);
	margin-block-end: 0;
}

.gl-workspace-context__header p:not(.gl-tag) {
	color: var(--gl-color-text-muted);
	margin: 0;
}

.gl-workspace-context__form {
	align-items: end;
	display: grid;
	gap: var(--gl-space-4);
	grid-template-columns: repeat(2, minmax(12rem, 18rem));
}

.gl-workspace-context__form label {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-workspace-context__form span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-data-status-panel {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	padding: var(--gl-space-3);
}

.gl-data-status-grid {
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

.gl-data-status-grid div {
	min-width: 0;
}

.gl-data-status-grid dt {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	text-transform: uppercase;
}

.gl-data-status-grid dd {
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	margin: var(--gl-space-1) 0 0;
}

.gl-data-notice {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-warning);
	border-inline-start: 4px solid var(--gl-color-warning);
	border-radius: var(--gl-radius-md);
	color: var(--gl-color-text);
	padding: var(--gl-space-4);
}

.gl-data-notice--inline {
	margin-block-start: var(--gl-space-4);
}

.gl-data-notice p {
	margin: 0;
}

.gl-stack-watch__summary {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	padding: var(--gl-space-2) var(--gl-space-3);
	white-space: nowrap;
}

.gl-stack-watch__filters {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
	margin-block-end: var(--gl-space-4);
}

.gl-stack-watch__filter {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	color: var(--gl-color-text);
	cursor: pointer;
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	min-height: 2.5rem;
	padding: var(--gl-space-2) var(--gl-space-4);
}

.gl-stack-watch__filter.is-active {
	background: var(--gl-color-accent);
	border-color: var(--gl-color-accent);
	color: #ffffff;
}

.gl-stack-watch__table-wrap {
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	overflow: auto;
}

.gl-stack-watch__table {
	background: var(--gl-color-surface);
	border-collapse: collapse;
	font-size: var(--gl-font-size-sm);
	min-width: 78rem;
	width: 100%;
}

.gl-stack-watch__table th,
.gl-stack-watch__table td {
	border-block-end: 1px solid var(--gl-color-border);
	padding: var(--gl-space-3);
	text-align: left;
	vertical-align: top;
}

.gl-stack-watch__table th {
	background: var(--gl-color-surface-muted);
}

.gl-stack-watch__table th button {
	background: transparent;
	border: 0;
	color: var(--gl-color-text);
	cursor: pointer;
	font: inherit;
	font-weight: var(--gl-font-weight-semibold);
	min-height: auto;
	padding: 0;
	text-align: left;
}

.gl-stack-watch__table tr.is-selected td,
.gl-stack-card.is-selected {
	background: color-mix(in srgb, var(--gl-color-accent) 8%, var(--gl-color-surface));
}

.gl-stack-watch__detail-row td {
	background: var(--gl-color-surface-muted);
}

.gl-stack-detail {
	display: grid;
	gap: var(--gl-space-4);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-block-start: var(--gl-space-4);
}

.gl-stack-detail p {
	color: var(--gl-color-text-muted);
	margin: var(--gl-space-1) 0 0;
}

.gl-status-badge,
.gl-opportunity-badge {
	align-items: center;
	border-radius: var(--gl-radius-pill);
	display: inline-flex;
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	line-height: 1;
	min-height: 1.6rem;
	padding: var(--gl-space-1) var(--gl-space-2);
	white-space: nowrap;
}

.gl-status-badge {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
}

.gl-status-badge--watch,
.gl-status-badge--value {
	background: color-mix(in srgb, var(--gl-color-success) 14%, var(--gl-color-surface));
	border-color: var(--gl-color-success);
}

.gl-status-badge--caution {
	background: color-mix(in srgb, var(--gl-color-warning) 16%, var(--gl-color-surface));
	border-color: var(--gl-color-warning);
}

.gl-opportunity-badge {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	margin: 0 var(--gl-space-1) var(--gl-space-1) 0;
}

.gl-stack-note {
	display: block;
	max-width: 18rem;
}

.gl-stack-note + .gl-stack-note {
	color: var(--gl-color-text-muted);
	margin-block-start: var(--gl-space-1);
}

.gl-sparkline {
	align-items: end;
	display: flex;
	gap: var(--gl-space-1);
	min-height: 3rem;
}

.gl-sparkline span {
	background: var(--gl-color-border-strong);
	border-radius: var(--gl-radius-sm) var(--gl-radius-sm) 0 0;
	display: inline-block;
	width: 0.6rem;
}

.gl-sparkline .is-positive {
	background: var(--gl-color-success);
}

.gl-sparkline .is-negative {
	background: var(--gl-color-warning);
}

.gl-stack-watch__cards {
	display: none;
}

.gl-stack-card {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-3);
	padding: var(--gl-space-4);
}

.gl-stack-card__top,
.gl-stack-card__metrics,
.gl-stack-card__badges {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
	justify-content: space-between;
}

.gl-stack-card__top span,
.gl-stack-card p,
.gl-stack-card__metrics {
	color: var(--gl-color-text-muted);
}

.gl-stack-watch__empty {
	background: var(--gl-color-surface-muted);
	border: 1px dashed var(--gl-color-border-strong);
	border-radius: var(--gl-radius-md);
	color: var(--gl-color-text-muted);
	margin-block-start: var(--gl-space-4);
	padding: var(--gl-space-4);
}

.gl-workspace-section__header {
	align-items: start;
	display: flex;
	gap: var(--gl-space-4);
	justify-content: space-between;
	margin-block-end: var(--gl-space-4);
}

.gl-workspace-section__header h2,
.gl-workspace-placeholder h2 {
	margin-block-end: var(--gl-space-2);
}

.gl-workspace-section__header p:not(.gl-tag),
.gl-workspace-placeholder p:not(.gl-tag) {
	color: var(--gl-color-text-muted);
	margin-block-end: 0;
}

.gl-player-pool__summary {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	padding: var(--gl-space-2) var(--gl-space-3);
	white-space: nowrap;
}

.gl-player-pool__team-banner {
	align-items: start;
	background: color-mix(in srgb, var(--gl-color-accent) 8%, var(--gl-color-surface));
	border: 1px solid var(--gl-color-accent);
	border-radius: var(--gl-radius-md);
	display: flex;
	gap: var(--gl-space-4);
	justify-content: space-between;
	margin-block-end: var(--gl-space-5);
	padding: var(--gl-space-5);
}

.gl-player-pool__team-banner h3 {
	margin-block: var(--gl-space-1) var(--gl-space-2);
}

.gl-player-pool__team-banner ul {
	color: var(--gl-color-text-muted);
	margin: 0;
	padding-inline-start: var(--gl-space-5);
}

.gl-player-pool__toolbar {
	align-items: end;
	display: grid;
	gap: var(--gl-space-4);
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
	margin-block-end: var(--gl-space-4);
}

.gl-player-pool__tabs,
.gl-player-pool__filters {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
}

.gl-player-pool__tab,
.gl-player-pool__filter {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	color: var(--gl-color-text);
	cursor: pointer;
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	min-height: 2.5rem;
	padding: var(--gl-space-2) var(--gl-space-4);
}

.gl-player-pool__tab.is-active,
.gl-player-pool__filter.is-active {
	background: var(--gl-color-accent);
	border-color: var(--gl-color-accent);
	color: #ffffff;
}

.gl-player-pool__search {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-player-pool__search span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-player-pool__filters {
	border-block-start: 1px solid var(--gl-color-border);
	margin-block-end: var(--gl-space-4);
	padding-block-start: var(--gl-space-4);
}

.gl-player-pool__table-wrap {
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	overflow: auto;
}

.gl-player-pool__table {
	background: var(--gl-color-surface);
	border-collapse: collapse;
	font-size: var(--gl-font-size-sm);
	min-width: 92rem;
	width: 100%;
}

.gl-player-pool__table th,
.gl-player-pool__table td {
	border-block-end: 1px solid var(--gl-color-border);
	padding: var(--gl-space-3);
	text-align: left;
	white-space: nowrap;
}

.gl-player-pool__table th {
	background: var(--gl-color-surface-muted);
	position: sticky;
	top: 0;
	z-index: 1;
}

.gl-player-pool__table th button {
	background: transparent;
	border: 0;
	color: var(--gl-color-text);
	cursor: pointer;
	font: inherit;
	font-weight: var(--gl-font-weight-semibold);
	min-height: auto;
	padding: 0;
	text-align: left;
}

.gl-player-pool__table th button[data-sort-direction="asc"]::after {
	content: " ↑";
}

.gl-player-pool__table th button[data-sort-direction="desc"]::after {
	content: " ↓";
}

.gl-player-pool__table tbody tr:hover {
	background: var(--gl-color-surface-muted);
}

.gl-player-pool__empty {
	background: var(--gl-color-surface-muted);
	border: 1px dashed var(--gl-color-border-strong);
	border-radius: var(--gl-radius-md);
	color: var(--gl-color-text-muted);
	margin-block-start: var(--gl-space-4);
	padding: var(--gl-space-4);
}

.gl-player-pool__empty p {
	margin: 0;
}

.gl-column-guide {
	border-block-start: 1px solid var(--gl-color-border);
	margin-block-start: var(--gl-space-6);
	padding-block-start: var(--gl-space-5);
}

.gl-column-guide summary {
	color: var(--gl-color-text);
	cursor: pointer;
	font-weight: var(--gl-font-weight-semibold);
}

.gl-column-guide__content {
	margin-block-start: var(--gl-space-5);
}

.gl-column-guide__grid {
	display: grid;
	gap: var(--gl-space-4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.gl-column-guide__grid div {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	padding: var(--gl-space-4);
}

.gl-column-guide__grid dt {
	font-weight: var(--gl-font-weight-semibold);
}

.gl-column-guide__grid dd {
	color: var(--gl-color-text-muted);
	margin: var(--gl-space-1) 0 0;
}

.gl-button--compact {
	font-size: var(--gl-font-size-xs);
	min-height: 2rem;
	padding: var(--gl-space-1) var(--gl-space-2);
}

.gl-lineup-builder__salary {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	font-weight: var(--gl-font-weight-semibold);
	padding: var(--gl-space-2) var(--gl-space-3);
	white-space: nowrap;
}

.gl-lineup-builder__grid {
	display: grid;
	gap: var(--gl-space-6);
	grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
}

.gl-roster-slots {
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gl-roster-slot {
	align-items: start;
	background: var(--gl-color-surface-muted);
	border: 1px dashed var(--gl-color-border-strong);
	border-radius: var(--gl-radius-md);
	display: flex;
	gap: var(--gl-space-3);
	justify-content: space-between;
	min-height: 6rem;
	padding: var(--gl-space-4);
}

.gl-roster-slot.is-filled {
	background: var(--gl-color-surface);
	border-style: solid;
}

.gl-roster-slot span,
.gl-roster-slot small {
	color: var(--gl-color-text-muted);
	display: block;
}

.gl-roster-slot strong {
	display: block;
	margin-block: var(--gl-space-1);
}

.gl-roster-slot button {
	background: transparent;
	border: 0;
	color: var(--gl-color-accent);
	cursor: pointer;
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	min-height: auto;
	padding: 0;
}

.gl-lineup-builder__panel {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	padding: var(--gl-space-5);
}

.gl-lineup-builder__panel h3,
.gl-lineup-recap h3 {
	font-size: var(--gl-font-size-md);
	margin-block-end: var(--gl-space-4);
}

.gl-lineup-builder__metrics,
.gl-lineup-recap__summary {
	display: grid;
	gap: var(--gl-space-3);
	margin: 0;
}

.gl-lineup-builder__metrics div,
.gl-lineup-recap__summary div,
.gl-team-exposure,
.gl-recap-player {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	padding: var(--gl-space-3);
}

.gl-lineup-builder__metrics dt,
.gl-lineup-recap__summary dt {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	text-transform: uppercase;
}

.gl-lineup-builder__metrics dd,
.gl-lineup-recap__summary dd {
	font-weight: var(--gl-font-weight-semibold);
	margin: var(--gl-space-1) 0 0;
}

.gl-lineup-builder__warnings {
	margin-block-start: var(--gl-space-4);
}

.gl-lineup-builder__warnings p {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-inline-start: 4px solid var(--gl-color-warning);
	border-radius: var(--gl-radius-md);
	margin: 0 0 var(--gl-space-2);
	padding: var(--gl-space-3);
}

.gl-lineup-recap__grid {
	display: grid;
	gap: var(--gl-space-6);
	grid-template-columns: minmax(0, 1.2fr) minmax(14rem, 0.8fr) minmax(14rem, 0.8fr);
}

.gl-lineup-recap__players,
.gl-lineup-recap__teams {
	display: grid;
	gap: var(--gl-space-3);
}

.gl-recap-player span,
.gl-team-exposure span,
.gl-empty-copy {
	color: var(--gl-color-text-muted);
	display: block;
}

.gl-stack-watch__filter,
.gl-player-pool__tab,
.gl-player-pool__filter,
.gl-filter-chip,
.gl-roster-slot {
	transition:
		background-color var(--gl-transition-fast),
		border-color var(--gl-transition-fast),
		box-shadow var(--gl-transition-fast),
		color var(--gl-transition-fast),
		transform var(--gl-transition-fast);
}

.gl-stack-watch__filter:hover,
.gl-player-pool__tab:hover,
.gl-player-pool__filter:hover,
.gl-filter-chip:hover {
	transform: translateY(-1px);
}

.gl-stack-watch__table th button[data-sort-direction="asc"]::after,
.gl-player-pool__table th button[data-sort-direction="asc"]::after {
	content: " ↑";
}

.gl-stack-watch__table th button[data-sort-direction="desc"]::after,
.gl-player-pool__table th button[data-sort-direction="desc"]::after {
	content: " ↓";
}

.gl-stack-watch__table tbody tr:not(.gl-stack-watch__detail-row):hover td {
	background: var(--gl-color-surface-muted);
}

.gl-is-positive {
	color: var(--gl-color-success);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-is-negative {
	color: var(--gl-color-warning);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-player-pool__active-filters {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
	margin-block-end: var(--gl-space-4);
	min-height: 2.25rem;
}

.gl-filter-chip {
	align-items: center;
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	color: var(--gl-color-text);
	cursor: pointer;
	display: inline-flex;
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	gap: var(--gl-space-2);
	min-height: 2rem;
	padding: var(--gl-space-1) var(--gl-space-3);
}

.gl-filter-chip span {
	color: var(--gl-color-accent);
}

.gl-filter-chip--muted {
	color: var(--gl-color-text-muted);
	cursor: default;
}

.gl-filter-chip--muted:hover {
	transform: none;
}

.gl-column-controls {
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	margin-block-end: var(--gl-space-4);
	padding: var(--gl-space-3) var(--gl-space-4);
}

.gl-column-controls summary {
	cursor: pointer;
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-column-controls__grid {
	display: grid;
	gap: var(--gl-space-2) var(--gl-space-4);
	grid-template-columns: repeat(4, minmax(9rem, 1fr));
	margin-block-start: var(--gl-space-4);
}

.gl-column-controls__grid label {
	align-items: center;
	color: var(--gl-color-text-muted);
	display: flex;
	font-size: var(--gl-font-size-sm);
	gap: var(--gl-space-2);
}

.gl-player-pool__table tbody tr {
	cursor: grab;
}

.gl-player-pool__table tbody tr.is-in-lineup {
	background: color-mix(in srgb, var(--gl-color-success) 8%, var(--gl-color-surface));
}

.gl-player-pool__table tbody tr.is-team-filtered {
	box-shadow: inset 3px 0 0 var(--gl-color-accent);
}

.gl-is-highlighted-column .gl-table-value {
	background: color-mix(in srgb, var(--gl-color-accent) 8%, var(--gl-color-surface));
	border-radius: var(--gl-radius-sm);
	display: inline-block;
	font-weight: var(--gl-font-weight-semibold);
	min-width: 3.25rem;
	padding: var(--gl-space-1) var(--gl-space-2);
	text-align: center;
}

.gl-is-unavailable {
	color: var(--gl-color-text-muted);
	font-style: italic;
}

.gl-is-pinned-left,
.gl-is-pinned-right {
	background: var(--gl-color-surface);
	position: sticky;
	z-index: 2;
}

.gl-player-pool__table th.gl-is-pinned-left,
.gl-player-pool__table th.gl-is-pinned-right {
	z-index: 3;
}

.gl-is-pinned-left {
	box-shadow: 1px 0 0 var(--gl-color-border);
	left: 0;
	min-width: 12rem;
}

.gl-is-pinned-right {
	box-shadow: -1px 0 0 var(--gl-color-border);
	right: 0;
}

.gl-button:disabled,
.gl-button[disabled] {
	cursor: not-allowed;
	opacity: 0.55;
}

.gl-lineup-builder__header-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-3);
	justify-content: end;
}

.gl-roster-slot.is-filled {
	cursor: grab;
}

.gl-roster-slot.is-replacing,
.gl-roster-slot.is-drag-target {
	border-color: var(--gl-color-accent);
	box-shadow: var(--gl-shadow-sm);
	transform: translateY(-1px);
}

.gl-roster-slot__actions {
	align-items: end;
	display: grid;
	gap: var(--gl-space-2);
}

.gl-lineup-builder__meter {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	height: 0.75rem;
	margin-block-end: var(--gl-space-3);
	overflow: hidden;
}

.gl-lineup-builder__meter span {
	background: var(--gl-color-success);
	display: block;
	height: 100%;
	inline-size: 0;
	transition:
		inline-size var(--gl-transition-normal),
		background-color var(--gl-transition-fast);
}

.gl-lineup-builder__meter span.is-over-cap {
	background: var(--gl-color-warning);
}

.gl-lineup-builder__progress {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	margin-block: 0 var(--gl-space-4);
}

.gl-lineup-message {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	margin: 0 0 var(--gl-space-2);
	padding: var(--gl-space-3);
}

.gl-lineup-message--warning {
	border-inline-start: 4px solid var(--gl-color-warning);
}

.gl-lineup-message--danger {
	border-inline-start: 4px solid var(--gl-color-danger);
}

.gl-lineup-message--success {
	border-inline-start: 4px solid var(--gl-color-success);
}

.gl-lineup-message--info {
	border-inline-start: 4px solid var(--gl-color-accent);
}

.gl-lineup-recap__grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gl-lineup-recap__players,
.gl-lineup-recap__teams,
.gl-lineup-recap__stacks,
.gl-lineup-recap__positions,
.gl-lineup-recap__quality {
	display: grid;
	gap: var(--gl-space-3);
}

.gl-team-exposure {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-mini-bar {
	background: var(--gl-color-surface-muted);
	border-radius: var(--gl-radius-pill);
	height: 0.45rem;
	overflow: hidden;
}

.gl-mini-bar span {
	background: var(--gl-color-accent);
	display: block;
	height: 100%;
}

.gl-lineup-quality-card {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-inline-start: 4px solid var(--gl-color-accent);
	border-radius: var(--gl-radius-md);
	padding: var(--gl-space-3);
}

.gl-lineup-quality-card span {
	color: var(--gl-color-text-muted);
	display: block;
	margin-block-start: var(--gl-space-1);
}

.gl-lineup-quality-card--success {
	border-inline-start-color: var(--gl-color-success);
}

.gl-lineup-quality-card--warning {
	border-inline-start-color: var(--gl-color-warning);
}

.gl-lineup-quality-card--danger {
	border-inline-start-color: var(--gl-color-danger);
}

.gl-workspace-placeholder {
	border-style: dashed;
}

.gl-lab-sidebar {
	position: sticky;
	top: var(--gl-space-6);
}

.gl-lab-sidebar__nav,
.gl-lab-sidebar__placeholder {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-lg);
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	padding: var(--gl-space-5);
}

.gl-lab-sidebar__nav .gl-tag {
	margin-block-end: var(--gl-space-3);
}

.gl-lab-sidebar__links {
	display: grid;
	gap: var(--gl-space-1);
	list-style: none;
	margin: 0;
	padding: 0;
}

.gl-lab-sidebar__links a {
	border-radius: var(--gl-radius-md);
	color: var(--gl-color-text);
	display: block;
	font-weight: var(--gl-font-weight-semibold);
	padding: var(--gl-space-2) var(--gl-space-3);
	text-decoration: none;
	transition:
		background-color var(--gl-transition-fast),
		color var(--gl-transition-fast);
}

.gl-lab-sidebar__links a:hover,
.gl-lab-sidebar__links a.is-active {
	background: var(--gl-color-surface-muted);
	color: var(--gl-color-accent);
}

.gl-lab-sidebar__placeholder p {
	margin: 0;
}

.gl-betting-recommendations {
	display: grid;
	gap: var(--gl-space-5);
}

.gl-betting-recommendations__header {
	margin-block-end: var(--gl-space-1);
}

.gl-recommendation-filters {
	align-items: end;
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: repeat(4, minmax(8rem, 1fr)) minmax(12rem, 1.4fr) auto;
	padding: var(--gl-space-4);
}

.gl-recommendation-filters label {
	display: grid;
	gap: var(--gl-space-2);
	min-width: 0;
}

.gl-recommendation-filters span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
}

.gl-recommendation-filters__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
}

.gl-recommendation-list {
	display: grid;
	gap: var(--gl-space-3);
}

.gl-recommendation-card {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	box-shadow: var(--gl-shadow-sm);
	overflow: hidden;
}

.gl-recommendation-card[open] {
	border-color: color-mix(in srgb, var(--gl-color-accent) 34%, var(--gl-color-border));
}

.gl-recommendation-card summary {
	align-items: center;
	cursor: pointer;
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: minmax(4.5rem, auto) minmax(0, 1fr) minmax(5rem, auto);
	list-style: none;
	padding: var(--gl-space-4);
}

.gl-recommendation-card summary::-webkit-details-marker {
	display: none;
}

.gl-recommendation-card__porpoises {
	font-size: var(--gl-font-size-lg);
	letter-spacing: 0;
	line-height: 1;
	white-space: nowrap;
}

.gl-recommendation-card__target {
	color: var(--gl-color-text);
	font-size: var(--gl-font-size-lg);
	font-weight: var(--gl-font-weight-semibold);
	line-height: var(--gl-line-height-tight);
	min-width: 0;
}

.gl-recommendation-card__action {
	background: color-mix(in srgb, var(--gl-color-accent) 12%, var(--gl-color-surface));
	border: 1px solid color-mix(in srgb, var(--gl-color-accent) 28%, var(--gl-color-border));
	border-radius: var(--gl-radius-pill);
	color: var(--gl-color-text);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	line-height: 1;
	padding: var(--gl-space-2) var(--gl-space-3);
	text-align: center;
	white-space: nowrap;
}

.gl-recommendation-card__details {
	background: var(--gl-color-surface-muted);
	border-block-start: 1px solid var(--gl-color-border);
	display: grid;
	gap: var(--gl-space-2);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: var(--gl-space-4);
}

.gl-recommendation-card__details > div {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-sm);
	display: grid;
	gap: var(--gl-space-1);
	min-width: 0;
	padding: var(--gl-space-3);
}

.gl-recommendation-card__details span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	text-transform: uppercase;
}

.gl-recommendation-card__details strong {
	color: var(--gl-color-text);
	font-size: var(--gl-font-size-sm);
	line-height: var(--gl-line-height-normal);
	overflow-wrap: anywhere;
}

.gl-recommendation-card__rule {
	grid-column: 1 / -1;
}

@media (max-width: 900px) {
	.gl-lab-layout {
		grid-template-columns: 1fr;
	}

	.gl-lab-sidebar {
		display: none;
	}

	.gl-lab-hero__inner {
		grid-template-columns: 1fr;
	}

	.gl-placeholder--lab-hero {
		min-height: 18rem;
	}

	.gl-lab-info-grid {
		grid-template-columns: 1fr;
	}

	.gl-vegas-context,
	.gl-vegas-slate-bar,
	.gl-vegas-slate-form,
	.gl-vegas-game-card__body {
		grid-template-columns: 1fr;
	}




	.gl-lab-card-grid--platforms,
	.gl-lab-card-grid--tools {
		grid-template-columns: 1fr;
	}

	.gl-player-pool__toolbar,
	.gl-vegas-toolbar,
	.gl-recommendation-filters,
	.gl-recommendation-card__details,
	.gl-workspace-context__form,
	.gl-data-status-grid,
	.gl-column-controls__grid,
	.gl-stack-detail,
	.gl-lineup-builder__grid,
	.gl-lineup-recap__grid,
	.gl-workspace-section__header {
		grid-template-columns: 1fr;
	}

	.gl-workspace-section__header {
		display: grid;
	}

	.gl-lineup-builder__header-actions {
		justify-content: start;
	}

	.gl-roster-slots {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.gl-lab-header__inner,
	.gl-lab-layout {
		padding-inline: var(--gl-space-4);
	}

	.gl-lab-layout {
		padding-block: var(--gl-space-8);
	}

	.gl-lab-lede,
	.gl-lab-section__header p,
	.gl-lab-intro__inner p,
	.gl-lab-philosophy__inner p {
		font-size: var(--gl-font-size-md);
	}

	.gl-lab-intro__inner,
	.gl-lab-philosophy__inner,
	.gl-lab-panel {
		padding: var(--gl-space-6);
	}

	.gl-placeholder--lab-hero,
	.gl-placeholder--platform {
		min-height: 14rem;
	}

	.gl-lab-launcher-hero {
		min-height: 20rem;
	}

	.gl-lab-launcher-hero .gl-lab-hero__image img {
		object-position: 58% 58%;
	}

	.gl-lab-launcher-hero .gl-lab-launcher-hero__content {
		margin-inline-start: 0;
	}

	.gl-lab-launcher-hero .gl-lab-launcher-hero__content h1 {
		font-size: clamp(2.25rem, 13vw, 3.2rem);
	}

	.gl-workspace-section {
		padding: var(--gl-space-6);
	}

	.gl-workspace-context {
		padding: var(--gl-space-6);
	}

	.gl-column-guide__grid {
		grid-template-columns: 1fr;
	}

	.gl-column-controls__grid {
		grid-template-columns: 1fr;
	}

	.gl-stack-watch__table-wrap {
		display: none;
	}

	.gl-stack-watch__cards {
		display: grid;
		gap: var(--gl-space-3);
	}

	.gl-player-pool__team-banner {
		display: grid;
	}

	.gl-roster-slots {
		grid-template-columns: 1fr;
	}

	.gl-player-pool__table {
		min-width: 76rem;
	}

	.gl-vegas-game-card__header {
		display: grid;
	}

	.gl-recommendation-card summary {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.gl-recommendation-card__action {
		justify-self: start;
	}

	.gl-vegas-recommendations__list {
		align-items: flex-start;
		flex-direction: column;
	}

	.gl-vegas-recommendation-row,
	.gl-vegas-recommendation-row__primary {
		align-items: center;
		flex-wrap: wrap;
	}



	.gl-vegas-center,
	.gl-vegas-context,
	.gl-vegas-market,
	.gl-vegas-game-card {
		max-width: 100%;
		min-width: 0;
	}

	.gl-vegas-game-card__meta {
		justify-items: start;
	}

	.gl-vegas-market-grid {
		grid-template-columns: minmax(5.75rem, 1.1fr) repeat(3, minmax(3.35rem, 0.85fr));
	}

	.gl-vegas-market-grid__heading {
		font-size: 0.64rem;
		overflow-wrap: anywhere;
	}

	.gl-vegas-market-grid > div {
		padding-inline: var(--gl-space-1);
	}

	.gl-vegas-market-performance__grid {
		grid-template-columns: minmax(2.25rem, 0.55fr) repeat(4, minmax(3.2rem, 1fr));
	}
}
/* Final launcher hero overlay positioning. */
.gl-lab-launcher-hero > .gl-lab-launcher-hero__content {
	align-self: end;
	margin-inline-start: clamp(2.25rem, 6vw, 5.5rem);
	max-width: 36rem;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 3.5rem) clamp(3rem, 5vw, 5.5rem);
	position: relative;
	z-index: 1;
}

.gl-lab-launcher-hero > .gl-lab-launcher-hero__content h1 {
	color: #ffffff;
	font-size: clamp(2.45rem, 4.6vw, 4.85rem);
	line-height: 0.95;
	margin-block-end: var(--gl-space-3);
	text-shadow: 0 0.35rem 1.6rem rgb(0 0 0 / 46%);
}

.gl-lab-launcher-hero > .gl-lab-launcher-hero__content .gl-lab-lede {
	color: #ffffff;
	font-size: var(--gl-font-size-lg);
	margin: 0;
	opacity: 0.9;
}
/* Final pre-production Lab and VIC polish. */
.gl-lab-launcher-hero .gl-lab-hero__image img {
	object-position: center center;
}

.gl-lab-card-grid--platforms {
	align-items: stretch;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gl-lab-card-grid--platforms > .gl-lab-app-card {
	display: grid;
	margin: 0;
	grid-template-rows: auto 1fr auto;
	height: 100%;
	min-height: 15.5rem;
	padding: clamp(1.5rem, 3vw, 2rem);
}

.gl-lab-card-grid--platforms > .gl-lab-app-card h2 {
	margin-block-end: var(--gl-space-4);
}

.gl-lab-card-grid--platforms > .gl-lab-app-card p:not(:last-child) {
	margin: 0;
}

.gl-lab-card-grid--platforms > .gl-lab-app-card p:last-child {
	align-self: end;
	margin-block-start: var(--gl-space-8);
}

.gl-vegas-hero {
	border-radius: var(--gl-radius-lg);
	min-height: clamp(16rem, 28vw, 24rem);
	overflow: hidden;
	position: relative;
}

.gl-vegas-hero::after {
	background: linear-gradient(90deg, rgb(0 9 22 / 82%) 0%, rgb(0 12 28 / 48%) 34%, rgb(0 12 28 / 8%) 66%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.gl-vegas-hero__image {
	inset: 0;
	margin: 0;
	position: absolute;
}

.gl-vegas-hero__image img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center 28%;
	width: 100%;
}

.gl-vegas-hero__content {
	align-items: end;
	display: flex;
	min-height: inherit;
	padding-block: clamp(2rem, 4vw, 4rem);
	padding-inline: clamp(2rem, 5vw, 5.5rem);
	padding-inline-start: clamp(9rem, 20vw, 21rem);
	position: relative;
	z-index: 1;
}

.gl-vegas-hero__content h1 {
	color: #ffffff;
	font-size: clamp(2.4rem, 5vw, 5rem);
	line-height: 0.95;
	margin: 0;
	max-width: 42rem;
	text-shadow: 0 0.35rem 1.8rem rgb(0 0 0 / 50%);
}

.gl-vegas-context {
	align-items: stretch;
	display: grid;
	gap: var(--gl-space-4);
	grid-template-columns: minmax(34rem, 1fr) minmax(18rem, 0.35fr);
	padding: var(--gl-space-5);
}

.gl-vegas-context .gl-workspace-context__header {
	align-self: center;
	display: grid;
	gap: var(--gl-space-2);
}

.gl-vegas-context .gl-workspace-context__header .gl-tag {
	justify-self: start;
	margin: 0;
}

.gl-vegas-context .gl-workspace-context__header h2 {
	font-size: clamp(1.05rem, 1.4vw, 1.35rem);
	line-height: 1.1;
	margin: 0;
}

.gl-vegas-slate-bar {
	display: contents;
}

.gl-vegas-slate-form {
	align-items: end;
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: minmax(7rem, 0.8fr) minmax(12rem, 1.25fr) minmax(12rem, 1.25fr) minmax(8.5rem, 0.85fr);
}

.gl-vegas-slate-form label {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-vegas-slate-form select,
.gl-vegas-slate-form button {
	min-height: 3.25rem;
}

.gl-vegas-slate-form .gl-button {
	align-items: center;
	display: inline-flex;
	justify-content: center;
	min-width: 8.5rem;
}

.gl-data-status-panel {
	align-self: stretch;
	display: flex;
	min-height: 100%;
}

.gl-data-status-grid {
	align-items: center;
	gap: var(--gl-space-5);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	width: 100%;
}

.gl-vegas-market {
	margin-block-start: 0;
}

.gl-vegas-recommendations__list {
	gap: var(--gl-space-3);
}

.gl-vegas-recommendation-row__primary {
	gap: var(--gl-space-2);
}

@media (max-width: 1100px) {
	.gl-vegas-context {
		grid-template-columns: 1fr;
	}

	.gl-vegas-stat-grid {
		grid-template-columns: repeat(auto-fit, minmax(10rem, max-content));
	}

	.gl-vegas-slate-bar {
		display: grid;
		gap: var(--gl-space-4);
		grid-template-columns: 1fr;
	}

	.gl-vegas-slate-form {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gl-vic-breakdown-grid,
	.gl-vic-review-grid,
	.gl-vic-rate-grid,
	.gl-vic-weekly-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.gl-lab-card-grid--platforms {
		gap: 1.5rem;
		grid-template-columns: 1fr;
	}

	.gl-lab-card-grid--platforms > .gl-lab-app-card {
		min-height: 13.5rem;
	}

	.gl-vegas-hero {
		min-height: 18rem;
	}

	.gl-vegas-hero__image img {
		object-position: 64% 34%;
	}

	.gl-vegas-hero__content {
		align-items: end;
		padding-block: 1.5rem;
		padding-inline: 1.5rem;
		padding-inline-start: clamp(2.25rem, 13vw, 4rem);
	}

	.gl-vegas-hero__content h1 {
		font-size: clamp(2.15rem, 12vw, 3.2rem);
	}

	.gl-vegas-slate-form,
	.gl-data-status-grid,
	.gl-vegas-stat-grid {
		grid-template-columns: 1fr;
	}

	.gl-vic-performance-health {
		justify-self: stretch;
	}

	.gl-vic-rate-card strong {
		font-size: clamp(2.2rem, 18vw, 3.4rem);
	}

	.gl-vic-nav {
		display: grid;
		grid-template-columns: 1fr;
	}

	.gl-vic-window-switcher {
		justify-content: flex-start;
	}

	.gl-vic-tier-row {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.gl-vic-tier-row small {
		text-align: left;
	}

	.gl-vic-review-list li {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.gl-vegas-info-section {
		padding: var(--gl-space-4);
	}
}


/* Daily Player Research MVP */
.gl-lab-app-route.gl-mlb-theme-baseball-blue,
body.gl-mlb-theme-baseball-blue .gl-lab-app-route:has(.gl-dfs-research) {
	--gl-color-bg: #f5f8fb;
	--gl-color-surface: #ffffff;
	--gl-color-surface-muted: #edf4fa;
	--gl-color-text: #172235;
	--gl-color-text-muted: #60748a;
	--gl-color-border: #d7e3ef;
	--gl-color-border-strong: #b9cfe3;
	--gl-color-accent: #1e3a5f;
	--gl-color-accent-strong: #152b48;
	--gl-color-info: #4f81bd;
	--gl-color-success: #2f6f56;
	--gl-color-warning: #9b6a28;
	--gl-color-danger: #a84747;
	--gl-mlb-hover-bg: #e5f0f8;
	--gl-mlb-control-bg: #f8fbfd;
	--gl-mlb-table-head-bg: #e8f1f8;
	--gl-mlb-section-bg: #ffffff;
	--gl-mlb-lineup-bg: linear-gradient(135deg, #ffffff 0%, #eef5fa 100%);
	--gl-mlb-shadow-color: rgb(30 58 95 / 8%);
}

.gl-lab-app-route.gl-mlb-theme-modern-slate,
body.gl-mlb-theme-modern-slate .gl-lab-app-route:has(.gl-dfs-research) {
	--gl-color-bg: #eef3f5;
	--gl-color-surface: #fbfcfc;
	--gl-color-surface-muted: #e5ecef;
	--gl-color-text: #1d2a32;
	--gl-color-text-muted: #5d6d76;
	--gl-color-border: #cfdadf;
	--gl-color-border-strong: #adbec6;
	--gl-color-accent: #2f5f66;
	--gl-color-accent-strong: #21464d;
	--gl-color-info: #52778a;
	--gl-color-success: #3d6f5d;
	--gl-color-warning: #8a6b38;
	--gl-color-danger: #9b4b4b;
	--gl-mlb-hover-bg: #dde8eb;
	--gl-mlb-control-bg: #f5f8f9;
	--gl-mlb-table-head-bg: #dfe9ed;
	--gl-mlb-section-bg: #fbfcfc;
	--gl-mlb-lineup-bg: linear-gradient(135deg, #fbfcfc 0%, #e6eef1 100%);
	--gl-mlb-shadow-color: rgb(47 95 102 / 10%);
}

body.gl-lab-app-route:has(.gl-dfs-research):not(.gl-mlb-theme-baseball-blue):not(.gl-mlb-theme-modern-slate),
body:not(.gl-mlb-theme-baseball-blue):not(.gl-mlb-theme-modern-slate) .gl-lab-app-route:has(.gl-dfs-research):not(.gl-mlb-theme-baseball-blue):not(.gl-mlb-theme-modern-slate),
.gl-lab-app-route.gl-mlb-theme-dark-dugout,
body.gl-mlb-theme-dark-dugout .gl-lab-app-route:has(.gl-dfs-research) {
	--gl-color-bg: #e2f0f8;
	--gl-color-surface: #ffffff;
	--gl-color-surface-muted: #eef7fc;
	--gl-color-text: #071a2d;
	--gl-color-text-muted: #344f68;
	--gl-color-border: #9fc3dc;
	--gl-color-border-strong: #6f9fc2;
	--gl-color-accent: #0f4d76;
	--gl-color-accent-strong: #073653;
	--gl-color-info: #2f749d;
	--gl-color-success: #34694f;
	--gl-color-warning: #82591d;
	--gl-color-danger: #874444;
	--gl-mlb-hover-bg: #c3e1f1;
	--gl-mlb-control-bg: #f5fbff;
	--gl-mlb-table-head-bg: #afd2e6;
	--gl-mlb-section-bg: #ffffff;
	--gl-mlb-lineup-bg: linear-gradient(135deg, #ffffff 0%, #d9edf8 100%);
	--gl-mlb-shadow-color: rgb(15 77 118 / 13%);
}

.gl-baseball-research,
.gl-baseball-research__header,
.gl-dfs-research {
	min-width: 0;
}

.gl-dfs-research {
	gap: var(--gl-space-5);
}

.gl-lab-app-route:has(.gl-dfs-research) {
	background: var(--gl-color-bg);
}

.gl-dfs-research__heading,
.gl-dfs-slate-form,
.gl-dfs-controls,
.gl-dfs-results-bar {
	align-items: end;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-3);
	justify-content: space-between;
}

.gl-dfs-search-row {
	display: flex;
}

.gl-dfs-search-row .gl-dfs-filter {
	flex: 1 1 100%;
}


.gl-dfs-player-section,
.gl-dfs-lineup {
	background: var(--gl-mlb-section-bg, var(--gl-color-surface));
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-lg);
	box-shadow: 0 1rem 2.5rem var(--gl-mlb-shadow-color, rgb(24 26 27 / 5%));
	display: grid;
	gap: var(--gl-space-4);
	padding: var(--gl-space-4);
}

.gl-dfs-player-section__header {
	align-items: end;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-3);
	justify-content: space-between;
}

.gl-dfs-player-section__header h3,
.gl-dfs-lineup h3 {
	font-size: var(--gl-font-size-xl);
	line-height: 1.1;
	margin: 0;
}

.gl-dfs-player-section__header p {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	margin: var(--gl-space-1) 0 0;
}

.gl-dfs-lineup {
	background: var(--gl-mlb-lineup-bg, linear-gradient(135deg, var(--gl-color-surface), var(--gl-color-surface-muted)));
}

.gl-dfs-lineup__summary {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-dfs-lineup__summary div {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	padding: var(--gl-space-3);
}

.gl-dfs-lineup__summary .gl-dfs-lineup__summary-group {
	background: transparent;
	border: 0;
	display: grid;
	gap: var(--gl-space-2);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 9.5rem), 1fr));
	padding: 0;
}

.gl-dfs-lineup__summary span,
.gl-dfs-lineup-player span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	text-transform: uppercase;
}

.gl-dfs-lineup__summary strong {
	display: block;
	font-size: var(--gl-font-size-lg);
	line-height: 1.15;
	margin-block-start: var(--gl-space-1);
}

.gl-dfs-lineup__players {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-dfs-lineup__empty {
	color: var(--gl-color-text-muted);
	margin: 0;
}

.gl-dfs-lineup-player {
	align-items: center;
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-2);
	grid-template-columns: minmax(4.5rem, 6rem) minmax(8rem, 1fr) minmax(10rem, 1fr) auto;
	padding: var(--gl-space-2);
}

.gl-dfs-lineup-player select {
	min-width: 4.5rem;
}

.gl-dfs-lineup-player button {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	cursor: pointer;
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	padding: var(--gl-space-2) var(--gl-space-3);
}

.gl-dfs-table__actions {
	display: flex;
	gap: var(--gl-space-2);
}
.gl-dfs-research__summary {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
}

.gl-dfs-research__summary span,
.gl-dfs-source {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	padding: var(--gl-space-3);
}

.gl-dfs-research__summary strong,
.gl-dfs-source strong {
	color: var(--gl-color-text);
}

.gl-dfs-slate-form {
	background: var(--gl-mlb-section-bg, var(--gl-color-surface));
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-lg);
	box-shadow: 0 0.75rem 2rem var(--gl-mlb-shadow-color, rgb(24 26 27 / 4%));
	padding: var(--gl-space-4);
}

.gl-dfs-slate-form label,
.gl-dfs-filter {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-dfs-slate-form label span,
.gl-dfs-filter span,
.gl-dfs-source span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	text-transform: uppercase;
}

.gl-dfs-slate-form select,
.gl-dfs-filter select,
.gl-dfs-filter input {
	background: var(--gl-mlb-control-bg, var(--gl-color-surface));
	border-color: var(--gl-color-border);
	color: var(--gl-color-text);
	min-width: 9rem;
}

.gl-dfs-filter--wide {
	flex: 1 1 18rem;
}

.gl-dfs-tabs,
.gl-dfs-presets {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
}

.gl-dfs-tabs button,
.gl-dfs-presets button,
.gl-dfs-detail-button {
	background: var(--gl-mlb-control-bg, var(--gl-color-surface));
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	color: var(--gl-color-text);
	cursor: pointer;
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	min-height: 2.25rem;
	padding: var(--gl-space-2) var(--gl-space-3);
}

.gl-dfs-tabs button.is-active,
.gl-dfs-presets button.is-active,
.gl-dfs-tabs button:hover,
.gl-dfs-presets button:hover,
.gl-dfs-detail-button:hover {
	background: var(--gl-color-accent);
	border-color: var(--gl-color-accent);
	color: #ffffff;
}

.gl-dfs-filter-panel,
.gl-dfs-column-manager {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-lg);
	padding: var(--gl-space-4);
}

.gl-dfs-filter-panel {
	align-items: end;
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
}

.gl-dfs-filter-panel__title {
	color: var(--gl-color-text);
	font-size: var(--gl-font-size-sm);
	font-weight: var(--gl-font-weight-semibold);
	grid-column: 1 / -1;
}

.gl-dfs-column-manager summary {
	cursor: pointer;
	font-weight: var(--gl-font-weight-semibold);
}

.gl-dfs-column-manager__body {
	display: grid;
	gap: var(--gl-space-4);
	margin-block-start: var(--gl-space-4);
}

.gl-dfs-column-groups {
	display: grid;
	gap: var(--gl-space-4);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.gl-dfs-column-group {
	background: var(--gl-color-surface);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	display: grid;
	gap: var(--gl-space-2);
	margin: 0;
	padding: var(--gl-space-4);
}

.gl-dfs-column-group legend {
	font-weight: var(--gl-font-weight-semibold);
	padding-inline: var(--gl-space-1);
}

.gl-dfs-column-group label {
	align-items: center;
	display: flex;
	gap: var(--gl-space-2);
	font-size: var(--gl-font-size-sm);
}

.gl-dfs-column-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gl-space-2);
	justify-content: end;
}

.gl-dfs-messages {
	display: grid;
	gap: var(--gl-space-2);
}

.gl-dfs-message {
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	color: var(--gl-color-text-muted);
	margin: 0;
	padding: var(--gl-space-3);
}

.gl-dfs-results-bar {
	justify-content: start;
}

.gl-dfs-table-wrap {
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	max-height: 28rem;
	overflow: auto;
}

.gl-dfs-table {
	background: var(--gl-color-surface);
	border-collapse: collapse;
	font-size: var(--gl-font-size-sm);
	min-width: 96rem;
	width: 100%;
}

.gl-dfs-table th,
.gl-dfs-table td {
	border-block-end: 1px solid var(--gl-color-border);
	padding: var(--gl-space-3);
	text-align: left;
	white-space: nowrap;
}

.gl-dfs-table th {
	background: var(--gl-mlb-table-head-bg, var(--gl-color-surface-muted));
	position: sticky;
	top: 0;
	z-index: 1;
}

.gl-dfs-table th button {
	background: transparent;
	border: 0;
	color: var(--gl-color-text);
	cursor: pointer;
	font: inherit;
	font-weight: var(--gl-font-weight-semibold);
	padding: 0;
	text-align: left;
}

.gl-dfs-table th button[data-sort-direction="asc"]::after {
	content: " ↑";
}

.gl-dfs-table th button[data-sort-direction="desc"]::after {
	content: " ↓";
}

.gl-dfs-table tbody tr:hover {
	background: var(--gl-mlb-hover-bg, var(--gl-color-surface-muted));
}

.gl-dfs-table .gl-pa-positive,
.gl-dfs-table .gl-pa-negative,
.gl-dfs-table .gl-pa-neutral,
.gl-baseball-stat .gl-pa-positive,
.gl-baseball-stat .gl-pa-negative,
.gl-baseball-stat .gl-pa-neutral,
.gl-dfs-mini-grid .gl-pa-positive,
.gl-dfs-mini-grid .gl-pa-negative,
.gl-dfs-mini-grid .gl-pa-neutral {
	font-weight: var(--gl-font-weight-semibold);
}

.gl-dfs-table .gl-pa-positive,
.gl-baseball-stat .gl-pa-positive,
.gl-dfs-mini-grid .gl-pa-positive {
	color: #1f8a5b;
}

.gl-dfs-table .gl-pa-negative,
.gl-baseball-stat .gl-pa-negative,
.gl-dfs-mini-grid .gl-pa-negative {
	color: #bf4e45;
}

.gl-dfs-table .gl-pa-neutral,
.gl-baseball-stat .gl-pa-neutral,
.gl-dfs-mini-grid .gl-pa-neutral {
	color: var(--gl-color-text-muted);
}

.gl-dfs-empty {
	background: var(--gl-color-surface-muted);
	border: 1px dashed var(--gl-color-border-strong);
	border-radius: var(--gl-radius-md);
	color: var(--gl-color-text-muted);
	padding: var(--gl-space-4);
}

.gl-dfs-drawer {
	background: rgba(0, 0, 0, 0.4);
	inset: 0;
	position: fixed;
	z-index: 50;
}

.gl-dfs-drawer__panel {
	background: var(--gl-color-surface);
	box-shadow: var(--gl-shadow-lg);
	display: grid;
	gap: var(--gl-space-5);
	height: 100%;
	margin-inline-start: auto;
	max-width: min(100%, 44rem);
	overflow: auto;
	padding: var(--gl-space-6);
	position: relative;
}

.gl-dfs-drawer__close {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-pill);
	cursor: pointer;
	font-size: var(--gl-font-size-xl);
	height: 2.5rem;
	position: absolute;
	right: var(--gl-space-4);
	top: var(--gl-space-4);
	width: 2.5rem;
}

.gl-dfs-player-detail__header {
	padding-inline-end: var(--gl-space-8);
}

.gl-dfs-detail-section {
	display: grid;
	gap: var(--gl-space-3);
}

.gl-dfs-detail-note {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-sm);
	line-height: 1.5;
	margin: 0;
}

.gl-dfs-detail-list,
.gl-dfs-mini-grid {
	display: grid;
	gap: var(--gl-space-3);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
}

.gl-dfs-detail-list {
	margin: 0;
}

.gl-dfs-detail-list div,
.gl-dfs-mini-grid div {
	background: var(--gl-color-surface-muted);
	border: 1px solid var(--gl-color-border);
	border-radius: var(--gl-radius-md);
	padding: var(--gl-space-3);
}

.gl-dfs-detail-list dt,
.gl-dfs-mini-grid span {
	color: var(--gl-color-text-muted);
	font-size: var(--gl-font-size-xs);
	font-weight: var(--gl-font-weight-semibold);
	text-transform: uppercase;
}

.gl-dfs-detail-list dd,
.gl-dfs-mini-grid strong {
	display: block;
	font-weight: var(--gl-font-weight-semibold);
	margin: var(--gl-space-1) 0 0;
}

.gl-dfs-table-wrap--compact .gl-dfs-table {
	min-width: 32rem;
}

body.gl-dfs-drawer-open {
	overflow: hidden;
}

@media (max-width: 760px) {
	.gl-dfs-slate-form,
	.gl-dfs-filter-panel {
		align-items: stretch;
		display: grid;
	}

	.gl-dfs-controls,
	.gl-dfs-search-row {
		align-items: stretch;
	}

	.gl-dfs-table {
		min-width: 78rem;
	}

	.gl-dfs-lineup-player {
		align-items: stretch;
		grid-template-columns: 1fr;
	}

	.gl-dfs-drawer__panel {
		max-width: 100%;
		padding: var(--gl-space-5);
	}
}

@media (max-width: 760px) {
	.gl-workspace-section.gl-dfs-research {
		padding: var(--gl-space-3);
	}

	.gl-dfs-player-section,
	.gl-dfs-lineup,
	.gl-dfs-slate-form,
	.gl-dfs-filter-panel,
	.gl-dfs-column-manager {
		padding: var(--gl-space-3);
	}

	.gl-dfs-lineup__summary .gl-dfs-lineup__summary-group {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gl-dfs-lineup__summary div {
		padding: var(--gl-space-2) var(--gl-space-3);
	}

	.gl-dfs-lineup__summary span {
		font-size: 0.68rem;
		line-height: 1.15;
	}

	.gl-dfs-lineup__summary strong {
		font-size: var(--gl-font-size-md);
	}

	.gl-dfs-table-wrap {
		max-height: 34rem;
		overflow: auto;
	}

	.gl-dfs-table {
		background: transparent;
		display: block;
		min-width: 0;
	}

	.gl-dfs-table thead {
		display: none;
	}

	.gl-dfs-table tbody {
		display: grid;
		gap: var(--gl-space-3);
	}

	.gl-dfs-table tr {
		background: var(--gl-color-surface);
		border: 1px solid var(--gl-color-border);
		border-radius: var(--gl-radius-md);
		display: grid;
		gap: 0;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		overflow: hidden;
	}

	.gl-dfs-table th,
	.gl-dfs-table td {
		border-block-end: 1px solid var(--gl-color-border);
		display: grid;
		gap: 0.2rem;
		min-width: 0;
		padding: var(--gl-space-2) var(--gl-space-3);
		white-space: normal;
	}

	.gl-dfs-table td::before {
		color: var(--gl-color-text-muted);
		content: attr(data-label);
		font-size: 0.68rem;
		font-weight: var(--gl-font-weight-semibold);
		line-height: 1.15;
		text-transform: uppercase;
	}

	.gl-dfs-table td[data-column-key="player"] {
		color: var(--gl-color-text);
		font-size: var(--gl-font-size-md);
		font-weight: var(--gl-font-weight-semibold);
		grid-column: 1 / -1;
	}

	.gl-dfs-table td[data-column-key="position"],
	.gl-dfs-table td[data-column-key="team"],
	.gl-dfs-table td[data-column-key="opponent"],
	.gl-dfs-table td[data-column-key="salary"],
	.gl-dfs-table td[data-column-key="projected_fd_points"],
	.gl-dfs-table td[data-column-key="points_per_dollar"] {
		background: var(--gl-color-surface-muted);
	}

	.gl-dfs-table__actions {
		align-items: stretch;
		display: grid;
		gap: var(--gl-space-2);
		grid-column: 1 / -1;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gl-dfs-table__actions::before {
		display: none;
	}

	.gl-dfs-table__actions .gl-dfs-detail-button {
		justify-content: center;
		min-height: 2.5rem;
		text-align: center;
	}

	.gl-dfs-table tbody tr:hover {
		background: var(--gl-color-surface);
	}
}

@media (max-width: 760px) {
	.gl-dfs-research {
		gap: var(--gl-space-3);
	}

	.gl-workspace-section.gl-dfs-research,
	.gl-dfs-player-section,
	.gl-dfs-lineup {
		padding: var(--gl-space-2);
	}

	.gl-dfs-player-section,
	.gl-dfs-lineup {
		gap: var(--gl-space-3);
	}

	.gl-dfs-slate-form {
		gap: var(--gl-space-2);
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: var(--gl-space-2);
	}

	.gl-dfs-slate-form .gl-button {
		grid-column: 1 / -1;
	}

	.gl-dfs-filter-panel {
		gap: var(--gl-space-2);
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: var(--gl-space-2);
	}

	.gl-dfs-filter-panel__title,
	.gl-dfs-filter[data-filter-wide],
	.gl-dfs-filter-panel .gl-button,
	.gl-dfs-filter:has(input[type="search"]) {
		grid-column: 1 / -1;
	}

	.gl-dfs-filter span,
	.gl-dfs-slate-form label span {
		font-size: 0.66rem;
	}

	.gl-dfs-slate-form select,
	.gl-dfs-filter select,
	.gl-dfs-filter input {
		min-height: 2.65rem;
		min-width: 0;
		width: 100%;
	}

	.gl-dfs-lineup__summary .gl-dfs-lineup__summary-group {
		gap: var(--gl-space-1);
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gl-dfs-lineup__summary div {
		padding: 0.6rem 0.7rem;
	}

	.gl-dfs-lineup__summary span {
		font-size: 0.62rem;
	}

	.gl-dfs-lineup__summary strong {
		font-size: 0.98rem;
	}

	.gl-dfs-table-wrap {
		max-height: 36rem;
	}

	.gl-dfs-table tbody {
		gap: var(--gl-space-2);
	}

	.gl-dfs-table tr {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.gl-dfs-table td {
		padding: 0.55rem 0.7rem;
	}

	.gl-dfs-table td::before {
		font-size: 0.6rem;
	}

	.gl-dfs-table td[data-column-key="player"] {
		font-size: 1rem;
		grid-column: span 2;
		grid-row: 1;
	}

	.gl-dfs-table td[data-column-key="position"] {
		grid-column: 1;
		grid-row: 1;
	}

	.gl-dfs-table td:not([data-column-key="position"]):not([data-column-key="player"]):not([data-column-key="team"]):not([data-column-key="opponent"]):not([data-column-key="salary"]):not([data-column-key="projected_fd_points"]):not([data-column-key="points_per_dollar"]):not([data-column-key="actual_fd_points"]):not([data-column-key="projection_diff"]):not(.gl-dfs-table__actions) {
		display: none;
	}

	.gl-dfs-table__actions {
		grid-column: 1 / -1;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 0.45rem;
	}

	.gl-dfs-table__actions .gl-dfs-detail-button {
		min-height: 2.25rem;
		padding-block: 0.45rem;
	}
}

@media (max-width: 760px) {
	.gl-dfs-table tr {
		grid-template-columns: 3.2rem repeat(3, minmax(0, 1fr));
	}

	.gl-dfs-table td {
		align-content: center;
		gap: 0.1rem;
		min-height: 2.65rem;
		padding: 0.42rem 0.55rem;
	}

	.gl-dfs-table td::before {
		font-size: 0.56rem;
	}

	.gl-dfs-table td[data-column-key="position"] {
		font-size: var(--gl-font-size-md);
		font-weight: var(--gl-font-weight-semibold);
		grid-column: 1;
		grid-row: 1;
		text-align: center;
	}

	.gl-dfs-table td[data-column-key="position"]::before,
	.gl-dfs-table td[data-column-key="player"]::before {
		display: none;
	}

	.gl-dfs-table td[data-column-key="player"] {
		font-size: 0.96rem;
		grid-column: 2 / 5;
		grid-row: 1;
	}

	.gl-dfs-table td[data-column-key="team"] {
		grid-column: 1;
		grid-row: 2;
	}

	.gl-dfs-table td[data-column-key="opponent"] {
		grid-column: 2;
		grid-row: 2;
	}

	.gl-dfs-table td[data-column-key="salary"] {
		grid-column: 3;
		grid-row: 2;
	}

	.gl-dfs-table td[data-column-key="projected_fd_points"] {
		grid-column: 4;
		grid-row: 2;
	}

	.gl-dfs-table td[data-column-key="points_per_dollar"] {
		grid-column: 1;
		grid-row: 3;
	}

	.gl-dfs-table td[data-column-key="actual_fd_points"] {
		grid-column: 2;
		grid-row: 3;
	}

	.gl-dfs-table td[data-column-key="projection_diff"] {
		grid-column: 3;
		grid-row: 3;
	}

	.gl-dfs-table__actions {
		align-items: center;
		grid-column: 2 / 5;
		grid-row: 3;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 0.35rem 0.45rem;
	}

	.gl-dfs-table td[data-column-key="actual_fd_points"] + .gl-dfs-table__actions,
	.gl-dfs-table td[data-column-key="projection_diff"] + .gl-dfs-table__actions {
		grid-column: 1 / -1;
		grid-row: 4;
	}

	.gl-dfs-table__actions .gl-dfs-detail-button {
		font-size: 0.8rem;
		min-height: 2rem;
		padding: 0.35rem 0.45rem;
	}
}
