/* Yardline / visual foundation. Loaded after the legacy feature styles. */
:root {
  --yl-navy: #1c1c20;
  --yl-navy-deep: #111114;
  --yl-accent: #e1262e;
  --yl-crimson: #e1262e;
  --yl-silver: #bdbdc5;
  --yl-blue: #0056b3;
  --yl-blue-soft: #eff5fa;
  --bg-canvas: #f7f7f7;
  --bg-subtle: #fbfbfb;
  --bg-hover: #f1f1f2;
  --border-box: #e7e7ea;
  --border-light: #ececee;
  --text-main: #2c2c31;
  --text-body: #51515b;
  --text-muted: #686875;
  --radius-md: 12px;
  --shadow-box: 0 2px 7px rgb(39 39 43 / 3%);
  --yl-header-height: 76px;
}
body { background: var(--bg-canvas); line-height: 1.5; }
button, input, select { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible { outline: 2px solid var(--yl-accent); outline-offset: 4px; }
.nfl-live-ticker { height: auto; min-height: 0; padding: 0; gap: 12px; background: #27272c; }
.nfl-live-ticker:not(:empty) { min-height: 34px; padding: 5px 24px; }
.ticker-game { border: 0; background: transparent; padding: 0 14px 0 0; border-radius: 0; border-right: 1px solid #474751; }
.yl-topbar { height: var(--yl-header-height); padding: 0 28px; gap: 24px; background: #fff; box-shadow: none; }
.yl-topbar-left { gap: 22px; flex-shrink: 0; }
.yl-wordmark { display: flex; align-items: center; gap: 10px; background: transparent; border: 0; color: var(--yl-navy); cursor: pointer; font-size: 30px; font-weight: 750; letter-spacing: -1.6px; }
.yl-wordmark > span { font-weight: inherit; }
.yl-brand-dot { color: var(--yl-accent); font-weight:600; }
.yl-brand-symbol { position: relative; display: flex; align-items: flex-end; gap: 4px; transform: skewY(-17deg); }
.yl-brand-symbol i { width: 5px; height: 23px; background: var(--yl-navy); border-radius: 1px; }
.yl-brand-symbol i:nth-child(2) { height: 30px; }
.yl-brand-symbol i:nth-child(3) { height: 17px; background: #bdbdc5; }
.yl-sport-label { max-width: 90px; font-size: 9px; font-weight: 650; letter-spacing: 1.6px; line-height: 1.7; color: #686875; border-left: 1px solid var(--border-box); padding-left: 20px; }
.yl-search-center { margin: 0 auto; max-width: 410px; min-width: 120px; }
.yl-search-field { height: 40px; border-radius: 9px; background: #f9f9f9; border-color: #ebebed; color: #8a8a98; }
.yl-search-field input { font-size: 12px; }
.yl-search-field kbd { padding: 0 6px; border: 1px solid #e2e2e5; border-radius: 4px; background: #fff; font-size: 11px; }
.yl-topbar-right { gap: 18px; }
.yl-header-chat, .yl-profile-button { display: flex; gap: 9px; align-items: center; background: transparent; border: 0; font-size: 12px; color: var(--text-body); cursor: pointer; min-height: 40px; }
.yl-header-chat:hover, .yl-profile-button:hover { color: var(--yl-accent); }
.yl-header-divider { height: 25px; border-left: 1px solid var(--border-box); }
.yl-avatar { display: grid; place-items: center; width: 33px; height: 33px; border-radius: 50%; background: #f1f1f3; border: 1px solid #dbdbdf; color: var(--yl-navy); font-size: 10px; font-weight:600; }
.yl-profile-button { max-width: 210px; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; }
.yl-menu-toggle { display: none; }
.yl-main-shell, .yl-main-shell.chat-collapsed { grid-template-columns: 230px minmax(0, 1fr) 0 !important; min-height: calc(100vh - var(--yl-header-height)); transition: none; }
.yl-main-shell:not(.chat-collapsed) { grid-template-columns: 230px minmax(0, 1fr) 310px !important; }
.yl-fp-sidebar { width: 230px; padding: 24px 16px 20px; top: var(--yl-header-height); height: calc(100vh - var(--yl-header-height)); background: #fff; border-right: 1px solid var(--border-box); align-items: stretch; }
.yl-sidebar-league { padding: 12px 9px; gap: 10px; background: #fbfbfb; border-color: var(--border-box); border-radius: 9px; margin-bottom: 14px; }
.yl-sidebar-league__logo { height: 34px; width: 34px; border-radius: 9px; background: #f0f0f2; color: var(--yl-navy); font-size: 10px; }
.yl-sidebar-league__copy { font-size: 11px; color: var(--text-body); line-height: 1.65; }
.yl-sidebar-league__copy b { font-size: 11px; font-weight: 650; }
.yl-sidebar-league__copy span { font-size: 10px; }
.yl-sidebar-select { height: 34px; margin-bottom: 8px; border-color: #ececee; color: #6d6d7b; font-size: 10px; border-radius: 7px; }
.yl-sidebar-nav { margin-top: 12px; }
.yl-sidebar-section { padding: 17px 11px 8px; border-top: 0; color: #686875; }
.yl-sidebar-section b { font-size: 9px; font-weight:600; letter-spacing: 1.3px; text-transform: uppercase; }
.yl-sidebar-section span { font-size: 12px; }
.yl-sidebar-group { padding-bottom: 0; gap: 3px; }
.yl-fp-sidebar .fp-rail-item { min-height: 39px; padding: 9px 12px; border-radius: 7px; transition: color .16s, background .16s; color: #6b6b78; }
.yl-fp-sidebar .fp-rail-item span { font-size: 11.5px; font-weight: 450; }
.yl-fp-sidebar .fp-rail-item svg { width: 16px; height: 16px; flex: 0 0 16px; margin-right: 10px; opacity: 1; }
.yl-fp-sidebar .fp-rail-item { position: relative; text-align: left; }
.yl-fp-sidebar .fp-rail-item.active::before { content: ''; position: absolute; left: 0; top: 7px; bottom: 7px; width: 2px; background: var(--yl-accent); }
.yl-fp-sidebar .fp-rail-item span { min-width: 0; }
.yl-sidebar-section { text-align: left; }
.yl-sidebar-section [data-chevron] { width: 16px; text-align: center; }
.yl-topbar :is(.yl-header-chat,.yl-profile-button,.yl-search-field) > svg { width: 18px; height: 18px; flex: 0 0 18px; stroke-width: 1.8; }
.yl-wordmark { line-height: 1; white-space: nowrap; }
.yl-fp-sidebar .fp-rail-item.active { box-shadow: none; background: #f2f2f3; color: var(--yl-navy); }
.yl-fp-sidebar .fp-rail-item.active span { font-weight: 650; }
.yl-fp-sidebar .fp-rail-item:hover { background: #f5f5f6; color: var(--yl-navy); }
.yl-sidebar-footer { margin-top: 25px; padding: 20px 11px 0; border-top: 1px solid var(--border-light); }
.yl-footer-mark { color: #686875; font-size: 9px; letter-spacing: 2px; font-weight:600; }
.yl-sidebar-footer p { color: #686875; font-size: 10px; margin-top: 4px; }
.yl-stage-container { padding: 32px 36px 60px; max-width: 1460px; min-width: 0; }
.yl-subnav-strip { border: 0; margin-bottom: 26px; padding-bottom: 0; gap: 20px; }
.yl-eyebrow { color: #686875; font-size: 9px; font-weight: 650; letter-spacing: 1.8px; }
.yl-page-heading h1 { margin: 5px 0; font-size: 27px; font-weight: 650; letter-spacing: -.9px; line-height: 1.25; color: var(--yl-navy); }
.yl-page-heading p { font-size: 12px; color: #686875; }
.btn-yl { padding: 8px 14px; border-radius: 7px; font-size: 11.5px; font-weight: 550; transition: background .16s, border-color .16s; }
.btn-primary { background: var(--yl-accent); border-color: var(--yl-accent); color: #fff; }
.btn-primary:hover { background: #a40928; border-color: #a40928; }
.btn-navy { background: #38383f; border-color: #38383f; }
.btn-outline { background: #fff; color: #656572; }
.btn-outline:hover { background: #f4f4f5; border-color: #bdbdc5; color: var(--yl-accent); }
.yl-connect-button { min-height: 39px; padding: 9px 15px; }
.yl-card { border-radius: 10px; box-shadow: 0 2px 6px rgb(39 39 43 / 2%); }
.yl-card-header { background: #fbfbfc; }
.badge { border-radius: 5px; font-size: 9px; padding: 3px 7px; font-weight: 550; }
.yl-welcome { display: flex; position: relative; overflow: hidden; min-height: 224px; background: #f1f1f2; border: 1px solid #dedee1; border-radius: 13px; margin-bottom: 17px; }
.yl-welcome-copy { padding: 25px 30px; z-index: 1; width: 69%; }
.yl-welcome .yl-eyebrow { color: #5a5a65; font-size: 8px; }
.yl-welcome h2 { margin: 10px 0 9px; color: var(--yl-navy); font-size: clamp(24px, 2.4vw, 34px); line-height: 1.1; font-weight: 620; letter-spacing: -1.2px; }
.yl-welcome p { color: #5d5d68; font-size: 11.5px; max-width: 390px; line-height: 1.6; }
.yl-text-action { display: inline-flex; gap: 20px; align-items: center; margin-top: 15px; border: 0; background: transparent; color: var(--yl-navy); font-size: 11px; font-weight: 650; cursor: pointer; }
.yl-text-action:hover { color: var(--yl-accent); text-decoration: underline; }
.yl-field-art { position: absolute; right: 25px; top: -18px; bottom: -45px; width: 34%; border: 1px solid #b7b7c0; border-radius: 140px 140px 8px 8px; transform: rotate(20deg); opacity: .58; background: repeating-linear-gradient(0deg, transparent 0 41px, #d0d0d5 42px 43px); }
.yl-field-art::before { content: ''; position: absolute; inset: 17px; border: 1px solid #c1c1c8; border-radius: inherit; }
.yl-field-orbit { position: absolute; width: 140px; height: 140px; border: 1px dashed #a9a9b3; border-radius: 50%; left: -56px; top: 100px; }
.yl-field-ball { position: absolute; width: 52px; height: 77px; top: 80px; left: 45%; border-radius: 55% 45% 55% 45%; background: var(--yl-navy); border: 5px solid #e8e8eb; transform: rotate(25deg); box-shadow: 0 8px 20px rgb(44 81 60 / 12%); }
.yl-field-ball::after { content: ''; position: absolute; width: 19px; height: 31px; left: 12px; top: 17px; background: repeating-linear-gradient(0deg, transparent 0 6px, #ffffff 7px 8px); border-left: 2px solid #ffffff; }
.yl-field-yard { position: absolute; bottom: 62px; right: 20px; font-size: 8px; letter-spacing: 2.5px; color: #6f6f7e; writing-mode: vertical-rl; }
.yl-quick-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 30px; }
.yl-tool-link { min-width: 0; display: flex; align-items: center; gap: 12px; text-align: left; padding: 17px 16px; background: #fff; border: 1px solid var(--border-box); border-radius: 9px; cursor: pointer; transition: border-color .16s, background .16s; }
.yl-tool-link:hover { border-color: #b9b9c0; background: #fcfdff; }
.yl-tool-icon { display: grid; place-items: center; background: #f5f5f6; color: var(--yl-navy); width: 35px; height: 38px; border-radius: 7px; flex-shrink: 0; }
.yl-tool-icon svg { width: 21px; height: 21px; }
.yl-tool-link b { display: block; color: #3f3f47; font-size: 12px; font-weight: 620; }
.yl-tool-link small { display: block; color: #686875; font-size: 9.5px; margin-top: 3px; }
.yl-tool-arrow { margin-left: auto; font-size: 17px; color: #a2a2ad; }
.yl-home-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; margin: 0 0 15px; }
.yl-home-section-heading h2 { font-size: 19px; font-weight: 620; letter-spacing: -.5px; margin-top: 3px; color: #3c3c43; }
.yl-home-section-heading > span { color: #686875; font-size: 10px; }
.yl-dashboard-league-line { border-left-color: var(--yl-accent) !important; box-shadow: none; }
#view-home > .grid-2 { gap: 18px; }
#view-home > .grid-2 > .yl-card { transition: border-color .16s, box-shadow .16s; }
#view-home > .grid-2 > .yl-card:hover { border-color: #bdbdc5; box-shadow: 0 5px 18px rgb(39 39 43 / 5%); }
.yl-chat-rail { width: 310px; top: var(--yl-header-height); height: calc(100vh - var(--yl-header-height)); border-color: var(--border-box); }
.yl-nav-backdrop[hidden] { display: none; }
@media (max-width: 1270px) {
  .yl-sport-label { display: none; }
  .yl-topbar { gap: 16px; padding: 0 22px; }
  .yl-stage-container { padding: 28px 25px 48px; }
  .yl-main-shell:not(.chat-collapsed) { grid-template-columns: 230px minmax(0, 1fr) 0 !important; }
  .yl-main-shell:not(.chat-collapsed) .yl-chat-rail { display: flex !important; position: fixed; top: var(--yl-header-height); right: 0; z-index: 110; transform: none; box-shadow: -12px 0 40px rgb(39 39 43 / 12%); }
  .yl-tool-link { gap: 9px; padding: 14px 12px; }
  .yl-tool-link small { font-size: 9px; }
}
@media (max-width: 900px) {
  :root { --yl-header-height: 68px; }
  .yl-topbar { gap: 14px; padding: 0 18px; }
  .yl-topbar-left { gap: 14px; }
  .yl-wordmark { font-size: 27px; }
  .yl-menu-toggle { display: grid; place-items: center; width: 36px; height: 40px; border: 0; border-radius: 6px; color: #4a4a53; background: transparent; cursor: pointer; }
  .yl-menu-toggle svg { width: 20px; height: 20px; }
  .yl-header-chat span, .yl-header-divider, .yl-profile-button > span:not(.yl-avatar) { display: none; }
  .yl-profile-button { max-width: 125px; font-size: 10px; }
  .yl-topbar-right { gap: 12px; }
  .yl-main-shell, .yl-main-shell.chat-collapsed, .yl-main-shell:not(.chat-collapsed) { grid-template-columns: minmax(0, 1fr) !important; }
  .yl-fp-sidebar { position: fixed; left: 0; top: var(--yl-header-height); bottom: 0; height: calc(100dvh - var(--yl-header-height)); z-index: 130; transform: translateX(-100%); transition: transform .18s; padding: 20px 16px; align-items: stretch; visibility: hidden; }
  .yl-nav-open .yl-fp-sidebar { transform: none; visibility: visible; }
  .yl-nav-open { overflow: hidden; }
  .yl-sidebar-league, .yl-sidebar-select, .yl-sidebar-section { display: flex; }
  .yl-sidebar-group { padding: 0; }
  .yl-sidebar-group:not(.open) { display: none !important; }
  .yl-sidebar-group .fp-rail-item, .yl-sidebar-group .fp-rail-item:not(:first-child) { display: flex; width: 100%; flex-direction: row; justify-content: flex-start; padding: 10px 12px; }
  .yl-sidebar-group .fp-rail-item span { font-size: 12px; text-align: left; }
  .yl-sidebar-group .fp-rail-item svg { margin-right: 11px !important; margin-bottom: 0 !important; }
  .yl-nav-backdrop:not([hidden]) { display: block; position: fixed; inset: var(--yl-header-height) 0 0; border: 0; background: rgb(34 34 38 / 30%); backdrop-filter: blur(2px); z-index: 125; }
  .yl-stage-container { padding: 26px 24px 45px; }
  .yl-subnav-strip { margin-bottom: 22px; }
}
@media (max-width: 600px) {
  .yl-topbar { padding: 0 12px; gap: 8px; flex-wrap: wrap; height: auto; min-height: 112px; padding-bottom: 12px; }
  :root { --yl-header-height: 112px; }
  .yl-topbar-left { height: 57px; gap: 8px; }
  .yl-wordmark { font-size: 26px; }
  .yl-brand-symbol i { width: 4px; }
  .yl-search-center { order: 3; flex: 1 0 100%; max-width: none; }
  .yl-search-field { height: 36px; }
  .yl-topbar-right { margin-left: auto; }
  .yl-profile-button { max-width: 80px; }
  .yl-stage-container { padding: 23px 16px 40px; }
  .yl-page-heading h1 { font-size: 24px; }
  .yl-page-heading p { font-size: 11px; max-width: 220px; }
  .yl-subnav-strip { align-items: flex-start; gap: 12px; }
  .yl-connect-button { min-height: 36px; font-size: 10px; padding: 7px 10px; }
  .yl-connect-button svg { display: none; }
  .yl-eyebrow { font-size: 8px; letter-spacing: 1.4px; }
  .yl-welcome { min-height: 230px; }
  .yl-welcome-copy { padding: 23px 20px; width: 80%; }
  .yl-welcome h2 { font-size: 28px; }
  .yl-welcome p { max-width: 220px; font-size: 11px; }
  .yl-field-art { right: -50px; width: 43%; opacity: .3; }
  .yl-quick-tools { grid-template-columns: 1fr; gap: 8px; margin-bottom: 27px; }
  .yl-tool-link { padding: 12px 14px; }
  .yl-tool-link small { font-size: 10px; }
  .yl-tool-link b { font-size: 12px; }
  .yl-tool-icon { width: 33px; height: 33px; }
  .yl-home-section-heading > span { display: none; }
  #view-home > .grid-2 { grid-template-columns: minmax(0, 1fr); }
  .yl-dashboard-league-line { padding: 12px !important; }
  button { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .yl-fp-sidebar, .yl-tool-link, .yl-fp-sidebar .fp-rail-item { transition: none; }
}

.yl-wordmark img { width: 156px; height: auto; display: block; }

/* League pages and player cards share adaptive layouts. */
.yl-league-header { flex-wrap: wrap; gap: 16px; padding: 0; }
.yl-league-header > div { min-width: 0; flex: 1 1 220px; overflow-wrap: anywhere; }
.yl-league-header .btn-yl { flex: 0 0 auto; min-height: 44px; }
.yl-dashboard-player-grid { grid-template-columns: repeat(auto-fill,minmax(min(100%,250px),1fr)); }
.yl-player-card-v2__metrics { grid-template-columns: repeat(auto-fit,minmax(90px,1fr)); }
.yl-player-card-v2__metrics:empty { display:none; }
.yl-player-card-v2__name { line-height: 1.3; overflow-wrap: anywhere; }
.yl-player-card-v2__photo.photo-error { visibility:hidden; }
.yl-player-card-v2:focus-visible,.yl-matchup-row:focus-visible { outline:3px solid var(--yl-accent); outline-offset:3px; }
.yl-matchup-shell { grid-template-columns: repeat(2,minmax(0,1fr)); }
.yl-matchup-shell > section { min-width:0; }
.yl-matchup-row b { min-width:0; overflow-wrap:anywhere; }
@media(max-width:720px) { .yl-matchup-shell { grid-template-columns:minmax(0,1fr); } .yl-matchup-row { flex-wrap:wrap; } }

.yl-player-card-v2__teamlogo[hidden] { display:none!important; }

/* Overview: personal team always on the left, opponent on the right. */
.yl-week-card { border:1px solid #d4d4d9; border-radius:14px; overflow:hidden; margin-bottom:22px; background:#fff; }
.yl-week-card>header { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:13px 22px; color:var(--yl-navy); border-bottom:1px solid #e2e2e6; font-size:11px; font-weight:600; }
.yl-week-card>header small { color:#757584; font-size:11px; font-weight:400; }
.yl-week-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); position:relative; }
.yl-week-side { position:relative; min-width:0; padding:26px 32px; overflow:hidden; isolation:isolate; color:#fff; background:var(--yl-navy); }
.yl-week-side.is-opponent { background:#49132a; text-align:right; border-left:1px solid #ffffff35; }
.yl-week-background { position:absolute; z-index:-1; right:-20px; top:-35px; width:260px; height:260px; object-fit:cover; opacity:.18; mask-image:linear-gradient(to left,#000,transparent); }
.yl-week-side.is-opponent .yl-week-background { right:auto; left:-20px; mask-image:linear-gradient(to right,#000,transparent); }
.yl-week-team>span { font-size:9px; letter-spacing:1.4px; color:#d1d1d7; }
.yl-week-team h3 { margin:9px 0 22px; font-size:clamp(17px,2vw,25px); line-height:1.25; color:#fff; overflow-wrap:anywhere; }
.yl-week-numbers { display:flex; align-items:baseline; gap:24px; flex-wrap:wrap; }
.yl-week-side.is-opponent .yl-week-numbers { justify-content:flex-end; }
.yl-week-numbers small { display:block; color:#d0d0d6; font-size:10px; margin-bottom:6px; }
.yl-week-numbers strong { display:block; font-variant-numeric:tabular-nums; }
.yl-week-projection strong { font-size:34px; font-weight:600; letter-spacing:-1px; }
.yl-week-score strong { font-size:22px; font-weight:500; }
.yl-week-versus { position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-50%); background:#fff; color:var(--yl-navy); border:4px solid #ebebee; border-radius:50%; padding:10px 8px; font-size:10px; font-weight:600; }
.yl-week-card>footer { padding:11px 22px; font-size:11px; line-height:1.6; color:#757583; }
.yl-welcome { background:linear-gradient(115deg,var(--yl-navy),#111114); border:1px solid #383840; border-left:5px solid var(--yl-accent); }
.yl-welcome h2 { color:#fff; }
.yl-welcome p { color:#ceced4; }
.yl-welcome .yl-eyebrow { color:#bdbdc5; font-size:10px; }
.yl-welcome .yl-text-action { color:#fff; }
.yl-brand-panel { width:31%; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:14px; padding:28px; border-left:1px solid #ffffff15; background:#ffffff06; transform:skew(-7deg); margin-right:-12px; }
.yl-brand-panel img { width:100%; max-width:210px; filter:brightness(0) invert(1); transform:skew(7deg); }
.yl-brand-panel>span { color:#bdbdc5; font-size:8px; letter-spacing:1.5px; transform:skew(7deg); }
@media(max-width:600px){ .yl-week-side { padding:22px 16px; } .yl-week-numbers { gap:12px; } .yl-week-projection strong { font-size:27px; } .yl-week-team h3 { font-size:17px; min-height:44px; } .yl-week-score strong { font-size:19px; } .yl-week-versus { padding:7px 4px; font-size:8px; } .yl-brand-panel { display:none; } .yl-welcome-copy { width:100%; } }

[data-league-freshness] { display:block; margin-bottom:5px; color:#61616e; }
[data-league-freshness][data-status="stale"],[data-league-freshness][data-status="offline"] { color:#9a3412; }

.yl-projection-notice { margin-top:10px; border-top:1px solid #e6e6e9; padding-top:10px; }
.yl-projection-notice summary { cursor:pointer; color:#494952; font-weight:600; line-height:1.6; }
.yl-projection-notice p { font-size:11px; line-height:1.7; color:#757583; margin:8px 0 0; }
.yl-projection-notice button { font:inherit; color:#46464e; }
.yl-week-empty { padding:24px; margin-bottom:20px; }
.yl-week-empty h3 { color:var(--yl-navy); font-size:17px; }
.yl-week-empty p { margin:10px 0 16px; font-size:13px; line-height:1.6; color:#70707e; }

.yl-duel-team { padding:20px; }
.yl-duel-team>header { padding-bottom:16px; border-bottom:1px solid #e2e2e6; }
.yl-duel-team>header h3 { color:var(--yl-navy); font-size:16px; line-height:1.5; }
.yl-duel-team>header p { color:#7d7d8b; font-size:11px; margin-top:4px; }
.yl-duel-player.yl-matchup-row { display:flex; align-items:center; width:100%; gap:12px; padding:14px 0; text-align:left; border:0; border-bottom:1px solid #ececee; background:none; cursor:pointer; }
.yl-duel-player.yl-matchup-row:hover { background:#f5f8fc; }
.yl-duel-player.yl-matchup-row img { width:38px; height:38px; flex:0 0 38px; }
.yl-duel-identity { flex:1; min-width:0; }
.yl-duel-identity b { display:block; font-size:12px; line-height:1.5; }
.yl-duel-identity>small { display:block; margin-top:4px; font-size:10px; color:#7d7d8b; }
.yl-duel-metrics { display:flex; gap:14px; flex-shrink:0; }
.yl-duel-metrics>span { display:flex; flex-direction:column; align-items:flex-end; gap:5px; }
.yl-duel-metrics small { font-size:9px; color:#7d7d8b; white-space:nowrap; }
.yl-duel-metrics strong { font-size:13px; color:var(--yl-navy); font-variant-numeric:tabular-nums; }
@media(max-width:600px){.yl-duel-team{padding:16px}.yl-duel-player.yl-matchup-row{gap:8px;flex-wrap:nowrap}.yl-duel-metrics{gap:10px}.yl-duel-player.yl-matchup-row img{width:30px;height:30px;flex-basis:30px}.yl-duel-identity b{font-size:11px}}
.yl-projection-coverage { display:block; margin-top:6px; font-size:11px; color:#e0e0e4; }
.yl-week-projection[data-completeness="partial"] strong { color:#854500; }
.yl-matchup-insights { margin:22px 0 28px; padding:24px; border:1px solid #dddde1; border-top:3px solid var(--yl-accent); border-radius:14px; background:#f7f7f8; }
.yl-matchup-insights>header>span { color:var(--yl-accent); font-size:10px; font-weight:750; letter-spacing:1px; }
.yl-matchup-insights h3 { color:var(--yl-navy); font-size:21px; margin:8px 0; }
.yl-matchup-insights>header p,.yl-matchup-insights details { color:#62626e; font-size:12px; line-height:1.7; }
.yl-insight-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr)); gap:14px; margin:20px 0; }
.yl-insight-grid article { padding:18px; border:1px solid #dddde1; border-radius:10px; background:#fff; }
.yl-insight-grid article>small { color:#747483; font-size:10px; letter-spacing:.6px; }
.yl-insight-grid h4 { color:var(--yl-navy); font-size:15px; margin:9px 0; }
.yl-insight-grid p { color:#62626e; font-size:13px; line-height:1.7; }
.yl-insight-grid .yl-profile-link { color:#45454e; min-height:36px; }
.yl-matchup-insights summary { cursor:pointer; color:#45454e; }
@media(max-width:600px){ .yl-matchup-insights { padding:18px; } }
.yl-analytics-dashboard { margin:26px 0; padding:26px; background:#fff; border:1px solid #dfdfe3; border-radius:16px; }
.yl-analytics-dashboard>header>small { font-size:10px; color:var(--yl-accent); font-weight:750; letter-spacing:1px; }
.yl-analytics-dashboard h3 { font-size:23px; color:var(--yl-navy); margin:8px 0; }
.yl-analytics-dashboard p,.yl-analytics-dashboard details { color:#70707e; font-size:12px; line-height:1.7; }
.yl-analytics-charts { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:28px; margin:24px 0; }
.yl-analytics-charts figure { min-width:0; margin:0; padding:20px; border:1px solid #e6e6e8; border-radius:12px; background:#fbfbfc; }
.yl-analytics-charts h4 { font-size:16px; color:var(--yl-navy); margin:0; }
.yl-chart-group { margin:18px 0; }
.yl-chart-group h5 { font-size:12px; color:var(--yl-navy); margin:0 0 8px; }
.yl-chart-row { display:grid; grid-template-columns:minmax(70px,1fr) minmax(40px,1.5fr) 44px 64px; align-items:center; gap:8px; margin:8px 0; }
.yl-chart-row>span:first-child { font-size:11px; overflow-wrap:anywhere; color:#62626e; }
.yl-chart-row strong { font-size:12px; color:var(--yl-navy); text-align:right; font-variant-numeric:tabular-nums; }
.yl-chart-row small { font-size:10px; color:#70707e; }
.yl-chart-track { display:block; height:10px; border-radius:4px; background:#ededef; overflow:hidden; }
.yl-chart-track i { display:block; height:100%; border-radius:4px; background:var(--yl-navy); }
.yl-chart-track i.opponent { background:var(--yl-accent); }
.yl-chart-track i.is-negative { background:repeating-linear-gradient(45deg,var(--yl-accent),var(--yl-accent) 3px,#e9b4bf 3px,#e9b4bf 6px); }
.yl-chart-unavailable { color:#70707e; font-size:10px; }
.yl-analytics-toggle { display:flex; gap:6px; padding:4px; border-radius:8px; background:#efeff1; margin:18px 0; }
.yl-analytics-toggle button { flex:1; min-height:38px; border:0; background:transparent; color:#62626e; border-radius:6px; cursor:pointer; }
.yl-analytics-toggle button[aria-pressed="true"] { background:var(--yl-navy); color:#fff; }
.yl-contribution-list { list-style:none; margin:0; padding:0; }
.yl-contribution-list button { width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(40px,1fr) 44px; gap:12px; align-items:center; padding:14px 0; border:0; border-bottom:1px solid #e6e6e8; background:transparent; color:var(--yl-navy); text-align:left; cursor:pointer; }
.yl-contribution-list button>span:first-child { font-size:12px; font-weight:600; }
.yl-contribution-list small { display:block; color:#70707e; margin-top:4px; font-size:10px; }
.yl-contribution-list strong { font-size:12px; text-align:right; font-variant-numeric:tabular-nums; }
.yl-analytics-dashboard [hidden] { display:none; }
.yl-analytics-dashboard summary { cursor:pointer; color:#46464e; }
.yl-analytics-dashboard button:focus-visible { outline:3px solid var(--yl-accent); outline-offset:3px; }
@media(max-width:900px){ .yl-analytics-charts { grid-template-columns:minmax(0,1fr); } }
@media(max-width:600px){ .yl-analytics-dashboard { padding:18px; } .yl-analytics-charts figure { padding:14px; } .yl-chart-row { grid-template-columns:minmax(60px,1fr) minmax(35px,1fr) 42px 55px; gap:6px; } }
.yl-league-scatter { display:block; width:100%; height:auto; margin:20px 0 0; }
.yl-league-scatter text { fill:#70707e; font:11px system-ui,sans-serif; }
.yl-statistics-table { width:100%; border-collapse:collapse; margin-top:14px; font-size:12px; font-variant-numeric:tabular-nums; }
.yl-statistics-table th,.yl-statistics-table td { padding:10px 8px; border-bottom:1px solid #e2e2e6; color:#62626e; text-align:right; }
.yl-statistics-table th:first-child { text-align:left; }
.yl-statistics-table .is-mine { background:#f0f0f1; }
.yl-statistics-table .is-mine th { color:var(--yl-accent); }
.yl-expectation-legend { display:flex; gap:16px; margin:18px 0 10px; font-size:11px; color:var(--yl-navy); }
.yl-expectation-legend span:last-child { color:var(--yl-accent); }
.yl-expectation-row { display:grid; grid-template-columns:minmax(80px,1fr) minmax(70px,1fr) 88px; width:100%; align-items:center; gap:14px; padding:16px 0; background:none; border:0; border-bottom:1px solid #e6e6e8; text-align:left; color:var(--yl-navy); cursor:pointer; }
.yl-expectation-row b { font-size:12px; }
.yl-expectation-row small { display:block; font-size:10px; color:#70707e; margin-top:5px; }
.yl-expectation-track { position:relative; height:4px; background:#e3e3e7; margin:0 6px; }
.yl-expectation-track i,.yl-expectation-track em { position:absolute; top:50%; width:10px; height:10px; transform:translate(-50%,-50%); background:var(--yl-navy); border-radius:50%; }
.yl-expectation-track em { border-radius:0; transform:translate(-50%,-50%) rotate(45deg); background:var(--yl-accent); }
.yl-expectation-values { text-align:right; font-size:12px; font-variant-numeric:tabular-nums; }
@media(max-width:600px){ .yl-expectation-row { grid-template-columns:minmax(65px,1fr) minmax(45px,1fr) 80px; gap:9px; } .yl-statistics-table th,.yl-statistics-table td { padding:9px 4px; font-size:11px; } }
.yl-league-production-note { padding:14px 18px; border-left:3px solid var(--yl-accent); background:#f3f3f4; border-radius:0 8px 8px 0; }
.yl-league-production-note b { color:var(--yl-navy); }
.yl-welcome.yl-welcome--analytical { min-height:0; padding-top:24px; padding-bottom:24px; }
.yl-welcome--analytical h2 { font-size:clamp(24px,3vw,34px); }
.yl-welcome--analytical .yl-brand-panel { min-height:110px; }
