:root {
  --canvas: #0b0e14;
  --canvas-2: #0e1219;
  --surface: #131821;
  --surface-2: #1a202b;
  --surface-3: #202735;
  --line: #293140;
  --line-soft: rgba(255, 255, 255, .07);
  --text: #f4f7fb;
  --text-2: #c7cfdd;
  --muted: #8f9bad;
  --muted-2: #667286;
  --accent: #4f8cff;
  --accent-rgb: 79, 140, 255;
  --success: #39d98a;
  --warning: #f5b942;
  --danger: #ff5c6c;
  --info: #62c3ff;
  --sidebar-width: 284px;
  --topbar-height: 76px;
  --radius-xs: 8px;
  --radius-sm: 12px;
  --radius: 16px;
  --radius-lg: 22px;
  --shadow: 0 18px 60px rgba(0, 0, 0, .28);
  --shadow-sm: 0 8px 26px rgba(0, 0, 0, .2);
  --ease: 180ms ease;
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--canvas); color: var(--text); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 15px; line-height: 1.5; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.svg-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
[hidden] { display: none !important; }

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--canvas); }
::-webkit-scrollbar-thumb { background: var(--surface-3); border: 2px solid var(--canvas); border-radius: 10px; }

.app-shell { min-height: 100vh; }
.sidebar { position: fixed; inset: 0 auto 0 0; width: var(--sidebar-width); display: flex; flex-direction: column; padding: 22px 16px 16px; background: linear-gradient(180deg, #10151e 0%, #0d1118 100%); border-right: 1px solid var(--line-soft); z-index: 50; }
.brand-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 8px 22px; }
.brand { display: flex; align-items: center; min-width: 0; gap: 12px; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(var(--accent-rgb), .35); border-radius: 13px; background: rgba(var(--accent-rgb), .12); color: var(--accent); }
.brand-mark svg { width: 34px; height: 34px; stroke: none; }
.brand-copy { display: grid; min-width: 0; }
.brand-copy strong { font-size: 17px; letter-spacing: -.25px; }
.brand-copy small { color: var(--muted); font-size: 11px; white-space: nowrap; }
.sidebar-close { display: none !important; }

.league-card { width: 100%; display: grid; grid-template-columns: 42px minmax(0, 1fr) 18px; align-items: center; gap: 11px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); text-align: left; cursor: pointer; transition: border-color var(--ease), background var(--ease); }
.league-card:hover { border-color: rgba(var(--accent-rgb), .38); background: var(--surface-2); }
.league-card__logo { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 12px; background: linear-gradient(145deg, rgba(var(--accent-rgb), .28), rgba(var(--accent-rgb), .1)); color: var(--accent); font-weight: 850; font-size: 12px; letter-spacing: -.3px; }
.league-card__copy { display: grid; min-width: 0; }
.league-card__copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.league-card__meta { color: var(--muted); font-size: 11px; }
.league-card__chevron { width: 16px; color: var(--muted); }

.eyebrow { display: block; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.nav-list { display: flex; flex-direction: column; gap: 4px; margin-top: 18px; min-height: 0; overflow-y: auto; padding: 0 4px 10px; }
.nav-item { position: relative; display: flex; align-items: center; gap: 12px; min-height: 42px; padding: 0 12px; border-radius: 11px; color: var(--muted); font-weight: 650; font-size: 13px; transition: color var(--ease), background var(--ease); }
.nav-item svg { width: 18px; height: 18px; }
.nav-item:hover { color: var(--text); background: rgba(255,255,255,.045); }
.nav-item.is-active { color: var(--text); background: rgba(var(--accent-rgb), .13); }
.nav-item.is-active::before { content: ""; position: absolute; left: 0; width: 3px; height: 22px; border-radius: 0 4px 4px 0; background: var(--accent); }
.nav-item--featured { color: var(--text-2); }
.nav-badge { margin-left: auto; min-width: 21px; height: 21px; display: inline-grid; place-items: center; padding: 0 6px; border-radius: 999px; background: var(--accent); color: #fff; font-size: 10px; font-weight: 800; }
.nav-badge--quiet { background: var(--surface-3); color: var(--muted); }
.nav-divider { display: flex; align-items: center; min-height: 32px; margin-top: 8px; padding: 0 12px; color: var(--muted-2); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.sidebar-footer { margin-top: auto; padding: 14px 8px 0; border-top: 1px solid var(--line-soft); }
.sync-status { display: flex; align-items: flex-start; gap: 9px; }
.sync-status div { display: grid; }
.sync-status strong { font-size: 11px; }
.sync-status span:not(.status-dot) { color: var(--muted); font-size: 10px; }
.version-label { display: block; margin-top: 10px; color: var(--muted-2); font-size: 10px; }
.status-dot { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: var(--muted); }
.status-dot--warning { margin-top: 5px; background: var(--warning); box-shadow: 0 0 0 4px rgba(245,185,66,.08); }
.status-dot--live { background: var(--success); box-shadow: 0 0 0 4px rgba(57,217,138,.08); animation: pulse 2.2s infinite; }
@keyframes pulse { 0%, 100% { box-shadow: 0 0 0 4px rgba(57,217,138,.08); } 50% { box-shadow: 0 0 0 8px rgba(57,217,138,0); } }

.workspace { min-height: 100vh; margin-left: var(--sidebar-width); }
.topbar { position: sticky; top: 0; z-index: 30; height: var(--topbar-height); display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 0 28px; background: rgba(11,14,20,.86); border-bottom: 1px solid var(--line-soft); backdrop-filter: blur(18px); }
.topbar__left, .topbar__right { display: flex; align-items: center; gap: 12px; }
.mobile-menu-button { display: none !important; }
.command-search { width: min(370px, 36vw); height: 42px; display: flex; align-items: center; gap: 10px; padding: 0 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--muted); cursor: pointer; transition: border-color var(--ease), background var(--ease); }
.command-search:hover { border-color: rgba(var(--accent-rgb), .4); background: var(--surface-2); }
.command-search span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
kbd { margin-left: auto; padding: 2px 7px; border: 1px solid var(--line); border-bottom-color: #394356; border-radius: 6px; background: var(--canvas-2); color: var(--muted); font-size: 10px; white-space: nowrap; }
.live-chip { display: flex; align-items: center; gap: 8px; min-height: 34px; padding: 0 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--text-2); font-size: 11px; font-weight: 700; }
.icon-button { width: 40px; height: 40px; display: inline-grid; place-items: center; flex: 0 0 auto; padding: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--surface); color: var(--muted); cursor: pointer; transition: color var(--ease), border-color var(--ease), background var(--ease); }
.icon-button:hover { color: var(--text); border-color: rgba(var(--accent-rgb), .4); background: var(--surface-2); }
.icon-button--small { width: 34px; height: 34px; }
.notification-button { position: relative; }
.notification-dot { position: absolute; right: 8px; top: 7px; width: 7px; height: 7px; border: 2px solid var(--surface); border-radius: 50%; background: var(--danger); }
.profile-button { position: relative; display: grid; grid-template-columns: 36px auto 16px; align-items: center; gap: 9px; min-height: 48px; padding: 5px 10px 5px 6px; border: 1px solid transparent; border-radius: 12px; background: transparent; cursor: pointer; }
.profile-button:hover { border-color: var(--line); background: var(--surface); }
.avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 11px; background: linear-gradient(135deg, var(--accent), #7c5cff); color: #fff; font-size: 12px; font-weight: 850; }
.profile-copy { display: grid; text-align: left; }
.profile-copy strong { font-size: 12px; }
.profile-copy small { color: var(--muted); font-size: 10px; }
.profile-button > svg { width: 15px; color: var(--muted); }
.profile-menu { position: absolute; top: 64px; right: 24px; width: 292px; display: none; padding: 8px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface); box-shadow: var(--shadow); }
.profile-menu.is-open { display: block; animation: menuIn 150ms ease-out; }
@keyframes menuIn { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
.profile-menu__header { display: grid; padding: 10px 12px 8px; border-bottom: 1px solid var(--line-soft); margin-bottom: 5px; }
.profile-menu button { width: 100%; display: grid; grid-template-columns: 36px 1fr 18px; align-items: center; gap: 9px; padding: 9px; border: 0; border-radius: 10px; background: transparent; text-align: left; cursor: pointer; }
.profile-menu button:hover, .profile-menu button.is-selected { background: var(--surface-2); }
.profile-menu button > span:nth-child(2) { display: grid; }
.profile-menu button strong { font-size: 12px; }
.profile-menu button small { color: var(--muted); font-size: 10px; }
.menu-icon { width: 34px; height: 34px; display: inline-grid; place-items: center; border-radius: 10px; background: rgba(var(--accent-rgb), .1); color: var(--accent); }
.menu-icon svg { width: 17px; }
.check-icon { width: 16px; color: var(--accent); opacity: 0; }
.profile-menu button.is-selected .check-icon { opacity: 1; }

.main-content { min-height: calc(100vh - var(--topbar-height)); padding: 30px; outline: none; }
[data-page-content] { max-width: 1500px; margin: 0 auto; animation: pageIn 180ms ease-out; }
@keyframes pageIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.page-loading { display: none; justify-content: center; gap: 5px; padding: 60px; }
.page-loading.is-active { display: flex; }
.page-loading span { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); animation: loading 900ms infinite alternate; }
.page-loading span:nth-child(2) { animation-delay: 180ms; }
.page-loading span:nth-child(3) { animation-delay: 360ms; }
@keyframes loading { to { transform: translateY(-7px); opacity: .45; } }

.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }
.page-heading h1 { margin: 4px 0 5px; font-size: clamp(27px, 3vw, 40px); line-height: 1.08; letter-spacing: -.04em; }
.page-heading p { max-width: 740px; margin: 0; color: var(--muted); }
.heading-actions { display: flex; gap: 9px; flex-wrap: wrap; justify-content: flex-end; }
.button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 14px; border: 1px solid transparent; border-radius: 10px; font-size: 12px; font-weight: 750; cursor: pointer; transition: transform var(--ease), background var(--ease), border-color var(--ease); }
.button:hover { transform: translateY(-1px); }
.button svg { width: 17px; }
.button--primary { background: var(--accent); color: #fff; box-shadow: 0 8px 25px rgba(var(--accent-rgb), .18); }
.button--primary:hover { filter: brightness(1.06); }
.button--secondary { border-color: rgba(var(--accent-rgb), .28); background: rgba(var(--accent-rgb), .1); color: var(--accent); }
.button--ghost { border-color: var(--line); background: var(--surface); color: var(--text-2); }
.button--danger { border-color: rgba(255,92,108,.3); background: rgba(255,92,108,.08); color: var(--danger); }
.button--small { min-height: 34px; padding: 0 11px; font-size: 11px; }
.text-button { display: inline-flex; align-items: center; gap: 6px; padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 11px; font-weight: 750; cursor: pointer; }
.text-button svg { width: 15px; }

.card { border: 1px solid var(--line-soft); border-radius: var(--radius); background: linear-gradient(180deg, rgba(26,32,43,.9), rgba(19,24,33,.93)); box-shadow: 0 1px 0 rgba(255,255,255,.018) inset; }
.card--flat { background: var(--surface); }
.card-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-bottom: 1px solid var(--line-soft); }
.card-header > div { min-width: 0; }
.card-header h2, .card-header h3 { margin: 2px 0 0; font-size: 16px; letter-spacing: -.02em; }
.card-body { padding: 20px; }
.pill { display: inline-flex; align-items: center; gap: 6px; min-height: 23px; padding: 0 9px; border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.pill--accent { background: rgba(var(--accent-rgb), .12); color: var(--accent); }
.pill--success { background: rgba(57,217,138,.12); color: var(--success); }
.pill--warning { background: rgba(245,185,66,.12); color: var(--warning); }
.pill--danger { background: rgba(255,92,108,.12); color: var(--danger); }
.pill--neutral { background: var(--surface-3); color: var(--muted); }
.pill--info { background: rgba(98,195,255,.12); color: var(--info); }

.hero-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(300px, .8fr); gap: 18px; margin-bottom: 18px; }
.hero-card { position: relative; min-height: 320px; overflow: hidden; border: 1px solid rgba(var(--accent-rgb), .22); border-radius: var(--radius-lg); background: radial-gradient(circle at 85% 15%, rgba(var(--accent-rgb), .25), transparent 34%), linear-gradient(130deg, #151d2a 0%, #111722 54%, rgba(var(--accent-rgb), .12) 100%); }
.hero-card::after { content: ""; position: absolute; right: -90px; bottom: -160px; width: 440px; height: 440px; border: 44px solid rgba(var(--accent-rgb), .055); border-radius: 50%; }
.hero-card__content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; height: 100%; padding: 34px; }
.hero-card h2 { max-width: 700px; margin: 14px 0 10px; font-size: clamp(26px, 3.2vw, 46px); line-height: 1.04; letter-spacing: -.045em; }
.hero-card p { max-width: 640px; margin: 0; color: var(--text-2); }
.matchup-row { width: min(670px, 100%); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; margin-top: 28px; padding: 15px; border: 1px solid rgba(255,255,255,.08); border-radius: 15px; background: rgba(7,10,15,.42); backdrop-filter: blur(8px); }
.team-lockup { display: flex; align-items: center; gap: 10px; }
.team-lockup--reverse { justify-content: flex-end; text-align: right; }
.team-lockup div { display: grid; }
.team-lockup strong { font-size: 13px; }
.team-lockup span:not(.team-badge) { color: var(--muted); font-size: 11px; }
.team-badge, .mini-team, .team-logo { --team:#4f8cff; --team2:#10151e; display: inline-grid; place-items: center; flex: 0 0 auto; color: #fff; font-weight: 900; background: linear-gradient(145deg, var(--team), var(--team2)); box-shadow: 0 7px 18px color-mix(in srgb, var(--team) 18%, transparent); }
.team-badge { width: 54px; height: 54px; border-radius: 15px; font-size: 13px; }
.team-logo { width: 60px; height: 60px; border-radius: 18px; font-size: 14px; }
.team-logo--large { width: 88px; height: 88px; border-radius: 24px; font-size: 20px; }
.mini-team { width: 34px; height: 34px; border-radius: 10px; font-size: 9px; }
.versus-lockup { display: grid; place-items: center; color: var(--muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.versus-lockup strong { color: var(--text); font-size: 12px; letter-spacing: 0; }

.quick-actions-card { display: flex; flex-direction: column; }
.quick-action-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; padding: 14px; }
.quick-action-grid button { min-height: 108px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; padding: 14px; border: 1px solid var(--line-soft); border-radius: 12px; background: var(--canvas-2); text-align: left; cursor: pointer; transition: border-color var(--ease), transform var(--ease); }
.quick-action-grid button:hover { transform: translateY(-2px); border-color: rgba(var(--accent-rgb), .32); }
.quick-action-grid button > span { width: 32px; height: 32px; display: grid; place-items: center; margin-bottom: 5px; border-radius: 9px; background: rgba(var(--accent-rgb), .1); color: var(--accent); }
.quick-action-grid strong { font-size: 12px; }
.quick-action-grid small { color: var(--muted); font-size: 10px; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 18px; }
.metric-card { min-height: 148px; padding: 18px; }
.metric-card__top { display: flex; align-items: center; justify-content: space-between; }
.metric-icon { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 10px; background: rgba(var(--accent-rgb), .1); color: var(--accent); }
.metric-icon svg { width: 17px; }
.metric-label { display: block; margin-top: 16px; color: var(--muted); font-size: 11px; }
.metric-value { display: block; margin: 0 0 -2px; font-size: 27px; letter-spacing: -.04em; }
.metric-card small { color: var(--muted-2); font-size: 10px; }
.trend { padding: 3px 7px; border-radius: 999px; font-size: 9px; font-weight: 800; }
.trend--up { background: rgba(57,217,138,.1); color: var(--success); }
.trend--neutral { background: var(--surface-3); color: var(--muted); }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .85fr); gap: 18px; }
.content-grid--equal { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.content-grid--triple { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 640px; }
th { padding: 11px 14px; color: var(--muted-2); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-align: left; text-transform: uppercase; background: rgba(255,255,255,.018); }
td { padding: 12px 14px; border-top: 1px solid var(--line-soft); color: var(--text-2); font-size: 11px; }
tbody tr { transition: background var(--ease); }
tbody tr:hover { background: rgba(255,255,255,.025); }
.clickable-row { cursor: pointer; }
.cell-number { font-variant-numeric: tabular-nums; }
.table-team, .table-player { display: flex; align-items: center; gap: 10px; min-width: 150px; }
.table-team > div, .table-player > div { display: grid; }
.table-team strong, .table-player strong { color: var(--text); font-size: 11px; }
.table-team small, .table-player small { color: var(--muted); font-size: 9px; }
.seed { width: 24px; height: 24px; display: inline-grid; place-items: center; border-radius: 8px; background: var(--surface-3); color: var(--text); font-weight: 800; }
.streak { font-weight: 800; }
.streak--win { color: var(--success); }
.streak--loss { color: var(--danger); }
.activity-list { padding: 6px 20px 13px; }
.activity-item { display: grid; grid-template-columns: 38px 1fr; gap: 11px; padding: 14px 0; border-bottom: 1px solid var(--line-soft); }
.activity-item:last-child { border-bottom: 0; }
.activity-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; }
.activity-icon svg { width: 17px; }
.activity-icon--trade { background: rgba(var(--accent-rgb), .1); color: var(--accent); }
.activity-icon--score { background: rgba(57,217,138,.1); color: var(--success); }
.activity-icon--news { background: rgba(245,185,66,.1); color: var(--warning); }
.activity-icon--player { background: rgba(155,124,255,.1); color: #9b7cff; }
.activity-item div { min-width: 0; }
.activity-item strong { font-size: 11px; }
.activity-item p { margin: 2px 0; color: var(--text-2); font-size: 11px; }
.activity-item span:last-child { color: var(--muted-2); font-size: 9px; }

.filter-bar { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; padding: 13px; border: 1px solid var(--line-soft); border-radius: 14px; background: var(--surface); }
.field { display: grid; gap: 6px; min-width: 150px; }
.field--grow { flex: 1 1 260px; }
.field span { color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.input-wrap { height: 40px; display: flex; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid var(--line); border-radius: 10px; background: var(--canvas-2); }
.input-wrap:focus-within { border-color: rgba(var(--accent-rgb), .65); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .08); }
.input-wrap svg { width: 16px; color: var(--muted); }
.input-wrap input, .field select, .field input { width: 100%; height: 40px; border: 1px solid var(--line); border-radius: 10px; outline: none; background: var(--canvas-2); color: var(--text); padding: 0 11px; }
.input-wrap input { height: auto; padding: 0; border: 0; background: transparent; }
.field select:focus, .field input:focus { border-color: rgba(var(--accent-rgb), .65); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), .08); }
.result-count { margin-left: auto; align-self: center; color: var(--muted); font-size: 10px; white-space: nowrap; }
.segmented-tabs { display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; border: 1px solid var(--line); border-radius: 11px; background: var(--canvas-2); }
.segmented-tabs button { min-height: 32px; padding: 0 11px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 800; cursor: pointer; }
.segmented-tabs button:hover { color: var(--text); }
.segmented-tabs button.is-active { background: var(--surface-3); color: var(--text); box-shadow: 0 2px 8px rgba(0,0,0,.18); }

.team-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.team-card { position: relative; overflow: hidden; padding: 18px; cursor: pointer; transition: transform var(--ease), border-color var(--ease); }
.team-card:hover { transform: translateY(-3px); border-color: rgba(var(--accent-rgb), .3); }
.team-card::after { content: ""; position: absolute; right: -32px; top: -34px; width: 120px; height: 120px; border: 24px solid color-mix(in srgb, var(--team) 10%, transparent); border-radius: 50%; }
.team-card__top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.team-card__record { text-align: right; }
.team-card__record strong { display: block; font-size: 20px; letter-spacing: -.04em; }
.team-card__record small { color: var(--muted); font-size: 9px; }
.team-card h3 { margin: 15px 0 1px; font-size: 17px; }
.team-card__owner { color: var(--muted); font-size: 10px; }
.team-card__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 15px; }
.team-card__metrics span { display: grid; padding: 8px; border-radius: 9px; background: rgba(0,0,0,.15); }
.team-card__metrics strong { font-size: 12px; }
.team-card__metrics small { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.team-card__footer { display: flex; align-items: center; justify-content: space-between; margin-top: 13px; padding-top: 12px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 9px; }

.team-hero { --team:#4f8cff; --team2:#131821; position: relative; overflow: hidden; min-height: 245px; display: flex; align-items: flex-end; padding: 28px; margin-bottom: 18px; border: 1px solid color-mix(in srgb, var(--team) 30%, var(--line)); border-radius: var(--radius-lg); background: radial-gradient(circle at 88% 25%, color-mix(in srgb, var(--team) 26%, transparent), transparent 35%), linear-gradient(125deg, color-mix(in srgb, var(--team) 20%, #111722), #111722 55%, color-mix(in srgb, var(--team2) 35%, #111722)); }
.team-hero::after { content: attr(data-abbr); position: absolute; right: 4%; bottom: -18%; color: color-mix(in srgb, var(--team) 12%, transparent); font-size: clamp(130px, 20vw, 280px); font-weight: 950; line-height: 1; letter-spacing: -.1em; }
.team-hero__content { position: relative; z-index: 1; display: flex; align-items: center; gap: 20px; width: 100%; }
.team-hero__copy { min-width: 0; }
.team-hero__copy h1 { margin: 3px 0 2px; font-size: clamp(28px, 4vw, 48px); letter-spacing: -.05em; }
.team-hero__copy p { margin: 0; color: var(--text-2); }
.team-hero__record { margin-left: auto; text-align: right; }
.team-hero__record strong { display: block; font-size: 36px; letter-spacing: -.05em; }
.team-hero__record span { color: var(--muted); font-size: 10px; }
.team-summary-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; margin-bottom: 18px; }
.summary-tile { padding: 14px; }
.summary-tile span { display: block; color: var(--muted); font-size: 9px; font-weight: 750; text-transform: uppercase; }
.summary-tile strong { display: block; margin-top: 4px; font-size: 19px; letter-spacing: -.035em; }
.summary-tile small { color: var(--muted-2); font-size: 9px; }
.subnav { display: flex; gap: 4px; overflow-x: auto; margin-bottom: 16px; padding: 4px; border: 1px solid var(--line-soft); border-radius: 12px; background: var(--surface); }
.subnav button { min-width: fit-content; min-height: 36px; padding: 0 14px; border: 0; border-radius: 9px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 800; cursor: pointer; }
.subnav button.is-active { background: rgba(var(--accent-rgb), .12); color: var(--accent); }
.depth-chart { display: grid; gap: 9px; }
.depth-row { display: grid; grid-template-columns: 58px repeat(3, minmax(0, 1fr)); gap: 8px; align-items: stretch; }
.depth-position { display: grid; place-items: center; border-radius: 10px; background: var(--canvas-2); color: var(--accent); font-size: 10px; font-weight: 900; }
.depth-player { min-width: 0; display: flex; align-items: center; gap: 9px; padding: 10px; border: 1px solid var(--line-soft); border-radius: 10px; background: rgba(0,0,0,.12); cursor: pointer; }
.depth-player:hover { border-color: rgba(var(--accent-rgb), .3); }
.depth-player > div { min-width: 0; display: grid; }
.depth-player strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.depth-player small { color: var(--muted); font-size: 8px; }
.rating-chip { width: 30px; height: 30px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 9px; background: var(--surface-3); color: var(--text); font-size: 10px; font-weight: 900; }
.rating-chip--elite { background: rgba(155,124,255,.14); color: #b49cff; }
.rating-chip--high { background: rgba(57,217,138,.12); color: var(--success); }

.player-avatar { width: 38px; height: 38px; display: grid; place-items: center; flex: 0 0 auto; border-radius: 12px; background: linear-gradient(145deg, var(--surface-3), var(--canvas-2)); color: var(--muted); font-size: 10px; font-weight: 900; }
.player-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.player-card { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 11px; padding: 14px; cursor: pointer; transition: border-color var(--ease), transform var(--ease); }
.player-card:hover { transform: translateY(-2px); border-color: rgba(var(--accent-rgb), .3); }
.player-card .player-avatar { width: 48px; height: 48px; }
.player-card__copy { min-width: 0; display: grid; }
.player-card__copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.player-card__copy span { color: var(--muted); font-size: 9px; }
.player-card__rating { text-align: right; }
.player-card__rating strong { display: block; font-size: 20px; letter-spacing: -.04em; }
.player-card__rating small { color: var(--muted); font-size: 8px; }
.dev-badge { display: inline-flex; align-items: center; width: fit-content; margin-top: 3px; color: var(--warning); font-size: 8px; font-weight: 800; }
.dev-badge--xfactor { color: #ff6b8a; }
.dev-badge--superstar { color: #f5b942; }
.dev-badge--star { color: #62c3ff; }
.dev-badge--normal { color: var(--muted); }

.player-profile-hero { --team:#4f8cff; position: relative; overflow: hidden; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 20px; padding: 28px; border: 1px solid color-mix(in srgb, var(--team) 28%, var(--line)); border-radius: var(--radius-lg); background: radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--team) 25%, transparent), transparent 35%), linear-gradient(130deg, #151b25, #10151e); }
.player-profile-hero::after { content: attr(data-number); position: absolute; right: 2%; bottom: -34%; color: color-mix(in srgb, var(--team) 10%, transparent); font-size: 210px; font-weight: 950; line-height: 1; }
.player-profile-hero > * { position: relative; z-index: 1; }
.player-profile-portrait { width: 112px; height: 112px; display: grid; place-items: center; border: 1px solid color-mix(in srgb, var(--team) 45%, transparent); border-radius: 28px; background: color-mix(in srgb, var(--team) 18%, #111722); color: #fff; font-size: 29px; font-weight: 950; }
.player-profile-copy h1 { margin: 3px 0; font-size: clamp(27px, 4vw, 45px); letter-spacing: -.05em; }
.player-profile-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: var(--text-2); font-size: 11px; }
.player-profile-rating { text-align: center; }
.player-profile-rating strong { display: block; font-size: 50px; line-height: 1; letter-spacing: -.06em; }
.player-profile-rating span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.rating-bars { display: grid; gap: 11px; padding: 18px; }
.rating-row { display: grid; grid-template-columns: 120px 1fr 34px; align-items: center; gap: 10px; }
.rating-row span { color: var(--muted); font-size: 10px; }
.rating-track { height: 7px; overflow: hidden; border-radius: 999px; background: var(--canvas-2); }
.rating-fill { height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), #8caeff); }
.rating-row strong { font-size: 10px; text-align: right; }
.stat-box-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.stat-box { padding: 15px; border: 1px solid var(--line-soft); border-radius: 12px; background: rgba(0,0,0,.12); }
.stat-box span { display: block; color: var(--muted); font-size: 8px; text-transform: uppercase; }
.stat-box strong { font-size: 21px; letter-spacing: -.04em; }

.division-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.division-card .table-wrap table { min-width: 510px; }
.playoff-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.playoff-bracket { padding: 20px; }
.playoff-seed { display: grid; grid-template-columns: 27px 38px 1fr auto; align-items: center; gap: 9px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.playoff-seed:last-child { border-bottom: 0; }
.playoff-seed > strong:last-child { font-size: 11px; }
.playoff-cutline { position: relative; margin-top: 4px; padding-top: 14px; }
.playoff-cutline::before { content: "Playoff cut line"; position: absolute; top: -5px; left: 0; padding-right: 8px; background: var(--surface); color: var(--danger); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.playoff-cutline::after { content: ""; position: absolute; top: 0; left: 0; right: 0; border-top: 1px dashed rgba(255,92,108,.45); }

.leader-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.leader-card { position: relative; overflow: hidden; min-height: 198px; padding: 20px; cursor: pointer; }
.leader-card::after { content: attr(data-rank); position: absolute; right: 8px; bottom: -34px; color: rgba(var(--accent-rgb), .065); font-size: 140px; font-weight: 950; line-height: 1; }
.leader-card__top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.leader-card__player { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; margin-top: 31px; }
.leader-card__player .player-avatar { width: 55px; height: 55px; }
.leader-card__player > div { display: grid; }
.leader-card__player strong { font-size: 15px; }
.leader-card__player span { color: var(--muted); font-size: 9px; }
.leader-value { position: relative; z-index: 1; display: block; margin-top: 17px; font-size: 29px; letter-spacing: -.05em; }
.leader-value small { margin-left: 6px; color: var(--muted); font-size: 10px; letter-spacing: 0; }
.rank-number { width: 25px; height: 25px; display: grid; place-items: center; border-radius: 8px; background: rgba(var(--accent-rgb), .12); color: var(--accent); font-size: 10px; font-weight: 900; }

.week-control { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; padding: 13px; border: 1px solid var(--line-soft); border-radius: 14px; background: var(--surface); }
.week-nav { display: flex; align-items: center; gap: 8px; }
.week-label { min-width: 128px; text-align: center; }
.week-label strong { display: block; font-size: 15px; }
.week-label span { color: var(--muted); font-size: 9px; }
.schedule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.game-card { cursor: pointer; transition: transform var(--ease), border-color var(--ease); }
.game-card:hover { transform: translateY(-2px); border-color: rgba(var(--accent-rgb), .3); }
.game-card__meta { display: flex; justify-content: space-between; gap: 10px; padding: 11px 14px; border-bottom: 1px solid var(--line-soft); color: var(--muted); font-size: 9px; }
.game-card__body { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 18px; }
.game-team { display: flex; align-items: center; gap: 10px; }
.game-team--away { justify-content: flex-end; text-align: right; }
.game-team > div { display: grid; }
.game-team strong { font-size: 11px; }
.game-team span { color: var(--muted); font-size: 9px; }
.game-score { display: flex; align-items: center; gap: 8px; font-size: 22px; font-weight: 900; letter-spacing: -.045em; }
.game-score span { color: var(--muted-2); font-size: 12px; }
.game-time { min-width: 75px; text-align: center; }
.game-time strong { display: block; font-size: 12px; }
.game-time span { color: var(--muted); font-size: 8px; }
.game-card__footer { display: flex; justify-content: space-between; gap: 10px; padding: 9px 14px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 8px; }

.featured-news { position: relative; overflow: hidden; min-height: 380px; display: flex; align-items: flex-end; margin-bottom: 18px; border: 1px solid rgba(var(--accent-rgb), .22); border-radius: var(--radius-lg); background: radial-gradient(circle at 78% 22%, rgba(var(--accent-rgb), .25), transparent 28%), linear-gradient(120deg, #171e2a 0%, #111722 60%, rgba(var(--accent-rgb), .12)); cursor: pointer; }
.featured-news::before { content: "FGC"; position: absolute; right: -4%; top: -5%; color: rgba(var(--accent-rgb), .055); font-size: 220px; font-weight: 950; letter-spacing: -.08em; }
.featured-news__content { position: relative; z-index: 1; max-width: 830px; padding: 34px; }
.featured-news h2 { margin: 12px 0 9px; font-size: clamp(27px, 4vw, 48px); line-height: 1.05; letter-spacing: -.045em; }
.featured-news p { margin: 0; color: var(--text-2); }
.news-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 18px; color: var(--muted); font-size: 9px; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.news-card { overflow: hidden; cursor: pointer; transition: transform var(--ease), border-color var(--ease); }
.news-card:hover { transform: translateY(-3px); border-color: rgba(var(--accent-rgb), .3); }
.news-card__art { position: relative; height: 145px; display: flex; align-items: flex-end; padding: 14px; background: radial-gradient(circle at 80% 20%, rgba(var(--accent-rgb), .25), transparent 30%), linear-gradient(140deg, #1a2230, #10151e); }
.news-card__art::after { content: attr(data-mark); position: absolute; right: 8px; top: -15px; color: rgba(255,255,255,.04); font-size: 90px; font-weight: 950; }
.news-card__body { padding: 16px; }
.news-card__body h3 { margin: 7px 0 7px; font-size: 15px; line-height: 1.25; letter-spacing: -.02em; }
.news-card__body p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--muted); font-size: 10px; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.news-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line-soft); color: var(--muted-2); font-size: 8px; }

.roadmap-state { min-height: 480px; display: grid; place-items: center; padding: 30px; text-align: center; }
.roadmap-state__inner { max-width: 690px; }
.roadmap-icon { width: 78px; height: 78px; display: grid; place-items: center; margin: 0 auto 18px; border-radius: 22px; background: rgba(var(--accent-rgb), .12); color: var(--accent); }
.roadmap-icon svg { width: 34px; height: 34px; }
.roadmap-state h2 { margin: 0 0 8px; font-size: 27px; letter-spacing: -.04em; }
.roadmap-state p { margin: 0; color: var(--muted); }
.roadmap-list { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; margin: 24px 0; text-align: left; }
.roadmap-list span { display: flex; align-items: center; gap: 8px; padding: 11px; border: 1px solid var(--line-soft); border-radius: 10px; background: rgba(0,0,0,.12); color: var(--text-2); font-size: 10px; }
.roadmap-list svg { width: 15px; color: var(--success); }

.design-section { margin-bottom: 22px; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 13px; }
.section-heading > div { display: flex; align-items: center; gap: 10px; }
.section-heading h2 { margin: 0; font-size: 19px; }
.section-heading p { max-width: 520px; margin: 0; color: var(--muted); font-size: 11px; text-align: right; }
.section-number { color: var(--accent); font-size: 10px; font-weight: 900; }
.foundation-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.swatch-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; padding: 18px; }
.swatch-grid > div { display: grid; gap: 4px; }
.swatch { height: 70px; border: 1px solid var(--line-soft); border-radius: 11px; }
.swatch--canvas { background: var(--canvas); }
.swatch--surface { background: var(--surface); }
.swatch--surface2 { background: var(--surface-2); }
.swatch--accent { background: var(--accent); }
.swatch--success { background: var(--success); }
.swatch--danger { background: var(--danger); }
.swatch-grid strong { font-size: 10px; }
.swatch-grid small { color: var(--muted); font-size: 8px; }
.type-samples { padding: 18px; }
.type-sample { padding: 11px 0; border-bottom: 1px solid var(--line-soft); }
.type-sample:last-child { border-bottom: 0; }
.type-sample--display { font-size: 28px; font-weight: 850; letter-spacing: -.045em; }
.type-sample--heading { font-size: 18px; font-weight: 750; }
.type-sample--body { color: var(--text-2); }
.component-showcase { display: grid; gap: 14px; padding: 18px; }
.component-row { display: grid; grid-template-columns: 200px 1fr; gap: 20px; align-items: center; padding-bottom: 14px; border-bottom: 1px solid var(--line-soft); }
.component-row:last-child { padding-bottom: 0; border-bottom: 0; }
.component-label { display: grid; }
.component-label strong { font-size: 11px; }
.component-label small { color: var(--muted); font-size: 9px; }
.component-demo { display: flex; flex-wrap: wrap; gap: 8px; }

.command-modal, .detail-modal { position: fixed; inset: 0; z-index: 100; display: none; }
.command-modal.is-open, .detail-modal.is-open { display: block; }
.command-backdrop, .detail-backdrop { position: absolute; inset: 0; background: rgba(2,4,7,.72); backdrop-filter: blur(8px); }
.command-dialog { position: relative; width: min(620px, calc(100vw - 28px)); max-height: min(650px, calc(100vh - 70px)); margin: 70px auto 0; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.command-input-row { height: 62px; display: flex; align-items: center; gap: 11px; padding: 0 15px; border-bottom: 1px solid var(--line-soft); }
.command-input-row > svg { color: var(--muted); }
.command-input-row input { flex: 1; border: 0; outline: none; background: transparent; color: var(--text); font-size: 15px; }
.command-results { max-height: 540px; overflow-y: auto; padding: 9px; }
.command-group-label { display: block; padding: 8px 9px 6px; color: var(--muted-2); font-size: 8px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.command-result { width: 100%; display: grid; grid-template-columns: 38px 1fr auto; align-items: center; gap: 10px; padding: 9px; border: 0; border-radius: 10px; background: transparent; text-align: left; cursor: pointer; }
.command-result:hover { background: var(--surface-2); }
.command-result > span:nth-child(2) { min-width: 0; display: grid; }
.command-result strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.command-result small { color: var(--muted); font-size: 9px; }
.command-empty { padding: 36px; color: var(--muted); text-align: center; }

.detail-dialog { position: relative; width: min(760px, calc(100vw - 28px)); max-height: calc(100vh - 46px); margin: 23px auto; overflow-y: auto; border: 1px solid var(--line); border-radius: 20px; background: var(--surface); box-shadow: var(--shadow); }
.detail-close { position: sticky; z-index: 3; top: 14px; float: right; margin: 14px 14px -54px 0; background: rgba(10,13,18,.75); backdrop-filter: blur(10px); }
.detail-content { padding: 0; }
.modal-hero { min-height: 210px; display: flex; align-items: flex-end; padding: 28px; background: radial-gradient(circle at 80% 20%, rgba(var(--accent-rgb), .25), transparent 30%), linear-gradient(130deg, #1a2230, #10151e); }
.modal-hero h2 { margin: 8px 0 7px; font-size: 30px; line-height: 1.08; letter-spacing: -.04em; }
.modal-body { padding: 24px 28px 30px; }
.modal-body p { color: var(--text-2); }
.modal-summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0; }
.modal-summary-grid > div { display: grid; padding: 13px; border: 1px solid var(--line-soft); border-radius: 11px; background: var(--canvas-2); }
.modal-summary-grid span { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.modal-summary-grid strong { font-size: 18px; }

.style-panel { position: fixed; z-index: 110; top: 0; right: 0; bottom: 0; width: min(390px, 92vw); padding: 22px; border-left: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); transform: translateX(105%); transition: transform 220ms ease; }
.style-panel.is-open { transform: none; }
.panel-overlay { position: fixed; z-index: 105; inset: 0; display: none; background: rgba(2,4,7,.55); backdrop-filter: blur(4px); }
.panel-overlay.is-open { display: block; }
.style-panel__header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid var(--line-soft); }
.style-panel__header h2 { margin: 2px 0 0; }
.style-panel__section { padding: 20px 0; border-bottom: 1px solid var(--line-soft); }
.style-panel__section > strong { font-size: 12px; }
.style-panel__section > p { margin: 4px 0 13px; color: var(--muted); font-size: 10px; }
.accent-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.accent-option { display: flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--canvas-2); color: var(--text-2); font-size: 10px; cursor: pointer; }
.accent-option span { width: 16px; height: 16px; border-radius: 5px; background: var(--choice); }
.accent-option.is-active { border-color: color-mix(in srgb, var(--choice) 65%, var(--line)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--choice) 10%, transparent); }
.segmented-control { display: grid; grid-template-columns: 1fr 1fr; padding: 4px; border: 1px solid var(--line); border-radius: 10px; background: var(--canvas-2); }
.segmented-control button { height: 34px; border: 0; border-radius: 8px; background: transparent; color: var(--muted); font-size: 10px; font-weight: 750; cursor: pointer; }
.segmented-control button.is-active { background: var(--surface-3); color: var(--text); }
.style-panel__note { display: flex; gap: 10px; border-bottom: 0; }
.style-panel__note p { margin: 0; }
.toast-region { position: fixed; z-index: 200; right: 18px; bottom: 18px; width: min(360px, calc(100vw - 36px)); display: grid; gap: 9px; }
.toast { display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); box-shadow: var(--shadow-sm); animation: toastIn 220ms ease-out; }
@keyframes toastIn { from { opacity: 0; transform: translateY(10px); } }
.toast > span { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: rgba(var(--accent-rgb), .1); color: var(--accent); }
.toast div { display: grid; }
.toast strong { font-size: 11px; }
.toast small { color: var(--muted); font-size: 9px; }

body[data-density="compact"] .main-content { padding: 22px; }
body[data-density="compact"] .card-header { padding: 14px 16px; }
body[data-density="compact"] td { padding-top: 9px; padding-bottom: 9px; }
body[data-density="compact"] .team-card { padding: 14px; }
body[data-density="compact"] .metric-card { min-height: 126px; padding: 14px; }

@media (max-width: 1240px) {
  .team-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .team-summary-grid { grid-template-columns: repeat(3, 1fr); }
  .news-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .player-card-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .leader-grid { grid-template-columns: repeat(3, minmax(220px,1fr)); overflow-x: auto; }
}

@media (max-width: 1020px) {
  :root { --sidebar-width: 252px; }
  .main-content { padding: 24px; }
  .hero-grid, .content-grid, .content-grid--equal, .content-grid--triple { grid-template-columns: 1fr; }
  .quick-action-grid { grid-template-columns: repeat(4,1fr); }
  .quick-action-grid button { min-height: 94px; }
  .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .schedule-grid { grid-template-columns: 1fr; }
  .foundation-grid { grid-template-columns: 1fr; }
}

@media (max-width: 820px) {
  :root { --topbar-height: 68px; }
  .sidebar { width: min(310px, 88vw); transform: translateX(-105%); transition: transform 220ms ease; box-shadow: var(--shadow); }
  .sidebar.is-open { transform: none; }
  .sidebar-close { display: inline-grid !important; }
  .mobile-overlay { position: fixed; z-index: 45; inset: 0; display: none; background: rgba(2,4,7,.56); backdrop-filter: blur(4px); }
  .mobile-overlay.is-open { display: block; }
  .workspace { margin-left: 0; }
  .mobile-menu-button { display: inline-grid !important; }
  .topbar { padding: 0 16px; }
  .command-search { width: min(360px, 55vw); }
  .command-search kbd { display: none; }
  .main-content { padding: 20px 16px 28px; }
  .page-heading { align-items: flex-start; flex-direction: column; }
  .heading-actions { justify-content: flex-start; }
  .team-hero__content { align-items: flex-start; }
  .team-hero__record { margin-left: auto; }
  .division-grid, .playoff-grid { grid-template-columns: 1fr; }
  .team-summary-grid { grid-template-columns: repeat(3,1fr); }
  .roadmap-list { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  .topbar__right { gap: 7px; }
  .live-chip { display: none; }
  .profile-button { grid-template-columns: 34px 14px; padding-right: 7px; }
  .profile-copy { display: none; }
  .command-search { width: 42px; padding: 0; justify-content: center; }
  .command-search span { display: none; }
  .hero-card { min-height: 390px; }
  .hero-card__content { padding: 24px; }
  .matchup-row { grid-template-columns: 1fr; text-align: center; }
  .team-lockup, .team-lockup--reverse { justify-content: center; text-align: left; }
  .versus-lockup { padding: 5px 0; border-block: 1px solid var(--line-soft); }
  .quick-action-grid { grid-template-columns: repeat(2,1fr); }
  .metric-grid { grid-template-columns: repeat(2,1fr); }
  .metric-card { min-height: 135px; }
  .team-grid, .news-grid, .player-card-grid { grid-template-columns: 1fr; }
  .filter-bar { align-items: stretch; }
  .field, .field--grow { width: 100%; flex-basis: 100%; }
  .result-count { width: 100%; margin-left: 0; }
  .team-hero { padding: 22px; }
  .team-hero__content { flex-wrap: wrap; }
  .team-hero__record { width: 100%; margin-left: 108px; text-align: left; }
  .team-logo--large { width: 78px; height: 78px; border-radius: 20px; }
  .team-summary-grid { grid-template-columns: repeat(2, 1fr); }
  .depth-row { grid-template-columns: 48px 1fr; }
  .depth-player:nth-child(n+3) { display: none; }
  .player-profile-hero { grid-template-columns: 80px 1fr; padding: 20px; }
  .player-profile-portrait { width: 80px; height: 80px; border-radius: 21px; font-size: 22px; }
  .player-profile-rating { grid-column: 1 / -1; text-align: left; }
  .player-profile-rating strong { display: inline; font-size: 34px; }
  .stat-box-grid { grid-template-columns: repeat(2,1fr); }
  .rating-row { grid-template-columns: 90px 1fr 30px; }
  .leader-grid { grid-template-columns: repeat(3, 250px); }
  .week-control { align-items: stretch; flex-direction: column; }
  .week-nav { justify-content: space-between; }
  .game-card__body { padding: 14px 10px; gap: 7px; }
  .game-team { gap: 6px; }
  .game-team strong { max-width: 76px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .featured-news { min-height: 430px; }
  .featured-news__content { padding: 24px; }
  .roadmap-list { grid-template-columns: 1fr; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .section-heading p { text-align: left; }
  .component-row { grid-template-columns: 1fr; gap: 10px; }
  .swatch-grid { grid-template-columns: repeat(2,1fr); }
  .modal-summary-grid { grid-template-columns: 1fr; }
  .detail-dialog { max-height: calc(100vh - 16px); margin: 8px auto; border-radius: 16px; }
  .modal-hero, .modal-body { padding-left: 20px; padding-right: 20px; }
}

@media (max-width: 410px) {
  .main-content { padding-inline: 12px; }
  .topbar { padding-inline: 10px; }
  .metric-grid { grid-template-columns: 1fr 1fr; gap: 9px; }
  .metric-card { padding: 13px; }
  .metric-value { font-size: 23px; }
  .heading-actions { width: 100%; }
  .heading-actions .button { flex: 1; }
}

/* Milestone 1C + 1D: private trade workflow and mock authentication */
.mock-login { position: fixed; inset: 0; z-index: 300; display: none; padding: 24px; overflow-y: auto; }
.mock-login.is-open { display: grid; place-items: center; }
.mock-login__backdrop { position: fixed; inset: 0; background: rgba(2,4,8,.86); backdrop-filter: blur(12px); }
.mock-login__dialog { position: relative; width: min(980px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); box-shadow: var(--shadow); }
.mock-login__brand { display: grid; grid-template-columns: 60px 1fr; gap: 18px; align-items: start; }
.mock-login__brand .brand-mark { width: 60px; height: 60px; }
.mock-login__brand h1 { margin: 4px 0 7px; font-size: 30px; }
.mock-login__brand p { max-width: 720px; margin: 0; color: var(--text-2); }
.mock-login__notice { display: flex; align-items: center; gap: 10px; margin: 20px 0; padding: 12px 14px; border: 1px solid rgba(var(--accent-rgb),.25); border-radius: 12px; background: rgba(var(--accent-rgb),.08); color: var(--text-2); font-size: 10px; }
.mock-login__notice svg { flex: 0 0 auto; color: var(--accent); }
.mock-account-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.mock-account-card { min-width: 0; display: grid; grid-template-columns: 50px 1fr 18px; gap: 12px; align-items: center; padding: 13px; border: 1px solid var(--line); border-radius: 13px; background: var(--canvas-2); color: var(--text); text-align: left; cursor: pointer; }
.mock-account-card:hover, .mock-account-card.is-active { border-color: rgba(var(--accent-rgb),.48); background: rgba(var(--accent-rgb),.06); }
.mock-account-card__avatar { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; background: linear-gradient(145deg,var(--team,var(--accent)),var(--team2,#141922)); color: #fff; font-size: 11px; font-weight: 900; }
.mock-account-card > span:nth-child(2) { min-width: 0; display: grid; }
.mock-account-card strong { font-size: 11px; }
.mock-account-card small { color: var(--text-2); font-size: 9px; }
.mock-account-card em { margin-top: 3px; color: var(--muted); font-size: 8px; font-style: normal; }
.mock-account-card > svg { color: var(--muted); }
.mock-login__footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 9px; }

.privacy-banner { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px; margin-bottom: 18px; padding: 14px 16px; border: 1px solid rgba(var(--accent-rgb),.26); border-radius: 14px; background: linear-gradient(100deg,rgba(var(--accent-rgb),.09),rgba(var(--accent-rgb),.02)); }
.privacy-banner > span:first-child, .trade-visibility-strip > span:first-child, .calculation-hidden > span:first-child { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: rgba(var(--accent-rgb),.12); color: var(--accent); }
.privacy-banner strong { font-size: 11px; }
.privacy-banner p { margin: 3px 0 0; color: var(--text-2); font-size: 10px; }
.trade-metrics .metric-card { min-height: 118px; }
.trade-tabs { align-items: center; }
.trade-list-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.trade-summary-card { padding: 16px; cursor: pointer; transition: transform var(--ease),border-color var(--ease); }
.trade-summary-card:hover { transform: translateY(-2px); border-color: rgba(var(--accent-rgb),.34); }
.trade-summary-card__top, .trade-summary-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.trade-number { color: var(--muted); font-size: 9px; font-weight: 800; }
.trade-matchup { display: grid; grid-template-columns: 1fr 34px 1fr; align-items: center; gap: 10px; margin: 18px 0; }
.trade-matchup > div { display: flex; align-items: center; gap: 9px; min-width: 0; }
.trade-matchup > div:last-child { flex-direction: row-reverse; text-align: right; }
.trade-matchup > div > span:last-child { min-width: 0; display: grid; }
.trade-matchup strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.trade-matchup small { color: var(--muted); font-size: 8px; }
.trade-swap { width: 34px; height: 34px; display: grid; place-items: center; justify-self: center; border-radius: 50%; background: var(--surface-3); color: var(--muted); }
.trade-summary-card__footer { padding-top: 11px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 8px; }
.prototype-guide { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 18px; padding: 18px; }
.prototype-guide h3 { margin: 2px 0 4px; }
.prototype-guide p { margin: 0; color: var(--text-2); font-size: 10px; }
.empty-state { display: grid; justify-items: center; gap: 9px; padding: 56px 24px; text-align: center; }
.empty-state h2, .empty-state p { margin: 0; }
.empty-state p { max-width: 560px; color: var(--muted); }

.private-workspace-label { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 9px 12px; border: 1px dashed rgba(var(--accent-rgb),.35); border-radius: 10px; color: var(--muted); font-size: 9px; }
.private-workspace-label strong { color: var(--text); }
.trade-builder-toolbar { display: grid; grid-template-columns: minmax(180px,.7fr) 50px minmax(260px,1.3fr); align-items: end; gap: 12px; margin-bottom: 14px; padding: 14px; }
.trade-builder-grid, .trade-detail-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; margin-bottom: 14px; }
.trade-builder-side, .trade-package { overflow: hidden; }
.trade-builder-side__header, .trade-package__header { display: grid; grid-template-columns: 54px 1fr auto; gap: 11px; align-items: center; padding: 15px; border-bottom: 1px solid var(--line-soft); }
.trade-builder-side__header h3, .trade-package__header h3 { margin: 2px 0 0; font-size: 13px; }
.private-total, .trade-package__header > strong { color: var(--accent); font-size: 18px; }
.asset-picker { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 12px; border-bottom: 1px solid var(--line-soft); }
.asset-picker select { min-width: 0; height: 40px; border: 1px solid var(--line); border-radius: 10px; background: var(--canvas-2); color: var(--text); padding: 0 10px; }
.trade-assets { display: grid; gap: 7px; padding: 12px; }
.trade-assets.is-empty { min-height: 170px; place-items: center; }
.trade-asset { min-width: 0; display: grid; grid-template-columns: 38px 1fr auto auto; align-items: center; gap: 9px; padding: 9px; border: 1px solid var(--line-soft); border-radius: 10px; background: var(--canvas-2); }
.trade-asset > div { min-width: 0; display: grid; }
.trade-asset strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.trade-asset small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 8px; }
.asset-value { color: var(--accent); font-size: 10px; font-weight: 850; }
.pick-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 10px; background: rgba(var(--accent-rgb),.11); color: var(--accent); font-size: 10px; font-weight: 900; }
.asset-empty { display: grid; justify-items: center; color: var(--muted); text-align: center; }
.asset-empty span { width: 42px; height: 42px; display: grid; place-items: center; border: 1px dashed var(--line); border-radius: 50%; font-size: 20px; }
.asset-empty p { margin: 7px 0 0; font-size: 9px; }
.private-calculation { margin-bottom: 14px; padding: 17px; border-color: rgba(var(--accent-rgb),.25); background: radial-gradient(circle at 85% 0,rgba(var(--accent-rgb),.12),transparent 32%),var(--surface); }
.private-calculation__header, .private-calculation--compact, .trade-note-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.private-calculation h3 { margin: 2px 0 0; }
.calculation-comparison { display: grid; grid-template-columns: 120px 1fr 120px; align-items: center; gap: 15px; margin: 18px 0; }
.calculation-comparison > div:not(.fairness-meter) { display: grid; }
.calculation-comparison > div:last-child { text-align: right; }
.calculation-comparison span { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.calculation-comparison strong { font-size: 24px; }
.fairness-meter { height: 8px; overflow: hidden; border-radius: 99px; background: var(--canvas-2); }
.fairness-meter span { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
.private-calculation p { display: flex; align-items: center; gap: 7px; margin: 0; color: var(--muted); font-size: 9px; }
.private-calculation p svg { flex: 0 0 auto; color: var(--accent); }
.private-calculation--compact { padding: 14px 16px; }
.trade-note-card { padding: 16px; }
.field textarea, .committee-vote-panel textarea, .chat-compose textarea, .decision-composer textarea { width: 100%; min-height: 90px; resize: vertical; border: 1px solid var(--line); border-radius: 10px; outline: none; background: var(--canvas-2); color: var(--text); padding: 11px; font: inherit; }
.field textarea:focus, .committee-vote-panel textarea:focus, .chat-compose textarea:focus, .decision-composer textarea:focus { border-color: rgba(var(--accent-rgb),.65); box-shadow: 0 0 0 3px rgba(var(--accent-rgb),.08); }
.trade-note-card__footer { margin-top: 12px; }
.trade-note-card__footer > span { color: var(--muted); font-size: 9px; }

.trade-visibility-strip, .calculation-hidden { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 12px; margin-bottom: 13px; padding: 12px 14px; border: 1px solid var(--line-soft); border-radius: 12px; background: var(--surface); }
.trade-visibility-strip div, .calculation-hidden div { display: grid; }
.trade-visibility-strip strong, .calculation-hidden strong { font-size: 10px; }
.trade-visibility-strip small, .calculation-hidden p { margin: 2px 0 0; color: var(--muted); font-size: 8px; }
.version-strip { display: flex; gap: 7px; margin-bottom: 13px; overflow-x: auto; }
.version-pill { min-width: 110px; display: grid; gap: 1px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.version-pill.is-active { border-color: rgba(var(--accent-rgb),.48); background: rgba(var(--accent-rgb),.07); }
.version-pill > span { color: var(--accent); font-size: 8px; font-weight: 900; }
.version-pill strong { font-size: 9px; }
.version-pill small { color: var(--muted); font-size: 7px; }
.offer-note { margin-bottom: 14px; padding: 14px 16px; }
.offer-note p { margin: 5px 0 0; color: var(--text-2); }
.negotiation-layout, .committee-layout { display: grid; grid-template-columns: minmax(0,1.5fr) minmax(290px,.7fr); gap: 14px; }
.private-chat { min-height: 500px; display: flex; flex-direction: column; }
.chat-messages { flex: 1; display: grid; align-content: start; gap: 10px; max-height: 430px; overflow-y: auto; padding: 15px; }
.chat-message { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: 8px; max-width: 84%; }
.chat-message--own { justify-self: end; grid-template-columns: minmax(0,1fr) 34px; }
.chat-message--own > .avatar { grid-column: 2; grid-row: 1; }
.chat-message--own > div { grid-column: 1; grid-row: 1; }
.chat-message > div { padding: 9px 11px; border-radius: 4px 12px 12px 12px; background: var(--surface-3); }
.chat-message--own > div { border-radius: 12px 4px 12px 12px; background: rgba(var(--accent-rgb),.15); }
.chat-message > div > span { display: flex; justify-content: space-between; gap: 12px; }
.chat-message strong { font-size: 9px; }
.chat-message small { color: var(--muted); font-size: 7px; }
.chat-message p { margin: 4px 0 0; color: var(--text-2); font-size: 10px; }
.chat-system { display: flex; align-items: center; justify-content: center; gap: 8px; color: var(--muted); font-size: 8px; text-align: center; }
.chat-compose { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 12px; border-top: 1px solid var(--line-soft); }
.chat-compose textarea { min-height: 44px; max-height: 100px; }
.negotiation-actions, .committee-vote-panel { align-self: start; padding: 18px; }
.negotiation-actions h3, .committee-vote-panel h3 { margin: 4px 0 7px; }
.negotiation-actions p, .committee-vote-panel p { color: var(--text-2); font-size: 10px; }
.button--full { width: 100%; justify-content: center; margin-top: 8px; }
.negotiation-note { display: flex; gap: 8px; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line-soft); color: var(--muted); font-size: 8px; }
.negotiation-note svg { flex: 0 0 auto; color: var(--accent); }
.committee-wait, .decision-card { display: grid; grid-template-columns: 58px 1fr; gap: 16px; align-items: start; margin-top: 14px; padding: 20px; }
.committee-lock, .decision-card > span:first-child { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 16px; background: rgba(var(--accent-rgb),.11); color: var(--accent); }
.committee-wait h2, .decision-card h2 { margin: 3px 0 7px; }
.committee-wait p, .decision-card p { margin: 0; color: var(--text-2); }
.vote-progress { height: 7px; margin: 14px 0 6px; overflow: hidden; border-radius: 999px; background: var(--canvas-2); }
.vote-progress span { display: block; height: 100%; background: var(--accent); }
.committee-channel { overflow: hidden; }
.committee-member-list { padding: 6px 15px 14px; }
.committee-member-row { display: grid; grid-template-columns: 34px 1fr auto; gap: 9px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.committee-member-row:last-child { border-bottom: 0; }
.committee-member-row div { display: grid; }
.committee-member-row strong { font-size: 9px; }
.committee-member-row small { color: var(--muted); font-size: 8px; }
.committee-vote-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.decision-card--approved { border-color: rgba(57,217,138,.25); }
.decision-card--approved > span:first-child { background: rgba(57,217,138,.12); color: var(--success); }
.decision-card--rejected { border-color: rgba(255,92,108,.25); }
.decision-card--rejected > span:first-child { background: rgba(255,92,108,.12); color: var(--danger); }
.decision-meta { display: flex; flex-wrap: wrap; gap: 18px; margin: 13px 0; color: var(--muted); font-size: 9px; }
.decision-meta strong { color: var(--text); }
.discord-preview { margin-top: 14px; padding: 16px; background: #17191f; }
.discord-preview__header { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.discord-preview__header div { display: grid; }
.discord-preview__header small { color: #959ba7; font-size: 8px; }
.discord-mark { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 10px; background: #5865f2; color: #fff; font-weight: 900; }
.discord-embed { padding: 14px; border-left: 4px solid var(--success); border-radius: 4px 10px 10px 4px; background: #20232b; }
.discord-embed h3 { margin: 4px 0; }
.discord-embed p { margin: 0; color: #b8bdc8; }
.decision-composer { margin-top: 14px; padding: 20px; }
.decision-composer__header { display: grid; grid-template-columns: 58px 1fr; gap: 14px; margin-bottom: 16px; }
.decision-composer h2 { margin: 3px 0 5px; }
.decision-composer p { margin: 0; color: var(--text-2); }
.dm-recipient-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0; }
.dm-recipient-grid span { padding: 10px; border: 1px solid var(--line-soft); border-radius: 9px; background: var(--canvas-2); color: var(--text-2); font-size: 9px; }

.trade-block-layout { display: grid; grid-template-columns: minmax(0,1fr) 310px; gap: 14px; align-items: start; }
.trade-block-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.block-player-card { padding: 14px; }
.block-player-card__top { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.block-player-card__meta { display: flex; gap: 6px; margin: 12px 0; }
.block-player-card__meta span { padding: 4px 6px; border-radius: 7px; background: var(--surface-3); color: var(--muted); font-size: 8px; }
.block-player-card p { min-height: 34px; color: var(--text-2); font-size: 9px; }
.block-player-card__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.manage-block { position: sticky; top: calc(var(--topbar-height) + 18px); overflow: hidden; }
.manage-block-list { max-height: 640px; overflow-y: auto; padding: 8px 15px 15px; }
.manage-block-list label { display: flex; align-items: center; justify-content: space-between; gap: 9px; padding: 10px 0; border-bottom: 1px solid var(--line-soft); font-size: 9px; }
.manage-block-list input { accent-color: var(--accent); }
.commission-list, .settings-list, .audit-list { padding: 8px 16px 15px; }
.commission-list button, .commission-list > div, .settings-list > div, .audit-list > div { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border: 0; border-bottom: 1px solid var(--line-soft); background: transparent; color: var(--text); text-align: left; }
.commission-list button { cursor: pointer; }
.commission-list button:hover { color: var(--accent); }
.commission-list span, .settings-list span, .audit-list span { font-size: 9px; }
.commission-list strong, .settings-list strong { font-size: 9px; }
.audit-list > div { align-items: flex-start; flex-direction: column; gap: 2px; }
.audit-list small { color: var(--muted); font-size: 7px; }
.empty-mini { padding: 18px 0; color: var(--muted); font-size: 9px; }

@media (max-width: 1180px) {
  .trade-block-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1020px) {
  .trade-list-grid, .trade-builder-grid, .trade-detail-grid, .negotiation-layout, .committee-layout { grid-template-columns: 1fr; }
  .trade-block-layout { grid-template-columns: 1fr; }
  .manage-block { position: static; }
  .private-chat { min-height: 430px; }
}
@media (max-width: 720px) {
  .mock-login { padding: 10px; }
  .mock-login__dialog { max-height: calc(100vh - 20px); padding: 19px; border-radius: 16px; }
  .mock-account-grid { grid-template-columns: 1fr; }
  .mock-login__brand { grid-template-columns: 46px 1fr; }
  .mock-login__brand .brand-mark { width: 46px; height: 46px; }
  .mock-login__brand h1 { font-size: 24px; }
  .mock-login__footer, .prototype-guide, .trade-note-card__footer { align-items: stretch; flex-direction: column; }
  .privacy-banner { grid-template-columns: 38px 1fr; }
  .privacy-banner > .pill { grid-column: 2; justify-self: start; }
  .trade-builder-toolbar { grid-template-columns: 1fr; }
  .trade-builder-toolbar .trade-swap { transform: rotate(90deg); }
  .calculation-comparison { grid-template-columns: 1fr; }
  .calculation-comparison > div:last-child { text-align: left; }
  .fairness-meter { order: 3; }
  .private-calculation__header, .private-calculation--compact { align-items: flex-start; flex-direction: column; }
  .chat-compose { grid-template-columns: 1fr; }
  .trade-block-grid { grid-template-columns: 1fr; }
  .dm-recipient-grid { grid-template-columns: 1fr; }
}
@media (max-width: 460px) {
  .trade-list-grid { grid-template-columns: 1fr; }
  .trade-matchup { grid-template-columns: 1fr; text-align: center; }
  .trade-matchup > div, .trade-matchup > div:last-child { justify-content: center; flex-direction: row; text-align: left; }
  .trade-swap { transform: rotate(90deg); }
  .trade-builder-side__header, .trade-package__header { grid-template-columns: 46px 1fr; }
  .trade-builder-side__header > strong, .trade-package__header > strong { grid-column: 2; }
  .asset-picker { grid-template-columns: 1fr; }
  .trade-asset { grid-template-columns: 36px 1fr auto; }
  .trade-asset .asset-value { grid-column: 2; }
  .committee-wait, .decision-card { grid-template-columns: 1fr; }
  .block-player-card__actions { grid-template-columns: 1fr; }
}
/* Milestone 2A Module 1 */
.topbar-view-as{margin-left:auto;white-space:nowrap}.profile-wrap{margin-left:0}.valuation-panel{margin-top:18px}.valuation-player-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.valuation-player{border:1px solid var(--border);border-radius:14px;background:var(--surface-2);overflow:hidden}.valuation-player summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;list-style:none}.valuation-player summary::-webkit-details-marker{display:none}.valuation-player summary span{display:grid;gap:3px}.valuation-player summary small{color:var(--muted);font-weight:500}.valuation-player summary strong{font-size:1.05rem}.valuation-player>div{padding:0 14px 12px}.value-breakdown-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--border)}.value-breakdown-row span{display:grid;gap:2px}.value-breakdown-row small{color:var(--muted)}.value-breakdown-row b{color:var(--success)}.value-breakdown-row b.is-negative{color:var(--danger)}
@media(max-width:820px){.valuation-player-grid{grid-template-columns:1fr}.topbar-view-as span{display:none}.topbar-view-as{padding-inline:10px}}


/* DEV-001 Developer Mode */
.dev-launch{border-color:rgba(var(--accent-rgb),.35);background:rgba(var(--accent-rgb),.10)}
.dev-modal{position:fixed;inset:0;z-index:1200;display:none}.dev-modal.is-open{display:block}.dev-backdrop{position:absolute;inset:0;background:rgba(3,6,12,.78);backdrop-filter:blur(8px)}
.dev-dialog{position:absolute;right:24px;top:24px;bottom:24px;width:min(760px,calc(100vw - 48px));overflow:auto;background:var(--surface,#111722);border:1px solid var(--border,#283246);border-radius:22px;box-shadow:0 28px 80px rgba(0,0,0,.45)}
.dev-header,.dev-footer{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:24px;border-bottom:1px solid var(--border,#283246)}.dev-header h2{margin:.25rem 0}.dev-header p{margin:0;color:var(--text-muted,#9aa6b7)}
.dev-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px}.dev-card{padding:18px;border:1px solid var(--border,#283246);border-radius:16px;background:rgba(255,255,255,.025)}.dev-card--wide{grid-column:1/-1}.dev-card h3{margin:.3rem 0 1rem}.dev-help{font-size:.82rem;color:var(--text-muted,#9aa6b7)}
.dev-toggle{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07)}.dev-toggle span{display:flex;flex-direction:column}.dev-toggle small{color:var(--text-muted,#9aa6b7);margin-top:3px}.dev-toggle input{width:20px;height:20px}
.dev-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dev-actions--stack{grid-template-columns:1fr}.dev-info{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.dev-info div{padding:12px;border-radius:12px;background:rgba(255,255,255,.035);display:flex;flex-direction:column}.dev-info span{font-size:.75rem;color:var(--text-muted,#9aa6b7)}.dev-info strong{margin-top:4px}.dev-footer{border-top:1px solid var(--border,#283246);border-bottom:0;align-items:center;color:var(--text-muted,#9aa6b7)}
.valuation-player summary{cursor:pointer;user-select:none}.valuation-player[open] summary{border-bottom:1px solid rgba(255,255,255,.08)}
@media(max-width:760px){.dev-dialog{inset:10px;width:auto}.dev-grid{grid-template-columns:1fr}.dev-card--wide{grid-column:auto}.dev-info{grid-template-columns:1fr 1fr}.dev-actions{grid-template-columns:1fr}.dev-header{padding:18px}.dev-grid{padding:14px}}

/* Sprint TC-001 — Player valuation card */
.trade-asset--player{width:100%;border:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.trade-asset--player:hover{background:rgba(var(--accent-rgb),.07);border-color:rgba(var(--accent-rgb),.28);transform:translateY(-1px)}.trade-asset__copy{display:grid;min-width:0}.trade-asset__copy strong,.trade-asset__copy small{display:block}.trade-asset--player:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.value-card-modal{position:fixed;inset:0;z-index:1500;display:none}.value-card-modal.is-open{display:grid;place-items:center}.value-card-backdrop{position:absolute;inset:0;background:rgba(3,6,12,.84);backdrop-filter:blur(10px)}.value-card-dialog{position:relative;width:min(94vw,1420px);max-height:92vh;overflow:auto;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:var(--surface-1);box-shadow:0 30px 100px rgba(0,0,0,.55)}.value-card-close{position:sticky;float:right;top:16px;margin:16px 16px -52px 0;z-index:4;background:rgba(8,12,20,.75);backdrop-filter:blur(8px)}
.value-card-hero{padding:28px 34px 30px;background:radial-gradient(circle at 86% 10%,color-mix(in srgb,var(--team2) 32%,transparent),transparent 35%),linear-gradient(135deg,color-mix(in srgb,var(--team) 28%,#121823),#111722 70%);border-bottom:1px solid rgba(255,255,255,.1)}.value-card-team{display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:12px}.value-card-team .team-logo{width:34px;height:34px}.value-card-title{display:grid;grid-template-columns:86px 1fr auto;align-items:end;gap:18px;margin-top:24px}.value-card-avatar{display:grid;place-items:center;width:86px;height:86px;border-radius:22px;background:linear-gradient(145deg,var(--team),var(--team2));font-size:25px;font-weight:900;box-shadow:0 16px 36px rgba(0,0,0,.3)}.value-card-title h2{margin:3px 0 5px;font-size:clamp(30px,4vw,50px);letter-spacing:-.045em}.value-card-title p{color:var(--text-2)}.value-card-title>strong{font-size:56px;line-height:.85;text-align:right}.value-card-title>strong small{display:block;margin-top:9px;color:var(--muted);font-size:10px;letter-spacing:.12em}
.value-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px}.value-card-box{min-width:0;padding:20px;border:1px solid var(--line-soft);border-radius:18px;background:var(--surface-2)}.value-card-breakdown{grid-column:1/-1}.box-heading{margin-bottom:16px}.box-heading h3{margin:3px 0 0;font-size:18px}.box-heading--inline{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.overview-grid,.contract-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.overview-grid>div,.contract-summary>div{display:grid;gap:4px;padding:12px;border-radius:12px;background:var(--canvas-2)}.overview-grid span,.contract-summary span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.overview-grid strong,.contract-summary strong{font-size:14px}.is-good{color:var(--success)}.is-bad{color:var(--danger)}
.attribute-bars{display:grid;gap:12px}.attribute-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:5px;font-size:11px}.attribute-track{height:8px;border-radius:999px;background:var(--canvas-2);overflow:hidden}.attribute-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#8fb2ff)}
.season-table{display:grid;gap:8px}.season-row{display:grid;grid-template-columns:56px repeat(5,minmax(0,1fr));align-items:center;gap:7px;padding:10px;border-radius:12px;background:var(--canvas-2)}.season-row>strong{font-size:12px}.season-row span{display:grid;gap:2px;min-width:0}.season-row small{color:var(--muted);font-size:7px;white-space:nowrap}.season-row b{font-size:11px}.value-total{text-align:right}.value-total span{display:block;color:var(--muted);font-size:9px;text-transform:uppercase}.value-total strong{font-size:32px;color:var(--accent)}.breakdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.breakdown-tile{display:flex;justify-content:space-between;gap:10px;padding:13px;border-radius:12px;background:var(--canvas-2)}.breakdown-tile span{display:grid;gap:3px}.breakdown-tile small{color:var(--muted);font-size:8px}.breakdown-tile b{color:var(--success);white-space:nowrap}.breakdown-tile b.is-negative{color:var(--danger)}
@media(max-width:980px){.value-card-grid{grid-template-columns:1fr}.value-card-breakdown{grid-column:auto}.breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.season-row{overflow-x:auto;grid-template-columns:52px repeat(5,75px)}}
@media(max-width:620px){.value-card-dialog{width:100vw;max-height:100vh;height:100vh;border-radius:0}.value-card-hero{padding:24px 18px}.value-card-title{grid-template-columns:58px 1fr auto;gap:10px}.value-card-avatar{width:58px;height:58px;border-radius:16px;font-size:18px}.value-card-title>strong{font-size:38px}.value-card-grid{padding:10px}.overview-grid,.contract-summary,.breakdown-grid{grid-template-columns:1fr}.box-heading--inline{display:grid}.value-total{text-align:left}}

/* Sprint TC-002 — Package Engine */
.calculation-comparison small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.package-engine-details{margin-top:16px;border:1px solid var(--line-soft);border-radius:14px;background:rgba(255,255,255,.018);overflow:hidden}.package-engine-details summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;cursor:pointer;list-style:none}.package-engine-details summary::-webkit-details-marker{display:none}.package-engine-details summary span{display:flex;align-items:center;gap:8px;font-size:10px}.package-engine-details summary svg{width:16px;height:16px;color:var(--accent)}.package-engine-details summary>strong{color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.09em}.package-engine-details[open] summary{border-bottom:1px solid var(--line-soft)}.package-engine-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:14px}.package-engine-side{padding:14px;border-radius:12px;background:var(--canvas-2)}.package-engine-side__header{display:flex;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid var(--line-soft)}.package-engine-side__header span{color:var(--muted);font-size:8px}.package-engine-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.package-engine-row:last-child{border-bottom:0}.package-engine-row span{display:grid;gap:3px}.package-engine-row b{font-size:9px}.package-engine-row small{color:var(--muted);font-size:8px}.package-engine-row>strong{font-size:10px;white-space:nowrap}.package-engine-row .is-positive{color:var(--success)}.package-engine-row .is-negative{color:var(--danger)}.package-engine-empty{padding:12px 0;color:var(--muted);font-size:9px}
@media(max-width:760px){.package-engine-grid{grid-template-columns:1fr}.package-engine-side__header{display:grid}.package-engine-details summary{align-items:flex-start}}

/* TC-003 draft pick engine */
.trade-asset--pick{width:100%;text-align:left;cursor:pointer;border:0}
.trade-asset--pick:hover{transform:translateY(-1px);border-color:var(--accent,#5b86ff)}
.trade-asset--pick .trade-asset__copy{flex:1}

/* TC-003 revision: compact pick card + private projection settings */
.pick-card-compact{padding:18px}.pick-card-row{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(420px,1.3fr);gap:16px;align-items:stretch}.pick-card-info{background:linear-gradient(145deg,color-mix(in srgb,var(--team-primary,#202b3d) 26%,var(--surface-2)),var(--surface-2));}.pick-card-heading{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;margin-bottom:18px}.pick-card-heading h2{margin:3px 0 2px;font-size:24px}.pick-card-heading p{margin:0;color:var(--muted)}.pick-mark--large{width:62px;height:62px;font-size:20px;border-radius:17px}.pick-card-total{font-size:34px;line-height:1;text-align:right}.pick-card-total small{display:block;margin-top:5px;color:var(--muted);font-size:9px;letter-spacing:.12em}.pick-card-breakdown{display:flex;flex-direction:column}.breakdown-grid--pick{grid-template-columns:1fr}.pick-projection-admin{margin:18px 0}.pick-projection-admin .card-header{align-items:flex-end}.pick-projection-admin .card-header p{max-width:650px;margin:5px 0 0;color:var(--muted)}.projection-mode-note{display:flex;gap:12px;align-items:center;padding:12px 14px;margin:0 18px 14px;border-radius:12px;background:var(--canvas-2);font-size:12px}.projection-mode-note span{color:var(--muted)}.projection-team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 18px}.projection-team-row{display:grid;grid-template-columns:1fr 68px;gap:8px;align-items:center;padding:10px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-2)}.projection-team-row>span{display:grid;grid-template-columns:28px auto 1fr;gap:7px;align-items:center;min-width:0}.projection-team-row .team-logo{width:28px;height:28px}.projection-team-row small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.projection-team-row input{width:68px;padding:8px;border:1px solid var(--line-soft);border-radius:8px;background:var(--canvas-2);color:var(--text);text-align:center}.projection-team-row em{grid-column:2;font-style:normal;color:var(--muted);font-size:8px;text-align:center;text-transform:uppercase;letter-spacing:.05em}
@media(max-width:1050px){.pick-card-row{grid-template-columns:1fr}.projection-team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.pick-card-compact{padding:10px}.pick-card-heading{grid-template-columns:auto 1fr}.pick-card-total{grid-column:1/-1;text-align:left}.projection-team-grid{grid-template-columns:1fr}.projection-mode-note{align-items:flex-start;flex-direction:column}}

/* Sprint TC-004 — Trade Builder + League Timeline Engine */
.asset-browser{margin:14px 0;border:1px solid var(--line-soft);border-radius:15px;background:var(--canvas-2);overflow:hidden}.asset-browser-controls{display:grid;grid-template-columns:auto minmax(180px,1fr) 120px;gap:10px;align-items:end;padding:12px;border-bottom:1px solid var(--line-soft)}.segmented-tabs--small{align-self:end}.segmented-tabs--small button{padding:9px 10px;font-size:9px}.asset-results{display:grid;max-height:260px;overflow:auto}.asset-result{display:grid;grid-template-columns:minmax(0,1fr) auto 28px;gap:10px;align-items:center;padding:11px 13px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;color:inherit;text-align:left;cursor:pointer}.asset-result:last-child{border-bottom:0}.asset-result:hover{background:rgba(var(--accent-rgb),.08)}.asset-result>span{display:grid;gap:3px;min-width:0}.asset-result strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-result small{color:var(--muted);font-size:8px}.asset-result>b{font-size:10px;color:var(--accent)}.asset-result>em{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:rgba(var(--accent-rgb),.15);color:var(--accent);font-style:normal;font-weight:800}.asset-search-empty{padding:24px;color:var(--muted);font-size:10px;text-align:center}.builder-side-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px}.builder-side-summary>span{padding:6px 9px;border:1px solid var(--line-soft);border-radius:999px;color:var(--muted);font-size:8px}.builder-side-summary .text-button{margin-left:auto}.builder-readiness{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:18px}.builder-readiness h3{margin:4px 0 0}.readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px}.readiness-grid span{padding:9px 11px;border-radius:10px;background:var(--canvas-2);color:var(--muted);font-size:9px}.readiness-grid span.is-ready{color:var(--success);background:rgba(53,211,153,.08)}.timeline-admin-fields{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px;min-width:min(620px,60vw)}.timeline-summary{display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center;margin:0 18px 12px;padding:12px 14px;border:1px solid rgba(var(--accent-rgb),.22);border-radius:12px;background:rgba(var(--accent-rgb),.07)}.timeline-summary span{font-weight:700}.timeline-summary small{color:var(--muted);text-align:right}.pick-projection-admin .card-header{align-items:flex-start}.trade-builder-side{overflow:visible}
@media(max-width:1100px){.timeline-admin-fields{grid-template-columns:repeat(2,minmax(120px,1fr));min-width:0}.builder-readiness{align-items:flex-start;flex-direction:column}.readiness-grid{width:100%}}
@media(max-width:720px){.asset-browser-controls{grid-template-columns:1fr}.segmented-tabs--small{width:100%}.segmented-tabs--small button{flex:1}.readiness-grid{grid-template-columns:1fr}.timeline-admin-fields{grid-template-columns:1fr 1fr}.timeline-summary{grid-template-columns:1fr}.timeline-summary small{text-align:left}}

/* Sprint TC-005 — Negotiation Engine */
.notification-card{margin:18px 0}.notification-list{display:grid;gap:8px}.notification-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.02);color:var(--text);cursor:pointer}.notification-list button.is-unread{border-color:rgba(91,132,255,.55);background:rgba(91,132,255,.08)}.notification-list span{display:grid;gap:4px}.notification-list small,.notification-list em{color:var(--muted);font-style:normal}.version-history,.activity-timeline{margin-top:18px}.version-history-list{display:grid;gap:10px}.version-history details{border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.018);overflow:hidden}.version-history summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;cursor:pointer}.version-history summary span{display:grid;gap:3px}.version-history summary small{color:var(--muted)}.version-package-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 14px 14px}.version-package-grid>div{display:grid;gap:8px}.version-package-grid .trade-asset{pointer-events:auto}.activity-list{display:grid;gap:0}.activity-item{position:relative;display:flex;gap:12px;padding:10px 0 14px 4px;border-left:1px solid var(--border);margin-left:7px}.activity-dot{width:10px;height:10px;border-radius:50%;background:var(--accent);margin-left:-9px;margin-top:4px;box-shadow:0 0 0 4px var(--panel)}.activity-item>div{display:grid;gap:4px}.activity-item small{color:var(--muted)}.trade-summary-card--incoming{border-color:rgba(91,132,255,.45)}
@media(max-width:800px){.version-package-grid{grid-template-columns:1fr}.notification-list button{align-items:flex-start;flex-direction:column;gap:6px}}

/* TC-005 corrective pass */
.trade-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.notification-shell{position:relative}
.notification-menu{display:none;position:absolute;right:0;top:calc(100% + 10px);width:min(390px,calc(100vw - 28px));max-height:520px;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:0 22px 60px rgba(0,0,0,.42);z-index:120;padding:10px}
.notification-menu.is-open{display:block}
.notification-menu__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 12px;border-bottom:1px solid var(--border)}
.notification-menu__header>div{display:grid;gap:3px}
.notification-menu__list{display:grid;gap:7px;padding-top:8px}
.notification-menu__list button{width:100%;display:flex;justify-content:space-between;gap:14px;text-align:left;padding:11px 12px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text);cursor:pointer}
.notification-menu__list button:hover{background:rgba(255,255,255,.045)}
.notification-menu__list button.is-unread{background:rgba(var(--accent-rgb),.10);border-color:rgba(var(--accent-rgb),.35)}
.notification-menu__list button span{display:grid;gap:4px}
.notification-menu__list button small,.notification-menu__list button em{color:var(--muted);font-style:normal;font-size:12px}
.notification-menu__empty{display:grid;gap:4px;text-align:center;padding:28px 14px;color:var(--muted)}
.notification-menu__empty strong{color:var(--text)}
.trade-asset [data-remove-asset]{position:relative;z-index:3;cursor:pointer}
@media(max-width:800px){.trade-metrics{grid-template-columns:1fr}.notification-menu{position:fixed;right:14px;top:72px}}

/* TC-005.1 negotiation UX polish */
.notification-menu{
  background:#111722;
  background:color-mix(in srgb,var(--surface,#111722) 96%,#000 4%);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 24px 70px rgba(0,0,0,.68),0 0 0 1px rgba(255,255,255,.035);
}
.notification-menu__list button{background:#151d2a;background:color-mix(in srgb,var(--surface-2,#151d2a) 96%,#000 4%);border-color:rgba(255,255,255,.055)}
.notification-menu__list button:hover{background:#1c2636}
.notification-menu__list button.is-unread{background:rgba(var(--accent-rgb),.16);border-color:rgba(var(--accent-rgb),.48)}
.profile-button{gap:10px}
.profile-caret{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform .18s ease;color:var(--muted)}
.profile-button[aria-expanded="true"] .profile-caret{transform:rotate(180deg)}
.profile-menu__header strong[data-profile-menu-user]{display:grid;gap:2px}
.profile-menu__header strong[data-profile-menu-user] span{font-size:13px;color:var(--text)}
.profile-menu__header strong[data-profile-menu-user] small{font-size:11px;color:var(--muted);font-weight:500}
.asset-new-tag{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:22px;padding:0 8px;border-radius:999px;background:rgba(var(--accent-rgb),.18);border:1px solid rgba(var(--accent-rgb),.52);color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em;box-shadow:0 0 18px rgba(var(--accent-rgb),.12)}
.trade-asset:has(.asset-new-tag){border-color:rgba(var(--accent-rgb),.46);background:linear-gradient(90deg,rgba(var(--accent-rgb),.10),rgba(var(--accent-rgb),.025))}

/* TC-005.1 profile menu hotfix */
.topbar__right{position:relative}
.profile-menu{z-index:120;background:#111722!important;box-shadow:0 20px 55px rgba(0,0,0,.55)!important}
.profile-menu.is-open{display:block!important}

/* TC-005.1 Hotfix 3: negotiation change indicators */
.asset-new-tag{
  background:#1f9d55;
  border-color:#42d782;
  color:#ffffff;
  box-shadow:0 0 0 2px rgba(66,215,130,.12),0 0 20px rgba(31,157,85,.28);
}
.trade-asset:has(.asset-new-tag){
  border-color:rgba(66,215,130,.72);
  background:linear-gradient(90deg,rgba(31,157,85,.20),rgba(31,157,85,.045));
}
.removed-assets-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:10px;
  padding:11px 12px;
  border:1px solid rgba(255,107,107,.34);
  border-radius:10px;
  background:rgba(255,107,107,.075);
  color:var(--text-2);
  font-size:10px;
  line-height:1.45;
}
.removed-assets-note__label{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(255,107,107,.18);
  border:1px solid rgba(255,107,107,.52);
  color:#ffb0b0;
  font-size:9px;
  font-weight:900;
  letter-spacing:.08em;
}

/* TC-006 Committee Review */
.committee-review-summary{margin-bottom:18px}.committee-review-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.committee-review-metrics>div,.commissioner-review-status span{padding:14px;border:1px solid var(--border-color);border-radius:12px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:4px}.committee-review-metrics span,.committee-review-metrics small,.commissioner-review-status span{color:var(--text-muted);font-size:12px}.committee-review-metrics strong{font-size:18px}.committee-review-guidance{margin-top:14px;padding:13px 15px;border-left:3px solid var(--accent);background:rgba(88,101,242,.08);border-radius:8px;display:flex;gap:10px;align-items:flex-start}.committee-review-guidance span{color:var(--text-muted);font-size:13px;line-height:1.5}.committee-tally{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 16px}.committee-tally span{padding:10px;border-radius:10px;background:rgba(255,255,255,.035);text-align:center;color:var(--text-muted);font-size:12px}.committee-tally b{display:block;font-size:20px;color:var(--text-primary)}.committee-tally .tally-approve b{color:#4ade80}.committee-tally .tally-reject b{color:#fb7185}.committee-tally .tally-abstain b{color:#facc15}.committee-member-row.is-current-member{outline:1px solid rgba(88,101,242,.55);background:rgba(88,101,242,.08)}.committee-privacy-note{display:flex;gap:8px;align-items:center;margin:14px 0 0;color:var(--text-muted);font-size:12px}.committee-privacy-note svg{width:16px;height:16px}.committee-vote-buttons{grid-template-columns:repeat(3,1fr)}.committee-vote-buttons .is-selected{box-shadow:0 0 0 2px rgba(255,255,255,.22) inset,0 0 0 1px currentColor}.vote-rule{display:block;margin-top:12px;color:var(--text-muted);line-height:1.45}.commissioner-review-status{display:grid;gap:10px}.commissioner-review-status span{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.commissioner-review-status b{color:var(--text-primary);font-size:17px}@media(max-width:900px){.committee-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.committee-tally{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.committee-review-metrics{grid-template-columns:1fr}.committee-vote-buttons{grid-template-columns:1fr}}

/* TC-007 Trade History + committee conflict controls */
.committee-member-row.is-recused{opacity:.48;filter:grayscale(1);background:rgba(255,255,255,.025)}
.committee-vote-panel.is-recused{background:linear-gradient(180deg,rgba(120,126,140,.08),rgba(25,29,38,.92));border-color:rgba(145,151,164,.24)}
.committee-conflict-lock{text-align:center;padding:18px 4px;color:var(--text-muted)}
.committee-conflict-lock .committee-lock{margin:0 auto 14px;display:grid;place-items:center}
.committee-conflict-lock h3{margin:0 0 8px;color:var(--text-primary)}
.committee-conflict-lock p{margin:0 auto 18px;max-width:34rem}
.committee-vote-buttons.is-disabled button{opacity:.35;filter:grayscale(1);cursor:not-allowed;pointer-events:none}
.history-filter-bar{align-items:end}
.history-privacy-note{display:flex;align-items:center;gap:14px;padding:16px 18px;margin-bottom:16px}
.history-privacy-note>svg{width:22px;height:22px;flex:0 0 auto}
.history-privacy-note div{display:grid;gap:3px}.history-privacy-note span{color:var(--text-muted);font-size:.9rem}
.history-trade-list{display:grid;gap:14px}
.history-trade-card{padding:0;overflow:hidden;cursor:pointer;transition:transform .18s ease,border-color .18s ease}
.history-trade-card:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.18)}
.history-trade-card__header,.history-trade-card__footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:rgba(255,255,255,.025)}
.history-trade-card__header>div{display:flex;align-items:center;gap:10px}.history-trade-card__header>span,.history-trade-card__footer{color:var(--text-muted);font-size:.82rem}
.history-matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:18px 16px}
.history-matchup>div{display:flex;align-items:center;gap:12px;min-width:0}.history-matchup>div:last-child{text-align:right;justify-content:flex-end}
.history-matchup>div:last-child span{align-items:flex-end}.history-matchup span{display:grid;gap:3px;min-width:0}.history-matchup small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-muted);max-width:34vw}
@media(max-width:760px){.history-filter-bar{align-items:stretch}.history-matchup{grid-template-columns:1fr}.history-matchup .trade-swap{transform:rotate(90deg);margin:auto}.history-matchup>div:last-child{text-align:left;justify-content:flex-start}.history-matchup>div:last-child span{align-items:start}.history-matchup small{max-width:70vw}.history-trade-card__footer{align-items:flex-start;flex-direction:column}}

/* TC-008 Trade Block, public review record, and Trade Replay */
.history-card-actions,.decision-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}
.public-review-record{margin-top:18px}
.public-ballot-list{display:grid;gap:10px;margin-top:14px}
.public-ballot{display:grid;grid-template-columns:minmax(180px,1fr) auto;gap:6px 16px;padding:14px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.025)}
.public-ballot span{display:flex;flex-direction:column}.public-ballot small{color:var(--text-muted);margin-top:2px}.public-ballot b{text-transform:capitalize;align-self:start}.public-ballot p{grid-column:1/-1;margin:2px 0 0;color:var(--text-muted);line-height:1.45}
.public-ballot.is-recused{opacity:.58;background:rgba(148,163,184,.06)}.vote-approve{color:#4ade80}.vote-reject{color:#fb7185}.vote-abstain{color:#fbbf24}
.committee-ballot.is-recused{filter:grayscale(.9);opacity:.68;pointer-events:auto}.recusal-lock{display:flex;gap:14px;align-items:flex-start;padding:18px;border:1px dashed var(--border);border-radius:14px;background:rgba(148,163,184,.08)}.recusal-lock svg{width:22px;height:22px}.recusal-lock div{display:flex;flex-direction:column;gap:5px}.recusal-lock span{color:var(--text-muted);line-height:1.5}
.block-wants{display:flex;flex-direction:column;gap:5px;padding:12px;border-radius:12px;background:rgba(255,255,255,.035);margin:12px 0}.block-wants small{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:10px}.block-wants strong{font-size:13px;line-height:1.4}
.block-pick-card .block-player-card__top{justify-content:flex-start;gap:12px}.block-pick-card .block-player-card__top>span:nth-child(2){display:flex;flex-direction:column;gap:3px}.block-pick-card .block-player-card__top small{color:var(--text-muted)}
.manage-block-section{display:grid;gap:9px;margin-top:16px}.manage-block-section h4{margin:0 0 2px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.manage-block-row{display:grid;gap:7px;padding:10px;border:1px solid var(--border);border-radius:12px}.manage-block-row label{display:flex;align-items:center;gap:8px}.manage-block-row input[type="text"],.manage-block-row input:not([type]){width:100%}.manage-block-row input[data-block-note]{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:9px 10px;color:var(--text)}.manage-block-row input:disabled{opacity:.45}
.replay-modal{position:fixed;inset:0;z-index:1200;display:none}.replay-modal.is-open{display:block}.replay-backdrop{position:absolute;inset:0;background:rgba(3,7,18,.82);backdrop-filter:blur(8px)}.replay-dialog{position:relative;width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;margin:16px auto;background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.55)}.replay-dialog>header,.replay-dialog>footer{position:sticky;z-index:2;background:var(--surface);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--border)}.replay-dialog>footer{bottom:0;border-bottom:0;border-top:1px solid var(--border)}.replay-dialog h2{margin:3px 0}.replay-dialog p{margin:0;color:var(--text-muted)}.icon-button{width:38px;height:38px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2);color:var(--text);font-size:24px;cursor:pointer}.replay-steps{display:grid;gap:18px;padding:22px}.replay-step{border:1px solid var(--border);border-radius:16px;padding:18px;background:rgba(255,255,255,.02)}.replay-step.is-final{border-color:rgba(74,222,128,.45);box-shadow:inset 0 0 0 1px rgba(74,222,128,.08)}.replay-step__head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:14px}.replay-step__head span{font-weight:800}.replay-step__head small{color:var(--text-muted)}.replay-packages{display:grid;grid-template-columns:1fr 1fr;gap:14px}.replay-packages>div{display:grid;gap:8px}.replay-packages h4{margin:0;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.replay-note{margin-top:12px!important;padding:12px;border-left:3px solid var(--accent);background:rgba(255,255,255,.025);border-radius:0 10px 10px 0}
@media(max-width:760px){.public-ballot{grid-template-columns:1fr}.public-ballot p{grid-column:1}.replay-packages{grid-template-columns:1fr}.replay-step__head{grid-template-columns:1fr}.history-card-actions,.decision-actions{justify-content:stretch}.history-card-actions .button,.decision-actions .button{flex:1}}


/* TC-009 hotfix: committee status, clickable history, trade-block guidance */
.committee-roster{margin-top:18px}.committee-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;padding:0 18px 16px}.committee-member-status{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}.committee-member-status.is-recused{opacity:.55;filter:grayscale(.8)}.committee-member-status__name{display:flex;flex-direction:column;min-width:0;flex:1}.committee-member-status__name strong,.committee-member-status__name small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.committee-member-status__name small{color:var(--muted);margin-top:2px}.committee-roster-note{margin:0 18px 18px;color:var(--muted);font-size:12px}.history-trade-card.is-clickable{cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.history-trade-card.is-clickable:hover,.history-trade-card.is-clickable:focus-visible{transform:translateY(-2px);border-color:rgba(var(--accent-rgb),.55);background:rgba(var(--accent-rgb),.04);outline:none}.trade-block-help{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;margin-bottom:14px}.trade-block-help strong{white-space:nowrap}.trade-block-help span{color:var(--muted)}.manage-block{scroll-margin-top:90px}.manage-block-section{max-height:520px;overflow:auto;padding-right:4px}

/* TC-009.1 usability hotfix */
.nav-item--my-team[hidden]{display:none!important}
.committee-review-workspace{display:grid;grid-template-columns:minmax(0,3fr) minmax(280px,1fr);gap:18px;align-items:start;margin-top:18px}
.committee-review-workspace .committee-roster{margin-top:0}
.committee-review-workspace__ballot .committee-ballot{position:sticky;top:88px;margin:0}
.committee-roster-grid{display:flex;flex-direction:column;gap:0;padding:0 18px 12px}
.committee-member-status{border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;padding:13px 4px}
.committee-member-status:last-child{border-bottom:0}
.committee-member-status .pill{min-width:96px;justify-content:center}
@media(max-width:900px){.committee-review-workspace{grid-template-columns:1fr}.committee-review-workspace__ballot .committee-ballot{position:static}}


/* TC-009 AI Suggestions + usability refinements */
.my-team-tag{display:inline-flex;vertical-align:middle;margin-left:8px;padding:3px 7px;border-radius:999px;background:rgba(var(--accent-rgb),.16);border:1px solid rgba(var(--accent-rgb),.38);color:var(--accent);font-size:8px;font-weight:900;letter-spacing:.08em}
.team-card:has(.my-team-tag){border-color:rgba(var(--accent-rgb),.48);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.08),0 12px 30px rgba(0,0,0,.18)}
/* Compress active committee review without changing the accepted 3/4 + 1/4 layout */
.committee-review-summary{padding:14px 16px}.committee-review-summary .card-header{margin-bottom:9px}.committee-review-summary h3{font-size:16px}.committee-review-metrics{gap:8px}.committee-review-metrics>div{padding:9px 10px}.committee-review-metrics strong{font-size:15px}.committee-review-guidance{margin-top:9px;padding:9px 10px}
.committee-review-workspace{gap:12px;margin-top:12px;grid-template-columns:minmax(0,3fr) minmax(250px,1fr)}.committee-roster .card-header{padding:12px 14px 8px}.committee-roster-grid{padding:0 14px 7px}.committee-member-status{padding:8px 2px;gap:8px}.committee-member-status .avatar{width:28px;height:28px;font-size:9px}.committee-member-status__name strong{font-size:11px}.committee-member-status__name small{font-size:8px}.committee-member-status .pill{min-width:82px;padding:4px 7px;font-size:8px}.committee-roster-note{margin:4px 14px 12px;font-size:9px;line-height:1.35}.committee-ballot{padding:13px}.committee-ballot .card-header{margin-bottom:9px}.committee-ballot h3{font-size:15px}.committee-ballot textarea{min-height:76px}.committee-vote-actions{gap:6px}.committee-vote-actions .button{padding:8px 7px;font-size:9px}.committee-ballot .vote-progress{margin-top:10px}
.ai-disclaimer{display:flex;align-items:center;gap:13px;padding:14px 16px;margin-bottom:16px}.ai-disclaimer>span:first-child{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(var(--accent-rgb),.12);color:var(--accent)}.ai-disclaimer svg{width:18px;height:18px}.ai-disclaimer div{flex:1}.ai-disclaimer p{margin:3px 0 0;color:var(--muted);font-size:10px}.ai-suggestion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ai-suggestion-card{padding:16px}.ai-suggestion-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.ai-suggestion-card__head>div{display:flex;align-items:center;gap:9px}.ai-suggestion-card__head span span{display:flex;flex-direction:column}.ai-suggestion-card__head small{color:var(--muted);font-size:8px;text-transform:uppercase}.ai-package{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:14px 0;padding:12px;border-radius:12px;background:var(--surface-3)}.ai-package>div{display:flex;flex-direction:column;gap:5px}.ai-package>div>small{color:var(--muted);font-size:8px;text-transform:uppercase}.ai-package>div>span{display:flex;align-items:center;gap:5px;font-size:10px}.ai-package>div>span small{margin-left:auto;color:var(--muted);font-size:8px}.ai-rationale{border-top:1px solid var(--line-soft);padding-top:11px}.ai-rationale p{margin:5px 0;color:var(--text-2);font-size:10px;line-height:1.5}.ai-rationale span{color:var(--muted);font-size:8px}.ai-suggestion-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
@media(max-width:900px){.ai-suggestion-grid{grid-template-columns:1fr}.committee-review-workspace{grid-template-columns:1fr}.committee-review-workspace__ballot .committee-ballot{position:static}}


/* TC-009.2 Trade Block clarity hotfix */
.trade-block-filters{align-items:end;gap:10px;flex-wrap:wrap}.filter-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.filter-chip.is-active{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.trade-block-grid--full{grid-template-columns:repeat(auto-fit,minmax(285px,1fr));width:100%}.manage-block--full{margin-bottom:18px;padding:0;overflow:hidden}.manage-block--full .card-header{padding:18px 20px;border-bottom:1px solid var(--border)}.manage-block-table{display:grid}.manage-block-table__head,.manage-block-table__row{display:grid;grid-template-columns:58px minmax(180px,1.5fr) 54px 54px 90px 64px minmax(220px,1.4fr);align-items:center;gap:10px;padding:10px 18px}.manage-block-table__head{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);background:var(--surface-2);font-weight:800}.manage-block-table__row{border-top:1px solid var(--border);min-height:54px}.manage-block-table__row input[type="text"],.manage-block-table__row>input{width:100%}.manage-block-picks{padding:16px 18px 20px;border-top:1px solid var(--border)}.my-team-tag{margin-left:8px;vertical-align:middle}@media(max-width:900px){.manage-block-table{overflow-x:auto}.manage-block-table__head,.manage-block-table__row{min-width:820px}.trade-block-grid--full{grid-template-columns:1fr}}

/* TC-009.3 final Trade Center sprint */
.block-drawer-shell{position:fixed;inset:0;z-index:1200;pointer-events:none;visibility:hidden}.block-drawer-shell.is-open{pointer-events:auto;visibility:visible}.block-drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(3,7,18,.66);opacity:0;transition:opacity .2s ease;cursor:default}.block-drawer-shell.is-open .block-drawer-backdrop{opacity:1}.block-drawer{position:absolute;top:0;right:0;width:min(720px,94vw);height:100%;display:flex;flex-direction:column;background:var(--surface-1);border-left:1px solid var(--border);box-shadow:-24px 0 70px rgba(0,0,0,.45);transform:translateX(102%);transition:transform .24s ease}.block-drawer-shell.is-open .block-drawer{transform:translateX(0)}.block-drawer__header{display:flex;justify-content:space-between;gap:20px;padding:22px;border-bottom:1px solid var(--border)}.block-drawer__header h2{margin:4px 0 3px}.block-drawer__header p{margin:0;color:var(--muted);font-size:10px}.block-drawer__body{flex:1;overflow:auto;padding:18px 22px}.drawer-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.drawer-section-title h3{margin:0}.drawer-section-title span{font-size:9px;color:var(--muted)}.drawer-roster-list{border:1px solid var(--border);border-radius:12px;overflow:hidden}.drawer-roster-row{display:grid;grid-template-columns:32px minmax(135px,1fr) 82px 50px minmax(150px,1.2fr);gap:9px;align-items:center;min-height:58px;padding:8px 10px;border-top:1px solid var(--border)}.drawer-roster-row:first-child{border-top:0}.drawer-player{display:flex;flex-direction:column;min-width:0}.drawer-player strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.drawer-player small{color:var(--muted);font-size:8px}.drawer-list-toggle input{width:16px;height:16px}.drawer-roster-row>input,.drawer-pick-row>input{width:100%}.drawer-picks{margin-top:22px}.drawer-pick-row{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(180px,1.2fr);gap:12px;align-items:center;padding:9px 0;border-top:1px solid var(--border)}.drawer-pick-row label{display:flex;align-items:center;gap:9px;font-size:10px}.block-drawer__footer{display:flex;justify-content:flex-end;gap:9px;padding:15px 22px;border-top:1px solid var(--border);background:var(--surface-2)}
.team-roster-table .quick-star-col{width:42px;text-align:center;padding-left:10px;padding-right:4px}.roster-star{display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.roster-star:hover{background:var(--surface-3);color:var(--text)}.roster-star.is-active{color:#f3c74f;background:rgba(243,199,79,.12)}.roster-star svg{width:16px;height:16px}.roster-player-cell{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:250px}.roster-trade-button{margin-left:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--text);font-size:9px;font-weight:800;padding:7px 11px;cursor:pointer;white-space:nowrap}.roster-trade-button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:760px){.block-drawer{width:100vw}.drawer-roster-row{grid-template-columns:30px minmax(120px,1fr) 65px 44px}.drawer-roster-row>input{grid-column:2/-1}.roster-player-cell{min-width:210px}}

/* TC-009.6 integrated stabilization */
.roster-player-row{transition:background-color .12s ease}.roster-player-row:hover{background:var(--surface-2)}
.roster-star:focus-visible,.roster-trade-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.drawer-card-list{display:grid;gap:8px}.drawer-player-card,.drawer-pick-card{display:grid;align-items:center;gap:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);padding:10px;transition:border-color .15s ease,background .15s ease}.drawer-player-card{grid-template-columns:36px minmax(150px,1fr) minmax(160px,1.15fr)}.drawer-player-card.is-listed,.drawer-pick-card.is-listed{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--accent-soft)}.drawer-player-toggle input{position:absolute;opacity:0;pointer-events:none}.drawer-player-toggle span{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;color:var(--muted);background:var(--surface-3);cursor:pointer}.drawer-player-toggle span svg{width:16px;height:16px}.drawer-player-toggle input:checked+span{color:#f3c74f;background:rgba(243,199,79,.14)}.drawer-player-card__identity{display:flex;flex-direction:column;min-width:0}.drawer-player-card__identity strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-player-card__identity small{color:var(--muted)}.drawer-player-card>input,.drawer-pick-card>input{width:100%}.drawer-pick-card{grid-template-columns:minmax(150px,.75fr) minmax(180px,1.25fr)}.drawer-pick-card label{display:flex;gap:9px;align-items:center}.trade-block-grid--full{align-items:stretch}
@media(max-width:700px){.drawer-player-card,.drawer-pick-card{grid-template-columns:34px 1fr}.drawer-player-card>input{grid-column:2}.drawer-pick-card>input{grid-column:1/-1}}


/* TC-009 final cosmetic fix: fully opaque Trade Block management surfaces */
.block-drawer{background:#10151f!important;backdrop-filter:none!important}
.block-drawer__header{background:#10151f!important}
.block-drawer__body{background:#0d121b!important}
.block-drawer__footer{background:#10151f!important}
.drawer-roster-list,.drawer-roster-row,.drawer-pick-row{background:#141b27!important}
.drawer-roster-row:nth-child(even){background:#111823!important}
.drawer-player-card{background:#141b27!important}
.block-drawer input,.block-drawer select,.block-drawer textarea{background:#090d14!important;color:#f3f6fb!important;border-color:#2a3444!important}

/* TC-010 League Activity Feed */
.activity-filter-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.league-feed-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:20px;align-items:start}
.league-feed{display:flex;flex-direction:column;gap:10px}
.league-feed-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) 22px;gap:14px;align-items:center;padding:17px 18px;background:var(--surface-1);border:1px solid var(--border);border-radius:15px;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease;overflow:hidden}
.league-feed-item:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--border)}
.league-feed-item:hover{transform:translateY(-1px);border-color:rgba(var(--accent-rgb),.46);background:var(--surface-2)}
.league-feed-item--success:before{background:#32d583}.league-feed-item--warning:before{background:#f6b84b}.league-feed-item--score:before{background:#64a0ff}.league-feed-item--accent:before{background:var(--accent)}.league-feed-item--player:before{background:#a78bfa}
.league-feed-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:rgba(var(--accent-rgb),.11);color:var(--accent)}
.league-feed-icon svg{width:20px;height:20px}
.league-feed-content{min-width:0}
.league-feed-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px;text-transform:uppercase;letter-spacing:.08em;font-size:8px;font-weight:800;color:var(--muted)}
.league-feed-content h3{margin:0 0 5px;font-size:14px;line-height:1.35}
.league-feed-content p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.league-feed-teams{display:flex;gap:5px;margin-top:10px}.league-feed-teams .mini-team{width:25px;height:25px;font-size:7px}
.league-feed-arrow{width:17px;height:17px;color:var(--muted)}
.league-feed-sidebar{display:flex;flex-direction:column;gap:16px;position:sticky;top:84px}
.feed-side-card{overflow:hidden}.feed-side-card .card-header{padding:15px 16px}.feed-side-card .text-button{font-size:8px}
.power-snapshot,.trending-player-list,.upcoming-event-list{display:flex;flex-direction:column}
.power-snapshot button,.trending-player-list button,.upcoming-event-list button{display:grid;width:100%;align-items:center;border:0;border-top:1px solid var(--border);background:transparent;color:inherit;text-align:left;cursor:pointer;transition:background .15s ease}
.power-snapshot button:hover,.trending-player-list button:hover,.upcoming-event-list button:hover{background:var(--surface-2)}
.power-snapshot button{grid-template-columns:26px 31px minmax(0,1fr);gap:9px;padding:10px 14px}.power-snapshot button>span:last-child{display:flex;flex-direction:column;min-width:0}.power-snapshot strong{font-size:10px}.power-snapshot small{color:var(--muted);font-size:8px}.power-rank{font-weight:900;color:var(--muted);font-size:11px}
.trending-player-list button{grid-template-columns:24px minmax(0,1fr) 34px;gap:7px;padding:9px 12px}.trending-player-list .table-player{gap:8px}.trending-player-list .player-avatar{width:30px;height:30px;font-size:8px}.trending-player-list .table-player strong{font-size:9px}.trending-player-list .table-player small{font-size:7px}.trend-number{font-size:9px;color:var(--muted);font-weight:800}.trend-score{display:grid;place-items:center;width:31px;height:31px;border-radius:9px;background:rgba(var(--accent-rgb),.12);font-weight:900;font-size:10px;color:var(--accent)}
.upcoming-event-list button{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:11px 14px}.upcoming-event-list button>span{display:flex;flex-direction:column;font-size:10px;font-weight:800}.upcoming-event-list small{font-size:8px;color:var(--muted);font-weight:500;margin-top:3px}.upcoming-date{color:var(--muted)!important;font-size:8px!important}.upcoming-date strong{color:var(--text);font-size:9px;margin-top:3px}
.upcoming-league-event{display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;padding:11px 14px;border-top:1px solid var(--border)}.upcoming-league-event .league-feed-icon{width:34px;height:34px}.upcoming-league-event span:last-child{display:flex;flex-direction:column}.upcoming-league-event strong{font-size:10px}.upcoming-league-event small{font-size:8px;color:var(--muted);margin-top:3px}
@media(max-width:1050px){.league-feed-layout{grid-template-columns:1fr}.league-feed-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.league-feed-sidebar .feed-side-card:last-child{grid-column:1/-1}}
@media(max-width:700px){.activity-filter-bar{align-items:flex-start;flex-direction:column}.activity-filter-bar .segmented-tabs{width:100%;overflow-x:auto;justify-content:flex-start}.league-feed-sidebar{display:flex}.league-feed-item{grid-template-columns:40px minmax(0,1fr);padding:14px}.league-feed-arrow{display:none}.league-feed-meta{align-items:flex-start;flex-direction:column;gap:3px}}


/* TC-010.2 League Home */
.week-ribbon-wrap{margin-bottom:18px;overflow:hidden}
.week-ribbon{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 10px;scrollbar-width:thin}
.week-matchup-card{flex:0 0 190px;display:grid;gap:7px;padding:12px;background:var(--surface-1);border:1px solid var(--border);border-radius:12px;color:var(--text);text-align:left;cursor:pointer;transition:.16s ease}
.week-matchup-card:hover,.week-matchup-card.is-active{border-color:var(--accent);background:var(--surface-2);transform:translateY(-1px)}
.week-matchup-time,.week-matchup-network{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.week-matchup-team{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:7px}.week-matchup-team .mini-team{width:23px;height:23px;font-size:7px}.week-matchup-team strong{font-size:10px}.week-matchup-team small{font-size:9px;color:var(--muted);font-weight:800}
.league-home-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px;align-items:start}
.featured-game{position:relative;overflow:hidden;padding:0;background:linear-gradient(110deg,color-mix(in srgb,var(--away) 20%,var(--surface-1)),var(--surface-1) 47%,color-mix(in srgb,var(--home) 20%,var(--surface-1)))}
.featured-game:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 0 45%,rgba(255,255,255,.025) 45% 47%,transparent 47%);pointer-events:none}
.featured-game-label{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;padding:13px 16px;border-bottom:1px solid var(--border)}.featured-game-label span{font-size:9px;color:var(--accent);font-weight:900;text-transform:uppercase;letter-spacing:.09em}.featured-game-label small{font-size:8px;color:var(--muted)}
.featured-game-scoreboard{position:relative;z-index:1;display:grid;grid-template-columns:1fr 210px 1fr;align-items:center;gap:14px;padding:26px 28px 20px;text-align:center}
.featured-team{display:flex;flex-direction:column;align-items:center}.featured-team-logo{width:88px;height:88px;border-radius:26px;font-size:20px;margin-bottom:12px}.featured-team h2{font-size:27px;margin:1px 0 4px}.featured-team p{font-size:9px;color:var(--muted);margin:0}.featured-versus{display:flex;flex-direction:column;align-items:center;gap:10px}.featured-versus>strong{font-size:22px}.featured-versus>strong span{font-size:10px;color:var(--muted);margin:0 6px}.featured-versus>small{font-size:8px;color:var(--muted)}.featured-versus .button{margin-top:4px}
.previous-result{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:9px 13px;border:1px solid var(--border);border-radius:10px;background:rgba(0,0,0,.16)}.previous-result span{font-size:7px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}.previous-result strong{font-size:9px}
.featured-game-units{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 18px 18px}
.featured-unit{padding:12px;background:rgba(8,12,18,.72);border:1px solid var(--border);border-radius:12px}
.featured-player-row{display:grid;grid-template-columns:minmax(0,1fr) 32px 70px;align-items:center;gap:8px;width:100%;padding:8px 0;border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;text-align:left;cursor:pointer}.featured-player-row:last-child{border-bottom:0}.featured-player-row:hover strong{color:var(--accent)}.featured-player-row>span:first-child{display:flex;align-items:center;justify-content:space-between;min-width:0}.featured-player-row strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.featured-player-row small{font-size:7px;color:var(--muted)}.featured-player-row .dev-badge{font-size:7px;justify-self:end}
.league-home-standings{display:flex;flex-direction:column;gap:14px}.home-standings-card{overflow:hidden}.home-standings-card .card-header{padding:13px 14px}.home-standings-list{display:flex;flex-direction:column}.home-standings-list button{display:grid;grid-template-columns:25px 25px minmax(0,1fr) 38px;gap:8px;align-items:center;width:100%;padding:8px 12px;border:0;border-top:1px solid var(--border);background:transparent;color:inherit;text-align:left;cursor:pointer}.home-standings-list button:hover{background:var(--surface-2)}.home-standings-list button.wildcard-cutline{border-top:2px solid rgba(var(--accent-rgb),.55)}.home-standings-list .mini-team{width:23px;height:23px;font-size:7px}.home-standings-list button>span:nth-child(3){display:flex;flex-direction:column;min-width:0}.home-standings-list strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-standings-list small{font-size:7px;color:var(--muted)}
.home-section{margin-top:24px}.home-section .section-heading{margin-bottom:12px}.home-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-news-grid .news-card{min-width:0}
.home-leaders-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-leader-card{overflow:hidden}.home-leader-card .card-header{padding:13px 14px 8px}.mini-toggle{display:flex;gap:5px;padding:0 12px 10px}.mini-toggle button{padding:5px 8px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted);font-size:7px;font-weight:800;cursor:pointer}.mini-toggle button.is-active{background:rgba(var(--accent-rgb),.14);color:var(--accent);border-color:rgba(var(--accent-rgb),.45)}
.home-leader-list{display:flex;flex-direction:column}.home-leader-list button{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:7px;align-items:center;width:100%;padding:8px 11px;border:0;border-top:1px solid var(--border);background:transparent;color:inherit;text-align:left;cursor:pointer}.home-leader-list button:hover{background:var(--surface-2)}.home-leader-list .table-player{gap:7px}.home-leader-list .player-avatar{width:27px;height:27px;font-size:7px}.home-leader-list .table-player strong{font-size:8px}.home-leader-list .table-player small{font-size:7px}.home-leader-list>button>strong{font-size:9px;color:var(--accent)}.leader-rank{font-size:8px;color:var(--muted);font-weight:900}
.game-center-body{max-height:74vh;overflow:auto}.game-center-scoreline{display:grid;grid-template-columns:1fr 130px 1fr;align-items:center;text-align:center;padding:8px 0 20px}.game-center-scoreline>div{display:flex;flex-direction:column;align-items:center;gap:6px}.game-center-scoreline>span{font-size:25px;font-weight:900}.game-center-scoreline small{color:var(--muted);font-size:8px}.game-center-comparison{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:16px}.game-center-comparison>div{display:grid;grid-template-columns:1fr 80px 80px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:9px}.game-center-comparison>div:last-child{border-bottom:0}.game-center-comparison span{color:var(--muted)}.game-center-rosters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.game-center-roster{border:1px solid var(--border);border-radius:12px;overflow:hidden}.game-center-roster-head{display:flex;align-items:center;gap:9px;padding:12px;background:var(--surface-2)}.game-center-roster-head>span{display:flex;flex-direction:column}.game-center-roster-head strong{font-size:10px}.game-center-roster-head small{font-size:8px;color:var(--muted)}.game-center-player-list{max-height:440px;overflow:auto}.game-center-player-list button{display:grid;grid-template-columns:32px minmax(0,1fr) 32px 72px;align-items:center;gap:7px;width:100%;padding:8px 10px;border:0;border-top:1px solid var(--border);background:transparent;color:inherit;text-align:left;cursor:pointer}.game-center-player-list button:hover{background:var(--surface-2)}.game-center-player-list button>span:nth-child(2){display:flex;flex-direction:column;min-width:0}.game-center-player-list strong{font-size:8px}.game-center-player-list small{font-size:7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gc-position{font-size:7px;color:var(--accent);font-weight:900}.game-center-player-list .dev-badge{font-size:6px}
@media(max-width:1200px){.league-home-main{grid-template-columns:1fr}.league-home-standings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.featured-game-scoreboard{grid-template-columns:1fr 160px 1fr}.home-leaders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.home-news-grid,.home-leaders-grid,.league-home-standings,.game-center-rosters{grid-template-columns:1fr}.featured-game-scoreboard{grid-template-columns:1fr}.featured-versus{order:-1}.featured-game-units{grid-template-columns:1fr}.featured-team-logo{width:68px;height:68px}.game-center-scoreline{grid-template-columns:1fr 80px 1fr}}


/* TC-010.3 League Home polish */
.week-matchup-card{
  background:linear-gradient(180deg,var(--surface-2),var(--surface-1))!important;
  border:1px solid color-mix(in srgb,var(--border) 65%,#ffffff 35%)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.025),0 10px 24px rgba(0,0,0,.18)!important;
}
.week-matchup-card:hover,
.week-matchup-card.is-active{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 1px rgba(var(--accent-rgb),.22),0 14px 30px rgba(0,0,0,.24)!important;
}
.week-matchup-team{padding:3px 0}
.week-matchup-time{padding-bottom:6px;border-bottom:1px solid var(--border)}

.featured-game{
  background:
    linear-gradient(90deg,
      color-mix(in srgb,var(--away) 62%,#0b1119) 0%,
      color-mix(in srgb,var(--away) 32%,#0b1119) 46%,
      #0b1119 50%,
      color-mix(in srgb,var(--home) 32%,#0b1119) 54%,
      color-mix(in srgb,var(--home) 62%,#0b1119) 100%)!important;
  border-color:color-mix(in srgb,var(--away) 28%,var(--home) 28%,var(--border) 44%)!important;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.featured-game:before{
  background:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.08),transparent 28%),
    radial-gradient(circle at 80% 20%,rgba(255,255,255,.08),transparent 28%),
    linear-gradient(115deg,transparent 0 48%,rgba(255,255,255,.04) 48% 50%,transparent 50%)!important;
}
.featured-split{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);
}
.featured-half{
  min-width:0;
  padding:22px;
}
.featured-half--away{border-right:1px solid rgba(255,255,255,.08)}
.featured-half--home{border-left:1px solid rgba(255,255,255,.08)}
.featured-half-hero{
  display:flex;
  align-items:center;
  gap:18px;
  min-height:160px;
  margin-bottom:16px;
}
.featured-half-hero--home{
  justify-content:flex-end;
  text-align:right;
}
.featured-half-copy{
  flex:1;
  min-width:0;
}
.featured-half-copy h2{
  margin:2px 0 5px;
  font-size:30px;
  line-height:1;
}
.featured-half-copy p{
  margin:0;
  color:rgba(255,255,255,.72);
  font-size:9px;
}
.featured-half-hero--home .previous-result{align-items:flex-end}
.featured-half .featured-team-logo{
  flex:0 0 auto;
  width:112px;
  height:112px;
  border-radius:28px;
  font-size:24px;
  background:rgba(7,11,17,.28);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 18px 30px rgba(0,0,0,.22);
}
.featured-center-rail{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:14px;
  padding:18px 8px;
  background:rgba(5,8,13,.52);
  border-left:1px solid rgba(255,255,255,.08);
  border-right:1px solid rgba(255,255,255,.08);
  text-align:center;
}
.featured-center-rail>strong{
  display:flex;
  flex-direction:column;
  gap:7px;
  font-size:18px;
}
.featured-center-rail>strong span{
  font-size:8px;
  color:var(--muted);
  letter-spacing:.16em;
}
.featured-week{
  font-size:8px;
  font-weight:900;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.12em;
}
.featured-center-rail .button{
  padding:7px 9px;
  font-size:7px;
}
.featured-unit-stack{
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
}
.featured-unit{
  background:rgba(6,10,16,.72)!important;
  border-color:rgba(255,255,255,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.featured-half--away .featured-unit{border-left:2px solid color-mix(in srgb,var(--away) 72%,#ffffff 28%)!important}
.featured-half--home .featured-unit{border-right:2px solid color-mix(in srgb,var(--home) 72%,#ffffff 28%)!important}

.home-news-section{
  width:calc(100% - 358px);
  margin-top:-160px;
  position:relative;
  z-index:2;
}
.home-news-grid--compact{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
.home-news-grid--compact .news-card{
  min-height:132px!important;
  max-height:132px!important;
  overflow:hidden;
}
.home-news-grid--compact .news-card-media,
.home-news-grid--compact .news-card-image{
  height:62px!important;
  min-height:62px!important;
}
.home-news-grid--compact .news-card-content{
  padding:10px!important;
}
.home-news-grid--compact .news-card h3{
  font-size:10px!important;
  line-height:1.25!important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.home-news-grid--compact .news-card p{
  display:none!important;
}

.home-leaders-section{
  margin-top:20px!important;
}
.home-leaders-grid--single-row{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:10px!important;
}
.home-leaders-grid--single-row .home-leader-card .card-header{
  padding:10px 10px 6px!important;
}
.home-leaders-grid--single-row .home-leader-card h3{
  font-size:10px!important;
}
.home-leaders-grid--single-row .mini-toggle{
  padding:0 8px 7px!important;
  gap:3px!important;
}
.home-leaders-grid--single-row .mini-toggle button{
  padding:4px 6px!important;
  font-size:6px!important;
}
.home-leaders-grid--single-row .home-leader-list button{
  grid-template-columns:16px minmax(0,1fr) auto!important;
  padding:6px 8px!important;
  gap:5px!important;
}
.home-leaders-grid--single-row .player-avatar{
  width:22px!important;
  height:22px!important;
}
.home-leaders-grid--single-row .table-player strong{
  font-size:7px!important;
}
.home-leaders-grid--single-row .table-player small{
  font-size:6px!important;
}
.home-leaders-grid--single-row .home-leader-list>button>strong{
  font-size:8px!important;
}

@media(max-width:1400px){
  .home-leaders-grid--single-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:1200px){
  .home-news-section{width:100%;margin-top:20px}
}
@media(max-width:900px){
  .featured-split{grid-template-columns:1fr}
  .featured-center-rail{order:-1;flex-direction:row}
  .featured-half--away,.featured-half--home{border:0}
  .featured-half-hero,.featured-half-hero--home{justify-content:center;text-align:center;flex-direction:column}
  .featured-half-hero--home .previous-result{align-items:center}
}
@media(max-width:760px){
  .home-news-grid--compact,
  .home-leaders-grid--single-row{grid-template-columns:1fr!important}
}


/* TC-010.4 layout and Game Center stabilization */
.league-home-primary{display:flex;flex-direction:column;gap:14px;min-width:0}
.home-news-section{
  width:100%!important;
  margin-top:0!important;
  position:static!important;
}
.home-news-grid--compact .news-card{
  min-height:126px!important;
  max-height:126px!important;
}
.league-home-main{align-items:stretch!important}
.league-home-standings{height:100%}

.featured-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;cursor:pointer}
.featured-split--clickable:hover .featured-half{filter:brightness(1.04)}
.featured-center-rail{display:none!important}
.featured-half--away{border-right:1px solid rgba(255,255,255,.09)!important}
.featured-half--home{border-left:1px solid rgba(255,255,255,.09)!important}

.detail-modal{z-index:190!important}
.detail-backdrop{background:rgba(1,3,7,.82)!important;backdrop-filter:blur(10px)!important}
.detail-dialog{
  width:min(1180px,calc(100vw - 30px))!important;
  max-height:calc(100vh - 28px)!important;
  margin:14px auto!important;
  overflow:hidden!important;
  border-color:rgba(255,255,255,.12)!important;
  background:#0b1018!important;
}
.detail-dialog>.detail-close{display:none!important}
.game-center-shell{
  min-height:min(900px,calc(100vh - 30px));
  max-height:calc(100vh - 30px);
  overflow:auto;
  background:
    radial-gradient(circle at 9% 8%,color-mix(in srgb,var(--game-away) 30%,transparent),transparent 25%),
    radial-gradient(circle at 91% 8%,color-mix(in srgb,var(--game-home) 30%,transparent),transparent 25%),
    #0b1018;
}
.game-center-topbar{
  position:sticky;
  top:0;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  background:rgba(11,16,24,.95);
  border-bottom:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(14px);
}
.game-center-topbar h2{margin:2px 0 0;font-size:20px}
.game-center-close{
  background:#161e2b!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#fff!important;
}
.game-center-switcher{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:12px 16px;
  border-bottom:1px solid rgba(255,255,255,.08);
  background:#0e151f;
}
.game-center-switcher button{
  flex:0 0 132px;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:9px 10px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:10px;
  background:#141d29;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.game-center-switcher button.is-active{
  border-color:var(--accent);
  box-shadow:0 0 0 1px rgba(var(--accent-rgb),.18);
}
.game-center-switcher span{font-size:9px;font-weight:900}
.game-center-switcher b{color:var(--muted);font-size:7px}
.game-center-switcher small{font-size:7px;color:var(--muted)}
.game-center-matchup{
  display:grid;
  grid-template-columns:1fr 210px 1fr;
  align-items:center;
  min-height:240px;
  padding:26px 34px;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--game-away) 48%,#0b1018),#0b1018 48% 52%,color-mix(in srgb,var(--game-home) 48%,#0b1018));
  border-bottom:1px solid rgba(255,255,255,.1);
}
.game-center-team{display:flex;flex-direction:column;align-items:center;text-align:center}
.game-center-team .featured-team-logo{width:108px;height:108px;border-radius:30px;margin-bottom:12px}
.game-center-team>span{font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.68)}
.game-center-team>strong{font-size:28px;line-height:1;margin-top:4px}
.game-center-team>small{font-size:8px;color:rgba(255,255,255,.68);margin-top:7px}
.game-center-score{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.game-center-score>span,.game-center-score>small{font-size:8px;color:var(--muted)}
.game-center-score>strong{font-size:42px;letter-spacing:-.04em}
.game-center-score>strong b{font-size:18px;color:var(--muted);margin:0 7px}
.game-center-body{padding:18px 20px 28px!important;max-height:none!important;overflow:visible!important}
.game-center-section-heading{margin:18px 0 10px}
.game-center-section-heading h3{margin:3px 0 0}
.completed-game-stats{display:flex;flex-direction:column;gap:16px}
.game-stat-section{
  border:1px solid rgba(255,255,255,.09);
  border-radius:14px;
  overflow:hidden;
  background:#101722;
}
.game-stat-section-title{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08)}
.game-stat-section-title h3{margin:2px 0 0;font-size:13px}
.game-stat-pair{display:grid;grid-template-columns:1fr 1fr}
.game-stat-team:first-child{border-right:1px solid rgba(255,255,255,.08)}
.game-stat-team-head{display:flex;align-items:center;gap:8px;padding:9px 11px;background:#151e2b}
.game-stat-team-head .team-logo{width:26px;height:26px}
.game-stat-team-head strong{font-size:10px}
.game-stat-table{overflow-x:auto}
.game-stat-row{
  display:grid;
  grid-template-columns:minmax(120px,1fr) repeat(4,52px);
  align-items:center;
  width:100%;
  min-width:365px;
  padding:7px 10px;
  border:0;
  border-top:1px solid rgba(255,255,255,.06);
  background:transparent;
  color:var(--text);
  text-align:right;
}
button.game-stat-row{cursor:pointer}
button.game-stat-row:hover{background:#172131}
.game-stat-row>span:first-child{text-align:left;display:flex;flex-direction:column}
.game-stat-row strong{font-size:8px}
.game-stat-row small{font-size:6px;color:var(--muted)}
.game-stat-row>span:not(:first-child){font-size:8px;font-weight:800}
.game-stat-row--head{background:#0d141e;color:var(--muted)}
.game-stat-row--head span{font-size:6px!important;text-transform:uppercase;letter-spacing:.06em}

.mobile-menu-button{
  position:relative!important;
  z-index:80!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}
@media(max-width:820px){
  .topbar__left{position:relative;z-index:81}
  .mobile-overlay{z-index:79!important}
  .sidebar{z-index:90!important}
  .game-center-matchup{grid-template-columns:1fr 110px 1fr;padding:20px 12px}
  .game-center-team .featured-team-logo{width:72px;height:72px}
  .game-center-team>strong{font-size:17px}
  .game-center-score>strong{font-size:26px}
  .game-stat-pair{grid-template-columns:1fr}
  .game-stat-team:first-child{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}
}
@media(max-width:620px){
  .command-search{display:none!important}
  .mobile-menu-button{display:inline-grid!important}
  .topbar__left{flex:1}
  .game-center-matchup{grid-template-columns:1fr}
  .game-center-score{order:-1;margin-bottom:16px}
  .game-center-team{margin:8px 0}
  .game-center-switcher button{flex-basis:112px}
}


/* TC-010.5 Game Center tabs, recap and stable mobile navigation */
.game-center-topbar{
  display:grid!important;
  grid-template-columns:minmax(210px,1fr) auto minmax(210px,1fr)!important;
}
.game-center-schedule-info{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
}
.game-center-schedule-info strong{font-size:10px}
.game-center-schedule-info small{font-size:8px;color:var(--muted)}
.game-center-title{text-align:center}
.game-center-close{justify-self:end}
.game-center-comparison{display:none!important}

.game-center-tabs{
  display:flex;
  gap:6px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.game-center-tabs button{
  min-width:92px;
  padding:9px 16px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:#121a26;
  color:var(--muted);
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.game-center-tabs button:hover{color:var(--text);background:#172131}
.game-center-tabs button.is-active{
  color:var(--accent);
  border-color:rgba(var(--accent-rgb),.48);
  background:rgba(var(--accent-rgb),.13);
}
.game-center-tab-content{padding-top:15px}
.game-center-tab-panel{min-height:360px}

.team-stat-board{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:#101722;
}
.team-stat-board-head,
.team-stat-board-row{
  display:grid;
  grid-template-columns:1fr 180px 1fr;
  align-items:center;
  gap:12px;
  padding:11px 15px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.team-stat-board-head{background:#151e2b}
.team-stat-board-head>span:first-child,
.team-stat-board-head>span:last-child{display:flex;align-items:center;gap:8px}
.team-stat-board-head>span:last-child{justify-content:flex-end}
.team-stat-board-head>span:nth-child(2){text-align:center;font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.team-stat-board-head .team-logo{width:28px;height:28px}
.team-stat-board-row:last-child{border-bottom:0}
.team-stat-board-row>strong:first-child{text-align:left}
.team-stat-board-row>strong:last-child{text-align:right}
.team-stat-board-row>span{text-align:center;font-size:8px;color:var(--muted)}
.team-stat-board-row>strong{font-size:12px}

.broadcast-recap{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  background:
    linear-gradient(110deg,color-mix(in srgb,var(--recap-away) 56%,#07101b),#07101b 45% 55%,color-mix(in srgb,var(--recap-home) 56%,#07101b));
  box-shadow:0 24px 54px rgba(0,0,0,.28);
}
.broadcast-recap:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,transparent 0 47%,rgba(255,255,255,.045) 47% 49%,transparent 49%),
    radial-gradient(circle at 12% 18%,rgba(255,255,255,.08),transparent 25%),
    radial-gradient(circle at 88% 18%,rgba(255,255,255,.08),transparent 25%);
  pointer-events:none;
}
.broadcast-recap-topline{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  padding:11px 15px;
  border-bottom:1px solid rgba(255,255,255,.11);
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
}
.broadcast-recap-score{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 220px 1fr;
  align-items:center;
  padding:22px 34px 10px;
}
.broadcast-recap-score>div{display:flex;flex-direction:column;align-items:center}
.broadcast-recap-score .featured-team-logo{width:92px;height:92px;border-radius:26px;margin-bottom:8px}
.broadcast-recap-score>div>strong{font-size:24px}
.broadcast-recap-score>div>small{font-size:8px;color:rgba(255,255,255,.7)}
.broadcast-recap-score>span{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center}
.broadcast-recap-score b{font-size:46px}
.broadcast-recap-score em{font-size:7px;font-style:normal;color:var(--muted);letter-spacing:.12em}
.broadcast-recap-story{
  position:relative;
  z-index:1;
  max-width:760px;
  margin:0 auto;
  padding:12px 22px 18px;
  text-align:center;
}
.broadcast-recap-story h3{margin:5px 0 8px;font-size:22px}
.broadcast-recap-story p{margin:0;color:rgba(255,255,255,.72);font-size:9px;line-height:1.6}
.broadcast-stars{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:0 18px 18px;
}
.broadcast-stars button{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:9px;
  align-items:center;
  min-height:76px;
  padding:11px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:12px;
  background:rgba(5,9,15,.7);
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.broadcast-stars button.is-mvp{border-color:rgba(var(--accent-rgb),.55);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.15)}
.broadcast-stars button>span:nth-child(2){display:flex;flex-direction:column}
.broadcast-stars strong{font-size:9px}
.broadcast-stars small{font-size:7px;color:var(--muted)}
.broadcast-stars em{grid-column:2;font-size:7px;font-style:normal;color:var(--accent)}
.broadcast-star-rank{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(var(--accent-rgb),.15);font-size:8px;font-weight:900;color:var(--accent)}
.broadcast-recap-footer{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:11px 15px;
  border-top:1px solid rgba(255,255,255,.1);
  background:rgba(5,9,15,.45);
}
.broadcast-recap-footer>span{font-size:7px;color:var(--muted)}

.mobile-menu-button{z-index:120!important}
body.sidebar-open .sidebar{transform:translateX(0)!important}
body.sidebar-open .mobile-overlay{display:block!important;opacity:1!important;pointer-events:auto!important}

@media(max-width:760px){
  .game-center-topbar{grid-template-columns:1fr auto!important}
  .game-center-title{display:none}
  .game-center-tabs{overflow-x:auto}
  .game-center-tabs button{flex:0 0 auto}
  .team-stat-board-head,.team-stat-board-row{grid-template-columns:1fr 105px 1fr}
  .broadcast-recap-score{grid-template-columns:1fr 110px 1fr;padding:18px 10px 8px}
  .broadcast-recap-score .featured-team-logo{width:64px;height:64px}
  .broadcast-recap-score b{font-size:30px}
  .broadcast-stars{grid-template-columns:1fr}
}


/* TC-011.1 Broadcast Recap Generator */
.recap-studio-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-bottom:14px;
}
.recap-studio-toolbar h3{margin:3px 0 5px;font-size:18px}
.recap-studio-toolbar p{margin:0;max-width:620px;color:var(--muted);font-size:8px}
.recap-studio-actions{display:flex;gap:8px;flex:0 0 auto}
.recap-studio-actions button:disabled{opacity:.4;cursor:not-allowed}
.recap-format-picker{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:12px;
  background:#101722;
}
.recap-format-picker>span{font-size:8px;color:var(--muted);font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.recap-format-picker>div{display:flex;gap:6px}
.recap-format-picker button{
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:9px;
  background:#151e2b;
  color:var(--text);
  cursor:pointer;
}
.recap-format-picker button.is-active{
  border-color:rgba(var(--accent-rgb),.58);
  background:rgba(var(--accent-rgb),.13);
}
.recap-format-picker strong{font-size:8px}
.recap-format-picker small{font-size:7px;color:var(--muted)}
.recap-availability-note{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin-bottom:12px;
  padding:10px 12px;
  border:1px solid rgba(242,184,75,.3);
  border-radius:10px;
  background:rgba(242,184,75,.08);
}
.recap-availability-note strong{font-size:9px;color:#f2b84b}
.recap-availability-note span{font-size:8px;color:var(--muted)}
.broadcast-recap--square{max-width:780px;margin-inline:auto}
.broadcast-recap--story{max-width:620px;margin-inline:auto}
.broadcast-recap--story .broadcast-recap-score{grid-template-columns:1fr 130px 1fr}
.broadcast-recap--story .broadcast-stars{grid-template-columns:1fr}
.broadcast-recap--story .broadcast-recap-story{padding-inline:34px}
.recap-story-panel{
  display:grid;
  grid-template-columns:1fr 1.5fr 1fr;
  gap:10px;
  margin-top:12px;
}
.recap-story-panel>div{
  padding:12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:11px;
  background:#101722;
}
.recap-story-panel h4{margin:5px 0 0;font-size:11px;line-height:1.35}
.recap-story-panel p{margin:5px 0 0;font-size:8px;line-height:1.55;color:var(--muted)}
@media(max-width:820px){
  .recap-studio-toolbar{align-items:flex-start;flex-direction:column}
  .recap-format-picker{align-items:flex-start;flex-direction:column}
  .recap-story-panel{grid-template-columns:1fr}
}


/* =========================================================
   TC-011.2 — Franchise HQ Design System & Typography Refresh
   ========================================================= */

:root{
  --fh-font-2xs:10px;
  --fh-font-xs:11px;
  --fh-font-sm:12px;
  --fh-font-md:14px;
  --fh-font-lg:16px;
  --fh-font-xl:18px;
  --fh-font-2xl:22px;
  --fh-font-3xl:28px;
  --fh-line-tight:1.2;
  --fh-line-normal:1.45;
  --fh-space-1:6px;
  --fh-space-2:10px;
  --fh-space-3:14px;
  --fh-space-4:18px;
  --fh-space-5:24px;
  --fh-radius-sm:10px;
  --fh-radius-md:14px;
  --fh-radius-lg:18px;
}

html{font-size:16px}
body{
  font-size:var(--fh-font-md)!important;
  line-height:var(--fh-line-normal)!important;
  letter-spacing:0!important;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

/* Core text scale */
h1{font-size:var(--fh-font-3xl)!important;line-height:1.08!important}
h2{font-size:var(--fh-font-2xl)!important;line-height:1.12!important}
h3{font-size:var(--fh-font-xl)!important;line-height:1.18!important}
h4{font-size:var(--fh-font-lg)!important;line-height:1.25!important}
p,li,td,th,label,input,select,textarea,button{
  font-size:var(--fh-font-md)!important;
}
small,.muted,.helper-text,.caption,.subtext{
  font-size:var(--fh-font-sm)!important;
  line-height:1.4!important;
}
.eyebrow,
.section-number,
.badge,
.status-badge,
.dev-badge,
.rating-chip,
.nav-kicker,
.field-label,
.table-kicker,
.meta-label{
  font-size:var(--fh-font-2xs)!important;
  line-height:1.2!important;
  letter-spacing:.08em!important;
}

/* Navigation */
.sidebar{
  width:250px!important;
}
.sidebar__brand strong,
.brand-lockup strong{
  font-size:var(--fh-font-lg)!important;
}
.sidebar__brand small,
.brand-lockup small{
  font-size:var(--fh-font-xs)!important;
}
.sidebar-nav a,
.sidebar-nav button,
.nav-item{
  min-height:44px!important;
  padding:11px 13px!important;
  font-size:var(--fh-font-md)!important;
}
.sidebar-nav svg,
.nav-item svg{
  width:18px!important;
  height:18px!important;
}
.topbar{
  min-height:66px!important;
  padding:10px 18px!important;
}
.topbar button,
.topbar .button,
.mobile-menu-button{
  min-height:42px!important;
}
.command-search input{
  min-height:42px!important;
  font-size:var(--fh-font-md)!important;
}

/* Page structure */
.page-shell,
.page-content,
.main-content{
  padding:var(--fh-space-4)!important;
}
.page-header{
  margin-bottom:var(--fh-space-4)!important;
}
.page-header h1,
.page-header h2{
  margin-bottom:6px!important;
}
.page-header p{
  font-size:var(--fh-font-md)!important;
}

/* Cards and surfaces */
.card,
.panel,
.surface,
.metric-card,
.content-card,
.team-card,
.player-card,
.news-card,
.standings-card,
.featured-game,
.trade-card{
  border-radius:var(--fh-radius-md)!important;
}
.card,
.panel,
.surface,
.content-card,
.team-card,
.player-card,
.trade-card{
  padding:var(--fh-space-4)!important;
}
.metric-card{
  padding:14px 16px!important;
  min-height:92px!important;
}
.metric-card span,
.metric-card small{
  font-size:var(--fh-font-sm)!important;
}
.metric-card strong,
.metric-card .metric-value{
  font-size:var(--fh-font-2xl)!important;
  line-height:1.05!important;
}

/* Buttons and controls */
.button,
button.button,
.icon-button,
.text-button,
.segmented-control button,
.tab-button{
  min-height:40px!important;
  padding:9px 14px!important;
  border-radius:var(--fh-radius-sm)!important;
  font-size:var(--fh-font-sm)!important;
  font-weight:800!important;
}
.icon-button{
  min-width:40px!important;
  padding:9px!important;
}
input,
select,
textarea{
  min-height:42px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
}
textarea{min-height:110px!important}
select{padding-right:34px!important}

/* Tables and lists */
table th{
  font-size:var(--fh-font-xs)!important;
  padding:11px 12px!important;
}
table td{
  font-size:var(--fh-font-sm)!important;
  padding:12px!important;
}
.data-row,
.list-row,
.roster-row,
.transaction-row,
.standings-row{
  min-height:46px!important;
  padding:10px 12px!important;
}
.data-row strong,
.list-row strong,
.roster-row strong,
.transaction-row strong{
  font-size:var(--fh-font-md)!important;
}
.data-row small,
.list-row small,
.roster-row small,
.transaction-row small{
  font-size:var(--fh-font-sm)!important;
}

/* Tabs */
.tabs,
.game-center-tabs,
.segmented-control{
  gap:8px!important;
}
.tabs button,
.game-center-tabs button,
.segmented-control button{
  min-height:42px!important;
  min-width:96px!important;
  padding:10px 16px!important;
  font-size:var(--fh-font-sm)!important;
}

/* League Home */
.section-heading{
  margin-bottom:12px!important;
}
.section-heading h2{
  font-size:var(--fh-font-xl)!important;
}
.weekly-ribbon{
  gap:10px!important;
}
.schedule-card{
  min-height:118px!important;
  padding:12px!important;
}
.schedule-card strong{
  font-size:var(--fh-font-md)!important;
}
.schedule-card small{
  font-size:var(--fh-font-xs)!important;
}
.featured-half{
  padding:22px!important;
}
.featured-half .featured-team-name,
.featured-half h3{
  font-size:var(--fh-font-xl)!important;
}
.featured-half .featured-team-record{
  font-size:var(--fh-font-sm)!important;
}
.featured-stat-box{
  padding:12px 14px!important;
}
.featured-stat-box span{
  font-size:var(--fh-font-xs)!important;
}
.featured-stat-box strong{
  font-size:var(--fh-font-md)!important;
}
.home-news-grid--compact .news-card{
  min-height:156px!important;
  max-height:none!important;
  padding:16px!important;
}
.news-card h3,
.news-card h4{
  font-size:var(--fh-font-lg)!important;
}
.news-card p,
.news-card small{
  font-size:var(--fh-font-sm)!important;
}
.standings-card{
  padding:16px!important;
}
.standings-card h3{
  font-size:var(--fh-font-lg)!important;
}
.standings-row{
  grid-template-columns:28px minmax(0,1fr) auto!important;
}
.standings-row strong,
.standings-row span{
  font-size:var(--fh-font-sm)!important;
}
.home-leader-card{
  min-height:110px!important;
  padding:14px!important;
}
.home-leader-card strong{
  font-size:var(--fh-font-md)!important;
}
.home-leader-card small{
  font-size:var(--fh-font-sm)!important;
}

/* Team and player pages */
.team-hero,
.player-hero{
  padding:24px!important;
}
.team-hero h1,
.player-hero h1{
  font-size:30px!important;
}
.team-hero-meta,
.player-hero-meta{
  font-size:var(--fh-font-sm)!important;
}
.player-row,
.depth-row{
  min-height:52px!important;
  padding:11px 12px!important;
}
.player-row strong,
.depth-row strong{
  font-size:var(--fh-font-md)!important;
}
.player-row small,
.depth-row small{
  font-size:var(--fh-font-sm)!important;
}

/* Trade Center */
.trade-builder,
.trade-panel,
.trade-offer-card,
.trade-history-card{
  padding:18px!important;
}
.trade-builder h2,
.trade-panel h2{
  font-size:var(--fh-font-xl)!important;
}
.trade-asset-row,
.trade-package-row{
  min-height:50px!important;
  padding:11px 12px!important;
}
.trade-asset-row strong,
.trade-package-row strong{
  font-size:var(--fh-font-md)!important;
}
.trade-asset-row small,
.trade-package-row small{
  font-size:var(--fh-font-sm)!important;
}

/* Modals and drawers */
.detail-dialog,
.modal,
.drawer,
.side-drawer{
  font-size:var(--fh-font-md)!important;
}
.modal-header,
.drawer-header,
.detail-header{
  padding:16px 18px!important;
}
.modal-body,
.drawer-body,
.detail-body{
  padding:18px!important;
}
.modal h2,
.drawer h2,
.detail-dialog h2{
  font-size:var(--fh-font-2xl)!important;
}

/* Game Center */
.game-center-topbar{
  padding:16px 20px!important;
}
.game-center-schedule-info strong{
  font-size:var(--fh-font-md)!important;
}
.game-center-schedule-info small{
  font-size:var(--fh-font-sm)!important;
}
.game-center-title h2{
  font-size:var(--fh-font-xl)!important;
}
.game-center-switcher button{
  flex-basis:152px!important;
  min-height:58px!important;
  padding:11px 12px!important;
}
.game-center-switcher span{
  font-size:var(--fh-font-sm)!important;
}
.game-center-switcher small{
  font-size:var(--fh-font-xs)!important;
}
.game-center-team>span{
  font-size:var(--fh-font-xs)!important;
}
.game-center-team>strong{
  font-size:30px!important;
}
.game-center-team>small{
  font-size:var(--fh-font-sm)!important;
}
.game-center-score>span,
.game-center-score>small{
  font-size:var(--fh-font-sm)!important;
}
.game-center-tabs button{
  min-height:44px!important;
  font-size:var(--fh-font-sm)!important;
}
.game-center-section-heading h3{
  font-size:var(--fh-font-xl)!important;
}
.team-stat-board-head{
  padding:13px 16px!important;
}
.team-stat-board-head>span:nth-child(2){
  font-size:var(--fh-font-xs)!important;
}
.team-stat-board-row{
  min-height:48px!important;
  padding:12px 16px!important;
}
.team-stat-board-row>span{
  font-size:var(--fh-font-sm)!important;
}
.team-stat-board-row>strong{
  font-size:var(--fh-font-lg)!important;
}
.game-center-roster-head{
  padding:13px 14px!important;
}
.game-center-roster-head strong{
  font-size:var(--fh-font-lg)!important;
}
.game-center-roster-head small{
  font-size:var(--fh-font-sm)!important;
}
.game-center-player-list button{
  min-height:54px!important;
  padding:11px 12px!important;
}
.game-center-player-list strong{
  font-size:var(--fh-font-md)!important;
}
.game-center-player-list small{
  font-size:var(--fh-font-sm)!important;
}
.gc-position{
  font-size:var(--fh-font-xs)!important;
}
.game-stat-section-title{
  padding:14px 16px!important;
}
.game-stat-section-title h3{
  font-size:var(--fh-font-lg)!important;
}
.game-stat-team-head{
  padding:11px 13px!important;
}
.game-stat-team-head strong{
  font-size:var(--fh-font-sm)!important;
}
.game-stat-row{
  min-height:44px!important;
  padding:10px 12px!important;
}
.game-stat-row strong{
  font-size:var(--fh-font-sm)!important;
}
.game-stat-row small{
  font-size:var(--fh-font-xs)!important;
}
.game-stat-row>span:not(:first-child){
  font-size:var(--fh-font-sm)!important;
}
.game-stat-row--head span{
  font-size:var(--fh-font-xs)!important;
}

/* Recap Studio */
.recap-studio-toolbar h3{
  font-size:var(--fh-font-xl)!important;
}
.recap-studio-toolbar p{
  font-size:var(--fh-font-md)!important;
}
.recap-format-picker>span{
  font-size:var(--fh-font-xs)!important;
}
.recap-format-picker strong{
  font-size:var(--fh-font-sm)!important;
}
.recap-format-picker small{
  font-size:var(--fh-font-xs)!important;
}
.recap-availability-note strong{
  font-size:var(--fh-font-md)!important;
}
.recap-availability-note span{
  font-size:var(--fh-font-sm)!important;
}
.broadcast-recap-topline{
  font-size:var(--fh-font-xs)!important;
}
.broadcast-recap-score>div>small{
  font-size:var(--fh-font-sm)!important;
}
.broadcast-recap-story h3{
  font-size:24px!important;
}
.broadcast-recap-story p{
  font-size:var(--fh-font-md)!important;
  line-height:1.55!important;
}
.broadcast-stars strong{
  font-size:var(--fh-font-md)!important;
}
.broadcast-stars small,
.broadcast-stars em{
  font-size:var(--fh-font-sm)!important;
}
.broadcast-star-rank{
  font-size:var(--fh-font-xs)!important;
}
.broadcast-recap-footer>span{
  font-size:var(--fh-font-xs)!important;
}
.recap-story-panel h4{
  font-size:var(--fh-font-md)!important;
}
.recap-story-panel p{
  font-size:var(--fh-font-sm)!important;
}

/* Toasts and microcopy */
.toast strong{
  font-size:var(--fh-font-md)!important;
}
.toast span{
  font-size:var(--fh-font-sm)!important;
}

/* Mobile adjustments */
@media(max-width:900px){
  .page-shell,
  .page-content,
  .main-content{
    padding:14px!important;
  }
  .card,
  .panel,
  .surface,
  .content-card,
  .team-card,
  .player-card,
  .trade-card{
    padding:14px!important;
  }
  .sidebar{
    width:min(290px,86vw)!important;
  }
  .topbar{
    min-height:62px!important;
    padding:9px 12px!important;
  }
  .league-home-main{
    gap:14px!important;
  }
}

@media(max-width:620px){
  body{
    font-size:13px!important;
  }
  h1{font-size:24px!important}
  h2{font-size:20px!important}
  h3{font-size:17px!important}
  .page-shell,
  .page-content,
  .main-content{
    padding:12px!important;
  }
  .game-center-topbar{
    padding:13px 14px!important;
  }
  .game-center-team>strong{
    font-size:22px!important;
  }
  .game-center-score>strong{
    font-size:30px!important;
  }
  .broadcast-recap-story h3{
    font-size:20px!important;
  }
  .broadcast-recap-story p{
    font-size:13px!important;
  }
  .home-news-grid--compact .news-card{
    min-height:auto!important;
  }
}


/* TC-011.3 — Commissioner HQ */
.nav-item--commissioner {
  order: -100;
  margin-bottom: 8px;
  border: 1px solid rgba(var(--accent-rgb), .28);
  background: rgba(var(--accent-rgb), .08);
  color: var(--text-2);
}
.nav-item--commissioner[hidden] { display: none !important; }

.commissioner-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 18px;
  padding: 6px;
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
}
.commissioner-tabs button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}
.commissioner-tabs button.is-active {
  background: rgba(var(--accent-rgb), .14);
  color: var(--text);
}
.commissioner-tabs svg { width: 17px; height: 17px; }

.commissioner-overview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .7fr);
  gap: 16px;
  margin-bottom: 16px;
}
.commissioner-command-card,
.commissioner-health-card,
.commissioner-import-card,
.commissioner-teams-card { padding: 22px; }
.commissioner-primary-actions { display: flex; gap: 9px; flex-wrap: wrap; margin-top: 22px; }
.commissioner-status-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 48px;
  border-bottom: 1px solid var(--line-soft);
}
.commissioner-status-row:last-child { border-bottom: 0; }
.commissioner-status-row > span { color: var(--text-2); font-size: 13px; }

.commissioner-tool-list { display: grid; gap: 8px; }
.commissioner-tool-list button {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
  gap: 11px;
  padding: 11px;
  border: 1px solid var(--line-soft);
  border-radius: 11px;
  background: var(--surface-2);
  color: var(--text);
  text-align: left;
  cursor: pointer;
}
.commissioner-tool-list button > svg { color: var(--accent); }
.commissioner-tool-list button > span { display: grid; }
.commissioner-tool-list small { color: var(--muted); }

.commissioner-stepper {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin: 22px 0;
}
.commissioner-stepper > div {
  min-height: 132px;
  display: grid;
  align-content: start;
  gap: 5px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: var(--surface-2);
}
.commissioner-stepper > div > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--surface-3);
  color: var(--muted);
  font-weight: 850;
}
.commissioner-stepper > div.is-active { border-color: rgba(var(--accent-rgb), .38); }
.commissioner-stepper > div.is-active > span { background: var(--accent); color: #fff; }
.commissioner-stepper strong { margin-top: 6px; font-size: 13px; }
.commissioner-stepper small { color: var(--muted); }

.commissioner-upload-zone {
  min-height: 190px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  padding: 28px;
  border: 1px dashed rgba(var(--accent-rgb), .45);
  border-radius: 16px;
  background: rgba(var(--accent-rgb), .06);
  text-align: center;
  cursor: pointer;
}
.commissioner-upload-zone svg { width: 34px; height: 34px; color: var(--accent); }
.commissioner-upload-zone span { color: var(--muted); font-size: 12px; }
.commissioner-validation { margin-top: 16px; padding: 0 15px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-2); }
.commissioner-import-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 16px; }

.commissioner-team-search { width: min(300px, 100%); }
.commissioner-team-table { display: grid; margin-top: 18px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.commissioner-team-row {
  display: grid;
  grid-template-columns: minmax(260px, 1.3fr) minmax(210px, 1fr) 130px 110px;
  align-items: center;
  gap: 14px;
  min-height: 66px;
  padding: 9px 14px;
  border-bottom: 1px solid var(--line-soft);
}
.commissioner-team-row:last-child { border-bottom: 0; }
.commissioner-team-row > span { display: flex; align-items: center; gap: 10px; min-width: 0; }
.commissioner-team-row > span > span { display: grid; min-width: 0; }
.commissioner-team-row strong { font-size: 12px; }
.commissioner-team-row small { color: var(--muted); font-size: 10px; }

.commissioner-rules-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.commissioner-rules-grid > .card { padding: 22px; }
.commissioner-rule-toggles label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 62px;
  border-bottom: 1px solid var(--line-soft);
}
.commissioner-rule-toggles label > span { display: grid; }
.commissioner-rule-toggles small { color: var(--muted); }

@media (max-width: 1000px) {
  .commissioner-overview-grid,
  .commissioner-rules-grid { grid-template-columns: 1fr; }
  .commissioner-stepper { grid-template-columns: repeat(2, 1fr); }
  .commissioner-team-row { grid-template-columns: minmax(220px, 1fr) minmax(180px, .8fr) 110px; }
  .commissioner-team-row > button { display: none; }
}
@media (max-width: 700px) {
  .commissioner-stepper { grid-template-columns: 1fr; }
  .commissioner-team-row { grid-template-columns: 1fr 95px; }
  .commissioner-team-row > span:nth-child(2) { display: none; }
  .commissioner-page-heading { align-items: flex-start; }
}


/* TC-011.3.1 — Unified contextual player cards */
.value-card-context {
  position: sticky;
  top: 0;
  z-index: 3;
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 72px 8px 18px;
  border-bottom: 1px solid var(--line-soft);
  background: rgba(11, 14, 20, .94);
  backdrop-filter: blur(16px);
}
.value-card-context > button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface-2);
  color: var(--text-2);
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.value-card-context > button:hover {
  border-color: rgba(var(--accent-rgb), .42);
  color: var(--text);
}
.value-card-context > button svg {
  width: 16px;
  height: 16px;
  transform: rotate(180deg);
}
.value-card-context > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.value-card-close {
  top: 9px;
  margin-top: 9px;
}
@media (max-width: 620px) {
  .value-card-context {
    min-height: 56px;
    padding-left: 10px;
    padding-right: 62px;
  }
  .value-card-context > span { display: none; }
}

/* TC-011.4 Commissioner Operations */
.commissioner-ops-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px;margin-bottom:16px}.commissioner-ops-hero h2{margin:4px 0 6px}.commissioner-ops-hero p{margin:0;color:var(--muted)}.commissioner-ops-progress{min-width:140px;display:grid;justify-items:center;padding:16px;border:1px solid rgba(var(--accent-rgb),.28);border-radius:14px;background:rgba(var(--accent-rgb),.08)}.commissioner-ops-progress strong{font-size:28px;line-height:1}.commissioner-ops-progress span{margin-top:5px;color:var(--muted);font-size:10px}.commissioner-operations-card{padding:22px}.commissioner-checklist{display:grid;gap:8px;margin-top:16px}.commissioner-checklist label{min-height:58px;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:11px;background:var(--surface-2)}.commissioner-checklist label>span{display:grid}.commissioner-checklist label strong{font-size:12px}.commissioner-checklist label small{color:var(--muted);font-size:10px}.commissioner-operations-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.commissioner-activity-log{display:grid}.commissioner-activity-log>div{min-height:58px;display:grid;grid-template-columns:10px 1fr;align-items:center;gap:12px;border-bottom:1px solid var(--line-soft)}.commissioner-activity-log>div>span:last-child{display:grid}.commissioner-activity-log strong{font-size:12px}.commissioner-activity-log small{color:var(--muted);font-size:10px}.activity-dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.activity-dot--publish{background:var(--success)}.activity-dot--validate{background:var(--accent)}.activity-dot--upload{background:var(--info)}.activity-dot--generate{background:var(--warning)}.commissioner-import-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.65fr);gap:16px}.commissioner-stepper>div.is-complete{border-color:rgba(57,217,138,.35)}.commissioner-stepper>div.is-complete>span{background:var(--success);color:#07150f}.commissioner-validation-header{display:flex;align-items:center;justify-content:space-between;padding:14px 0 4px}.commissioner-warning-list{display:grid;gap:8px;margin:14px 0}.commissioner-warning-list>div{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:11px;border:1px solid rgba(245,185,66,.28);border-radius:10px;background:rgba(245,185,66,.07)}.commissioner-warning-list>div.is-blocking{border-color:rgba(255,92,108,.3);background:rgba(255,92,108,.08)}.commissioner-warning-list>div>span{display:grid}.commissioner-warning-list strong{font-size:12px}.commissioner-warning-list small{color:var(--muted)}.commissioner-import-history{padding:20px;align-self:start}.commissioner-history-list{display:grid;gap:10px}.commissioner-history-list article{display:grid;gap:4px;padding:13px;border:1px solid var(--line-soft);border-radius:11px;background:var(--surface-2)}.commissioner-history-list article .pill{width:max-content}.commissioner-history-list article strong{font-size:12px}.commissioner-history-list article small,.commissioner-history-list article time{color:var(--muted);font-size:10px}.commissioner-history-list article p{margin:2px 0;color:var(--text-2);font-size:11px}.commissioner-confirm-modal{position:fixed;inset:0;z-index:220;display:none;place-items:center;padding:20px}.commissioner-confirm-modal.is-open{display:grid}.commissioner-confirm-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.7);backdrop-filter:blur(5px)}.commissioner-confirm-dialog{position:relative;width:min(560px,100%);padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}.commissioner-confirm-dialog h2{margin:5px 0 8px}.commissioner-confirm-dialog p{margin:0;color:var(--muted)}.commissioner-confirm-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:20px 0}.commissioner-confirm-summary span{display:grid;padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-2)}.commissioner-confirm-summary small{color:var(--muted)}.commissioner-confirm-summary strong{margin-top:3px;font-size:12px;overflow-wrap:anywhere}.commissioner-confirm-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:1000px){.commissioner-import-layout{grid-template-columns:1fr}}@media(max-width:700px){.commissioner-ops-hero{align-items:flex-start;flex-direction:column}.commissioner-confirm-summary{grid-template-columns:1fr}}


/* TC-011.5 — League Identity & Ownership */
.ownership-summary-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:16px;
}
.ownership-table-head {
  display:grid;
  grid-template-columns:minmax(240px,1.25fr) minmax(190px,1fr) 110px 150px 130px 96px;
  gap:14px;
  padding:9px 14px;
  color:var(--muted);
  font-size:9px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.ownership-team-table { margin-top:0; }
.ownership-team-row {
  grid-template-columns:minmax(240px,1.25fr) minmax(190px,1fr) 110px 150px 130px 96px;
}
.discord-status {
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}
.discord-status span {
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--muted);
}
.discord-status--connected {
  border-color:rgba(57,217,138,.3);
  color:var(--success);
  background:rgba(57,217,138,.07);
}
.discord-status--connected span { background:var(--success); }

.ownership-modal {
  position:fixed;
  inset:0;
  z-index:240;
  display:none;
  place-items:center;
  padding:20px;
}
.ownership-modal.is-open { display:grid; }
.ownership-backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(6px);
}
.ownership-dialog {
  position:relative;
  width:min(900px,100%);
  max-height:min(88vh,900px);
  overflow:auto;
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--surface);
  box-shadow:var(--shadow);
}
.ownership-close {
  position:absolute;
  top:14px;
  right:14px;
  z-index:4;
}
.ownership-modal-header {
  display:flex;
  align-items:center;
  gap:14px;
  padding:24px 72px 20px 24px;
  border-bottom:1px solid var(--line-soft);
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--team) 22%,transparent),transparent 58%),
    var(--surface-2);
}
.ownership-modal-header > div { display:grid; }
.ownership-modal-header h2 { margin:4px 0 2px; }
.ownership-modal-header p { margin:0; color:var(--muted); }

.ownership-modal-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding:18px;
}
.ownership-section {
  padding:18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface-2);
}
.ownership-section h3 { margin:4px 0 14px; }
.ownership-color-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.ownership-color-grid input[type="color"] {
  width:100%;
  height:44px;
  padding:4px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--surface);
}
.ownership-discord-section {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 18px 16px;
}
.ownership-discord-section h3 { margin-bottom:4px; }
.ownership-discord-section p { margin:0; color:var(--muted); }
.ownership-history {
  display:grid;
  gap:8px;
}
.ownership-history > div {
  display:grid;
  gap:3px;
  padding:10px 0;
  border-bottom:1px solid var(--line-soft);
}
.ownership-history > div:last-child { border-bottom:0; }
.ownership-history strong { font-size:12px; }
.ownership-history small { color:var(--muted); font-size:10px; }

@media(max-width:1150px){
  .ownership-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ownership-table-head { display:none; }
  .ownership-team-row {
    grid-template-columns:minmax(220px,1fr) minmax(170px,.8fr) 110px 130px 90px;
  }
  .ownership-team-row > .discord-status { display:none; }
}
@media(max-width:760px){
  .ownership-summary-grid { grid-template-columns:1fr 1fr; }
  .ownership-team-row { grid-template-columns:1fr 92px; }
  .ownership-team-row > span:nth-child(2),
  .ownership-team-row > select,
  .ownership-team-row > .discord-status { display:none; }
  .ownership-modal-grid { grid-template-columns:1fr; }
  .ownership-discord-section { align-items:flex-start; flex-direction:column; }
}
