/* FantaTen adapters only. Equivalent components come from Passing Shot. */
.ft-game-page {
  --ink:#18231d; --muted:#667169; --line:#dfe3dc; --paper:#fffefb;
  --green:#205daf; --green-dark:#174780; --mint:#edf4ff;
  --soft-green:#edf4ff; --soft:#f1f3ef;
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px; line-height:1.45; -webkit-font-smoothing:antialiased;
}
.ft-game-page :is(button,a,input,select,summary):focus-visible { outline:3px solid #205daf; outline-offset:3px; }
.ft-game-page .ft-content-page { max-width:1280px; margin:auto; padding:22px 24px 48px; }
.ft-game-page .ft-content-page > .page-header { margin-bottom:22px; }
.ft-game-page .ft-page-title h1 { font-size:clamp(30px,5vw,42px); line-height:1.08; letter-spacing:-.035em; }
.ft-game-page .season-toolbar { margin-bottom:18px; }
.ft-game-page .ft-leaderboard { margin-top:0; }
.ft-game-page .competition-team .competition-manager { display:flex; align-items:center; gap:8px; }
.ft-game-page .competition-manager .ft-you-label { font-size:11px; }
.ft-game-page .ft-leader-quota { font-size:13px; font-weight:400; color:var(--muted); }
.ft-game-page .ft-leader-quota span { display:block; }
.ft-game-page .ft-leader-detail { margin:0; }
.ft-game-page .ft-evidence-note { margin:16px 0 0; color:var(--muted); font-size:13px; }
.ft-game-page .ft-table-empty { padding:28px 24px; color:var(--muted); }
.ft-game-page .ft-table-empty h3 { margin:0 0 8px; color:var(--ink); }
.ft-game-page .ft-table-empty p { margin:0; }
.ft-game-page .ft-preference-status,
.ft-game-page .ft-preview-notice { margin:16px 0; color:var(--muted); font-size:13px; line-height:1.5; }
.ft-game-page .ft-preview-notice { padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:white; }
.ft-game-page .ft-save-error { padding:14px 16px; color:#8d352e; background:#fff0ed; border:1px solid #ebc7c0; border-radius:12px; }
.ft-game-page .notification-switch { min-width:48px; min-height:44px; }
.ft-game-page .ft-cookie-modal { max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; }
.ft-game-page .ft-standing-table { border:0; border-radius:0; background:transparent; overflow:visible; }
.ft-game-page .ft-game-standings { padding-top:24px; }
.ft-game-page .ft-standings-heading { align-items:center; margin-bottom:18px; }
.ft-game-page .ft-standings-heading h2 { font-size:20px; letter-spacing:-.02em; }
.ft-game-page .ft-private-entry { padding:16px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.ft-game-page .ft-private-entry p { margin:6px 0 0; color:var(--muted); }
.ft-game-page .ft-squad-point-row { display:flex; justify-content:space-between; gap:16px; padding:14px 16px; border-top:1px solid var(--line); background:#fff; }
.ft-game-page .ft-squad-point-row:first-child { border-top:0; }
.ft-game-page .ft-squad-point-row { align-items:center; }
.ft-game-page .ft-player-identity { flex:1; min-width:0; }
.ft-game-page .ft-player-identity > img { flex-shrink:0; }
.ft-game-page .ft-player-identity > .country-flag { flex:0 0 24px; display:inline-flex; align-items:center; }
.ft-game-page .country-flag img { object-fit:cover; box-shadow:inset 0 0 0 1px #18231d26; outline:1px solid #18231d1a; outline-offset:-1px; }
.ft-game-page .ft-player-identity .country-flag img { width:24px; height:18px; border-radius:1px; }
.ft-game-page .competition-manager .country-flag img { width:18px; height:13.5px; }
.ft-game-page .ft-player-identity > span:last-child { white-space:normal; overflow:visible; overflow-wrap:anywhere; }
.ft-game-page .ft-reserve-identity { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
.ft-game-page .ft-reserve-label { color:var(--muted); font-size:13px; }
.ft-game-page .ft-squad-point-row strong { white-space:nowrap; }
.ft-game-page .ft-settings-page { max-width:840px; padding:22px 24px 48px; }
.ft-game-page .mini-button.danger-link { margin:0; min-height:44px; background:transparent; color:#a13b32; }
.ft-game-page .mini-button.danger-link:not(:disabled):hover { background:#fff0ed; }
.ft-game-page .mini-button.danger-link:focus-visible { outline-color:#a13b32; }
.ft-game-page .mini-button.danger-link:disabled { opacity:.55; cursor:default; }
.ft-game-page .ft-profile-page { max-width:1180px; }
.ft-game-page .ft-profile-page .team-identity-panel { margin-top:24px; }
.ft-game-page .ft-profile-page .ranking-crest { width:70px; height:82px; flex-basis:70px; }
.ft-game-page .ft-profile-page .identity-summary-card .ranking-crest { width:54px; height:64px; }
.ft-game-page .ft-profile-page .ft-local-note { margin:12px 0 0; color:var(--muted); font-size:13px; }
.ft-game-page .ft-profile-page .field { width:100%; }
.ft-game-page .ft-profile-name-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.ft-game-page .ft-crest-editor-preview { display:grid; place-items:center; min-height:180px; border-radius:16px; background:#f4f6f2; }
.ft-game-page .ft-crest-editor-preview .ranking-crest { width:120px; height:140px; }
.ft-game-page .ft-profile-actions { display:flex; gap:10px; margin-top:18px; }
.ft-game-page .ft-crest-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px; }
.ft-game-page .ft-crest-options label { display:grid; gap:8px; }
.ft-game-page .ft-crest-options select { min-height:44px; width:100%; font:inherit; }
.ft-game-page .ft-crest-options input[type=color] { width:100%; min-height:44px; }
.ft-game-page .ft-search input { font-size:16px; }
.ft-game-page .ft-game-squad-heading > div > span { text-transform:none; letter-spacing:0; font-size:14px; }
.ft-game-page .ft-game-squad-heading > div > strong { font-size:16px; }
.ft-game-page .ft-mobile-squad-summary { display:none; }
.ft-game-page .ft-top-actions .account-menu { z-index:80; }
.ft-game-page .ft-top-actions .account-menu a { display:flex; align-items:center; min-height:42px; padding:0 12px; border-radius:9px; color:var(--ink); text-decoration:none; font-size:14px; font-weight:700; }
.ft-game-page .ft-top-actions .account-menu a:hover { background:#f2f5f2; }
.ft-game-page .ft-game-header { position:relative; top:auto; z-index:60; height:68px; padding-block:0; }
.ft-game-page .ft-game-header nav { align-self:stretch; align-items:stretch; gap:4px; }
.ft-game-page .ft-game-header nav a { display:flex; align-items:center; height:100%; padding:0 18px; border-bottom:3px solid transparent; color:var(--muted); font-size:16px; font-weight:750; }
.ft-game-page .ft-game-header nav a.is-active { color:var(--ink); border-bottom-color:var(--green); }
.ft-game-page .ft-bottom-nav { padding-bottom:env(safe-area-inset-bottom); }
.ft-game-page .ft-bottom-nav a.active { color:var(--green); }
.ft-game-page .stats-filter-tools > [data-stats-advanced] { grid-column:1 / -1; }
.ft-game-page .stats-page > .page-header { margin-bottom:0; }
.ft-game-page .stats-player .country-flag { flex-shrink:0; }
.ft-game-page .stats-country-menu { max-width:calc(100vw - 56px); }
.ft-game-page .ft-home-area-heading > a { color:var(--green); font-size:14px; }
.ft-game-page .ft-catalogue-filter-tools > span { color:var(--muted); font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.ft-game-page .ft-catalogue-action .ft-mini-button { min-height:38px; padding:8px 14px; border:1px solid var(--line); border-radius:11px; background:#fff; color:var(--ink); font-size:13px; font-weight:750; }
.ft-game-page .ft-home-main > h1 { font-size:clamp(30px,5vw,42px); line-height:1.08; letter-spacing:-.035em; }
.ft-game-page .ft-game-tabs button { min-height:44px; }
.ft-game-page .ft-draw-filters button { min-height:40px; }
.ft-game-page .ft-draw-player-main { display:grid; grid-template-columns:minmax(0,1fr) auto; min-height:44px; }
.ft-game-page .ft-draw-identity { display:block; min-width:0; }
.ft-game-page .ft-draw-player .ft-player-identity { display:flex; align-items:center; gap:6px; }
.ft-game-page .ft-draw-player .player-portrait { width:24px; height:24px; border-radius:6px; }
.ft-game-page .ft-draw-player .country-flag { flex-basis:18px; }
.ft-game-page .ft-draw-player .country-flag img { width:18px; height:13.5px; }
.ft-game-page .ft-draw-player .ft-player-name strong { white-space:normal; overflow:visible; font-size:12px; line-height:1.3; }
.ft-game-page .ft-game-squad-player { grid-template-columns:minmax(0,1fr) 32px; gap:8px; }
.ft-game-page .ft-squad-player-copy { display:grid; min-width:0; gap:6px; }
.ft-game-page .ft-squad-player-copy > small { font-size:12px; line-height:1.4; }
.ft-game-page .ft-game-squad-player [data-remove] { width:32px; min-height:44px; }
.ft-game-page .ft-route-title > .ft-route-player { display:grid; gap:6px; min-width:0; }
.ft-game-page .ft-route-player > small { margin-left:76px; color:var(--muted); font-size:12px; }
.ft-game-page .ft-route-player .ft-player-identity > .player-portrait { width:36px; height:36px; }
.ft-game-page .ft-draw-shell { overflow:visible; }
.ft-game-page .ft-game-builder { overflow:visible; }
.ft-game-page .ft-game-picker,
.ft-game-page .ft-game-squad { border-radius:inherit; }
.ft-game-page .ft-draw-board { max-height:none; overflow:visible; }
.ft-game-page .ft-draw-pair:not(.is-single)::before { top:var(--ft-first-feeder); bottom:calc(100% - var(--ft-last-feeder)); }
.ft-game-page .ft-draw-pair::after { top:var(--ft-feeder-middle,50%); }
.ft-game-page .ft-draw-viewport { overflow-x:auto; overflow-y:hidden; border-radius:0 0 15px 15px; }
.ft-game-page .ft-draw-head { display:block; position:sticky; top:var(--ft-summary-height,0px); z-index:18; min-width:0; height:46px; overflow:hidden; border-radius:15px 15px 0 0; background:#eef2ed; }
.ft-game-page .ft-draw-head > button { position:absolute; z-index:2; top:5px; width:92px; height:36px; padding:0 8px; background:white; }
.ft-game-page .ft-draw-head > [data-draw-prev] { left:6px; }
.ft-game-page .ft-draw-head > [data-draw-next] { right:6px; }
.ft-game-page .ft-draw-head > button b { display:inline; font-size:12px; }
.ft-game-page .ft-draw-round-labels { display:grid; grid-template-columns:minmax(260px,1fr) minmax(210px,.86fr); gap:34px; align-items:center; min-width:520px; height:46px; padding:0 15px; will-change:transform; }
.ft-game-page .ft-draw-round-labels > span { min-width:0; text-align:center; padding:0 32px; }
.ft-game-page .ft-route-preview[role=dialog] { z-index:120; }
.ft-game-page .ft-route-preview[role=dialog] .ft-route-sheet { max-height:calc(100dvh - 24px - env(safe-area-inset-top)); padding-bottom:max(22px,env(safe-area-inset-bottom)); overscroll-behavior:contain; }
@media(max-width:779px) {
  .ft-game-page .ft-content-page { padding:22px 14px 40px; }
  .ft-game-page .competition-table { border-radius:18px; }
  .ft-game-page .ft-leader-quota { font-size:11px; line-height:1.4; }
  .ft-game-page .competition-counted-heading { font-size:8px; letter-spacing:.015em; }
  .ft-game-page .ft-settings-page { padding:22px 18px 40px; }
  .ft-game-page .ft-crest-options { grid-template-columns:1fr; }
  .ft-game-page .ft-profile-name-fields { grid-template-columns:1fr; }
  .ft-game-page :is(input,select,textarea) { font-size:16px; }
  .ft-game-page .stats-page .stats-search input,
  .ft-game-page .stats-page .catalogue-advanced-field input:not([type=checkbox]) { font-size:16px; }
  .ft-game-page .ft-game-picker-heading small { font-size:13px; }
  .ft-game-page .ft-draw-player-main strong { font-size:11px; }
  .ft-game-page .ft-draw-round-labels { min-width:480px; grid-template-columns:minmax(220px,1fr) minmax(220px,1fr); padding:0 8px; gap:20px; }
  .ft-game-page .ft-draw-head > button { width:32px; padding:0; }
  .ft-game-page .ft-draw-head > button b { display:none; }
  .ft-game-page .ft-draw-board { min-width:480px; grid-template-columns:minmax(220px,1fr) minmax(220px,1fr); }
  .ft-game-page .ft-mobile-squad-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; position:sticky; top:0; z-index:20; padding:12px 14px; margin:16px 0; border:1px solid var(--line); border-radius:14px; background:#fffefb; box-shadow:0 6px 18px #18231d0d; }
  .ft-game-page .ft-mobile-squad-summary a { color:var(--green); font-weight:750; }
  .ft-game-page .ft-game-squad { scroll-margin-top:80px; }
}
@media(prefers-reduced-motion:reduce) { .ft-game-page *, .ft-game-page *::before, .ft-game-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media(min-width:701px) {
  .ft-game-page .ft-route-close { display:grid; place-items:center; position:absolute; top:0; right:0; width:32px; height:36px; border:0; border-radius:9px; background:#eef2ed; color:var(--ink); font-size:22px; cursor:pointer; }
  .ft-game-page .ft-route-title { padding-right:44px; }
}
/* Shared Live Scores stays inside FantaTen, with the established provider layout. */
.ft-game-page .live-scores-provider { display:grid; gap:14px; }
.ft-game-page .live-scores-embed { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:white; }
.ft-game-page .live-scores-embed iframe { display:block; width:100%; height:80dvh; min-height:700px; border:0; }
.ft-game-page .ft-account-unconnected { color:var(--muted); font-size:13px; font-weight:650; white-space:nowrap; }
.ft-game-page .nation-filter button .country-flag { display:inline-flex; align-items:center; margin-right:5px; }
@media(max-width:600px) {
 .ft-game-page .live-scores-embed { border-radius:12px; }
 .ft-game-page .live-scores-embed iframe { min-height:640px; }
}

/* Unconnected events retain their own identity without borrowing the Rome fixture. */
.ft-game-page .ft-game-hero-unavailable { background:var(--green, #306b49); }
.ft-game-page .ft-game-hero-unavailable > div { background:none; }
.ft-game-page .ft-event-unavailable { padding:clamp(20px, 3vw, 32px); border:1px solid var(--line); border-radius:18px; background:white; }
.ft-game-page .ft-event-unavailable h2 { margin:0 0 10px; }
.ft-game-page .ft-event-unavailable p { margin:0 0 20px; color:var(--muted); }

.ft-game-page .ft-local-controls { padding:12px 16px; margin:0 0 20px; border:1px dashed var(--line); border-radius:12px; background:#fff; font-size:14px; }
.ft-game-page .ft-local-controls summary { cursor:pointer; font-weight:750; }
.ft-game-page .ft-local-controls > div { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.ft-game-page .ft-local-controls button,.ft-game-page .ft-local-controls select { padding:10px 14px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font:inherit; }
.ft-game-page .ft-local-controls [data-play-error]:empty { display:none; }
.ft-game-page .ft-squad-point-row small { display:block; color:var(--muted); margin-top:5px; }

.ft-game-page .ft-play-task-card { display:grid; gap:12px; padding:20px; }
.ft-game-page .ft-play-task-card p { margin:0; }
.ft-game-page .ft-play-task-card > a { margin-top:0; }
.ft-game-page .ft-local-controls + h1 { margin-top:24px; }

.ft-game-page .ft-account-panel { padding:clamp(18px,3vw,32px); }
.ft-game-page .ft-account-panel form { display:grid; gap:16px; min-width:0; }
.ft-game-page .ft-account-panel .field-label { display:grid; gap:8px; min-width:0; }
.ft-game-page .ft-account-panel .field { box-sizing:border-box; width:100%; min-width:0; font-size:16px; }
.ft-game-page .ft-account-panel .ft-consent-row { display:flex; flex-wrap:wrap; align-items:center; gap:7px; }
.ft-game-page .ft-account-panel .ft-consent-row input { width:20px; height:20px; }
.ft-game-page .ft-account-panel [role=status]:empty { display:none; }
.ft-game-page .ft-account-panel .ft-reserve-identity { flex-wrap:wrap; gap:12px; }

/* November quality review: consistent readable chrome, generous touch controls. */
.ft-skip-link {position:fixed;top:8px;left:8px;z-index:9999;transform:translateY(-160%);padding:12px 18px;background:#fff;color:#174f38;border:2px solid #174f38;border-radius:8px;font-weight:750}
.ft-skip-link:focus {transform:none}
.ft-game-page .ft-top-actions .account-menu :is(a,button){min-height:44px;font-size:16px}
.ft-game-page .ft-top-actions .settings-trigger{display:grid;place-items:center;width:48px;height:48px;min-width:48px;font-size:25px}
.ft-game-page .ft-top-actions .settings-trigger:empty:before{content:'⚙️'}
.ft-game-page .ft-product-footer nav :is(a,button){min-height:44px;display:inline-flex;align-items:center;font-size:14px}
.ft-game-page .ft-task-card>a{display:inline-flex;align-items:center;min-height:44px;font-size:16px}
.ft-game-page .ft-league-intro{max-width:70ch;line-height:1.6;color:var(--muted);margin:0 0 24px}
.ft-game-page .ft-league-tools :is(input,select){min-height:48px;font-size:16px}
.ft-game-page .ft-league-tools p{font-size:16px;line-height:1.5;margin:0;color:var(--muted)}
.ft-game-page .ft-league-help{margin-top:24px}
.ft-game-page .ft-league-invite{overflow-wrap:anywhere}
.ft-game-page .ft-league-board-title{scroll-margin-top:100px}
.ft-game-page .ft-public-explanation{margin:0;max-width:75ch;color:var(--muted);line-height:1.6}
.ft-game-page .ft-external-help{padding:16px 0;font-size:16px;line-height:1.5}
.ft-game-page .ft-external-help a{display:inline-flex;align-items:center;min-height:44px;font-weight:750;color:var(--green)}
@media(max-width:850px){
 .ft-game-page .ft-bottom-nav{min-height:64px;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
 .ft-game-page .ft-bottom-nav a{font-size:12px;line-height:1.2;min-height:60px;padding:5px 2px;gap:4px;white-space:normal;text-align:center}
 .ft-game-page .ft-bottom-nav a>span{font-size:23px;line-height:1}
 .ft-game-page .ft-task-note{font-size:15px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.ft-page *,.ft-page *:before,.ft-page *:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.ft-page [hidden]{display:none!important}
.ft-game-page .ft-bottom-nav a{min-width:0}
.ft-game-page .ft-bottom-nav a .ft-nav-label{font-size:12px;line-height:1.2;min-width:0;max-width:100%;white-space:normal;overflow-wrap:normal}
@media(max-width:850px){.ft-game-page .ft-bottom-nav a{font-weight:650;align-content:start;grid-template-rows:24px auto}.ft-game-page .ft-bottom-nav a .ft-nav-label{padding:0 2px}}

.ft-game-page .ft-bottom-nav a .ft-nav-label{hyphens:auto;overflow-wrap:anywhere}

@media(max-width:850px){.ft-game-page .ft-bottom-nav a{padding-inline:0;font-weight:600}.ft-game-page .ft-bottom-nav a .ft-nav-label{padding:0}}

.ft-public-help{margin:0 0 16px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;line-height:1.6}
.ft-public-help summary{min-height:44px;display:flex;align-items:center;color:var(--green);font-weight:700;cursor:pointer;list-style:disclosure-closed}
.ft-public-help p{margin:8px 0}
.ft-stats-scroll-hint{display:none}
@media(max-width:700px){
 .ft-stats-scroll-hint{display:block;color:var(--green);font-size:15px;margin:0}
 .ft-game-page .stats-table-scroll{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain}
 .ft-game-page .stats-table-scroll .stats-ranking-table{min-width:860px}
 .ft-game-page .stats-ranking-table :is(td,td strong,td span,.stats-player,.stats-rank>span:first-child){font-size:16px;line-height:1.45;letter-spacing:normal}
 .ft-game-page .stats-ranking-table th{font-size:13px!important;line-height:1.4;padding:12px 8px;overflow-wrap:normal}
 .ft-game-page .stats-ranking-table td{padding:14px 8px;overflow-wrap:normal}
 .ft-game-page .stats-player{display:flex;align-items:center;gap:8px}
 .ft-game-page .stats-player>.country-flag{width:24px;min-width:24px}
}

/* Short navigation labels stay whole rather than splitting a word at 320px. */
.ft-game-page .ft-bottom-nav a .ft-nav-label{hyphens:none;overflow-wrap:normal;white-space:nowrap;max-width:none}

/* Preserve touch targets without a six-row legal footer on narrow screens. */
@media(max-width:700px){.ft-game-page .ft-product-footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}.ft-game-page .ft-product-footer nav :is(a,button){justify-content:flex-start;text-align:left;line-height:1.4}.ft-game-page .ft-product-footer nav .footer-social-link{gap:8px}}
