:root {
  --ti-navy: #1d3557;
  --ti-navy-2: #223b5d;
  --ti-navy-3: #1d3557;
  --ti-blue: #457b9d;
  --ti-blue-soft: #a8dadc;
  --ti-red: #e63946;
  --ti-red-ink: #8f1728;
  --ti-paper: #edf2f4;
  --ti-ink: #1d3557;
  --ti-muted: #687d8d;
  --ti-line: #d2dee4;
}

.ti-body { margin: 0; background: var(--coach-soft, var(--ti-paper)); color: var(--ti-ink); }
.ti-body::before {
  display: none;
}
.ti-app { min-height: 100vh; display: grid; grid-template-columns: 330px 1fr; position: relative; }
.ti-sidebar {
  min-height: 100vh; box-sizing: border-box; padding: 28px 24px 22px;
  background: linear-gradient(170deg, var(--ti-navy) 0%, var(--ti-navy-2) 65%, #1b405d 100%);
  color: #fff; display: flex; flex-direction: column; position: sticky; top: 0;
  height: 100vh; overflow-x: hidden; overflow-y: auto;
}
.ti-sidebar::after {
  content: ""; position: absolute; width: 160px; height: 160px; right: -80px; top: 170px;
  border: 1px solid rgba(98, 182, 232, 0.22); border-radius: 50%; pointer-events: none;
}
.ti-brand { color: #fff; display: flex; align-items: center; gap: 10px; text-decoration: none; font: 600 0.82rem/1 var(--font-head); letter-spacing: 0.08em; }
.ti-brand:hover { color: #fff; text-decoration: none; }
.ti-brand b { color: var(--ti-blue); }
.ti-mark { display: grid; place-items: center; width: 34px; height: 34px; border: 2px solid var(--ti-blue); border-radius: 50%; color: var(--ti-blue); font-size: 0.82rem; }
.ti-product { margin: 48px 0 30px; position: relative; z-index: 1; }
.ti-product > span, .ti-kicker { color: var(--ti-red); text-transform: uppercase; letter-spacing: 0.15em; font: 600 0.72rem/1 var(--font-head); }
.ti-product h1 { color: #fff; margin: 10px 0 12px; font: 700 2.45rem/0.94 var(--font-head); text-transform: uppercase; letter-spacing: -0.02em; }
.ti-product p { color: var(--ti-blue-soft); font-size: 0.82rem; line-height: 1.55; margin: 0; max-width: 240px; }
.ti-create { padding: 16px; border: 1px solid rgba(185, 227, 247, 0.22); background: rgba(4, 18, 30, 0.38); border-radius: 12px; }
.ti-create label { display: block; color: #fff; font-size: 0.78rem; font-weight: 600; margin-bottom: 8px; }
.ti-create input { width: 100%; box-sizing: border-box; padding: 10px 11px; border: 1px solid #42627a; border-radius: 7px; color: #fff; background: #091b2a; font: 0.78rem var(--font-body); }
.ti-create input::placeholder { color: #7893a7; }
.ti-create .ti-acquisition-choice { display: flex; align-items: center; gap: 8px; margin: 11px 0 0; color: var(--ti-blue-soft); font-size: 0.7rem; font-weight: 500; cursor: pointer; }
.ti-create .ti-acquisition-choice input { width: 15px; height: 15px; margin: 0; accent-color: var(--ti-blue); }
.ti-create #ti-workspace-name { margin-top: 9px; }
.ti-primary, .ti-secondary { border: 0; border-radius: 7px; font: 600 0.78rem var(--font-body); cursor: pointer; }
.ti-primary { width: 100%; padding: 10px; margin-top: 9px; color: #061826; background: var(--ti-blue); }
.ti-primary:disabled, .ti-secondary:disabled { opacity: 0.55; cursor: wait; }
.ti-form-status { color: var(--ti-blue-soft); min-height: 1em; margin: 7px 0 0; font-size: 0.7rem; }
.ti-list-heading { display: flex; justify-content: space-between; margin: 28px 2px 10px; color: #8ea7b8; text-transform: uppercase; letter-spacing: 0.11em; font: 600 0.66rem var(--font-head); }
.ti-list-heading span:last-child { color: var(--ti-blue); }
.ti-event-list { display: grid; gap: 7px; }
.ti-library-button { width: 100%; padding: 14px 13px; border: 1px solid rgba(185,227,247,.24); border-radius: 10px; color: #fff; background: rgba(98,182,232,.1); text-align: left; cursor: pointer; }
.ti-library-button:hover { border-color: rgba(185,227,247,.48); background: rgba(98,182,232,.17); }
.ti-library-button strong, .ti-library-button span { display: block; }
.ti-library-button strong { font-size: .78rem; }
.ti-library-button span { margin-top: 4px; color: #9fc2d5; font-size: .65rem; }
.ti-event-item { width: 100%; text-align: left; border: 0; border-left: 3px solid transparent; border-radius: 0 8px 8px 0; padding: 11px 12px; background: transparent; color: #dceaf2; cursor: pointer; }
.ti-event-item:hover, .ti-event-item.tt-active { background: rgba(98, 182, 232, 0.12); border-left-color: var(--ti-blue); }
.ti-event-item strong { display: block; color: #fff; font-size: 0.78rem; }
.ti-event-item span { display: block; margin-top: 3px; color: #8ea7b8; font-size: 0.68rem; }
.ti-admin-link { color: var(--ti-blue-soft); margin-top: auto; padding-top: 24px; font-size: 0.76rem; text-decoration: none; }
.ti-admin-link:hover { color: #fff; }

.ti-main { min-width: 0; padding: 32px clamp(24px, 4vw, 62px) 70px; }
.ti-empty-workspace { max-width: 650px; margin: 18vh auto 0; }
.ti-empty-workspace:has(.ti-catalog) { max-width: none; margin: 0; }
.ti-empty-workspace h2 { font: 700 clamp(2rem, 4vw, 3.7rem)/1 var(--font-head); text-transform: uppercase; margin: 15px 0; color: var(--ti-navy-2); }
.ti-empty-workspace p { color: var(--ti-muted); font-size: 1rem; line-height: 1.7; max-width: 560px; }
.ti-back-catalog { margin: 0 0 14px; padding: 7px 0; border: 0; color: #2d789f; background: transparent; font: 600 .74rem var(--font-body); cursor: pointer; }
.ti-back-catalog:hover { color: var(--ti-red); }
.ti-catalog { width: 100%; }
.ti-catalog > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding: 28px 0 26px; border-bottom: 1px solid var(--ti-line); }
.ti-catalog > header h2 { margin-top: 12px; }
.ti-catalog > header p { margin: 0; font-size: .84rem; }
.ti-catalog > header > strong { flex: 0 0 auto; color: var(--ti-muted); font: 600 .72rem var(--font-body); text-transform: uppercase; letter-spacing: .08em; }
.ti-catalog > header > strong span { display: block; color: var(--ti-navy-2); font: 700 2.1rem/1 var(--font-head); text-align: right; }
.ti-catalog-filters { display: grid; grid-template-columns: minmax(260px, 1.6fr) repeat(3, minmax(140px, .6fr)); gap: 12px; margin: 24px 0 20px; }
.ti-catalog-filters label { display: grid; gap: 6px; color: var(--ti-muted); font-size: .62rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.ti-catalog-filters input, .ti-catalog-filters select { width: 100%; box-sizing: border-box; min-height: 43px; padding: 10px 12px; border: 1px solid var(--ti-line); border-radius: 9px; color: var(--ti-ink); background: #fff; font: .76rem var(--font-body); outline: none; }
.ti-catalog-filters input:focus, .ti-catalog-filters select:focus { border-color: var(--ti-blue); box-shadow: 0 0 0 3px rgba(98,182,232,.14); }
.ti-catalog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.ti-catalog-card { position: relative; min-height: 175px; padding: 22px; overflow: hidden; border: 1px solid var(--ti-line); border-radius: 15px; color: var(--ti-ink); background: rgba(255,255,255,.9); text-align: left; cursor: pointer; box-shadow: 0 10px 34px rgba(21,52,75,.055); }
.ti-catalog-card::after { content: "→"; position: absolute; right: 19px; top: 17px; color: var(--ti-red); font: 700 1.1rem var(--font-head); }
.ti-catalog-card:hover { transform: translateY(-2px); border-color: #b7d8e9; box-shadow: 0 16px 42px rgba(21,52,75,.1); }
.ti-catalog-card[hidden] { display: none; }
.ti-catalog-card > span, .ti-catalog-card > strong, .ti-catalog-card > em { display: block; }
.ti-catalog-card .ti-catalog-date { color: var(--ti-red); text-transform: uppercase; letter-spacing: .09em; font: 600 .62rem var(--font-head); }
.ti-catalog-card strong { max-width: 90%; margin: 24px 0 8px; color: var(--ti-navy-2); font: 700 1.35rem/1.05 var(--font-head); text-transform: uppercase; }
.ti-catalog-card > span:not(.ti-catalog-date) { color: var(--ti-muted); font-size: .69rem; line-height: 1.45; }
.ti-catalog-card em { position: absolute; right: 17px; bottom: 15px; padding: 4px 7px; border-radius: 999px; color: #527083; background: #edf4f7; font-size: .56rem; font-style: normal; text-transform: uppercase; letter-spacing: .06em; }
.ti-catalog-empty { margin: 40px auto !important; text-align: center; }
.ti-event-header {
  position: relative; display: flex; justify-content: space-between; align-items: flex-end;
  gap: 30px; min-height: 245px; box-sizing: border-box; padding: clamp(28px, 4vw, 48px);
  overflow: hidden; border-radius: 24px; color: #fff;
  background:
    linear-gradient(118deg, rgba(8,24,39,0.98), rgba(16,48,72,0.95)),
    repeating-linear-gradient(90deg, transparent 0 76px, rgba(255,255,255,0.04) 77px);
  box-shadow: 0 24px 70px rgba(8, 24, 39, 0.2);
}
.ti-event-header::before {
  content: ""; position: absolute; right: -105px; bottom: -240px; width: 480px; height: 480px;
  border: 72px solid rgba(98,182,232,0.11); border-radius: 50%; pointer-events: none;
}
.ti-event-header::after {
  content: ""; position: absolute; right: 160px; top: 28px; width: 95px; height: 95px;
  border: 1px solid rgba(255,255,255,0.09); transform: rotate(45deg); pointer-events: none;
}
.ti-event-header > div { position: relative; z-index: 1; }
.ti-event-header h2 { max-width: 850px; margin: 12px 0 11px; color: #fff; font: 700 clamp(2.3rem, 4.5vw, 4.45rem)/0.94 var(--font-head); text-transform: uppercase; letter-spacing: -0.025em; }
.ti-event-header p { margin: 0; color: var(--ti-blue-soft); font-size: 0.9rem; }
.ti-header-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; max-width: 330px; }
.ti-status { padding: 7px 11px; border: 1px solid rgba(185,227,247,0.28); border-radius: 999px; color: #d9f2ff; background: rgba(98,182,232,0.12); text-transform: uppercase; letter-spacing: 0.08em; font: 600 0.65rem var(--font-head); }
.ti-secondary { padding: 9px 12px; color: #fff; border: 1px solid rgba(255,255,255,0.18); background: rgba(255,255,255,0.08); }
.ti-secondary:hover { background: rgba(255,255,255,0.16); }
.ti-header-actions a.ti-secondary { color: #fff; text-decoration: none; }
.ti-header-player-search {
  position: relative; z-index: 1; width: min(340px, 42vw); box-sizing: border-box; padding: 12px 14px;
  border: 1px solid rgba(185,227,247,.28); border-radius: 13px; background: rgba(7,25,44,.48);
  backdrop-filter: blur(8px);
}
.ti-header-player-search label { display: grid; gap: 7px; }
.ti-header-player-search label > span { color: var(--ti-blue-soft); text-transform: uppercase; letter-spacing: .1em; font: 600 .61rem var(--font-head); }
.ti-header-player-search input {
  width: 100%; min-height: 42px; box-sizing: border-box; padding: 10px 12px; border: 1px solid rgba(255,255,255,.16);
  border-radius: 9px; color: var(--ti-navy); background: #fff; outline: none; font: 600 .79rem var(--font-body);
}
.ti-header-player-search input:focus { border-color: var(--ti-red); box-shadow: 0 0 0 4px rgba(230,57,70,.18); }
.ti-header-player-search input::placeholder { color: #8193a1; font-weight: 500; }
.ti-header-player-search small { display: block; margin-top: 7px; color: #a9c4d0; font-size: .6rem; }
.ti-tabs { display: flex; gap: 4px; margin: 23px 0 28px; border-bottom: 1px solid var(--ti-line); overflow-x: auto; }
.ti-tabs button { border: 0; border-bottom: 3px solid transparent; padding: 10px 14px; background: transparent; color: var(--ti-muted); text-transform: uppercase; letter-spacing: 0.06em; font: 600 0.74rem var(--font-head); cursor: pointer; white-space: nowrap; }
.ti-tabs button.tt-active { color: var(--ti-navy-2); border-bottom-color: var(--ti-red); }

.ti-overview-lead {
  display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 4px 0 18px;
}
.ti-overview-lead h3, .ti-section-heading h3 {
  margin: 8px 0 0; color: var(--ti-navy-2); font: 700 clamp(1.75rem, 3vw, 2.7rem)/1 var(--font-head);
  text-transform: uppercase; letter-spacing: -0.02em;
}
.ti-overview-lead p { max-width: 690px; margin: 9px 0 0; color: var(--ti-muted); line-height: 1.55; }
.ti-overview-cta {
  flex: 0 0 auto; padding: 12px 16px; border: 0; border-radius: 9px; color: #fff;
  background: var(--ti-red); font: 600 0.76rem var(--font-body); cursor: pointer;
  box-shadow: 0 10px 24px rgba(228,88,69,0.22);
}
.ti-player-home {
  position: relative; display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  align-items: center; gap: clamp(28px, 5vw, 72px); overflow: hidden; margin: 4px 0 18px;
  padding: clamp(30px, 4.5vw, 54px); border-radius: 24px; color: #fff;
  background: linear-gradient(122deg, #172e4d 0%, var(--ti-navy) 68%, #284e6a 100%);
  box-shadow: 0 22px 65px rgba(29,53,87,.18);
}
.ti-player-home::after {
  content: "2OB"; position: absolute; right: -18px; bottom: -52px; color: rgba(255,255,255,.035);
  font: 700 11rem/1 var(--font-head); pointer-events: none;
}
.ti-player-home > * { position: relative; z-index: 1; }
.ti-player-home h3 { max-width: 650px; margin: 11px 0 13px; color: #fff; font: 700 clamp(2.5rem, 5vw, 4.9rem)/.88 var(--font-head); letter-spacing: -.035em; text-transform: uppercase; }
.ti-player-home-copy > p { max-width: 620px; margin: 0; color: #d4e6ec; font-size: .88rem; line-height: 1.65; }
.ti-player-home-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.ti-player-home-links button { padding: 8px 11px; border: 1px solid rgba(168,218,220,.3); border-radius: 999px; color: #dff2f3; background: rgba(255,255,255,.045); font: 600 .67rem var(--font-body); cursor: pointer; }
.ti-player-home-links button:hover { border-color: var(--ti-blue-soft); background: rgba(168,218,220,.1); }
.ti-find-player { padding: 22px; border: 1px solid rgba(168,218,220,.28); border-radius: 17px; background: rgba(7,25,44,.46); backdrop-filter: blur(8px); }
.ti-find-player label { display: grid; gap: 9px; color: var(--ti-blue-soft); text-transform: uppercase; letter-spacing: .11em; font: 600 .65rem var(--font-head); }
.ti-find-player input { width: 100%; min-height: 52px; box-sizing: border-box; padding: 13px 15px; border: 1px solid rgba(255,255,255,.17); border-radius: 10px; color: var(--ti-navy); background: #fff; outline: none; font: 600 .84rem var(--font-body); }
.ti-find-player input:focus { border-color: var(--ti-red); box-shadow: 0 0 0 4px rgba(230,57,70,.18); }
.ti-find-player input::placeholder { color: #8193a1; font-weight: 500; }
.ti-find-player small { display: block; margin-top: 9px; color: #a9c4d0; font-size: .64rem; }
.ti-player-search-band {
  display: grid; grid-template-columns: minmax(190px, .55fr) minmax(320px, 1.45fr); align-items: center; gap: 24px;
  margin: 4px 0 18px; padding: 20px 22px; border: 1px solid var(--ti-line); border-radius: 15px;
  background: rgba(255,255,255,.9); box-shadow: 0 10px 32px rgba(29,53,87,.055);
}
.ti-player-search-band h3 { margin: 7px 0 0; color: var(--ti-navy-2); font: 700 1.55rem/1 var(--font-head); text-transform: uppercase; }
.ti-player-search-band .ti-find-player { padding: 0; border: 0; border-radius: 0; background: transparent; backdrop-filter: none; }
.ti-player-search-band .ti-find-player label { color: var(--ti-muted); }
.ti-player-search-band .ti-find-player input { min-height: 46px; border-color: var(--ti-line); }
.ti-player-search-band .ti-find-player small { color: var(--ti-muted); }
.ti-player-search-results { margin: 0 0 31px; }
.ti-find-prompt { margin: 0; padding: 12px 16px; border: 1px dashed #bdccd4; border-radius: 11px; color: var(--ti-muted); background: rgba(255,255,255,.56); font-size: .72rem; text-align: center; }
.ti-find-result-count { margin: 0 0 10px; color: var(--ti-muted); font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }
.ti-find-result-count strong { color: var(--ti-red); }
.ti-find-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
.ti-find-card { min-width: 0; padding: 19px; border: 1px solid var(--ti-line); border-top: 3px solid var(--ti-blue); border-radius: 13px; background: #fff; box-shadow: 0 10px 30px rgba(29,53,87,.06); }
.ti-find-card:nth-child(2n) { border-top-color: var(--ti-red); }
.ti-find-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.ti-find-card h4 { margin: 8px 0 4px; overflow: hidden; color: var(--ti-navy); font: 700 1.42rem/1 var(--font-head); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.ti-find-card p { margin: 0; overflow: hidden; color: var(--ti-muted); font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.ti-find-honors { display: flex; flex-wrap: wrap; gap: 5px; }
.ti-find-rank, .ti-find-award, .ti-find-role { display: inline-block; padding: 4px 7px; border-radius: 999px; font: 600 .55rem var(--font-head); letter-spacing: .07em; text-transform: uppercase; }
.ti-find-rank { color: #fff; background: var(--ti-navy); }
.ti-find-award { color: #9c252d; background: #fbe2e4; }
.ti-find-role { flex: 0 0 auto; color: #315f7d; background: #e7f0f4; }
.ti-find-card .ti-feature-stats { margin: 16px 0 13px; }
.ti-find-card .ti-feature-stats div { padding: 8px 4px; }
.ti-find-card .ti-feature-stats strong { font-size: 1rem; }
.ti-find-card .ti-text-action { text-align: left; }
.ti-recognition-head { position: relative; min-height: 138px; margin-top: 0; padding: 7px 156px 0 0; }
.ti-recognition-head > div:first-child > p { max-width: 660px; margin: 10px 0 0; text-align: left; }
.ti-pulse {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 34px;
  overflow: hidden; border: 1px solid var(--ti-line); border-radius: 16px; background: rgba(255,255,255,0.88);
  box-shadow: 0 12px 38px rgba(21,52,75,0.06);
}
.ti-pulse-stat { min-width: 0; padding: 20px 22px; border-right: 1px solid var(--ti-line); }
.ti-pulse-stat:last-child { border-right: 0; }
.ti-pulse-stat strong { display: block; color: var(--ti-navy-2); font: 700 2.35rem/1 var(--font-head); }
.ti-pulse-stat span { display: block; margin-top: 7px; color: var(--ti-ink); font-size: 0.72rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.07em; }
.ti-pulse-stat small { display: block; margin-top: 4px; color: var(--ti-muted); font-size: 0.67rem; line-height: 1.35; }
.ti-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin: 0 0 16px; }
.ti-section-heading p { max-width: 430px; margin: 0; color: var(--ti-muted); font-size: 0.76rem; line-height: 1.5; text-align: right; }
.ti-overview-first { margin-top: 4px; }
.ti-section-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; }
.ti-overview-performer-action {
  position: absolute; top: 0; right: 0; align-items: center; flex-direction: column; gap: 9px;
}
.ti-overview-performer-action img {
  width: 82px; height: 82px; object-fit: contain; border-radius: 16px;
  filter: drop-shadow(0 8px 15px rgba(8,24,39,.12));
}
.ti-section-heading.compact { margin-bottom: 13px; }
.ti-section-heading.compact h3 { font-size: 1.55rem; }
.ti-feature-rails { display: grid; min-width: 0; max-width: 100%; gap: 18px; margin-top: 4px; }
.ti-feature-rail-group { min-width: 0; max-width: 100%; }
.ti-feature-rail-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 2px 8px; }
.ti-feature-rail-heading span { color: var(--ti-navy-2); font: 700 .76rem var(--font-head); letter-spacing: .08em; text-transform: uppercase; }
.ti-feature-rail-heading small { color: var(--ti-muted); font-size: .61rem; }
.ti-feature-carousel {
  display: flex; width: 100%; max-width: 100%; box-sizing: border-box; gap: 14px; padding: 1px 1px 10px;
  overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; scrollbar-color: #9badb7 transparent;
}
.ti-feature-carousel .ti-feature-player { flex: 0 0 min(520px, calc(50% - 7px)); scroll-snap-align: start; }
.ti-feature-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ti-feature-player {
  position: relative; min-width: 0; padding: 25px; overflow: hidden; border: 1px solid var(--ti-line);
  border-radius: 18px; background: #fff; box-shadow: 0 16px 45px rgba(15,46,67,0.08);
}
.ti-feature-player { border-top: 4px solid var(--ti-blue); }
.ti-feature-pitcher { border-top-color: var(--ti-red); }
.ti-feature-player::after {
  content: ""; position: absolute; right: -50px; top: -50px; width: 150px; height: 150px;
  border: 26px solid rgba(98,182,232,0.08); border-radius: 50%; pointer-events: none;
}
.ti-feature-pitcher::after { border-color: rgba(228,88,69,0.07); }
.ti-feature-top { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.ti-feature-label { color: var(--ti-red); text-transform: uppercase; letter-spacing: 0.12em; font: 600 0.67rem var(--font-head); }
.ti-feature-player h4 { margin: 8px 0 4px; color: var(--ti-navy); font: 700 clamp(1.6rem, 2.5vw, 2.25rem)/1 var(--font-head); text-transform: uppercase; }
.ti-feature-player p { margin: 0; color: var(--ti-muted); font-size: 0.74rem; }
.ti-feature-score { min-width: 86px; padding: 10px 11px; border-radius: 12px; color: #fff; background: var(--ti-navy); text-align: center; }
.ti-feature-score strong { display: block; color: #fff; font: 700 1.8rem/1 var(--font-head); }
.ti-feature-score span { display: block; margin-top: 5px; color: #b7cbd8; font-size: 0.58rem; text-transform: uppercase; letter-spacing: 0.06em; }
.ti-feature-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin: 22px 0 17px; }
.ti-feature-stats div { padding: 11px 6px; border-radius: 9px; background: #edf4f7; text-align: center; }
.ti-feature-stats strong { display: block; color: var(--ti-navy-2); font: 700 1.22rem/1 var(--font-head); }
.ti-feature-stats span { display: block; margin-top: 5px; color: var(--ti-muted); font-size: 0.61rem; letter-spacing: 0.08em; }
.ti-text-action { padding: 0; border: 0; color: #25749f; background: transparent; font: 600 0.72rem var(--font-body); cursor: pointer; }
.ti-text-action:hover { color: var(--ti-red); }
.ti-feature-empty { display: grid; align-content: center; min-height: 210px; }
.ti-feature-empty h4 { font-size: 1.45rem; }
.ti-leaders { margin-top: 32px; }
.ti-leader-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ti-leader-tile { min-width: 0; padding: 17px; border-top: 3px solid var(--ti-blue); border-radius: 10px; background: #fff; box-shadow: 0 8px 28px rgba(21,52,75,0.05); }
.ti-leader-tile > span { display: block; min-height: 2.2em; color: var(--ti-muted); font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.07em; }
.ti-leader-tile > strong { display: block; margin: 6px 0 12px; color: var(--ti-navy-2); font: 700 2rem/1 var(--font-head); }
.ti-leader-tile h4 { margin: 0; overflow: hidden; color: var(--ti-navy); font: 600 0.9rem/1.05 var(--font-head); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.ti-leader-tile p { margin: 5px 0 0; overflow: hidden; color: var(--ti-muted); font-size: 0.64rem; text-overflow: ellipsis; white-space: nowrap; }
.ti-leader-summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.ti-leader-summary > div { min-width: 0; }
.ti-leader-summary > div > span { display: block; min-height: 2.2em; color: var(--ti-muted); font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.07em; }
.ti-leader-summary > div > strong { display: block; margin: 6px 0 12px; color: var(--ti-navy-2); font: 700 2rem/1 var(--font-head); }
.ti-leader-expand { flex: 0 0 auto; border: 1px solid var(--ti-line); border-radius: 999px; padding: 5px 8px; color: #386b86; background: #f2f7f9; font: 600 0.61rem var(--font-body); cursor: pointer; }
.ti-leader-expand span { margin-left: 3px; color: var(--ti-red); font-size: 0.8rem; }
.ti-leader-ranking { display: none; margin: 15px -3px 0; padding: 13px 3px 0; border-top: 1px solid var(--ti-line); list-style: none; }
.ti-leader-tile.tt-expanded .ti-leader-ranking { display: grid; gap: 10px; }
.ti-leader-ranking li { display: grid; grid-template-columns: 21px minmax(0, 1fr); gap: 7px; align-items: start; }
.ti-leader-rank { color: #8ca1ad; font: 700 0.72rem var(--font-head); }
.ti-leader-line { display: flex; justify-content: space-between; gap: 8px; min-width: 0; }
.ti-leader-line > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ti-leader-line strong { color: var(--ti-navy-2); font: 700 0.85rem var(--font-head); }
.ti-leader-ranking small { display: block; overflow: hidden; color: var(--ti-muted); font-size: 0.58rem; text-overflow: ellipsis; white-space: nowrap; }
.ti-leader-bar { display: block; height: 4px; margin-top: 5px; overflow: hidden; border-radius: 999px; background: #e4edf1; }
.ti-leader-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ti-navy-2), var(--ti-blue)); }
.ti-intel-grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 32px; }
.ti-scout-card, .ti-field-card { min-width: 0; padding: 25px; border-radius: 18px; }
.ti-scout-card { position: relative; overflow: hidden; color: #fff; background: linear-gradient(135deg, var(--ti-navy), #174563); }
.ti-scout-card::after { content: "2B"; position: absolute; right: -8px; bottom: -30px; color: rgba(255,255,255,0.045); font: 700 8rem/1 var(--font-head); }
.ti-scout-card > * { position: relative; z-index: 1; }
.ti-scout-card h3, .ti-field-card h3 { margin: 10px 0 9px; font: 700 1.55rem/1.05 var(--font-head); text-transform: uppercase; }
.ti-scout-card h3 { color: #fff; }
.ti-scout-card p { margin: 0 0 22px; color: #c1d9e6; font-size: 0.78rem; line-height: 1.6; }
.ti-text-action.light { color: var(--ti-blue-soft); }
.ti-field-card { border: 1px solid var(--ti-line); background: rgba(255,255,255,0.9); }
.ti-field-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.ti-field-head h3 { color: var(--ti-navy-2); }
.ti-field-head > strong { color: var(--ti-blue); font: 700 1.5rem var(--font-head); }
.ti-progress { height: 8px; overflow: hidden; border-radius: 999px; background: #dce8ee; }
.ti-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ti-blue), #2d83b3); }
.ti-team-cloud { display: flex; flex-wrap: wrap; gap: 6px; margin: 17px 0; }
.ti-team-cloud span { padding: 5px 8px; border-radius: 999px; color: #496170; background: #edf3f6; font-size: 0.62rem; }
.ti-metrics { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 12px; margin-bottom: 22px; }
.ti-metric { border: 1px solid var(--ti-line); border-radius: 12px; padding: 18px; background: rgba(255,255,255,0.82); box-shadow: 0 8px 30px rgba(21,52,75,0.05); }
.ti-metric b { display: block; color: var(--ti-navy-2); font: 700 2rem var(--font-head); }
.ti-metric span { color: var(--ti-muted); font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.07em; }
.ti-panel { border: 1px solid var(--ti-line); border-radius: 12px; background: rgba(255,255,255,0.9); overflow: hidden; }
.ti-panel-head { display: flex; justify-content: space-between; gap: 20px; padding: 17px 19px; border-bottom: 1px solid var(--ti-line); background: #f8fbfc; }
.ti-panel-head h3 { margin: 0; color: var(--ti-navy-2); font: 600 1rem var(--font-head); text-transform: uppercase; }
.ti-panel-head p { margin: 3px 0 0; color: var(--ti-muted); font-size: 0.76rem; }
.ti-archive-summary { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 11px 19px; border-bottom: 1px solid var(--ti-line); color: var(--ti-muted); background: #fff; font-size: 0.7rem; }
.ti-archive-summary strong { color: var(--ti-navy-2); }
.ti-archive-status { display: inline-block; padding: 5px 8px; border-radius: 999px; color: var(--ti-muted); background: #edf2f4; white-space: nowrap; font-size: 0.62rem; font-weight: 700; }
.ti-archive-linked, .ti-archive-school_confirmed { color: #23684f; background: #e3f2eb; }
.ti-archive-review_candidate { color: #7a5a16; background: #fff3d6; }
.ti-archive-ambiguous, .ti-archive-class_conflict { color: #973c35; background: #fbe6e4; }
.ti-table-wrap { overflow-x: auto; }
.ti-table-wrap.ti-long-table, .coach-boxwrap.ti-long-table {
  max-height: min(72vh, 760px); overflow: auto; overscroll-behavior: contain;
}
.ti-long-table .ti-table thead th, .ti-long-table .coach-box thead th {
  position: sticky; top: 0; z-index: 3; background: #f8fbfc;
  box-shadow: 0 1px 0 var(--ti-line), 0 5px 12px rgba(16,40,62,0.04);
}
.ti-table { width: 100%; border-collapse: collapse; font-size: 0.78rem; }
.ti-table th { padding: 10px 14px; text-align: left; color: var(--ti-muted); background: #f8fbfc; border-bottom: 1px solid var(--ti-line); text-transform: uppercase; letter-spacing: 0.05em; font-size: 0.64rem; }
.ti-table td { padding: 12px 14px; border-bottom: 1px solid #e8eff3; vertical-align: top; }
.ti-table tr:last-child td { border-bottom: 0; }
.ti-sortable th { padding: 0; }
.ti-sortable th > button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 7px; padding: 10px 14px; border: 0; color: inherit; background: transparent; text-align: left; text-transform: inherit; letter-spacing: inherit; font: inherit; cursor: pointer; white-space: nowrap; }
.ti-sortable th > button:hover, .ti-sortable th > button.tt-sorted { color: var(--ti-navy-2); background: #edf4f7; }
.ti-sortable th > button span { color: #96aab5; font-size: 0.72rem; }
.ti-team-name { color: var(--ti-navy-2); font-weight: 600; }
.ti-player-team { color: var(--ti-muted); font-size: 0.76rem; white-space: nowrap; }
.ti-player-link { padding: 0; border: 0; color: inherit; background: transparent; font: inherit; font-weight: inherit; text-align: left; cursor: pointer; text-decoration: underline; text-decoration-color: rgba(45,131,179,0.35); text-underline-offset: 3px; }
.ti-player-link:hover { color: #1775a4; text-decoration-color: var(--ti-red); }
.ti-feature-player h4 .ti-player-link { text-transform: uppercase; }
.ti-rate { color: #21658b; font-family: var(--font-head); font-weight: 700; }
.ti-rate-ops { color: #9b542f; background: rgba(228,88,69,0.055); }
.ti-pill { display: inline-block; padding: 3px 7px; border-radius: 999px; font-size: 0.64rem; background: #edf3f6; color: #637581; }
.ti-pill.loaded { background: #d9efe5; color: #216548; }
.ti-board-intro { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 18px; }
.ti-board-intro h3 { margin: 7px 0 0; color: var(--ti-navy-2); font: 700 2rem var(--font-head); text-transform: uppercase; }
.ti-board-intro p { margin: 0; color: var(--ti-muted); font-size: 0.76rem; }
.ti-branded-heading { display: flex; align-items: center; gap: 13px; }
.ti-branded-heading img { width: 54px; height: 54px; border-radius: 50%; box-shadow: 0 8px 22px rgba(16,40,62,.16); }
.ti-method-note { max-width: 840px; margin: -5px 0 18px; color: var(--ti-muted); font-size: .76rem; line-height: 1.55; }
.ti-performer-panel .ti-long-table { max-height: min(82vh, 960px); }
.ti-board-toggle, .ti-game-tabs { display: inline-flex; gap: 4px; margin-bottom: 18px; padding: 4px; border: 1px solid var(--ti-line); border-radius: 10px; background: rgba(255,255,255,0.82); }
.ti-board-toggle button, .ti-game-tabs button { border: 0; border-radius: 7px; padding: 9px 15px; color: var(--ti-muted); background: transparent; font: 600 0.72rem var(--font-body); cursor: pointer; }
.ti-board-toggle button span { margin-left: 5px; color: #8ba0ad; font-size: 0.65rem; }
.ti-board-toggle button.tt-active, .ti-game-tabs button.tt-active { color: #fff; background: var(--ti-navy-3); box-shadow: 0 5px 14px rgba(16,40,62,0.14); }
.ti-board-toggle button.tt-active span { color: var(--ti-blue-soft); }
.ti-stats-controls { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.ti-stats-controls .ti-board-toggle { margin-bottom: 0; }
.ti-stats-controls label { display: grid; gap: 6px; min-width: min(340px, 45vw); color: var(--ti-muted); font-size: .65rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.ti-stats-controls select { width: 100%; padding: 10px 12px; border: 1px solid var(--ti-line); border-radius: 8px; color: var(--ti-ink); background: #fff; font: .76rem var(--font-body); }
.ti-filter-bar { display: grid; grid-template-columns: minmax(220px, 1.2fr) minmax(220px, .8fr); gap: 12px; margin: 0 0 18px; }
.ti-filter-bar-single { grid-template-columns: minmax(240px, 420px); }
.ti-filter-bar label { display: grid; gap: 6px; color: var(--ti-muted); font-size: .62rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.ti-filter-bar input, .ti-filter-bar select { width: 100%; box-sizing: border-box; min-height: 43px; padding: 10px 12px; border: 1px solid var(--ti-line); border-radius: 9px; color: var(--ti-ink); background: #fff; font: .76rem var(--font-body); outline: none; }
.ti-filter-bar input:focus, .ti-filter-bar select:focus { border-color: var(--ti-blue); box-shadow: 0 0 0 3px rgba(69,123,157,.13); }
.ti-board-panel + .ti-board-panel { margin-top: 18px; }
.ti-batting-board tbody tr:nth-child(-n+3), .ti-pitching-board tbody tr:nth-child(-n+2) { background: rgba(201,166,107,0.11); }
.ti-rank { width: 28px; color: var(--ti-muted); font-weight: 700; }
.ti-score { color: #9b6e2c; font: 700 1rem var(--font-head); }
.ti-small-sample { color: #8b989f; font-style: italic; }
.ti-award-masthead {
  display: grid; grid-template-columns: 86px minmax(0, 1fr) auto; align-items: center; gap: 18px;
  margin-bottom: 18px; padding: 16px 18px; border: 1px solid var(--ti-line); border-radius: 14px;
  background: rgba(255,255,255,.94); box-shadow: 0 10px 32px rgba(15,46,67,.06);
}
.ti-award-badge { width: 86px; height: 86px; object-fit: contain; }
.ti-award-title { display: flex; align-items: center; gap: 12px; }
.ti-award-title h3 { margin: 5px 0 3px; color: var(--ti-navy-2); font: 700 clamp(1.55rem, 2.5vw, 2.25rem)/.95 var(--font-head); text-transform: uppercase; }
.ti-award-masthead p { max-width: 720px; margin: 7px 0 0; color: var(--ti-muted); font-size: .78rem; line-height: 1.55; }
.ti-info-button {
  display: inline-grid; place-items: center; flex: 0 0 auto; width: 30px; height: 30px; padding: 0;
  border: 1px solid #aac9da; border-radius: 50%; color: #2d779e; background: #f2f9fc;
  font: 700 .8rem var(--font-body); cursor: pointer;
}
.ti-info-button:hover { color: #fff; border-color: var(--ti-red); background: var(--ti-red); }
.ti-queue-review { margin-bottom: 18px; }
.ti-versus { margin: 0 4px; color: var(--ti-muted); font-size: 0.66rem; text-transform: uppercase; }
.ti-export { display: inline-flex; align-items: center; gap: 7px; padding: 9px 12px; border: 1px solid var(--ti-line); border-radius: 8px; color: var(--ti-navy-2); background: #fff; font: 600 0.72rem var(--font-body); cursor: pointer; }
.ti-export:hover { border-color: var(--ti-blue); background: #f4fbff; }
.ti-player-category[hidden] { display: none; }
.ti-player-category-toggle { margin: 14px 0 4px; }
.ti-projection { display: inline-block; padding: 4px 8px; border-radius: 999px; text-transform: uppercase; letter-spacing: 0.05em; font: 600 0.62rem var(--font-head); white-space: nowrap; }
.ti-projection-lock { color: #155d3f; background: #d9efe5; }
.ti-projection-borderline { color: #765918; background: #f6e8b9; }
.ti-projection-out { color: #76504a; background: #f0e4e1; }
.ti-projection-needs_review { color: #365b70; background: #dcebf3; }
.ti-selection-hero { position: relative; display: grid; grid-template-columns: 180px minmax(0, 1fr); align-items: center; gap: 30px; overflow: hidden; margin-bottom: 20px; padding: 30px; border-radius: 18px; color: #fff; background: linear-gradient(122deg, var(--ti-navy) 0%, #174966 100%); box-shadow: 0 18px 50px rgba(10,36,54,0.16); }
.ti-selection-hero::after { content: "ALL TOURNAMENT"; position: absolute; right: -10px; bottom: -13px; color: rgba(255,255,255,0.045); font: 700 4.2rem/1 var(--font-head); white-space: nowrap; }
.ti-selection-hero > * { position: relative; z-index: 1; }
.ti-selection-hero h3 { margin: 9px 0 7px; color: #fff; font: 700 clamp(2rem, 4vw, 3.4rem)/1 var(--font-head); text-transform: uppercase; }
.ti-selection-hero p { margin: 0 0 22px; color: #c9deea; }
.ti-selection-hero .ti-qualification { margin: -8px 0 24px; color: #fff; font-size: .74rem; font-weight: 600; }
.ti-selection-badge { width: 180px; height: 180px; object-fit: contain; border-radius: 18px; }
.ti-selection-counts { display: grid; grid-template-columns: auto auto auto auto; align-items: baseline; justify-content: start; gap: 7px 20px; }
.ti-selection-counts strong { color: var(--ti-blue); font: 700 2rem/1 var(--font-head); }
.ti-selection-counts span { color: #c9deea; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.07em; }
.ti-selection-hero-compact { grid-template-columns: 88px minmax(0, 1fr); gap: 18px; padding: 16px 18px; color: var(--ti-ink); border: 1px solid var(--ti-line); background: rgba(255,255,255,.94); box-shadow: 0 10px 32px rgba(15,46,67,.06); }
.ti-selection-hero-compact::after { display: none; }
.ti-selection-hero-compact .ti-selection-badge { width: 88px; height: 88px; border-radius: 12px; }
.ti-selection-hero-compact h3 { margin: 5px 0 6px; color: var(--ti-navy-2); font-size: clamp(1.55rem, 2.5vw, 2.25rem); }
.ti-selection-hero-compact .ti-qualification { margin: 0; color: var(--ti-muted); font-size: .68rem; line-height: 1.5; }
.ti-overview-games, .ti-overview-all-tournament { margin-top: 28px; }
.ti-all-tournament-preview {
  position: relative; min-height: 190px; box-sizing: border-box; overflow: hidden; padding: 28px 190px 28px 30px;
  border-radius: 18px; color: #fff; background: linear-gradient(122deg, var(--ti-navy) 0%, #174966 100%);
  box-shadow: 0 18px 50px rgba(10,36,54,.15);
}
.ti-all-tournament-preview::after {
  content: "ALL TOURNEY"; position: absolute; right: 150px; bottom: -10px; color: rgba(255,255,255,.045);
  font: 700 3.8rem/1 var(--font-head); white-space: nowrap; pointer-events: none;
}
.ti-all-tournament-preview > img {
  position: absolute; z-index: 1; right: 28px; top: 50%; width: 128px; height: 128px; object-fit: contain;
  border-radius: 17px; transform: translateY(-50%); filter: drop-shadow(0 12px 24px rgba(4,17,28,.28));
}
.ti-all-tournament-preview-copy { position: relative; z-index: 1; }
.ti-all-tournament-preview h3 { margin: 8px 0 8px; color: #fff; font: 700 clamp(2rem, 3.5vw, 3.35rem)/.95 var(--font-head); text-transform: uppercase; }
.ti-all-tournament-preview p { max-width: 630px; margin: 0; color: #c9deea; font-size: .76rem; line-height: 1.55; }
.ti-all-tournament-preview-stats { display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0; }
.ti-all-tournament-preview-stats span { color: #c9deea; font-size: .65rem; letter-spacing: .06em; text-transform: uppercase; }
.ti-all-tournament-preview-stats strong { margin-right: 5px; color: var(--ti-blue); font: 700 1.3rem/1 var(--font-head); }
.ti-all-tournament-preview .ti-overview-cta { padding: 10px 14px; }
.ti-game-picker { margin-bottom: 20px; }
.ti-game-row.tt-active { background: rgba(98,182,232,0.12); }
.ti-game-link { padding: 0; border: 0; color: var(--ti-navy-2); background: transparent; font: 600 0.8rem var(--font-body); cursor: pointer; text-align: left; }
.ti-game-link:hover { color: #1d78a8; }
.ti-game-score { color: var(--ti-red); font: 700 1rem var(--font-head); }
.ti-game-availability { display: inline-block; padding: 5px 9px; border-radius: 999px; font-size: .64rem; font-weight: 700; white-space: nowrap; }
.ti-game-availability.full { color: #17603a; background: #d8f0e2; }
.ti-game-availability.limited { color: #855517; background: #faead1; }
.ti-game-availability.waiting { color: #657585; background: #e8eef2; }
.ti-recovery { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 0 20px; padding: 22px 24px; border-left: 4px solid #ef9b35; border-radius: 14px; background: linear-gradient(110deg, #fff8ea, #fff); box-shadow: 0 10px 30px rgba(21,52,75,.06); }
.ti-recovery h3 { margin: 7px 0 5px; color: var(--ti-navy-2); font: 700 1.25rem/1.1 var(--font-head); text-transform: uppercase; }
.ti-recovery p { margin: 0; color: var(--ti-muted); font-size: .72rem; }
.ti-recovery button { flex: 0 0 auto; }
.ti-game-detail { margin-top: 26px; }
.ti-game-detail .coach-gametitle { margin-top: 0; }
.ti-game-detail .coach-gtabs { margin-top: 8px; }
.ti-game-detail .coach-subpanel { padding: 24px 28px; border-radius: 16px; }
.ti-game-detail .coach-subpanel h3 { font: 700 1.15rem var(--font-head); text-transform: uppercase; }
.ti-game-detail .coach-box { font-size: 0.84rem; }
.ti-game-detail .coach-box th, .ti-game-detail .coach-box td { padding: 10px 12px; }
.ti-game-detail .coach-gameread { padding: 18px 21px; }
.ti-game-detail .ti-contact-cloud { padding: 0; }
.ti-game-read { display: grid; gap: 18px; }
.ti-game-read-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 22px; padding: 25px 28px; border-radius: 16px; color: #fff; background: linear-gradient(125deg, #0a2132, #174966); }
.ti-game-read-head h3 { margin: 8px 0 5px; color: #fff; font: 700 clamp(1.45rem, 2.6vw, 2.25rem)/1 var(--font-head); text-transform: uppercase; }
.ti-game-read-head p { margin: 0; color: #bcd5e3; font-size: 0.73rem; }
.ti-game-read-head > strong { color: var(--ti-blue); font: 700 2.4rem/1 var(--font-head); white-space: nowrap; }
.ti-game-tabs { justify-self: start; margin-bottom: 0; }
.ti-game-box, .ti-game-intelligence-pane { display: grid; gap: 18px; }
.ti-game-book-label { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px 17px; border-left: 3px solid var(--ti-blue); border-radius: 8px; color: var(--ti-muted); background: rgba(255,255,255,0.75); font-size: 0.7rem; }
.ti-game-book-label span { text-transform: uppercase; letter-spacing: 0.07em; }
.ti-game-book-label strong { color: var(--ti-navy-2); font-size: 0.78rem; }
.ti-intel-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ti-intel-metric { padding: 18px; border-top: 3px solid var(--ti-blue); border-radius: 10px; background: #fff; box-shadow: 0 9px 30px rgba(21,52,75,0.06); }
.ti-intel-metric strong { display: block; color: var(--ti-navy-2); font: 700 1.8rem/1 var(--font-head); }
.ti-intel-metric span { display: block; margin-top: 7px; color: var(--ti-ink); font-size: 0.68rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.06em; }
.ti-intel-metric small { display: block; margin-top: 4px; color: var(--ti-muted); font-size: 0.62rem; }
.ti-game-grid { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 16px; }
.ti-game-card { overflow: hidden; border: 1px solid var(--ti-line); border-radius: 12px; background: #fff; }
.ti-situation-list { display: grid; gap: 14px; padding: 18px; }
.ti-situation-row { display: grid; grid-template-columns: minmax(155px, 0.8fr) minmax(100px, 1fr) 48px; gap: 12px; align-items: center; }
.ti-situation-row strong { display: block; color: var(--ti-navy-2); font-size: 0.72rem; }
.ti-situation-row span { color: var(--ti-muted); font-size: 0.61rem; }
.ti-situation-row > b { color: #2b779f; font: 700 0.78rem var(--font-head); text-align: right; }
.ti-situation-track { height: 7px; overflow: hidden; border-radius: 999px; background: #e2ebef; }
.ti-situation-track i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--ti-blue), #2b779f); }
.ti-contact-cloud { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; padding: 18px; }
.ti-contact-cloud span { padding: 13px; border-radius: 9px; color: var(--ti-muted); background: #eef4f7; font-size: 0.65rem; text-transform: capitalize; }
.ti-contact-cloud b { display: block; margin-bottom: 4px; color: var(--ti-navy-2); font: 700 1.3rem/1 var(--font-head); }
.ti-game-placeholder { margin-top: 18px; }
.ti-modal-open { overflow: hidden; }
.ti-player-modal { position: fixed; inset: 0; z-index: 100; display: flex; justify-content: center; padding: 24px; box-sizing: border-box; }
.ti-player-modal[hidden] { display: none; }
.ti-game-modal { position: fixed; inset: 0; z-index: 90; display: flex; justify-content: flex-end; }
.ti-game-modal[hidden] { display: none; }
.ti-formula-modal { position: fixed; inset: 0; z-index: 120; display: grid; place-items: center; padding: 24px; box-sizing: border-box; }
.ti-formula-modal[hidden] { display: none; }
.ti-modal-backdrop { position: absolute; inset: 0; border: 0; background: rgba(4,18,30,0.64); backdrop-filter: blur(3px); cursor: pointer; }
.ti-formula-card {
  position: relative; z-index: 1; width: min(920px, 100%); max-height: calc(100vh - 48px); box-sizing: border-box;
  overflow-y: auto; padding: 34px; border: 1px solid var(--ti-line); border-radius: 20px; background: #f7fafb;
  box-shadow: 0 30px 90px rgba(3,18,28,.34); animation: ti-formula-in 180ms ease-out;
}
@keyframes ti-formula-in { from { transform: translateY(14px) scale(.98); opacity: 0; } to { transform: translateY(0) scale(1); opacity: 1; } }
.ti-formula-head { display: flex; align-items: center; gap: 20px; padding-right: 38px; }
.ti-formula-head img { width: 108px; height: 108px; object-fit: contain; }
.ti-formula-head h2 { margin: 8px 0 0; color: var(--ti-navy-2); font: 700 clamp(1.8rem, 4vw, 3rem)/.95 var(--font-head); text-transform: uppercase; }
.ti-formula-lead { margin: 18px 0; color: var(--ti-muted); font-size: .82rem; line-height: 1.6; }
.ti-formula-equation { padding: 20px 22px; border-radius: 13px; color: #dcecf4; background: linear-gradient(125deg, var(--ti-navy), #174966); }
.ti-formula-equation b { display: block; margin-bottom: 8px; color: var(--ti-blue); font: 700 1.05rem var(--font-head); text-transform: uppercase; }
.ti-formula-equation span { display: block; font: 600 .82rem/1.7 var(--font-body); }
.ti-formula-definition { margin: 14px 0 22px; padding: 13px 15px; border-left: 3px solid var(--ti-red); color: var(--ti-ink); background: #fff; font-size: .76rem; line-height: 1.55; }
.ti-grayson-example { display: grid; grid-template-columns: .78fr 1.22fr; gap: 24px; padding: 23px; border: 1px solid var(--ti-line); border-radius: 15px; background: #fff; }
.ti-grayson-example h3 { margin: 8px 0 6px; color: var(--ti-navy-2); font: 700 2rem/1 var(--font-head); text-transform: uppercase; }
.ti-grayson-example p { margin: 0; color: var(--ti-muted); font-size: .73rem; line-height: 1.55; }
.ti-grayson-splits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.ti-grayson-splits span { display: grid; align-content: center; min-height: 83px; padding: 11px 13px; border-radius: 10px; color: var(--ti-muted); background: #edf4f7; font-size: .62rem; text-transform: uppercase; letter-spacing: .06em; }
.ti-grayson-splits span.is-top { color: #fff; background: var(--ti-navy-2); }
.ti-grayson-splits b { display: block; margin-bottom: 5px; color: var(--ti-navy-2); font: 700 1.5rem/1 var(--font-head); }
.ti-grayson-splits .is-top b { color: var(--ti-blue); }
.ti-grayson-splits small { display: block; margin-top: 4px; font-size: .58rem; letter-spacing: 0; text-transform: none; }
.ti-formula-footnote { margin: 14px 0 0; color: var(--ti-muted); font-size: .66rem; line-height: 1.5; }
.ti-player-drawer { position: relative; z-index: 1; width: min(1120px, 100%); height: 100%; box-sizing: border-box; overflow-y: auto; padding: 0; border-radius: 24px; background: var(--ti-paper); box-shadow: 0 30px 90px rgba(3,18,28,0.35); animation: ti-player-in 180ms ease-out; }
.ti-game-drawer { position: relative; z-index: 1; width: min(1180px, 97vw); height: 100%; box-sizing: border-box; overflow-y: auto; padding: 46px 38px 60px; background: var(--coach-soft, #f4f4f5); box-shadow: -24px 0 70px rgba(3,18,28,.28); animation: ti-drawer-in 180ms ease-out; }
@keyframes ti-drawer-in { from { transform: translateX(35px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }
@keyframes ti-player-in { from { transform: translateY(18px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
.ti-player-close { position: absolute; z-index: 5; top: 17px; right: 20px; width: 38px; height: 38px; border: 1px solid rgba(255,255,255,.35); border-radius: 50%; color: #fff; background: rgba(7,19,38,.72); font-size: 1.35rem; cursor: pointer; }
.ti-player-head { padding: 25px; border-radius: 16px; color: #fff; background: linear-gradient(130deg, var(--ti-navy), #195371); }
.ti-player-head h2 { margin: 10px 0 5px; color: #fff; font: 700 2.5rem/0.95 var(--font-head); text-transform: uppercase; }
.ti-player-head p { margin: 0; color: #bdd8e6; }
.ti-player-section { margin-top: 18px; padding: 21px; border: 1px solid var(--ti-line); border-radius: 13px; background: #fff; }
.ti-player-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-top: 15px; }
.ti-player-metrics > div { padding: 11px 5px; border-radius: 8px; background: #edf4f7; text-align: center; }
.ti-player-metrics strong { display: block; color: var(--ti-navy-2); font: 700 1.15rem/1 var(--font-head); }
.ti-player-metrics span { display: block; margin-top: 5px; color: var(--ti-muted); font-size: 0.58rem; letter-spacing: 0.07em; }
.ti-player-loading, .ti-player-muted { color: var(--ti-muted); font-size: 0.75rem; line-height: 1.55; }
.ti-player-traits { margin: 12px 0; color: var(--ti-navy-2); font-weight: 600; }
.ti-stint-list { display: grid; gap: 7px; margin-top: 14px; }
.ti-stint-list div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 12px; border-radius: 8px; background: #edf4f7; }
.ti-stint-list strong { color: var(--ti-navy-2); font-size: 0.72rem; }
.ti-stint-list span, .ti-player-id { color: var(--ti-muted); font-size: 0.65rem; }
.ti-player-id { margin: 15px 0 0; }
.ti-season-profile { margin-top: 18px; }
.ti-player-drawer .profile-card-export { display: none; }
.ti-player-drawer .player-profile { max-width: none; }
.ti-player-card-top { display: flex; align-items: center; justify-content: space-between; min-height: 58px; box-sizing: border-box; padding: 12px 72px 12px 28px; color: #fff; background: #071326; }
.ti-player-card-top span { color: #fff; font: 700 .82rem var(--font-head); letter-spacing: .12em; text-transform: uppercase; }
.ti-player-card-top span b { margin-left: 7px; color: var(--ti-red); }
.ti-player-card-top small { max-width: 58%; overflow: hidden; color: #9fb5c7; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.ti-player-spotlight { display: grid; grid-template-columns: minmax(0, 1fr) minmax(330px, auto); gap: 34px; align-items: center; padding: 22px 30px; color: var(--ti-ink); border-top: 3px solid var(--ti-red); border-bottom: 1px solid var(--ti-line); background: #fff; }
.ti-player-identity .ti-kicker { color: var(--ti-red); font-family: var(--font-body); font-size: .58rem; font-weight: 800; letter-spacing: .1em; }
.ti-player-identity h2 { margin: 7px 0 5px; color: var(--ti-navy-2); font: 700 clamp(2.25rem, 4.5vw, 3.6rem)/.94 var(--font-head); letter-spacing: -.025em; text-transform: uppercase; }
.ti-player-identity > p { margin: 0; color: var(--ti-muted); font-size: .76rem; line-height: 1.5; }
.ti-player-sidecar { display: grid; justify-items: end; gap: 14px; }
.ti-player-headline-line { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: baseline; gap: 7px 11px; }
.ti-player-headline-line strong, .ti-player-headline-line b { color: var(--ti-navy-2); font: 700 clamp(1.35rem, 2.5vw, 1.9rem)/1 var(--font-head); }
.ti-player-headline-line b { color: var(--ti-red); }
.ti-player-headline-line span { flex-basis: 100%; color: var(--ti-muted); font-size: .52rem; font-weight: 700; letter-spacing: .09em; text-align: right; text-transform: uppercase; }
.ti-player-ranks { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.ti-player-rank-pill, .ti-player-honor { display: inline-flex; align-items: center; min-height: 38px; box-sizing: border-box; padding: 7px 12px; border: 1px solid #c9dce3; border-radius: 999px; color: var(--ti-navy-2); background: rgba(255,255,255,.82); font-size: .63rem; text-transform: uppercase; letter-spacing: .05em; }
.ti-player-rank-pill b { margin-right: 4px; color: var(--ti-navy-2); font: 700 1rem/1 var(--font-head); }
.ti-player-rank-pill small { margin-left: 4px; color: var(--ti-muted); font-size: .55rem; }
.ti-player-honor { gap: 8px; padding: 5px 12px 5px 6px; border-color: rgba(230,57,70,.34); color: var(--ti-navy-2); background: #fff; }
.ti-player-honor img { width: 30px; height: 30px; object-fit: contain; }
.ti-player-honor span { white-space: nowrap; }
.ti-player-share { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 190px; text-align: right; }
.ti-player-share span { color: var(--ti-muted); font-size: .62rem; text-transform: uppercase; letter-spacing: .08em; }
.ti-player-share button { min-height: 40px; padding: 9px 15px; border: 1px solid rgba(230,57,70,.5); border-radius: 8px; color: var(--ti-red); background: #fff; font: 700 .7rem var(--font-body); cursor: pointer; box-shadow: none; }
.ti-player-share button:hover { color: #fff; background: #ce2f3b; }
.ti-player-share button:disabled { opacity: .65; cursor: wait; }
.ti-player-browser { position: sticky; z-index: 3; top: 0; display: flex; gap: 5px; overflow-x: auto; padding: 10px 22px; border-bottom: 1px solid var(--ti-line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); scrollbar-width: none; }
.ti-player-browser::-webkit-scrollbar { display: none; }
.ti-player-browser button { flex: 0 0 auto; min-height: 40px; padding: 9px 15px; border: 0; border-radius: 8px; color: #607788; background: transparent; font: 700 .7rem var(--font-body); cursor: pointer; }
.ti-player-browser button:hover { color: var(--ti-navy-2); background: #edf3f6; }
.ti-player-browser button.tt-active { color: #fff; background: var(--ti-navy-2); }
.ti-player-browser-body { padding: 24px 28px 42px; }
.ti-player-pane[hidden] { display: none; }
.ti-player-card-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .75fr); gap: 16px; }
.ti-player-card-grid.is-summary-only { grid-template-columns: 1fr; }
.ti-player-card-brief { display: grid; gap: 14px; }
.ti-player-receipt { margin: 0; padding: 15px 17px; border-left: 4px solid var(--ti-red); border-radius: 0 11px 11px 0; color: var(--ti-ink); background: #fbf9f4; font-size: .78rem; font-weight: 600; line-height: 1.55; }
.ti-player-signature { display: flex; align-items: center; gap: 15px; padding: 15px 17px; border: 1px solid var(--ti-line); border-radius: 14px; background: #fff; }
.ti-player-signature > span { display: grid; flex: 0 0 70px; place-items: center; min-height: 70px; box-sizing: border-box; padding: 8px; border: 3px solid var(--ti-red); border-radius: 50%; color: var(--ti-red); font-size: .5rem; font-weight: 800; line-height: 1.05; text-align: center; text-transform: uppercase; transform: rotate(-4deg); }
.ti-player-signature > span b { display: block; font: 700 1.75rem/1 var(--font-head); }
.ti-player-signature p { margin: 0; color: var(--ti-muted); font-size: .7rem; line-height: 1.5; }
.ti-player-signature p strong { display: block; margin-bottom: 4px; color: var(--ti-navy-2); font: 700 1rem var(--font-head); text-transform: uppercase; }
.ti-player-chips, .ti-player-rate-strip { display: flex; flex-wrap: wrap; gap: 7px; }
.ti-player-chip { padding: 7px 12px; border-radius: 999px; color: var(--ti-muted); background: #edf3f6; font-size: .64rem; font-weight: 600; }
.ti-player-chip b { margin-left: 3px; color: var(--ti-navy-2); font-weight: 800; }
.ti-player-card-brief > .ti-player-chips .ti-player-chip,
.ti-player-rate-strip .ti-player-chip { padding: 10px 15px; font-size: .78rem; }
.ti-player-card-brief > .ti-player-chips .ti-player-chip b,
.ti-player-rate-strip .ti-player-chip b { font-size: .9rem; }
.ti-player-visual-profile { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 24px; margin-top: 8px; padding-top: 22px; border-top: 1px solid var(--ti-line); }
.ti-player-percentiles > header, .ti-player-hit-mix > header, .ti-player-game-trend > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.ti-player-percentiles header > div:first-child { display: grid; gap: 3px; }
.ti-player-percentiles header span, .ti-player-hit-mix header span, .ti-player-game-trend header span { color: var(--ti-navy-2); font: 700 1.05rem/1 var(--font-head); letter-spacing: .02em; text-transform: uppercase; }
.ti-player-percentiles header small, .ti-player-hit-mix header small, .ti-player-game-trend header small { color: var(--ti-muted); font-size: .58rem; }
.ti-player-percentile-scale { display: grid; grid-template-columns: repeat(3, auto); gap: 22px; }
.ti-player-percentile-scale span { color: var(--ti-muted) !important; font: 600 .5rem var(--font-body) !important; letter-spacing: .07em !important; }
.ti-player-percentile-row { display: grid; grid-template-columns: 92px minmax(150px, 1fr) 52px; gap: 12px; align-items: center; min-height: 39px; border-top: 1px dashed #c8d9df; }
.ti-player-percentile-row > span { color: var(--ti-ink); font-size: .66rem; font-weight: 700; }
.ti-player-percentile-row > strong { color: var(--ti-navy-2); font: 700 .84rem/1 var(--font-head); text-align: right; }
.ti-player-percentile-track { position: relative; height: 13px; border-radius: 2px; background: linear-gradient(90deg, #edf2f4 0 49.5%, #d7e2e7 49.5% 50.5%, #edf2f4 50.5% 100%); }
.ti-player-percentile-track i { display: block; height: 100%; border-radius: 2px; background: #72a9b7; }
.ti-player-percentile-track b { position: absolute; top: 50%; display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid #fff; border-radius: 50%; color: #fff; background: #528ba0; font: 800 .6rem var(--font-body); transform: translate(-50%, -50%); box-shadow: 0 1px 3px rgba(29,53,87,.24); }
.ti-player-percentile-row.is-elite .ti-player-percentile-track i { background: #df4a4c; }
.ti-player-percentile-row.is-elite .ti-player-percentile-track b { background: #d9383f; }
.ti-player-percentile-row.is-low .ti-player-percentile-track i { background: #4c69a5; }
.ti-player-percentile-row.is-low .ti-player-percentile-track b { background: #35558f; }
.ti-player-percentile-row.is-two-out-metric { margin-top: 4px; padding: 5px 8px; border: 1px solid rgba(230,57,70,.2); border-radius: 9px; background: linear-gradient(90deg, rgba(168,218,220,.16), rgba(230,57,70,.08)); }
.ti-player-percentile-row.is-two-out-metric .ti-player-percentile-track i { background: linear-gradient(90deg, var(--ti-navy-2), var(--ti-blue)); }
.ti-player-percentile-row.is-two-out-metric > strong { color: var(--ti-red-ink); }
.ti-two-out-profile-brand { gap: 5px; }
.ti-two-out-profile-brand > i { gap: 2px; }
.ti-two-out-profile-brand > i b { width: 5px; height: 5px; border-width: 1.5px; }
.ti-two-out-profile-brand > strong { font-size: .55rem; line-height: 1.08; letter-spacing: .045em; }
.ti-player-pitch-profile { margin-top: 18px; padding: 20px; border: 1px solid var(--ti-line); border-radius: 16px; background: #fff; }
.ti-player-pitch-profile .ti-player-percentile-track i { background: #e25a62; }
.ti-player-pitch-profile .ti-player-percentile-track b { background: #d93846; }
.ti-player-pitch-profile .ti-player-percentile-row.is-low .ti-player-percentile-track i { background: #63799a; }
.ti-player-pitch-profile .ti-player-percentile-row.is-low .ti-player-percentile-track b { background: #465d82; }
.ti-player-command-meters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--ti-line); }
.ti-player-command-meters > header { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.ti-player-command-meters > header span { color: var(--ti-navy-2); font: 700 .78rem var(--font-head); letter-spacing: .04em; text-transform: uppercase; }
.ti-player-command-meters > header small { color: var(--ti-muted); font-size: .55rem; }
.ti-player-command-meter { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 7px 12px; padding: 12px; border-radius: 10px; background: #f2f6f8; }
.ti-player-command-meter span { color: var(--ti-muted); font-size: .62rem; font-weight: 700; }
.ti-player-command-meter strong { color: var(--ti-navy-2); font: 700 .82rem/1 var(--font-head); }
.ti-player-command-meter > i { grid-column: 1 / -1; display: block; height: 7px; overflow: hidden; border-radius: 999px; background: #dce6ea; }
.ti-player-command-meter > i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ef7a80, var(--ti-red)); }
.ti-player-visual-side { display: grid; grid-template-columns: 1fr; gap: 24px; padding-left: 24px; border-left: 1px solid var(--ti-line); }
.ti-player-hit-mix, .ti-player-game-trend { min-width: 0; }
.ti-player-hit-stack { display: flex; width: 100%; height: 20px; overflow: hidden; border-radius: 5px; background: #dce7eb; }
.ti-player-hit-stack i { display: block; height: 100%; }
.ti-player-hit-stack .is-single { background: #2d789a; }
.ti-player-hit-stack .is-double { background: #6656c6; }
.ti-player-hit-stack .is-triple { background: #e7a628; }
.ti-player-hit-stack .is-homer { background: #d72d67; }
.ti-player-hit-legend { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.ti-player-hit-legend span { color: var(--ti-muted); font-size: .56rem; white-space: nowrap; }
.ti-player-hit-legend i { display: inline-block; width: 7px; height: 7px; margin-right: 4px; border-radius: 50%; }
.ti-player-hit-legend b { color: var(--ti-navy-2); font-size: .68rem; }
.ti-player-hit-legend .is-single i { background: #2d789a; }
.ti-player-hit-legend .is-double i { background: #6656c6; }
.ti-player-hit-legend .is-triple i { background: #e7a628; }
.ti-player-hit-legend .is-homer i { background: #d72d67; }
.ti-player-trend-plot { display: grid; gap: 10px; }
.ti-player-trend-game { display: grid; grid-template-columns: minmax(120px, .7fr) minmax(120px, 1fr) 42px auto; gap: 10px; align-items: center; min-width: 0; }
.ti-player-trend-label { display: grid; min-width: 0; }
.ti-player-trend-label small { color: var(--ti-muted); font-size: .5rem; text-transform: uppercase; }
.ti-player-trend-label span { overflow: hidden; color: var(--ti-navy-2); font-size: .58rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.ti-player-trend-track { height: 13px; overflow: hidden; border-radius: 3px; background: #dce7eb; }
.ti-player-trend-track b { display: block; height: 100%; border-radius: inherit; background: #4d91ae; }
.ti-player-trend-game > strong { color: var(--ti-navy-2); font: 700 .72rem/1 var(--font-head); text-align: right; white-space: nowrap; }
.ti-player-trend-game i { padding: 3px 6px; border-radius: 999px; color: #fff; background: var(--ti-red); font: 700 .46rem var(--font-body); white-space: nowrap; }
.ti-player-line-table { overflow-x: auto; border: 1px solid var(--ti-line); border-radius: 14px; background: #fff; }
.ti-player-line-table table { width: 100%; min-width: 720px; border-collapse: collapse; }
.ti-player-line-table th, .ti-player-line-table td { min-width: 58px; padding: 12px 9px; text-align: center; }
.ti-player-line-table th { color: var(--ti-muted); border-bottom: 1px solid var(--ti-line); background: #f7fafb; font-size: .57rem; letter-spacing: .08em; text-transform: uppercase; }
.ti-player-line-table td { color: var(--ti-navy-2); font: 700 1.25rem/1 var(--font-head); }
.ti-player-rate-strip { margin-top: 12px; }
.ti-player-advanced-strip { align-items: center; margin-top: 8px; padding-top: 10px; border-top: 1px dashed #c8d9df; }
.ti-player-strip-label { color: var(--ti-muted); font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ti-player-advanced-strip .ti-player-chip { padding: 7px 11px; font-size: .66rem; }
.ti-player-advanced-strip .ti-player-chip b { font-size: .76rem; }
.ti-player-scorecard, .ti-player-story, .ti-player-pressure, .ti-player-quick-read, .ti-player-data-chart, .ti-player-chart-empty, .ti-player-game { border: 1px solid var(--ti-line); border-radius: 16px; background: #fff; }
.ti-player-summary, .ti-player-snapshot { padding: 22px; border: 1px solid var(--ti-line); border-radius: 16px; background: #fff; }
.ti-player-summary-block { margin-top: 18px; }
.ti-player-summary-block + .ti-player-summary-block { padding-top: 18px; border-top: 1px solid var(--ti-line); }
.ti-player-summary-block > header, .ti-player-snapshot > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.ti-player-summary-block > header span, .ti-player-snapshot > header span { color: var(--ti-navy-2); font: 700 1.15rem var(--font-head); text-transform: uppercase; letter-spacing: .03em; }
.ti-player-summary-block > header small { color: var(--ti-muted); font-size: .58rem; text-transform: uppercase; letter-spacing: .07em; }
.ti-player-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; margin-top: 10px; }
.ti-player-summary-grid .ti-player-stat, .ti-player-snapshot-grid .ti-player-stat { min-height: 76px; padding: 10px 7px; border: 1px solid #dbe6eb; background: #edf3f6; }
.ti-player-summary-grid .ti-player-stat.is-feature { color: var(--ti-navy-2); border-color: #b8d7df; background: #dcecef; }
.ti-player-summary-grid .ti-player-stat strong, .ti-player-snapshot-grid .ti-player-stat strong { font-size: clamp(1.35rem, 2.3vw, 1.85rem); }
.ti-player-summary-grid .ti-player-stat span, .ti-player-snapshot-grid .ti-player-stat span { margin-top: 6px; line-height: 1.2; }
.ti-player-snapshot > header { align-items: flex-start; flex-direction: column; }
.ti-player-snapshot > header button { padding: 0; border: 0; color: #2b779f; background: transparent; font: 700 .66rem var(--font-body); cursor: pointer; }
.ti-player-snapshot-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 16px; }
.ti-player-scorecard { padding: 24px; }
.ti-player-scorecard h3, .ti-player-pane-title h3 { margin: 8px 0 0; color: var(--ti-navy-2); font: 700 clamp(1.55rem, 3vw, 2.35rem)/1 var(--font-head); text-transform: uppercase; }
.ti-player-scorecard-stats, .ti-player-big-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 24px; }
.ti-player-big-stats { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }
.ti-player-stat { display: grid; align-content: center; min-height: 92px; box-sizing: border-box; padding: 15px 12px; border-radius: 12px; color: var(--ti-navy-2); background: #edf3f6; text-align: center; }
.ti-player-stat.is-feature { color: #fff; background: var(--ti-navy-2); }
.ti-player-big-stats .ti-player-stat { min-height: 82px; padding: 12px 8px; border: 1px solid #dbe6eb; background: #fff; }
.ti-player-big-stats .ti-player-stat.is-feature { color: var(--ti-navy-2); border-color: #b8d7df; background: #dcecef; }
.ti-player-big-stats .ti-player-stat strong { font-size: clamp(1.45rem, 2.5vw, 2rem); }
.ti-player-big-stats .ti-player-stat span { line-height: 1.25; }
.ti-player-stat strong { font: 700 clamp(1.65rem, 3vw, 2.4rem)/1 var(--font-head); }
.ti-player-stat span { margin-top: 8px; color: inherit; opacity: .72; font-size: .58rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.ti-player-story { display: flex; flex-direction: column; justify-content: space-between; padding: 24px; }
.ti-player-story p { margin: 18px 0 24px; color: var(--ti-navy-2); font: 600 1.35rem/1.35 var(--font-body); }
.ti-player-story p b { color: var(--ti-red); font: 700 2.6rem/1 var(--font-head); }
.ti-player-story button { align-self: flex-start; padding: 0; border: 0; color: #2b779f; background: transparent; font: 700 .7rem var(--font-body); cursor: pointer; }
.ti-player-loading-line, .ti-player-empty { margin: 16px 0 0; color: var(--ti-muted); font-size: .68rem; }
.ti-player-pane-title { display: flex; align-items: center; gap: 12px; margin: 2px 0 14px; }
.ti-player-pane-title > span { color: var(--ti-red); font: 700 .68rem var(--font-head); letter-spacing: .12em; text-transform: uppercase; }
.ti-player-pane-title::after { content: ""; order: 2; flex: 1; height: 1px; background: var(--ti-line); }
.ti-player-pane-title h3 { order: 1; margin: 0; color: var(--ti-muted); font: 600 .72rem var(--font-body); text-align: left; text-transform: none; }
.ti-player-pressure { display: grid; grid-template-columns: minmax(230px, .9fr) repeat(4, minmax(100px, .45fr)); gap: 8px; align-items: stretch; margin-top: 16px; padding: 18px; }
.ti-player-pressure > div:first-child { align-self: center; padding: 6px; }
.ti-player-pressure h4 { margin: 8px 0 0; color: var(--ti-navy-2); font: 700 1.45rem/1.05 var(--font-head); text-transform: uppercase; }
.ti-player-quick-read { margin-top: 16px; padding: 22px; }
.ti-player-quick-read p { margin: 10px 0 0; color: var(--ti-muted); font-size: .74rem; line-height: 1.55; }
.ti-player-moments { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.ti-player-situations { display: grid; gap: 12px; padding: 18px 20px; border: 1px solid var(--ti-line); border-radius: 15px; background: #fff; }
.ti-player-situation-row > div:first-child { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin-bottom: 6px; }
.ti-player-situation-row span { color: var(--ti-navy-2); font-size: .7rem; font-weight: 700; }
.ti-player-situation-row strong { color: var(--ti-navy-2); font: 700 1rem/1 var(--font-head); }
.ti-player-situation-row strong small { margin-left: 7px; color: var(--ti-muted); font: 600 .58rem var(--font-body); text-transform: uppercase; }
.ti-player-situation-bar { height: 8px; overflow: hidden; border-radius: 999px; background: #edf3f6; }
.ti-player-situation-bar i { display: block; height: 100%; border-radius: inherit; background: var(--ti-blue); }
.ti-two-out-brand { display: inline-flex; align-items: center; gap: 7px; }
.ti-two-out-brand > i { display: inline-grid; grid-auto-flow: column; gap: 3px; }
.ti-two-out-brand > i b { width: 7px; height: 7px; border: 2px solid var(--ti-red); border-radius: 50%; background: #fff; box-shadow: 0 0 0 2px rgba(230,57,70,.08); }
.ti-two-out-brand > strong { color: var(--ti-navy-2); font: 800 .7rem/1 var(--font-body); letter-spacing: .075em; }
.ti-two-out-brand > strong em { color: var(--ti-red); font-style: normal; }
.ti-two-out-brand > strong > b { color: var(--ti-navy-2); font-weight: 800; white-space: nowrap; }
.ti-player-situation-row.is-two-out .ti-player-situation-bar i { background: linear-gradient(90deg, var(--ti-blue) 0 72%, var(--ti-red) 72% 100%); }
.ti-player-moment { display: grid; min-height: 150px; box-sizing: border-box; padding: 18px; border: 1px solid var(--ti-line); border-radius: 15px; background: #fff; }
.ti-player-moment span { color: var(--ti-muted); font-size: .67rem; font-weight: 700; }
.ti-player-moment strong { align-self: end; color: var(--ti-blue); font: 700 2.6rem/1 var(--font-head); }
.ti-player-moment small { margin-top: 5px; color: var(--ti-navy-2); font-size: .63rem; font-weight: 700; text-transform: uppercase; }
.ti-player-moment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; align-items: start; }
.ti-player-moment-grid.is-solo { grid-template-columns: 1fr; }
.ti-player-approach { margin-top: 12px; }
.ti-player-data-chart { min-width: 0; padding: 18px; }
.ti-player-data-chart > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin-bottom: 13px; }
.ti-player-data-chart > header > div { display: grid; gap: 3px; }
.ti-player-data-chart > header span { color: var(--ti-navy-2); font: 700 .92rem/1 var(--font-head); letter-spacing: .04em; text-transform: uppercase; }
.ti-player-data-chart > header small { color: var(--ti-muted); font-size: .55rem; }
.ti-player-data-chart > header > strong { color: var(--ti-red-ink); font: 700 .67rem var(--font-head); white-space: nowrap; }
.ti-player-chart-empty { padding: 24px; color: var(--ti-muted); font-size: .68rem; text-align: center; }
.ti-spray-field { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: 1.15fr .85fr; gap: 7px; min-height: 238px; padding: 10px; border-radius: 13px; background: linear-gradient(180deg, #d9edf0 0 57%, #e9dfc7 57% 100%); }
.ti-spray-zone { position: relative; display: grid; place-items: center; min-width: 0; border: 1px solid rgba(44,91,111,.15); border-radius: 11px; background: rgba(255,255,255,.42); }
.ti-spray-zone.is-infield { border-color: rgba(133,94,42,.14); background: rgba(255,250,237,.56); }
.ti-spray-zone > span { position: absolute; top: 7px; left: 8px; color: #5f7886; font-size: .49rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ti-spray-bubble { display: grid; place-items: center; align-content: center; width: var(--bubble); height: var(--bubble); border: 3px solid #fff; border-radius: 50%; color: #fff; background: var(--ti-navy-2); box-shadow: 0 5px 14px rgba(29,53,87,.2); }
.ti-spray-bubble.is-hit { background: #3184aa; }
.ti-spray-bubble.is-xbh { background: var(--ti-red); }
.ti-spray-bubble strong { font: 700 .76rem/1 var(--font-head); }
.ti-spray-bubble small { margin-top: 3px; color: rgba(255,255,255,.84); font-size: .42rem; font-weight: 700; text-transform: uppercase; }
.ti-player-spray > footer { display: flex; flex-wrap: wrap; gap: 7px 14px; margin-top: 10px; color: var(--ti-muted); font-size: .49rem; }
.ti-player-spray > footer span { display: flex; align-items: center; gap: 4px; }
.ti-player-spray > footer i { width: 7px; height: 7px; border-radius: 50%; background: #3184aa; }
.ti-player-spray > footer i.is-xbh { background: var(--ti-red); }
.ti-decision-key { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin: 0 0 10px; color: var(--ti-muted); font-size: .6rem; }
.ti-decision-key-side { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 9px; }
.ti-decision-key-side.is-swing { justify-content: flex-end; text-align: right; }
.ti-decision-key-side strong { color: var(--ti-navy-2); font-size: .6rem; text-transform: uppercase; letter-spacing: .04em; }
.ti-decision-key-side span { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; }
.ti-decision-key-side i { width: 9px; height: 9px; border-radius: 2px; }
.ti-decision-key .is-ball, .ti-decision-segment.is-ball { background: #dce3ed; }
.ti-decision-key .is-called, .ti-decision-segment.is-called { background: var(--ti-navy-2); }
.ti-decision-key .is-whiff, .ti-decision-segment.is-whiff { background: #b3282d; }
.ti-decision-key .is-foul, .ti-decision-segment.is-foul { background: #e8a6a9; }
.ti-decision-key .is-out, .ti-decision-segment.is-out { background: #8a96ac; }
.ti-decision-key .is-hit, .ti-decision-segment.is-hit { background: #c9a227; }
.ti-decision-rows { display: grid; gap: 2px; }
.ti-decision-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) 2px minmax(0, 1fr) 68px; align-items: center; gap: 3px; min-width: 0; padding: 3px 0; }
.ti-decision-count { color: var(--ti-navy-2); font: 700 .75rem/1 var(--font-head); }
.ti-decision-half { display: flex; min-width: 0; gap: 1px; overflow: hidden; }
.ti-decision-half.is-take { justify-content: flex-end; }
.ti-decision-segment { flex: 0 0 auto; min-width: 2px; height: 14px; }
.ti-decision-spine { width: 2px; height: 20px; background: var(--ti-navy-2); }
.ti-decision-total { color: var(--ti-muted); font-size: .58rem; text-align: right; white-space: nowrap; }
.ti-decision-total b { color: #7a8c9c; font-weight: 500; }
.ti-decision-footer { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--ti-line); color: var(--ti-muted); font-size: .55rem; }
.ti-decision-footer strong { color: var(--ti-red-ink); font-size: .58rem; text-align: right; }
.ti-player-games { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ti-player-game { display: grid; grid-template-columns: 74px minmax(0, 1fr) minmax(145px, auto); gap: 15px; align-items: center; padding: 16px; }
button.ti-player-game { width: 100%; color: inherit; font: inherit; text-align: left; cursor: pointer; appearance: none; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
button.ti-player-game:hover { border-color: var(--ti-blue); box-shadow: 0 8px 20px rgba(29,53,87,.1); transform: translateY(-1px); }
button.ti-player-game:focus-visible { outline: 3px solid rgba(69,123,157,.3); outline-offset: 2px; }
.ti-player-game-result { display: grid; place-items: center; min-height: 58px; border-radius: 10px; color: #fff; background: var(--ti-navy-2); font: 700 .88rem var(--font-head); text-align: center; }
.ti-player-game-result.is-w { background: #227254; }
.ti-player-game-result.is-l { background: #a63c45; }
.ti-player-game span { color: var(--ti-muted); font-size: .58rem; text-transform: uppercase; letter-spacing: .05em; }
.ti-player-game h4 { margin: 3px 0 0; color: var(--ti-navy-2); font-size: .78rem; }
.ti-player-game h4 small { display: block; margin-top: 5px; color: var(--ti-blue); font: 700 .56rem var(--font-body); letter-spacing: 0; text-transform: none; }
.ti-player-game-line { margin: 0; color: var(--ti-navy-2); font-size: .76rem; font-weight: 700; line-height: 1.4; text-align: right; }
.ti-placeholder { padding: 54px 30px; text-align: center; border: 1px dashed #bacbd5; border-radius: 12px; background: rgba(255,255,255,0.52); }
.ti-placeholder h3 { margin: 0 0 8px; color: var(--ti-navy-2); font: 600 1.35rem var(--font-head); text-transform: uppercase; }
.ti-placeholder p { max-width: 560px; margin: 0 auto; color: var(--ti-muted); line-height: 1.6; }
.ti-loading { padding: 40px; color: var(--ti-muted); text-align: center; }
.ti-denied { max-width: 520px; margin: 12vh auto; padding: 20px; }
.tt-toast { position: fixed; right: 20px; bottom: 20px; z-index: 50; padding: 11px 16px; border-radius: 8px; color: #fff; background: var(--ti-navy-2); box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
.tt-toast.tt-error { background: #9f2f24; }
.tt-toast.tt-success { background: #226648; }

@media (max-width: 900px) {
  .ti-app { grid-template-columns: 1fr; }
  .ti-sidebar { position: relative; height: auto; min-height: 0; }
  .ti-product { margin: 28px 0 20px; }
  .ti-product h1 { font-size: 2rem; }
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-product,
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-list-heading { display: none; }
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-sidebar { padding-bottom: 16px; }
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-event-list { margin-top: 18px; }
  .ti-event-list { max-height: 220px; overflow-y: auto; }
  .ti-admin-link { margin-top: 12px; }
  .ti-event-header { align-items: flex-start; flex-direction: column; }
  .ti-header-actions { justify-content: flex-start; }
  .ti-header-player-search { width: 100%; }
  .ti-board-intro { align-items: flex-start; flex-direction: column; }
  .ti-section-actions { align-items: flex-start; flex-direction: column; }
  .ti-overview-performer-action { align-items: center; flex-direction: column; }
  .ti-award-masthead { grid-template-columns: 78px minmax(0, 1fr); }
  .ti-award-badge { width: 78px; height: 78px; }
  .ti-award-masthead .ti-export { grid-column: 2; justify-self: start; }
  .ti-pulse { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ti-pulse-stat:nth-child(2) { border-right: 0; }
  .ti-pulse-stat:nth-child(-n+2) { border-bottom: 1px solid var(--ti-line); }
  .ti-leader-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ti-intel-grid { grid-template-columns: 1fr; }
  .ti-game-grid { grid-template-columns: 1fr; }
  .ti-intel-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ti-catalog-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ti-catalog-search { grid-column: 1 / -1; }
  .ti-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ti-player-home { grid-template-columns: 1fr; }
  .ti-player-search-band { grid-template-columns: 1fr; gap: 14px; }
  .ti-player-modal { padding: 0; }
  .ti-player-drawer { width: 100vw; border-radius: 0; }
  .ti-player-card-grid, .ti-player-moment-grid { grid-template-columns: 1fr; }
  .ti-player-visual-profile { grid-template-columns: 1fr; }
  .ti-player-visual-side { padding: 20px 0 0; border-top: 1px solid var(--ti-line); border-left: 0; }
  .ti-player-pressure { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ti-player-pressure > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-sidebar { padding: 17px 18px 14px; }
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-event-list { margin-top: 13px; }
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-event-item,
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-admin-link { display: none; }
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-library-button { padding: 10px 12px; }
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-library-button span { display: none; }
  .ti-main { padding: 28px 16px 50px; }
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-main { padding-top: 10px; }
  .ti-public-app:has(#ti-workspace:not([hidden])) .ti-back-catalog { margin-bottom: 6px; }
  .ti-metrics { grid-template-columns: repeat(2, 1fr); }
  .ti-event-header { min-height: 0; padding: 21px 20px; border-radius: 17px; }
  .ti-event-header h2 { margin-top: 9px; font-size: 2rem; }
  .ti-event-header p { font-size: .75rem; line-height: 1.45; }
  .ti-event-header .ti-status { padding: 5px 8px; font-size: .56rem; }
  .ti-tabs { position: sticky; top: 0; z-index: 10; margin-top: 15px; background: rgba(237,242,244,.96); backdrop-filter: blur(10px); }
  .ti-tabs button { padding: 11px 12px; }
  .ti-player-home { gap: 18px; padding: 24px 20px; border-radius: 17px; }
  .ti-player-home h3 { font-size: 2.8rem; }
  .ti-player-home-copy > p { font-size: .78rem; }
  .ti-player-home-links { display: none; }
  .ti-find-player { padding: 16px; }
  .ti-find-player input { min-height: 50px; font-size: 16px; }
  .ti-find-grid { grid-template-columns: 1fr; }
  .ti-find-card { padding: 17px; }
  .ti-overview-lead, .ti-section-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .ti-section-actions { width: 100%; }
  .ti-stats-controls { align-items: stretch; flex-direction: column; }
  .ti-stats-controls label { min-width: 0; }
  .ti-overview-cta { width: 100%; }
  .ti-overview-performer-action .ti-overview-cta { width: auto; }
  .ti-recognition-head { min-height: 126px; padding-right: 142px; }
  .ti-overview-performer-action { width: auto; }
  .ti-overview-performer-action img { width: 70px; height: 70px; }
  .ti-feature-carousel .ti-feature-player { flex-basis: min(86vw, 420px); }
  .ti-all-tournament-preview { min-height: 0; padding: 22px 98px 22px 20px; }
  .ti-all-tournament-preview::after { display: none; }
  .ti-all-tournament-preview > img { right: 15px; top: 17px; width: 68px; height: 68px; transform: none; border-radius: 11px; }
  .ti-all-tournament-preview h3 { max-width: 270px; font-size: 2rem; }
  .ti-all-tournament-preview p { max-width: none; }
  .ti-all-tournament-preview-stats { gap: 7px 15px; margin: 16px 0; }
  .ti-award-masthead { grid-template-columns: 62px minmax(0, 1fr); gap: 12px; padding: 13px; text-align: left; }
  .ti-award-badge { width: 62px; height: 62px; margin: 0; }
  .ti-award-title { justify-content: flex-start; }
  .ti-award-title h3 { font-size: 1.45rem; }
  .ti-award-masthead p { font-size: .68rem; }
  .ti-award-masthead .ti-export { grid-column: 1 / -1; justify-self: start; }
  .ti-filter-bar { grid-template-columns: 1fr; }
  .ti-pulse { grid-template-columns: 1fr 1fr; }
  .ti-pulse-stat { padding: 16px; }
  .ti-pulse-stat strong { font-size: 1.85rem; }
  .ti-pulse-stat small { display: none; }
  .ti-feature-grid { grid-template-columns: 1fr; }
  .ti-feature-player { padding: 20px; }
  .ti-feature-player h4 { font-size: 1.65rem; }
  .ti-feature-score { min-width: 72px; }
  .ti-feature-stats { gap: 5px; }
  .ti-feature-stats div { padding: 10px 3px; }
  .ti-leader-grid { display: flex; padding-bottom: 8px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .ti-leader-tile { flex: 0 0 250px; scroll-snap-align: start; }
  .ti-section-heading p { text-align: left; }
  .ti-scout-card, .ti-field-card { padding: 21px; }
  .ti-game-read-head { align-items: flex-start; flex-direction: column; }
  .ti-intel-metrics { grid-template-columns: 1fr 1fr; }
  .ti-situation-row { grid-template-columns: minmax(120px, 1fr) 45px; }
  .ti-situation-track { grid-column: 1 / -1; grid-row: 2; }
  .ti-player-drawer { width: 100vw; padding: 0; }
  .ti-player-modal .ti-player-close { position: fixed; top: 12px; right: 12px; }
  .ti-player-card-top { min-height: 54px; padding: 11px 58px 11px 17px; }
  .ti-player-card-top small { max-width: 48%; }
  .ti-player-spotlight { grid-template-columns: 1fr; gap: 16px; align-items: start; padding: 20px; }
  .ti-player-identity h2 { font-size: clamp(2.25rem, 11vw, 3.1rem); }
  .ti-player-sidecar { justify-items: stretch; gap: 12px; }
  .ti-player-headline-line { justify-content: flex-start; }
  .ti-player-headline-line strong, .ti-player-headline-line b { font-size: clamp(1.45rem, 8vw, 2rem); }
  .ti-player-headline-line span { text-align: left; }
  .ti-player-share { display: flex; align-items: center; justify-content: space-between; min-width: 0; text-align: left; }
  .ti-player-share button { min-width: 150px; }
  .ti-player-browser { padding: 8px 12px; }
  .ti-player-browser button { min-height: 44px; padding: 10px 14px; }
  .ti-player-browser-body { padding: 18px 15px 34px; }
  .ti-player-scorecard, .ti-player-story { padding: 19px; }
  .ti-player-summary, .ti-player-snapshot { padding: 18px; }
  .ti-player-signature { align-items: flex-start; padding: 14px; }
  .ti-player-signature > span { flex-basis: 62px; min-height: 62px; }
  .ti-player-line-table { margin-right: 0; border-right: 1px solid var(--ti-line); border-radius: 12px; }
  .ti-player-line-table table { min-width: 0; table-layout: fixed; }
  .ti-player-line-table th, .ti-player-line-table td { min-width: 0; padding: 10px 3px; }
  .ti-player-line-table th { font-size: .48rem; letter-spacing: .03em; }
  .ti-player-line-table td { font-size: .96rem; }
  .ti-player-rate-strip .ti-player-chip { padding: 9px 12px; font-size: .76rem; }
  .ti-player-card-brief > .ti-player-chips .ti-player-chip { padding: 9px 12px; font-size: .74rem; }
  .ti-player-visual-profile { gap: 18px; padding-top: 18px; }
  .ti-player-percentile-scale { display: none; }
  .ti-player-percentile-row { grid-template-columns: 86px minmax(125px, 1fr) 46px; gap: 9px; }
  .ti-player-percentile-row.is-two-out-metric { grid-template-columns: 100px minmax(115px, 1fr) 38px; }
  .ti-player-percentile-row > span { font-size: .62rem; }
  .ti-player-pitch-profile { padding: 17px 15px; }
  .ti-player-command-meters { grid-template-columns: 1fr; }
  .ti-player-data-chart { padding: 15px; }
  .ti-spray-field { min-height: 218px; padding: 8px; }
  .ti-decision-key { gap: 8px; }
  .ti-decision-key-side { gap: 4px 6px; }
  .ti-decision-row { grid-template-columns: 30px minmax(0, 1fr) 2px minmax(0, 1fr) 64px; }
  .ti-decision-segment { height: 13px; }
  .ti-player-visual-side { grid-template-columns: 1fr; gap: 24px; }
  .ti-player-trend-game { grid-template-columns: 82px minmax(90px, 1fr) 36px auto; gap: 7px; }
  .ti-player-trend-label span { font-size: .53rem; }
  .ti-player-summary-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ti-player-scorecard-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ti-player-big-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ti-player-stat { min-height: 88px; }
  .ti-player-pane-title { align-items: center; flex-direction: row; gap: 9px; }
  .ti-player-pressure { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 13px; }
  .ti-player-moments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ti-player-moment { min-height: 130px; }
  .ti-player-games { grid-template-columns: 1fr; }
  .ti-player-game { grid-template-columns: 66px minmax(0, 1fr); gap: 11px 14px; }
  .ti-player-game-result { grid-row: 1 / span 2; }
  .ti-player-game-line { grid-column: 2; font-size: .72rem; text-align: left; }
  .ti-game-drawer { width: 100vw; padding: 44px 16px 50px; }
  .ti-recovery { align-items: flex-start; flex-direction: column; }
  .ti-player-metrics { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ti-selection-hero { grid-template-columns: 1fr; gap: 12px; padding: 25px 21px; text-align: center; }
  .ti-selection-hero-compact { grid-template-columns: 62px minmax(0, 1fr); padding: 13px; text-align: left; }
  .ti-selection-badge { width: 140px; height: 140px; margin: 0 auto; }
  .ti-selection-hero-compact .ti-selection-badge { width: 62px; height: 62px; margin: 0; }
  .ti-selection-hero-compact h3 { font-size: 1.45rem; }
  .ti-selection-counts { grid-template-columns: auto 1fr; justify-content: center; text-align: left; }
  .ti-formula-modal { padding: 10px; }
  .ti-formula-card { max-height: calc(100vh - 20px); padding: 25px 18px; }
  .ti-formula-head { align-items: flex-start; gap: 13px; padding-right: 30px; }
  .ti-formula-head img { width: 76px; height: 76px; }
  .ti-formula-equation { padding: 17px; }
  .ti-grayson-example { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
  .ti-catalog > header { align-items: flex-start; flex-direction: column; gap: 12px; padding-top: 5px; }
  .ti-catalog > header > strong span { text-align: left; }
  .ti-catalog-filters { grid-template-columns: 1fr; }
  .ti-catalog-search { grid-column: auto; }
  .ti-catalog-grid { grid-template-columns: 1fr; }
  .ti-catalog-card { min-height: 155px; }
}

.ti-public-body { background: linear-gradient(180deg, #edf2f4 0, #f8fafb 46%, #edf2f4 100%); }
.ti-public-sidebar { background: linear-gradient(165deg, #142b49 0%, #1d3557 64%, #294e68 100%); }
.ti-public-app:has(#ti-workspace:not([hidden])) { grid-template-columns: 1fr; }
.ti-public-app:has(#ti-workspace:not([hidden])) .ti-sidebar { display: none; }
.ti-public-event-header { min-height: 0; padding: 22px 26px; border-radius: 17px; background: linear-gradient(118deg, rgba(21,43,73,.99), rgba(29,53,87,.96)), radial-gradient(circle at 82% 28%, rgba(168,218,220,.2), transparent 32%); }
.ti-public-event-header::before { right: -80px; bottom: -330px; }
.ti-public-event-header::after { display: none; }
.ti-public-event-header h2 { margin: 8px 0 7px; font-size: clamp(1.75rem, 3vw, 2.65rem); }
.ti-public-event-header p { font-size: .76rem; }
.ti-public-event-header > .ti-status { position: relative; z-index: 1; align-self: flex-end; }
.ti-public-event-header > .ti-header-player-search { align-self: flex-end; }

@media (max-width: 620px) {
  .ti-public-event-header { padding: 16px 17px; }
  .ti-public-event-header h2 { margin-top: 6px; font-size: 1.65rem; }
  .ti-public-event-header > .ti-status { align-self: flex-start; }
  .ti-public-event-header > .ti-header-player-search { align-self: stretch; }
  .ti-header-player-search input { min-height: 44px; font-size: 16px; }
  .ti-player-search-band { padding: 16px; }
}
