/* TSNE platform skin. Applied by resolved tenant identity, independent of route shape. */
body.tenant-tsne {
    --layout-bg: #f7f5f2;
    --layout-surface: #ffffff;
    --layout-surface-2: #eef2ff;
    --layout-text: #20202a;
    --layout-text-muted: #575461;
    --layout-border: #d8d2dc;
    --layout-red: #2563eb;
    --layout-red-soft: #7c3aed;
    --wesb-red: #2563eb;
    --wesb-orange: #7c3aed;
    --tsne-primary: var(--tenant-primary, #2563eb);
    --tsne-secondary: var(--tenant-secondary, #111827);
    --tsne-accent: var(--tenant-accent, #38bdf8);
    --tsne-ink: #172033;
    --tsne-muted: #526077;
    --tsne-line: #c8d7eb;
    --tsne-soft: #eef6ff;
    background: #f7f5f2;
    color: #20202a;
    font-family: var(--tenant-font-family, "Trebuchet MS", "Avenir Next", Arial, sans-serif);
}

body.tenant-tsne .site-header {
    background: rgba(255, 255, 255, .96);
    border-bottom: 2px solid var(--tsne-primary);
    box-shadow: 0 8px 24px rgba(39, 38, 49, .10);
}

body.tenant-tsne .site-header__brand,
body.tenant-tsne .site-nav a,
body.tenant-tsne .site-nav__text-button,
body.tenant-tsne .menu-toggle { color: #20202a; }

body.tenant-tsne .site-header__brand {
    font-family: "Century Gothic", "Avenir Next", "Trebuchet MS", Arial, sans-serif;
}

body.tenant-tsne .site-header__brand img {
    filter: drop-shadow(0 2px 5px rgba(111, 42, 140, .18));
}

body.tenant-tsne .menu-toggle,
body.tenant-tsne .site-nav__toggle {
    background: #eef2ff;
    border-color: #d8d2dc;
    color: #20202a;
}

body.tenant-tsne .menu-toggle__icon,
body.tenant-tsne .menu-toggle__icon::before,
body.tenant-tsne .menu-toggle__icon::after { background: var(--tsne-primary); }

body.tenant-tsne .site-nav__dropdown,
body.tenant-tsne .site-nav__dropdown-menu {
    background: #ffffff;
    border-color: #d8d2dc;
    color: #20202a;
}

body.tenant-tsne .site-nav a:hover,
body.tenant-tsne .site-nav a:focus,
body.tenant-tsne .site-nav__text-button:hover,
body.tenant-tsne .site-nav__text-button:focus {
    background: #f1edf5;
    color: var(--tsne-primary);
}

body.tenant-tsne .site-main {
    background: radial-gradient(circle at 8% 5%, rgba(19,123,189,.10), transparent 28rem),
                radial-gradient(circle at 94% 18%, rgba(124,58,237,.09), transparent 25rem), #f7f5f2;
}

body.tenant-tsne .tsne-utility-bar,
body.tenant-tsne .tsne-utility-bar__inner,
body.tenant-tsne .tsne-utility-bar__inner > span {
    color:#20202a !important;
}

body.tenant-tsne .tsne-utility-bar {
    background: #f7f5f2 !important;
}

body.tenant-tsne .tsne-utility-bar__inner > span {
    font-weight: 700;
    text-shadow: none !important;
}

/*
 * Public-home account CTA invariant. Keep this semantic selector more specific
 * than the shared dark-theme button rules because dark-theme-tsne.css is loaded
 * by the page after the layout stylesheets.
 */
body.tenant-tsne .tsne-utility-bar__inner .tsne-create-account-link {
    align-items: center !important;
    background: #7c3aed !important;
    border: 2px solid #7c3aed !important;
    color: #ffffff !important;
    display: inline-flex !important;
    justify-content: center !important;
    opacity: 1 !important;
    text-decoration: none !important;
    visibility: visible !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

body.tenant-tsne .tsne-utility-bar__inner .tsne-create-account-link:hover,
body.tenant-tsne .tsne-utility-bar__inner .tsne-create-account-link:focus {
    background: #5b21b6 !important;
    border-color: #5b21b6 !important;
    color: #ffffff !important;
}

body.tenant-tsne .hero { background:var(--tsne-secondary) !important; color:#fff !important; }
body.tenant-tsne .hero::before { background:linear-gradient(110deg,rgba(7,27,51,.98),var(--tsne-secondary)) !important; }
body.tenant-tsne .hero::after { opacity:.08 !important; }
body.tenant-tsne .hero h1,
body.tenant-tsne .hero p { color:#fff !important; text-shadow:0 2px 5px rgba(0,0,0,.7); }
body.tenant-tsne .hero img.logo {
    box-sizing:content-box;
    padding:18px 24px;
    border-radius:22px;
    background:rgba(255,255,255,.96);
    border:1px solid var(--tsne-accent);
    box-shadow:0 16px 34px rgba(0,0,0,.38);
    filter:none;
}
body.tenant-tsne .home-actions-card,
body.tenant-tsne .home-actions-card h2,
body.tenant-tsne .home-actions-card p,
body.tenant-tsne .ls-action-tile,
body.tenant-tsne .ls-action-tile strong,
body.tenant-tsne .ls-action-tile span { color:#20202a !important; }

body.tenant-tsne .site-footer {
    background: #ffffff;
    border-top: 2px solid var(--tsne-primary);
    color: #3d3b46;
}

body.tenant-tsne .site-footer a,
body.tenant-tsne .site-footer__button-link { color: var(--tsne-primary); }

body.tenant-tsne .pwa-install-banner {
    background: #ffffff;
    border-top-color: var(--tsne-primary);
    color: #20202a;
    box-shadow: 0 -8px 24px rgba(39, 38, 49, .14);
}

body.tenant-tsne .pwa-install-close { color: #575461; }
body.tenant-tsne .pwa-install-btn { background: var(--tsne-primary); }
body.tenant-tsne .pwa-install-btn:hover,
body.tenant-tsne .pwa-install-btn:focus { background: var(--tsne-secondary); }

/* League and commissioner pages share the same behavior, with a light TSNE presentation. */
body.tenant-tsne .ls-worldshell,
body.tenant-tsne .ls-hero,
body.tenant-tsne .ls-section-card,
body.tenant-tsne .ls-card,
body.tenant-tsne .ls-panel,
body.tenant-tsne .ls-table-wrap {
    background: #ffffff;
    color: #20202a;
    border-color: #d8d2dc;
    box-shadow: 0 10px 28px rgba(39, 38, 49, .08);
}

body.tenant-tsne .ls-kicker,
body.tenant-tsne .ls-prefill,
body.tenant-tsne .ls-copy,
body.tenant-tsne .ls-worldshell p,
body.tenant-tsne .ls-worldshell label,
body.tenant-tsne .ls-worldshell th,
body.tenant-tsne .ls-worldshell td { color: #3d3b46 !important; }

body.tenant-tsne .ls-worldshell table thead,
body.tenant-tsne .ls-worldshell table thead tr,
body.tenant-tsne .ls-worldshell table th {
    background: #d7e6f8 !important;
    color: #0b2447 !important;
    border-bottom-color: #8fb3dc !important;
}

body.tenant-tsne .ls-worldshell table tbody,
body.tenant-tsne .ls-worldshell table tbody tr,
body.tenant-tsne .ls-worldshell table td {
    background: #ffffff;
    color: #20202a !important;
}

body.tenant-tsne .home-leagues-strip,
body.tenant-tsne .home-leagues-card,
body.tenant-tsne .home-league-selected {
    background: #ffffff !important;
    color: #20202a !important;
    border-color: #d8d2dc !important;
}

body.tenant-tsne .home-leagues-card h2,
body.tenant-tsne .home-leagues-card h3,
body.tenant-tsne .home-leagues-card p,
body.tenant-tsne .home-league-selected a,
body.tenant-tsne .home-league-selected strong {
    color: #20202a !important;
}

body.tenant-tsne .home-leagues-card__select {
    background: #ffffff !important;
    color: #20202a !important;
    border-color: #bcb5c3 !important;
}

/* Override legacy inline/component colors on the light tenant surface. */
body.tenant-tsne .ls-worldshell .ls-copy,
body.tenant-tsne .ls-worldshell .ls-prefill,
body.tenant-tsne .ls-worldshell .ls-section-header p,
body.tenant-tsne .ls-worldshell .field-label,
body.tenant-tsne .ls-worldshell .text-sm,
body.tenant-tsne .ls-worldshell [style*="color: var(--layout-text-dim)"] {
    color: #3d3b46 !important;
}

body.tenant-tsne .ls-kicker { color: var(--tsne-primary) !important; }

body.tenant-tsne .ls-worldshell h1,
body.tenant-tsne .ls-worldshell h2,
body.tenant-tsne .ls-worldshell h3,
body.tenant-tsne .ls-worldshell strong { color: #20202a; }

body.tenant-tsne .ls-details-value,
body.tenant-tsne .ls-details-value a,
body.tenant-tsne .league-invite-member-email {
    color: #20202a !important;
}

body.tenant-tsne .ls-worldshell input,
body.tenant-tsne .ls-worldshell select,
body.tenant-tsne .ls-worldshell textarea {
    background: #ffffff;
    color: #20202a;
    border-color: #bcb5c3;
}

body.tenant-tsne .ls-primary-button,
body.tenant-tsne .ls-primary-action,
body.tenant-tsne .ls-utility-page button[type="submit"],
body.tenant-tsne .ls-journey-number {
    background: var(--tsne-primary) !important;
    border-color: var(--tsne-primary) !important;
    color: #ffffff !important;
}

body.tenant-tsne .ls-primary-button:hover,
body.tenant-tsne .ls-primary-button:focus,
body.tenant-tsne .ls-primary-action:hover,
body.tenant-tsne .ls-primary-action:focus {
    background: var(--tsne-secondary) !important;
    border-color: var(--tsne-secondary) !important;
    color: #ffffff !important;
}

body.tenant-tsne .ls-journey-step,
body.tenant-tsne .ls-feature-card,
body.tenant-tsne .ls-action-tile,
body.tenant-tsne .ls-utility-page fieldset,
body.tenant-tsne .ls-utility-page .card,
body.tenant-tsne .ls-utility-page .stat-card,
body.tenant-tsne .ls-worldshell .my-bordered-div,
body.tenant-tsne .ls-details-item,
body.tenant-tsne .ls-empty-state,
body.tenant-tsne .ls-toggle-card {
    background: #ffffff !important;
    border-color: var(--tsne-line) !important;
    color: var(--tsne-ink) !important;
    box-shadow: 0 8px 22px rgba(30, 64, 175, .07);
}

body.tenant-tsne .ls-utility-page .bg-gray-100,
body.tenant-tsne .ls-settings-page .section-divider__text {
    background: var(--tsne-soft) !important;
    color: var(--tsne-ink) !important;
}

body.tenant-tsne .ls-worldshell input:focus,
body.tenant-tsne .ls-worldshell select:focus,
body.tenant-tsne .ls-worldshell textarea:focus {
    border-color: var(--tsne-primary) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .16) !important;
}

body.tenant-tsne .ls-secondary-link {
    background: #eef2ff;
    color: #20202a;
    border-color: #d8d2dc;
}

body.tenant-tsne .ls-secondary-link:hover,
body.tenant-tsne .ls-secondary-link:focus {
    background: var(--tsne-soft);
    color: var(--tsne-primary);
    border-color: var(--tsne-primary);
}

body.tenant-tsne .help-tour__panel {
    background: #ffffff;
    color: #20202a;
    border-color: #2563eb;
    box-shadow: 0 28px 70px rgba(39, 38, 49, .26);
}

body.tenant-tsne .help-tour__title,
body.tenant-tsne .help-tour__step h3 { color: #20202a; }
body.tenant-tsne .help-tour__intro,
body.tenant-tsne .help-tour__step p { color: #575461; }
body.tenant-tsne .help-tour__eyebrow { color: var(--tsne-primary); }
body.tenant-tsne .help-tour__step {
    background: #f7f5f2;
    border-color: #d8d2dc;
}
body.tenant-tsne .help-tour__action--secondary,
body.tenant-tsne .help-tour__step-link,
body.tenant-tsne .help-tour__close {
    background: #eef2ff;
    border-color: #d8d2dc;
    color: #20202a;
}

body.tenant-tsne .weo-location-pill,
body.tenant-tsne .weo-location-pill strong {
    color: #4c1d95;
}

body.tenant-tsne .weo-location-pill {
    background: #eef6ff;
    border-color: #38bdf8;
}

body.tenant-tsne .ls-user-header {
    background: linear-gradient(120deg, #071b33 0%, var(--tsne-secondary) 55%, #123f78 100%) !important;
    border-color: var(--tsne-accent) !important;
    box-shadow: 0 16px 36px rgba(7, 27, 51, .22);
}

/*
 * Tenant-aware member navigation. The legacy component stylesheet carries the
 * World's End red/brown/gold palette, so every visual state is reset here for
 * TSNE and future non-World's-End tenants. Brand colors come from the resolved
 * bar/location record through _TenantBrandStyles.cshtml.
 */
body.tenant-tsne .ls-user-header,
body.tenant-tsne .ls-user-header a,
body.tenant-tsne .ls-user-header button,
body.tenant-tsne .ls-user-header strong,
body.tenant-tsne .ls-header-welcome,
body.tenant-tsne .ls-header-title {
    color: #ffffff !important;
}

body.tenant-tsne .ls-header-subtitle {
    color: #a5f3fc !important;
}

body.tenant-tsne .ls-nav-dropdown-label {
    background: var(--tsne-secondary) !important;
    border-left: 4px solid var(--tsne-accent) !important;
    color: #ffffff !important;
}

body.tenant-tsne .ls-header-cta,
body.tenant-tsne .ls-header-tour,
body.tenant-tsne .ls-nav-dropdown-toggle {
    background: rgba(255, 255, 255, .08) !important;
    border-color: rgba(125, 211, 252, .62) !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

body.tenant-tsne .ls-header-cta,
body.tenant-tsne .ls-header-nav .ls-header-cta {
    background: var(--tsne-primary) !important;
    border-color: var(--tsne-primary) !important;
}

body.tenant-tsne .ls-header-cta:hover,
body.tenant-tsne .ls-header-cta:focus,
body.tenant-tsne .ls-header-tour:hover,
body.tenant-tsne .ls-header-tour:focus,
body.tenant-tsne .ls-nav-dropdown-toggle:hover,
body.tenant-tsne .ls-nav-dropdown-toggle:focus,
body.tenant-tsne .ls-nav-dropdown.is-expanded .ls-nav-dropdown-toggle {
    background: var(--tsne-primary) !important;
    border-color: #7dd3fc !important;
    color: #ffffff !important;
}

body.tenant-tsne .ls-nav-dropdown-menu {
    background: #ffffff !important;
    border-color: var(--tsne-line) !important;
    box-shadow: 0 18px 40px rgba(15, 42, 78, .20) !important;
}

body.tenant-tsne .ls-nav-dropdown-menu a,
body.tenant-tsne .ls-nav-dropdown-menu .ls-nav-disabled {
    background: #ffffff !important;
    border-color: #e3edf8 !important;
    color: var(--tsne-ink) !important;
}

body.tenant-tsne .ls-nav-dropdown-menu a:hover,
body.tenant-tsne .ls-nav-dropdown-menu a:focus {
    background: var(--tsne-soft) !important;
    color: var(--tsne-primary) !important;
}

body.tenant-tsne .ls-nav-dropdown-menu .ls-nav-disabled small {
    color: var(--tsne-muted) !important;
}

/* Keep data-heavy league pages readable and branded instead of spreadsheet-like. */
body.tenant-tsne .ls-section-card table {
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    background: transparent !important;
}

body.tenant-tsne .ls-section-card table thead th {
    background: var(--tsne-secondary) !important;
    color: #ffffff !important;
    border-color: color-mix(in srgb, var(--tsne-accent) 45%, transparent) !important;
}

body.tenant-tsne .ls-section-card table tbody tr {
    background: #ffffff;
    box-shadow: 0 5px 16px rgba(15, 42, 78, .08);
}

body.tenant-tsne .ls-section-card table tbody tr:nth-child(even) {
    background: #f5f9ff;
    background: color-mix(in srgb, var(--tsne-primary) 5%, #ffffff);
}

body.tenant-tsne .ls-section-card table tbody td {
    color: var(--tsne-ink) !important;
    border-top: 1px solid var(--tsne-line) !important;
    border-bottom: 1px solid var(--tsne-line) !important;
    border-left: 0 !important;
    border-right: 0 !important;
}

body.tenant-tsne .ls-section-card table tbody td:first-child {
    border-left: 4px solid var(--tsne-primary) !important;
    border-radius: 12px 0 0 12px;
}

body.tenant-tsne .ls-section-card table tbody td:last-child {
    border-right: 1px solid var(--tsne-line) !important;
    border-radius: 0 12px 12px 0;
}

body.tenant-tsne .tsne-alert-nav-badge,
body.tenant-tsne .ls-nav-dropdown-toggle .tsne-alert-nav-badge {
    background: #f97316 !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
}

body.tenant-tsne .tsne-chat-quick-access {
    background: linear-gradient(135deg, var(--tsne-primary), var(--tsne-secondary)) !important;
    border-color: #ffffff !important;
    color: #ffffff !important;
}

body.tenant-worlds-end .tsne-chat-quick-access {
    background: linear-gradient(135deg, #7e1423, #24191a) !important;
    border-color: #d7b46a !important;
    color: #ffffff !important;
}

/*
 * Member workspace: deliberately distinct from the World's End pub palette.
 * These rules override the legacy shared league stylesheet without changing
 * any tenant resolved as World's End.
 */
body.tenant-tsne .tsne-my-leagues-page > .ls-hero {
    background: linear-gradient(125deg, #071b33 0%, var(--tsne-secondary) 52%, var(--tsne-primary) 100%) !important;
    border: 1px solid var(--tsne-accent) !important;
    box-shadow: 0 18px 42px rgba(15, 55, 105, .22) !important;
}

body.tenant-tsne .tsne-my-leagues-page > .ls-hero h1,
body.tenant-tsne .tsne-my-leagues-page > .ls-hero p,
body.tenant-tsne .tsne-my-leagues-page > .ls-hero strong,
body.tenant-tsne .tsne-my-leagues-page > .ls-hero .ls-kicker {
    color: #ffffff !important;
}

body.tenant-tsne .tsne-my-leagues-page > .ls-hero .ls-secondary-link {
    background: #ffffff !important;
    border-color: var(--tsne-accent) !important;
    color: var(--tsne-secondary) !important;
}

body.tenant-tsne .tsne-my-leagues-page .ls-section-card {
    border-top: 4px solid var(--tsne-primary) !important;
}

body.tenant-tsne .tsne-my-leagues-page .ls-feature-card,
body.tenant-tsne .tsne-my-leagues-page .ls-action-tile {
    background: linear-gradient(145deg, #ffffff, #f3f8ff) !important;
    border-color: var(--tsne-line) !important;
    box-shadow: 0 8px 22px rgba(30, 64, 175, .08) !important;
}

body.tenant-tsne .tsne-my-leagues-page .ls-action-tile {
    border-top: 3px solid var(--tsne-accent) !important;
}

body.tenant-tsne .tsne-my-leagues-page .ls-pill,
body.tenant-tsne .tsne-my-leagues-page .ls-primary-button {
    background: var(--tsne-primary) !important;
    border-color: var(--tsne-primary) !important;
    color: #ffffff !important;
}

body.tenant-tsne .gm-platform-page .gm-hero {
    background: linear-gradient(120deg, #071b33 0%, var(--tsne-secondary) 52%, var(--tsne-primary) 100%) !important;
    border: 1px solid var(--tsne-accent) !important;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 18px 42px rgba(15, 55, 105, .22);
}

body.tenant-tsne .gm-platform-page .gm-hero h1,
body.tenant-tsne .gm-platform-page .gm-hero p,
body.tenant-tsne .gm-platform-page .gm-hero .gm-kicker {
    color: #ffffff !important;
}

body.tenant-tsne .gm-platform-page .gm-scorebar {
    background: linear-gradient(115deg, #071b33, #102f59) !important;
    border-color: var(--tsne-accent) !important;
    color: #ffffff !important;
}

body.tenant-tsne .gm-platform-page .gm-scorebar__middle {
    color: var(--tsne-accent) !important;
}

body.tenant-tsne .gm-platform-page .gm-card,
body.tenant-tsne .gm-platform-page .parlay-game {
    border-color: var(--tsne-line) !important;
    box-shadow: 0 8px 22px rgba(30, 64, 175, .08) !important;
}

body.tenant-tsne .gm-platform-page .gm-button {
    background: var(--tsne-primary) !important;
    color: #ffffff !important;
}

body.tenant-tsne .gm-platform-page .gm-button--dark {
    background: var(--tsne-secondary) !important;
}

body.tenant-tsne .gm-platform-page .gm-button--light {
    background: #ffffff !important;
    color: var(--tsne-secondary) !important;
}

body.tenant-tsne .gm-platform-page .gm-count {
    background: var(--tsne-primary) !important;
}

body.tenant-tsne .gm-platform-page .gm-ok {
    background: #15803d !important;
}

body.tenant-tsne .gm-platform-page .parlay-choice:has(input:checked) {
    background: #eef8ff !important;
    border-color: var(--tsne-primary) !important;
}

body.tenant-tsne .gm-platform-page .parlay-spread,
body.tenant-tsne .gm-platform-page .gm-kicker {
    color: var(--tsne-primary) !important;
}

/* Matchups use the TSNE broadcast-blue treatment, never the pub palette. */
body.tenant-tsne .tsne-matchups-page > .ls-hero {
    background: linear-gradient(122deg, #071b33 0%, #123f78 58%, var(--tsne-primary) 100%) !important;
    border: 1px solid var(--tsne-accent) !important;
    box-shadow: 0 18px 42px rgba(7, 27, 51, .22) !important;
}

body.tenant-tsne .tsne-matchups-page > .ls-hero h1,
body.tenant-tsne .tsne-matchups-page > .ls-hero p,
body.tenant-tsne .tsne-matchups-page > .ls-hero .ls-kicker {
    color: #ffffff !important;
}

body.tenant-tsne .tsne-matchups-page > .ls-hero .ls-secondary-link {
    background: #ffffff !important;
    border-color: #7dd3fc !important;
    color: #071b33 !important;
}

body.tenant-tsne .tsne-matchups-page .ls-section-card {
    border-top: 4px solid var(--tsne-primary) !important;
}

body.tenant-tsne .tsne-matchups-page .matchup-card {
    background: linear-gradient(145deg, #ffffff, #eef6ff) !important;
    border: 1px solid var(--tsne-line) !important;
    border-top: 4px solid #60a5fa !important;
    box-shadow: 0 10px 24px rgba(30, 64, 175, .10) !important;
}

body.tenant-tsne .tsne-matchups-page .matchup-card--mine {
    border-color: var(--tsne-primary) !important;
    border-top-color: var(--tsne-accent) !important;
    box-shadow: 0 12px 28px rgba(37, 99, 235, .18) !important;
}

body.tenant-tsne .tsne-matchups-page .matchup-team-name.is-leader,
body.tenant-tsne .tsne-matchups-page .matchup-score.is-leader {
    color: #15803d !important;
}

body.tenant-tsne .tsne-player-pool-page > .ls-hero {
    background: linear-gradient(122deg, #071b33 0%, #123f78 58%, var(--tsne-primary) 100%) !important;
    border: 1px solid var(--tsne-accent) !important;
    box-shadow: 0 18px 42px rgba(7, 27, 51, .22) !important;
}

body.tenant-tsne .tsne-player-pool-page > .ls-hero h1,
body.tenant-tsne .tsne-player-pool-page > .ls-hero p,
body.tenant-tsne .tsne-player-pool-page > .ls-hero .ls-kicker {
    color: #ffffff !important;
}

body.tenant-tsne .tsne-player-pool-page > .ls-hero .ls-secondary-link {
    background: #ffffff !important;
    border-color: #7dd3fc !important;
    color: #071b33 !important;
}

body.tenant-tsne .tsne-player-pool-page .ls-section-card {
    border-top: 4px solid var(--tsne-primary) !important;
}

body.tenant-tsne .tsne-player-pool-page .player-scope-tab.is-active,
body.tenant-tsne .tsne-player-pool-page .available-player-filter.is-active {
    background: var(--tsne-primary) !important;
    border-color: var(--tsne-primary) !important;
    color: #ffffff !important;
}

body.tenant-tsne .tsne-player-pool-page #availablePlayersTable thead,
body.tenant-tsne .tsne-player-pool-page #availablePlayersTable thead tr {
    background: linear-gradient(110deg, #c7ddf7, #dceafb) !important;
}

body.tenant-tsne .tsne-player-pool-page #availablePlayersTable thead th,
body.tenant-tsne .tsne-player-pool-page #availablePlayersTable thead a {
    color: #123f78 !important;
}

body.tenant-tsne .tsne-player-pool-page #availablePlayersTable tbody tr.available-player-row,
body.tenant-tsne .tsne-player-pool-page #availablePlayersTable tbody tr.available-player-row:nth-child(even) {
    color: var(--tsne-ink) !important;
}

body.tenant-tsne .tsne-player-pool-page #availablePlayersTable tbody tr.available-player-row:nth-child(even) {
    background: #f6faff !important;
}

/* Black & Tan is partner content inside TSNE, not a World's End tenant skin. */
body.tenant-tsne .tsne-black-tan-recap-page .ls-hero {
    background: linear-gradient(120deg, #071a33, #123f73 58%, #2563eb) !important;
    border-color: #60a5fa !important;
    box-shadow: 0 18px 42px rgba(18, 63, 115, .16) !important;
}

body.tenant-tsne .tsne-black-tan-recap-page .ls-hero h1,
body.tenant-tsne .tsne-black-tan-recap-page .ls-hero p,
body.tenant-tsne .tsne-black-tan-recap-page .ls-hero .ls-kicker,
body.tenant-tsne .tsne-black-tan-recap-page .ls-hero .ls-prefill {
    color: #ffffff !important;
}

body.tenant-tsne .tsne-black-tan-recap-page .ls-section-card {
    background: #ffffff !important;
    border: 1px solid #bfd4ee !important;
    box-shadow: 0 12px 30px rgba(18, 63, 115, .09) !important;
}

body.tenant-tsne .tsne-black-tan-recap-page .ls-section-card h2,
body.tenant-tsne .tsne-black-tan-recap-page .ls-section-card p,
body.tenant-tsne .tsne-black-tan-recap-page .ls-section-card label,
body.tenant-tsne .tsne-black-tan-recap-page .black-tan-recap-content {
    color: #172033 !important;
}

/* League Chat: compact, conversation-first TSNE workspace. */
body.tenant-tsne .tsne-league-chat-page {
    max-width: 1180px;
}

body.tenant-tsne .tsne-league-chat-page .ls-hero {
    background: linear-gradient(120deg, #0b2447, #123f73 62%, #2563eb) !important;
    border-color: #60a5fa !important;
    box-shadow: 0 18px 42px rgba(11, 36, 71, .18) !important;
}

body.tenant-tsne .tsne-league-chat-page .ls-hero h1,
body.tenant-tsne .tsne-league-chat-page .ls-hero p,
body.tenant-tsne .tsne-league-chat-page .ls-hero .ls-kicker {
    color: #ffffff !important;
}

body.tenant-tsne .tsne-league-chat-page .league-chat-stream,
body.tenant-tsne .tsne-league-chat-page .league-chat-composer {
    background: #f8fbff !important;
    border: 1px solid #bfd4ee !important;
    box-shadow: 0 12px 28px rgba(25, 70, 120, .10) !important;
}

body.tenant-tsne .tsne-league-chat-page .league-chat-message-card {
    background: #ffffff !important;
    border: 1px solid #cad9ea !important;
    border-left: 4px solid #38bdf8 !important;
    box-shadow: 0 5px 16px rgba(25, 70, 120, .07) !important;
}

body.tenant-tsne .tsne-league-chat-page .league-chat-message-card strong,
body.tenant-tsne .tsne-league-chat-page .league-chat-message-body,
body.tenant-tsne .tsne-league-chat-page .league-chat-message-time {
    color: #172033 !important;
}

body.tenant-tsne .tsne-league-chat-page .league-chat-composer textarea,
body.tenant-tsne .tsne-league-chat-page .league-chat-gif-panel input {
    background: #ffffff !important;
    border: 1px solid #93b5db !important;
    color: #172033 !important;
}

body.tenant-tsne .tsne-league-chat-page .league-chat-gif-panel {
    border-top-color: #bfd4ee;
}

body.tenant-tsne .tsne-league-chat-page .league-chat-gif-option {
    background: #eaf4ff;
    border-color: #a8c7ea;
}

body.tenant-tsne .tsne-league-chat-page .league-chat-gif-option.is-selected {
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, .22);
}

@media (max-width: 720px) {
    body.tenant-tsne .tsne-league-chat-page .ls-utility-hero {
        padding: 18px !important;
    }

    body.tenant-tsne .tsne-league-chat-page .league-chat-gif-search-row {
        align-items: stretch;
        flex-direction: column;
    }
}

/* World's End tenant skin, including the branded demo host. */
body.tenant-worlds-end {
    --demo-ink: #211b18;
    --demo-muted: #625851;
    --demo-paper: #fffdf8;
    --demo-warm: #f3eadc;
    --demo-gold: #d89b2b;
    --demo-red: #9f1d2e;
    background: linear-gradient(135deg, #f8f1e7 0%, #fffdf8 52%, #eee2d2 100%);
    color: var(--demo-ink);
}

body.tenant-worlds-end .ls-user-header,
body.tenant-worlds-end .site-header,
body.tenant-worlds-end .site-nav__dropdown {
    background: linear-gradient(120deg, #171311, #2b211c 62%, #3a281f) !important;
    color: #fffaf1 !important;
    border-color: var(--demo-gold) !important;
    box-shadow: 0 12px 30px rgba(35, 25, 19, .24);
}

body.tenant-worlds-end .ls-user-header a,
body.tenant-worlds-end .ls-user-header button,
body.tenant-worlds-end .ls-user-header strong,
body.tenant-worlds-end .site-header a,
body.tenant-worlds-end .site-header button,
body.tenant-worlds-end .site-nav__dropdown a {
    color: #fffaf1 !important;
}

body.tenant-worlds-end .ls-header-cta,
body.tenant-worlds-end .ls-nav-dropdown-toggle,
body.tenant-worlds-end .site-nav__toggle,
body.tenant-worlds-end .site-nav__text-button {
    background: #2b211c !important;
    color: #fffaf1 !important;
    border-color: #a9782b !important;
}

body.tenant-worlds-end .ls-header-cta:hover,
body.tenant-worlds-end .ls-header-cta:focus,
body.tenant-worlds-end .ls-nav-dropdown-toggle:hover,
body.tenant-worlds-end .ls-nav-dropdown-toggle:focus,
body.tenant-worlds-end .site-nav a:hover,
body.tenant-worlds-end .site-nav a:focus {
    background: var(--demo-red) !important;
    color: #ffffff !important;
}

body.tenant-worlds-end .ls-worldshell,
body.tenant-worlds-end .ls-hero,
body.tenant-worlds-end .ls-section-card,
body.tenant-worlds-end .ls-card,
body.tenant-worlds-end .ls-panel,
body.tenant-worlds-end .ls-table-wrap,
body.tenant-worlds-end .home-leagues-strip,
body.tenant-worlds-end .home-leagues-card,
body.tenant-worlds-end .home-league-selected {
    background: var(--demo-paper) !important;
    color: var(--demo-ink) !important;
    border-color: #d8c5ad !important;
    box-shadow: 0 12px 30px rgba(55, 39, 29, .10);
}

body.tenant-worlds-end .ls-worldshell h1,
body.tenant-worlds-end .ls-worldshell h2,
body.tenant-worlds-end .ls-worldshell h3,
body.tenant-worlds-end .ls-worldshell h4,
body.tenant-worlds-end .ls-worldshell p,
body.tenant-worlds-end .ls-worldshell label,
body.tenant-worlds-end .ls-worldshell strong,
body.tenant-worlds-end .ls-worldshell td,
body.tenant-worlds-end .ls-worldshell .ls-copy,
body.tenant-worlds-end .ls-worldshell .ls-prefill,
body.tenant-worlds-end .ls-worldshell .field-label,
body.tenant-worlds-end .home-leagues-card h2,
body.tenant-worlds-end .home-leagues-card h3,
body.tenant-worlds-end .home-leagues-card p,
body.tenant-worlds-end .home-league-selected a,
body.tenant-worlds-end .home-league-selected strong {
    color: var(--demo-ink) !important;
}

body.tenant-worlds-end .ls-worldshell .text-muted,
body.tenant-worlds-end .ls-worldshell .text-sm,
body.tenant-worlds-end .ls-worldshell small,
body.tenant-worlds-end .ls-worldshell [style*="color: var(--layout-text-dim)"] {
    color: var(--demo-muted) !important;
}

body.tenant-worlds-end .ls-worldshell table thead,
body.tenant-worlds-end .ls-worldshell table thead tr,
body.tenant-worlds-end .ls-worldshell table th {
    background: #eadcc9 !important;
    color: #1d1714 !important;
    border-color: #c8ad89 !important;
}

body.tenant-worlds-end .ls-worldshell table tbody,
body.tenant-worlds-end .ls-worldshell table tbody tr,
body.tenant-worlds-end .ls-worldshell table td {
    background: #fffdf8;
    color: var(--demo-ink) !important;
}

body.tenant-worlds-end .ls-worldshell input,
body.tenant-worlds-end .ls-worldshell select,
body.tenant-worlds-end .ls-worldshell textarea,
body.tenant-worlds-end .home-leagues-card__select {
    background: #ffffff !important;
    color: #1d1714 !important;
    border-color: #9e856a !important;
}

body.tenant-worlds-end .ls-worldshell input::placeholder,
body.tenant-worlds-end .ls-worldshell textarea::placeholder {
    color: #6f645c !important;
    opacity: 1;
}

body.tenant-worlds-end .ls-primary-action,
body.tenant-worlds-end .btn-primary,
body.tenant-worlds-end button[type="submit"] {
    background: var(--demo-red) !important;
    color: #ffffff !important;
    border-color: #7e1423 !important;
}

body.tenant-worlds-end .ls-secondary-link,
body.tenant-worlds-end .btn-secondary {
    background: var(--demo-warm) !important;
    color: var(--demo-ink) !important;
    border-color: #c8ad89 !important;
}

body.tenant-worlds-end .ls-kicker,
body.tenant-worlds-end .weo-location-pill,
body.tenant-worlds-end .weo-location-pill strong {
    color: #75470a !important;
}

/* The two navigation rows need their compact layouts before labels collide. */
@media (max-width: 1350px) {
    body.tenant-tsne .ls-user-header {
        align-items: flex-start;
        flex-direction: column;
        margin: 10px 12px 0;
        padding: 14px;
    }

    body.tenant-tsne .ls-header-nav {
        width: 100%;
        gap: 10px;
    }

    body.tenant-tsne .ls-header-nav > a,
    body.tenant-tsne .ls-header-tour,
    body.tenant-tsne .ls-nav-dropdown,
    body.tenant-tsne .ls-nav-dropdown-toggle {
        flex: 1 1 140px;
    }

    body.tenant-tsne .menu-toggle { display: inline-flex; }

    body.tenant-tsne .site-nav {
        position: fixed;
        top: var(--nav-height);
        left: 0;
        right: 0;
        flex-direction: column;
        align-items: stretch;
        padding: 16px;
        gap: 4px;
        background: rgba(255, 255, 255, .99);
        border-bottom: 1px solid #d8d2dc;
        transform: translateY(-120%);
        opacity: 0;
        pointer-events: none;
    }

    body.tenant-tsne .site-nav.is-open {
        transform: translateY(0);
        opacity: 1;
        pointer-events: auto;
    }

    body.tenant-tsne .site-nav__group { width: 100%; display: block; }
    body.tenant-tsne .site-nav__toggle,
    body.tenant-tsne .site-nav a,
    body.tenant-tsne .site-nav__text-button {
        width: 100%;
        padding: 14px 18px;
        text-align: left;
        white-space: normal;
    }

    body.tenant-tsne .site-nav__dropdown {
        position: static;
        min-width: 0;
        margin-top: 6px;
        padding: 8px;
        background: #f7f5f2;
        box-shadow: none;
        opacity: 1;
        pointer-events: auto;
        transform: none;
        display: none;
    }

    body.tenant-tsne .site-nav__group.is-expanded .site-nav__dropdown { display: flex; }
    body.tenant-tsne .site-header__brand span { display: none; }
}
