:root{
    --page-max:1080px;
    --page-gutter:24px;
    --ink:#1a1a1a;--grey-900:#1a1a1a;--grey-700:#4a4a4a;--grey-600:#666666;--grey-500:#8a8a8a;--grey-400:#a8a8a8;--grey-300:#c8c8c8;
    --grey-100:#f2f2f2;--grey-50:#f7f7f7;--white:#ffffff;
    --accent:#2563eb;--accent-light:rgba(37,99,235,0.08);--accent-mid:rgba(37,99,235,0.15);
    --red:#dc2626;--red-light:rgba(220,38,38,0.08);--green:#16a34a;--green-light:rgba(22,163,74,0.08);
    --line:rgba(0,0,0,0.08);--line-strong:rgba(0,0,0,0.14);
    --shadow-sm:0 1px 3px rgba(0,0,0,0.06);--shadow-md:0 4px 16px rgba(0,0,0,0.08);--radius:8px;

    /* OG LEAGUE DESIGN SYSTEM — TYPE */
    /* Six actual type sizes govern the entire site. Semantic aliases below
       reuse these values instead of inventing component-specific scales. */
    --type-page:30px;
    --type-display:30px;
    --type-section:20px;
    --type-subsection:14px;
    --type-card:14px;
    --type-card-title:14px;
    --type-body-lg:14px;
    --type-body:13px;
    --type-body-sm:13px;
    --type-small:11px;
    --type-meta:11px;
    --type-label:10px;
    --type-stat:20px;
    --type-stat-lg:30px;
    --type-stat-xl:30px;
    --leading-tight:1.15;
    --leading-snug:1.3;
    --leading-body:1.5;
    --weight-regular:400;
    /* Three weights only: regular copy, emphasized content, and labels all map cleanly. */
    --weight-medium:600;
    --weight-semibold:600;
    --weight-bold:600;
    --tracking-tight:-.01em;
    --tracking-stat:-.025em;
    --tracking-label:.08em;

    /* OG LEAGUE DESIGN SYSTEM — SPACING (4px base rhythm) */
    --space-0:0px;
    --space-1:4px;
    --space-2:8px;
    --space-3:12px;
    --space-4:16px;
    --space-5:20px;
    --space-6:24px;
    --space-8:32px;
    --space-10:40px;
    --space-12:48px;
    --space-16:64px;
    --space-20:80px;
    --space-25:100px;

    /* SEMANTIC SPACING */
    --gap-inline:var(--space-2);
    --gap-card:var(--space-3);
    --gap-grid:var(--space-3);
    --gap-section:var(--space-8);
    --space-section-head:var(--space-6);
    --space-page-top:var(--space-10);
    --space-page-bottom:var(--space-25);
    --pad-card:var(--space-4);
    --pad-card-compact:var(--space-3);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--grey-100);color:var(--ink);font-family:'Inter',-apple-system,sans-serif;-webkit-font-smoothing:antialiased;font-size:var(--type-body-lg);line-height:var(--leading-body);}
  h1,h2,h3{font-family:'Inter',-apple-system,sans-serif;font-weight:var(--weight-regular);margin:0;letter-spacing:var(--tracking-tight);}
  a{color:var(--accent);}

  header.hero{background:var(--white);border-bottom:1px solid var(--line);}
  .hero-inner{max-width:var(--page-max);margin:0 auto;padding:24px var(--page-gutter);display:flex;align-items:center;gap:20px;}
  .hero-logo{height:48px;width:auto;color:var(--ink);margin-left:-2px;}

  nav.tabs{position:sticky;top:0;z-index:20;background:var(--white);border-bottom:1px solid var(--line);overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;}
  nav.tabs::-webkit-scrollbar{display:none;height:0;}
  .tabs-inner{display:flex;gap:0;max-width:var(--page-max);margin:0 auto;padding:0 var(--page-gutter);}
  nav.tabs button{font-family:'Inter';font-weight:600;font-size:var(--type-body);text-transform:uppercase;letter-spacing:0.06em;background:none;border:none;cursor:pointer;color:var(--grey-500);padding:14px 18px 12px;white-space:nowrap;position:relative;transition:color .15s;}
  nav.tabs button:hover{color:var(--ink);}
  nav.tabs button.active{color:var(--ink);}
  nav.tabs button.active::after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:2px;background:var(--accent);border-radius:1px;}
  nav.tabs button:first-child{padding-left:0;}
  nav.tabs button:first-child.active::after{left:0;}

  main{max-width:var(--page-max);margin:0 auto;padding:var(--space-page-top) var(--page-gutter) var(--space-page-bottom);}
  section.panel{display:none;}
  section.panel.active{display:block;animation:fade .3s ease;}
  @keyframes fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}

  .section-head{margin-bottom:var(--space-section-head);}
  .section-head h2{font-size:var(--type-page);line-height:var(--leading-tight);}
  .section-head p{font-size:var(--type-body);line-height:var(--leading-body);color:var(--grey-500);margin:var(--space-1) 0 0;}
  .teams-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
  .record-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;}
  .rb-filter{display:inline-flex;align-items:center;padding:3px;background:var(--white);border:1px solid var(--line-strong);border-radius:7px;flex-shrink:0;}
  .rb-filter button{font-family:'Inter',-apple-system,sans-serif;font-size:var(--type-meta);font-weight:600;letter-spacing:.03em;background:transparent;border:0;border-radius:5px;color:var(--grey-500);padding:6px 10px;cursor:pointer;white-space:nowrap;}
  .rb-filter button:hover{color:var(--ink);}
  .rb-filter button.active{background:var(--ink);color:var(--white);}
  .rb-empty{padding:16px 4px;border-bottom:1px solid var(--line);font-size:var(--type-body);color:var(--grey-500);}

  /* Record Book secondary navigation */
  .recordbook-page-head{margin-bottom:22px;}
  .recordbook-subnav{display:flex;align-items:flex-end;gap:26px;border-bottom:1px solid var(--line-strong);margin-bottom:30px;}
  .recordbook-subnav button{font-family:'Inter',-apple-system,sans-serif;position:relative;background:none;border:0;padding:0 0 12px;color:var(--grey-500);font-size:var(--type-body);font-weight:600;cursor:pointer;white-space:nowrap;}
  .recordbook-subnav button:hover{color:var(--ink);}
  .recordbook-subnav button.active{color:var(--ink);}
  .recordbook-subnav button.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:2px;}
  .recordbook-view{display:none;}
  .recordbook-view.active{display:block;animation:fade .2s ease;}
  .recordbook-view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px;}
  .recordbook-view-head h3{font-size:var(--type-section);font-weight:600;letter-spacing:-.01em;}
  .recordbook-view-head p{font-size:var(--type-body);color:var(--grey-500);margin:3px 0 0;}
  .rb-label-short{display:none;}

  /* Playoff + championship history */
  .playoff-year-select{font-family:'Inter',-apple-system,sans-serif;font-size:var(--type-body);font-weight:600;color:var(--ink);background:var(--white);border:1px solid var(--line-strong);border-radius:7px;padding:9px 34px 9px 12px;cursor:pointer;}
  .champ-history{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:hidden;margin-bottom:34px;}
  .champ-history-head,.champ-history-row{display:grid;grid-template-columns:64px minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:center;padding:12px 16px;}
  .champ-history-head{background:transparent;border-bottom:1px solid var(--line);font-size:var(--type-label);text-transform:uppercase;letter-spacing:.08em;color:var(--grey-500);font-weight:600;}
  .champ-history-row{border-bottom:1px solid var(--line);min-height:64px;}
  .champ-history-row:last-child{border-bottom:0;}
  .champ-year{font-size:var(--type-body);font-weight:600;color:var(--accent);}
  .champ-team-line{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap;}
  .champ-team{font-size:var(--type-body);font-weight:600;color:var(--ink);line-height:1.25;}
  .champ-inline-score{font-size:var(--type-body);font-weight:600;color:var(--grey-500);font-variant-numeric:tabular-nums;white-space:nowrap;}
  .champ-manager{font-size:var(--type-meta);color:var(--grey-500);margin-top:2px;line-height:1.25;}
  .champ-title-pill{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:var(--accent-light);border:1px solid rgba(37,99,235,.1);font-size:var(--type-label);line-height:1;color:var(--accent);font-weight:600;white-space:nowrap;}
  .playoff-season-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 18px;}
  .playoff-season-head h3{font-size:var(--type-section);font-weight:600;letter-spacing:-.01em;margin:0;}
  .playoff-season-head p{font-size:var(--type-body);color:var(--grey-500);margin:3px 0 0;}
  .playoff-title-card{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:22px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px 22px;margin-bottom:24px;}
  .playoff-title-identity{display:flex;align-items:center;gap:11px;min-width:0;}
  .playoff-title-identity>div{min-width:0;}
  .playoff-title-side.right .playoff-title-identity{flex-direction:row-reverse;}
  .playoff-title-side.right{text-align:right;}
  .playoff-kicker{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.08em;color:var(--grey-500);font-weight:600;margin-bottom:6px;}
  .playoff-title-team{font-size:var(--type-subsection);font-weight:600;line-height:1.2;color:var(--ink);}
  .playoff-title-manager{font-size:var(--type-meta);color:var(--grey-500);margin-top:4px;}
  .playoff-title-score{text-align:center;min-width:118px;}
  .playoff-title-score .trophy{font-size:var(--type-subsection);line-height:1;margin-bottom:5px;}
  .playoff-title-score .score{font-size:var(--type-section);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--ink);white-space:nowrap;}
  .playoff-title-score .label{margin-top:4px;font-size:var(--type-label);text-transform:uppercase;letter-spacing:.08em;color:var(--grey-500);font-weight:600;}
  .playoff-bracket{display:grid;gap:18px;align-items:start;}
  .playoff-bracket.rounds-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .playoff-bracket.rounds-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .playoff-round{min-width:0;}
  .playoff-round-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:10px;padding:0 2px;}
  .playoff-round-head h4{font-size:var(--type-body);font-weight:600;margin:0;color:var(--ink);}
  .playoff-round-head span{font-size:var(--type-label);color:var(--grey-500);}
  .playoff-match{background:var(--white);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);overflow:hidden;margin-bottom:10px;}
  .playoff-third-place .playoff-match{background:transparent;border-color:transparent;border-radius:0;box-shadow:none;}
  .playoff-third-place .playoff-match-team{padding-left:2px;padding-right:2px;}
  .playoff-match-team{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border-bottom:1px solid var(--line);}
  .playoff-match-identity{display:flex;align-items:center;gap:9px;min-width:0;}
  .playoff-match-identity .team-avatar,.playoff-match-identity .team-avatar-placeholder{width:30px!important;height:30px!important;}
  .playoff-match-team:last-child{border-bottom:0;}
  .playoff-match-team.winner .playoff-match-name{font-weight:600;color:var(--ink);}
  .playoff-match-team.winner .playoff-match-score{font-weight:600;color:var(--accent);}
  .playoff-match-team.loser .playoff-match-name{color:var(--grey-700);}
  .playoff-match-name{font-size:var(--type-meta);line-height:1.25;min-width:0;}
  .playoff-match-manager{display:block;font-size:var(--type-label);color:var(--grey-500);font-weight:400;margin-top:2px;}
  .playoff-match-score{font-size:var(--type-body);font-variant-numeric:tabular-nums;color:var(--grey-700);}
  .playoff-bye-note{background:rgba(0,0,0,.025);border:1px dashed var(--line-strong);border-radius:10px;padding:10px 11px;font-size:var(--type-meta);line-height:1.45;color:var(--grey-500);}
  .playoff-bye-note b{color:var(--grey-700);font-weight:600;}

  .season-recap{margin-top:34px;}
  .season-recap-head{margin-bottom:14px;}
  .season-recap-head h3{font-size:var(--type-section);font-weight:600;letter-spacing:-.01em;margin:0;color:var(--ink);}
  .season-recap-head p{font-size:var(--type-body);color:var(--grey-500);margin:3px 0 0;}
  .season-recap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .season-recap-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:15px 16px;min-width:0;}
  .season-recap-label{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.08em;color:var(--grey-500);font-weight:600;margin-bottom:8px;}
  .season-recap-stat{font-size:var(--type-section);font-weight:600;line-height:1.05;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums;}
  .season-recap-team{font-size:var(--type-body);font-weight:400;line-height:1.3;color:var(--ink);margin-top:6px;}
  .season-recap-meta{font-size:var(--type-meta);font-weight:400;line-height:1.4;color:var(--grey-500);margin-top:3px;}

  .year-picker{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:20px;}
  .year-picker button{font-family:'Inter';font-weight:600;font-size:var(--type-body);padding:7px 14px;background:var(--white);border:1px solid var(--line-strong);cursor:pointer;color:var(--grey-700);border-radius:6px;transition:all .15s;}
  .year-picker button:hover{border-color:var(--grey-300);background:var(--grey-100);}
  .year-picker button.active{background:var(--ink);color:var(--white);border-color:var(--ink);}

  /* SHARED TABLE SYSTEM: header / row / team emphasis. */
  table{width:100%;border-collapse:collapse;font-size:var(--type-body);}
  thead th{text-align:left;text-transform:uppercase;font-size:var(--type-label);line-height:1.2;letter-spacing:.08em;font-weight:600;padding:0 12px 10px;border-bottom:1px solid var(--line-strong);color:var(--grey-500);}
  tbody td{padding:11px 12px;border-bottom:1px solid var(--line);font-size:var(--type-body);line-height:1.35;font-weight:400;}
  tbody tr:hover{background:var(--accent-light);}
  .rk{font-family:'Inter',-apple-system,sans-serif;color:var(--accent);width:28px;font-size:var(--type-body);font-weight:400;}
  .num-col{text-align:right;font-variant-numeric:tabular-nums;font-size:inherit;font-weight:400;}
  .team-cell{font-size:inherit;font-weight:600;}
  .trophy-icon{color:var(--accent);margin-right:4px;}

  .fr-grid{display:flex;flex-direction:column;gap:8px;}
  .fr-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px 22px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;box-shadow:var(--shadow-sm);}
  .fr-card:hover{border-color:var(--grey-300);box-shadow:var(--shadow-md);transform:translateY(-1px);}
  .back-btn{font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:var(--type-body);background:none;border:none;cursor:pointer;color:var(--accent);padding:0 0 20px;display:block;}
  .detail-head{margin-bottom:0;}
  .detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;}
  .detail-title-copy{min-width:0;}
  .detail-title-row .fr-badge-wrap{flex:0 1 560px;width:auto;align-self:flex-start;}
  .detail-head h2{font-size:var(--type-page);}
  .detail-history{font-size:var(--type-body);color:var(--grey-500);margin-top:4px;}
  .detail-head .fr-stats{display:grid;grid-template-columns:repeat(6,minmax(82px,1fr));gap:18px;width:100%;margin-top:20px;}
  .detail-head .fr-stats>div{min-width:0;}
  .detail-head .fr-stats .v{font-weight:600;}
  .team-detail-section{margin-top:38px;}
  .team-detail-section-head{margin-bottom:13px;}
  .team-detail-section-head h3{font-size:var(--type-subsection);font-weight:600;letter-spacing:-.01em;margin:0;color:var(--ink);}
  .team-detail-section-head p{font-size:var(--type-meta);color:var(--grey-500);margin:3px 0 0;}
  .team-resume-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .team-resume-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:15px 16px;min-width:0;}
  .team-resume-label{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.08em;color:var(--grey-500);font-weight:600;margin-bottom:8px;}
  .team-resume-stat{font-size:var(--type-section);font-weight:600;line-height:1.05;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums;}
  .team-resume-context{font-size:var(--type-body);font-weight:400;line-height:1.35;color:var(--ink);margin-top:6px;}
  .team-resume-meta{font-size:var(--type-meta);line-height:1.4;color:var(--grey-500);margin-top:3px;}
  .team-season-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .team-season-table{min-width:700px;}
  .team-trade-list{display:flex;flex-direction:column;border-top:1px solid var(--line);}
  .team-trade-row{display:grid;grid-template-columns:84px minmax(0,.8fr) minmax(0,1.15fr) minmax(0,1.15fr);gap:16px;align-items:start;padding:13px 4px;border-bottom:1px solid var(--line);}
  .team-trade-when{font-size:var(--type-meta);text-transform:uppercase;letter-spacing:.06em;color:var(--grey-500);font-weight:600;line-height:1.4;}
  .team-trade-partner{font-size:var(--type-body);font-weight:600;line-height:1.35;color:var(--ink);}
  .team-trade-label{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.07em;color:var(--grey-500);font-weight:600;margin-bottom:4px;}
  .team-trade-assets{font-size:var(--type-meta);line-height:1.45;color:var(--ink);}
  .team-trade-more{margin-top:10px;font-size:var(--type-meta);color:var(--grey-500);}
  .finish-1{color:var(--accent);font-weight:600;}
  .archived-toggle-wrap{margin-top:36px;border-top:1px solid var(--line);padding-top:20px;}
  .section-disclosure-toggle{font-family:'Inter',-apple-system,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:var(--type-body);line-height:1.2;background:none;border:none;cursor:pointer;color:var(--grey-500);padding:0;display:flex;align-items:center;gap:6px;}
  .section-disclosure-toggle:hover{color:var(--ink);}
  #archivedChevron{transition:transform .2s;display:inline-block;}
  .archived-toggle.open #archivedChevron{transform:rotate(180deg);}
  .fr-card.is-archived{opacity:.55;}
  .fr-card.is-archived .fr-name::after{content:"Inactive";font-size:var(--type-label);text-transform:uppercase;letter-spacing:.06em;background:var(--grey-100);color:var(--grey-500);padding:2px 6px;border-radius:4px;margin-left:8px;vertical-align:middle;font-weight:600;}
  .fr-card-left{display:flex;align-items:center;min-width:0;}
  .fr-card .champs-badge{font-family:'Inter',-apple-system,sans-serif;font-size:var(--type-body);color:var(--accent);display:flex;align-items:center;gap:4px;margin-right:16px;flex-shrink:0;width:34px;}
  .fr-card .champs-badge.zero{opacity:.2;}
  .fr-name{font-weight:600;font-size:var(--type-card);}
  .fr-history{font-size:var(--type-body);color:var(--grey-500);margin-top:2px;}
  .fr-stats{display:flex;gap:28px;flex-shrink:0;}
  .fr-stats div span{display:block;}
  .fr-card .fr-stats{display:grid;grid-template-columns:repeat(6,minmax(72px,1fr));gap:18px;align-items:center;}
  .fr-card .fr-stats > div{min-width:0;}
  .fr-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;width:100%;}
  .fr-card-header .fr-card-left{flex:0 1 280px;min-width:0;}
  .fr-badge-wrap{display:flex;align-items:flex-start;justify-content:flex-end;flex:1 1 320px;min-width:0;align-self:flex-start;}
  .fr-badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0;align-self:flex-start;align-items:flex-start;align-content:flex-start;}
  .fr-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;background:rgba(0,0,0,.04);border:1px solid rgba(0,0,0,.06);font-size:11px;font-weight:600;line-height:1;color:var(--grey-700);white-space:nowrap;flex:0 0 auto;max-width:100%;}
  .fr-badge .ico{font-size:12px;line-height:1;}
  .fr-badge.legacy{background:var(--accent-light);border-color:rgba(37,99,235,.12);color:var(--accent);}
  .fr-badge.reigning{background:rgba(234,179,8,.12);border-color:rgba(202,138,4,.22);color:#9a6700;}
  .fr-badge.record{background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.16);color:#6d28d9;}
  .fr-badge.dynamic-hot{background:rgba(22,163,74,.09);border-color:rgba(22,163,74,.16);color:var(--green);}
  .fr-badge.dynamic-cold{background:rgba(220,38,38,.08);border-color:rgba(220,38,38,.14);color:var(--red);}
  .fr-badge.history{background:rgba(0,0,0,.035);}
  .fr-badge.neutral{background:rgba(0,0,0,.03);}
  .fr-stats .v{font-family:'Inter',-apple-system,sans-serif;font-size:var(--type-section);}
  .fr-stats .l{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.08em;color:var(--grey-500);font-weight:600;}

  .rb-section{margin-top:30px;}
  .rb-section:first-child{margin-top:0;}
  .rb-section-head{margin-bottom:14px;}
  .rb-section-head h3{font-size:var(--type-subsection);font-weight:600;letter-spacing:-.01em;margin:0;}
  .rb-section-head p{font-size:var(--type-meta);color:var(--grey-500);margin:3px 0 0;}
  .rb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px;}
  .rb-block{min-width:0;}
  .rb-block h3{font-size:var(--type-card);font-weight:600;margin-bottom:3px;}
  .rb-block .sub{font-size:var(--type-meta);color:var(--grey-500);margin-bottom:10px;}
  .rb-list{display:flex;flex-direction:column;border-top:1px solid var(--line);}
  .rb-item{display:grid;grid-template-columns:28px 1fr auto;gap:14px;align-items:center;padding:11px 4px;border-bottom:1px solid var(--line);font-size:var(--type-body);}
  .rb-item .pos{font-family:'Inter',-apple-system,sans-serif;color:var(--accent);font-size:var(--type-card);}
  .rb-item .meta{color:var(--grey-500);font-size:var(--type-meta);margin-top:1px;}
  .rb-item .val{font-family:'Inter',-apple-system,sans-serif;font-size:var(--type-subsection);text-align:right;color:var(--ink);}
  .pill{display:inline-block;font-size:var(--type-label);text-transform:uppercase;letter-spacing:.06em;background:var(--accent);color:white;padding:2px 6px;border-radius:4px;margin-left:6px;font-weight:600;}
  .pill.bad{background:var(--red);color:white;}

  .hl-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .hl-card{border-radius:var(--radius);padding:16px 18px;background:var(--white);box-shadow:var(--shadow-sm);}
  .hl-card.win{border-left:3px solid var(--green);}
  .hl-card.loss{border-left:3px solid var(--red);}
  .hl-card .hl-label{font-size:var(--type-meta);text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--grey-500);margin-bottom:6px;}
  .hl-card .hl-score{font-family:'Inter',-apple-system,sans-serif;font-size:var(--type-section);margin-bottom:2px;}
  .hl-card.win .hl-score{color:var(--green);}
  .hl-card.loss .hl-score{color:var(--red);}
  .hl-card .hl-meta{font-size:var(--type-body);color:var(--grey-500);}

  .rv-item{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line);font-size:var(--type-body);}
  .rv-item .rv-name{font-weight:600;display:flex;align-items:center;flex-wrap:wrap;}
  .rv-item .rv-pts{font-size:var(--type-meta);color:var(--grey-500);text-align:right;}
  .rv-item .rv-record{font-family:'Inter',-apple-system,sans-serif;font-size:var(--type-subsection);text-align:right;min-width:64px;}
  .rv-record.leading{color:var(--green);}
  .rv-record.trailing{color:var(--red);}
  .rv-record.even{color:var(--grey-500);}
  .rv-item.rivalry-link{cursor:pointer;transition:background .15s,padding .15s;}
  .rv-item.rivalry-link:hover{background:var(--white);padding-left:10px;padding-right:10px;}
  .rv-arrow{font-size:var(--type-card);color:var(--accent);margin-left:2px;}

  /* ---------- RIVALRY DETAIL ---------- */
  .rivalry-hero{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:28px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px 28px;box-shadow:var(--shadow-sm);}
  .rivalry-team{min-width:0;}
  .rivalry-team.right{text-align:right;}
  .rivalry-team-identity{display:flex;align-items:center;gap:14px;min-width:0;}
  .rivalry-team.right .rivalry-team-identity{flex-direction:row-reverse;}
  .rivalry-team-avatar{display:flex;flex:0 0 64px;}
  .rivalry-team-copy{min-width:0;}
  .rivalry-team-name{font-size:var(--type-page);font-weight:600;line-height:1.2;letter-spacing:-.01em;}
  .rivalry-team-owner{font-size:var(--type-meta);color:var(--grey-500);margin-top:4px;font-weight:400;}
  .rivalry-series{text-align:center;min-width:160px;}
  .rivalry-series-label{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.09em;color:var(--grey-500);font-weight:600;margin-bottom:5px;}
  .rivalry-series-record{font-size:var(--type-page);font-weight:600;line-height:1;}
  .rivalry-series-lead{font-size:var(--type-body);line-height:1.4;color:var(--grey-500);margin-top:7px;max-width:205px;}
  .rivalry-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px;}
  .rivalry-stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow-sm);min-width:0;}
  .rivalry-stat .l{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.08em;color:var(--grey-500);font-weight:600;margin-bottom:7px;}
  .rivalry-stat .v{font-size:var(--type-subsection);font-weight:600;line-height:1.15;overflow-wrap:anywhere;}
  .rivalry-stat .meta{font-size:var(--type-meta);color:var(--grey-500);font-weight:400;line-height:1.35;margin-top:5px;overflow-wrap:anywhere;}
  .rivalry-highlight-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:34px;}
  .rivalry-highlight{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:17px 19px;box-shadow:var(--shadow-sm);}
  .rivalry-highlight-label{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.08em;color:var(--grey-500);font-weight:600;margin-bottom:7px;}
  .rivalry-highlight-score{font-size:var(--type-subsection);font-weight:600;line-height:1.2;}
  .rivalry-highlight-meta{font-size:var(--type-meta);line-height:1.4;color:var(--grey-500);margin-top:5px;}
  .rivalry-history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px;}
  .rivalry-history-head h3{font-size:var(--type-subsection);font-weight:600;margin-bottom:4px;}
  .rivalry-table-wrap{background:transparent;border:0;border-radius:0;box-shadow:none;overflow-x:auto;}
  .rivalry-table-wrap table{min-width:900px;table-layout:fixed;}
  .rivalry-table-wrap thead th{padding-top:11px;background:transparent;}
  .rivalry-table-wrap th:nth-child(1),.rivalry-table-wrap td:nth-child(1){width:110px;min-width:110px;}
  .rivalry-table-wrap th:nth-child(2),.rivalry-table-wrap td:nth-child(2){width:38%;}
  .rivalry-table-wrap th:nth-child(3),.rivalry-table-wrap td:nth-child(3){width:120px;}
  .rivalry-table-wrap th:nth-child(4),.rivalry-table-wrap td:nth-child(4){width:170px;}
  .rivalry-table-wrap th:nth-child(5),.rivalry-table-wrap td:nth-child(5){width:220px;}
  .rivalry-table-wrap td:nth-child(1){white-space:nowrap;}
  .rivalry-table-wrap td:nth-child(1).rk{font-size:var(--type-body);line-height:1.25;color:var(--accent);}
  .rivalry-table-wrap td:nth-child(1) .meta{display:block;margin-top:2px;white-space:nowrap;}
  .rivalry-table-wrap tbody tr:last-child td{border-bottom:0;}
  .rivalry-result{font-weight:600;}
  .rivalry-table-wrap .team-cell{font-weight:600;}
  .rivalry-table-wrap td:nth-child(4) b{font-weight:600;}
  .s26-power-table .mobile-manager{display:none;}
  .rivalry-result.win{color:var(--green);}
  .rivalry-result.loss{color:var(--red);}
  .rivalry-result.tie{color:var(--grey-500);}
  .rivalry-type{display:inline-block;font-size:var(--type-label);text-transform:uppercase;letter-spacing:.06em;font-weight:600;color:var(--grey-500);background:var(--grey-100);padding:2px 6px;border-radius:4px;}
  .rivalry-type.playoff{color:var(--accent);background:var(--accent-light);}

  .s26-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
  .s26-week-picker{width:178px;flex:0 0 auto;margin:0;}
  .s26-week-select-shell{position:relative;width:100%;}
  .s26-week-select-shell::after{content:"";position:absolute;right:13px;top:50%;width:6px;height:6px;border-right:1.5px solid var(--grey-500);border-bottom:1.5px solid var(--grey-500);transform:translateY(-65%) rotate(45deg);pointer-events:none;}
  .s26-week-select{appearance:none;-webkit-appearance:none;width:100%;height:38px;padding:0 34px 0 12px;background:var(--white);border:1px solid var(--line-strong);border-radius:7px;color:var(--ink);font-family:'Inter',-apple-system,sans-serif;font-size:var(--type-body);font-weight:600;letter-spacing:.02em;cursor:pointer;outline:none;box-shadow:var(--shadow-sm);transition:border-color .15s,box-shadow .15s;}
  .s26-week-select:hover{border-color:var(--grey-300);}
  .s26-week-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);}
  .s26-status{font-size:var(--type-meta);text-transform:uppercase;letter-spacing:.08em;font-weight:600;display:inline-block;padding:4px 10px;border-radius:4px;margin-bottom:20px;}
  .s26-status.pre{background:rgba(0,0,0,0.06);color:var(--grey-700);}
  .s26-status.live{background:var(--green-light);color:var(--green);}
  .s26-status.final{background:var(--grey-100);color:var(--grey-500);}

  .mu-grid{display:flex;flex-direction:column;gap:10px;}
  .s26-block{margin-bottom:48px;}
  .mu-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow-sm);}
  .mu-row{display:flex;align-items:center;justify-content:space-between;gap:16px;}
  .mu-team{font-weight:600;font-size:var(--type-card);flex:1;}
  .mu-team.right{text-align:right;}
  .mu-mgr{font-size:var(--ui-type-meta);color:var(--grey-500);font-weight:400;display:block;margin-top:1px;}
  .mu-score{font-family:'Inter',-apple-system,sans-serif;font-size:var(--type-section);min-width:70px;text-align:center;color:var(--ink);}
  .mu-vs{font-size:var(--ui-type-meta);color:var(--grey-300);min-width:70px;text-align:center;font-weight:600;text-transform:uppercase;}
  .mu-context{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:var(--ui-type-body);color:var(--grey-500);}
  .mu-context b{color:var(--ink);}
  .s26-note{font-size:var(--type-body);color:var(--grey-500);padding:20px 0;}

  /* ---------- HOME / THIS WEEK ---------- */
  .home-kicker{font-size:var(--ui-type-label);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:4px;}
  .home-head .s26-status{margin-bottom:0;}
  .home-week-controls{display:flex;align-items:center;gap:var(--space-3);}
  #homeContent .s26-standings-table-wrap{max-width:100%;overflow-x:auto;}
  .home-loading{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:28px;color:var(--grey-500);box-shadow:var(--shadow-sm);}
  .home-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:28px;}
  .home-stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);min-width:0;}
  .home-stat-wide{grid-column:1 / -1;}
  .home-stat-label{font-size:var(--ui-type-label);text-transform:uppercase;letter-spacing:.08em;color:var(--grey-500);font-weight:600;margin-bottom:7px;}
  .home-stat-value{font-size:var(--type-card);font-weight:600;line-height:1.25;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
  .home-stat-meta{font-size:var(--type-meta);color:var(--grey-500);margin-top:var(--space-1);line-height:1.5;overflow-wrap:anywhere;}
  .home-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:28px;margin-bottom:36px;align-items:start;}
  .home-grid.equal{grid-template-columns:1fr 1fr;}
  .home-grid.home-primary{align-items:stretch;}
  .home-grid.home-primary .home-block{display:flex;flex-direction:column;}
  .home-grid.home-primary .home-table-card{flex:1;}
  .home-grid.home-primary .home-table{height:100%;}
  .home-block{min-width:0;}
  .home-block-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px;}
  .home-block-head h3{font-size:var(--ui-type-section);font-weight:600;}
  .home-block-head .sub{font-size:var(--ui-type-body);color:var(--grey-500);margin-top:2px;}
  .home-link{border:0;background:none;color:var(--accent);font:inherit;font-size:var(--ui-type-meta);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:0;cursor:pointer;white-space:nowrap;}
  .home-matchups{display:flex;flex-direction:column;gap:8px;}
  .home-matchup{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:13px 15px;box-shadow:var(--shadow-sm);}
  .home-matchup.game-of-week{border-color:rgba(37,99,235,.35);box-shadow:0 0 0 1px rgba(37,99,235,.06),var(--shadow-sm);}
  .home-matchup-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
  .home-badge{display:inline-block;font-size:var(--ui-type-label);text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--accent);background:var(--accent-light);border-radius:4px;padding:3px 6px;}
  .home-matchup-rank{font-size:var(--ui-type-meta);color:var(--grey-500);}
  .home-matchup-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:12px;align-items:center;}
  .home-matchup-team{font-weight:600;font-size:var(--type-card);min-width:0;}
  .home-matchup-team.right{text-align:right;}
  .home-matchup-team .owner{display:block;color:var(--grey-500);font-size:var(--ui-type-meta);font-weight:400;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .home-matchup-score{font-size:var(--type-subsection);font-weight:600;min-width:88px;text-align:center;font-variant-numeric:tabular-nums;}
  /* Shared data-table surface: ruled rows only, no card/background shell. */
  .home-table-card,
  .s26-standings-table-wrap,
  .luck-table-wrap{
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
    overflow:hidden;
  }
  .home-table{font-size:var(--type-body);}
  .home-table thead th{padding:11px 12px 8px;background:transparent;}
  .home-table tbody td{padding:9px 12px;}
  .home-table tbody tr:last-child td{border-bottom:0;}
  .home-table .rk{font-size:var(--type-body);}

  /* Playoff Picture body intentionally differs from a table: the top four
     stay in one white playoff-field card while teams 5-10 remain on the page
     background. Only the header row shares the table-header system. */
  .home-playoff-list{display:flex;flex-direction:column;min-height:0;}
  .home-playoff-headrow{display:grid;grid-template-columns:46px minmax(0,1fr) 118px;gap:0;align-items:center;padding:0 12px;background:transparent;border:0;border-radius:0;box-shadow:none;overflow:hidden;}
  .home-playoff-headrow>span{display:flex;align-items:center;height:100%;}
  .home-playoff-headrow>span:nth-child(2){justify-content:flex-start;text-align:left;}
  .home-playoff-headrow .status{justify-content:flex-end;text-align:right;}
  .home-playoff-in{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;}
  .home-playoff-out{padding-top:0;background:transparent;border:0;box-shadow:none;}
  .home-playoff-row{display:grid;grid-template-columns:46px minmax(0,1fr) 118px;gap:0;align-items:center;min-height:39px;padding:0 12px;border-bottom:1px solid var(--line);font-size:var(--type-body);}
  .home-playoff-in .home-playoff-row:last-child,
  .home-playoff-out .home-playoff-row:last-child{border-bottom:0;}
  .home-playoff-seed{color:var(--accent);font-weight:400;}
  .home-playoff-team{font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .home-playoff-rec{font-weight:400;color:var(--grey-500);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;}
  .home-draft-manager-mobile{display:none;font-size:var(--type-meta);color:var(--grey-500);font-weight:400;margin-top:2px;}
  .home-trend.up{color:var(--green);font-weight:600;}
  .home-trend.down{color:var(--red);font-weight:600;}
  .home-trend.flat{color:var(--grey-300);}
  .home-last-results{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;}
  .home-result{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:11px 13px;border-bottom:1px solid var(--line);}
  .home-result:last-child{border-bottom:0;}
  .home-result-name{font-weight:600;}
  .home-result-meta{font-size:var(--type-meta);color:var(--grey-500);margin-top:1px;}
  .home-result-score{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;}
  .home-result-sep{color:var(--grey-500);font-weight:400;}
  .home-result-loser{opacity:.5;}
  .home-result-score{display:flex;align-items:center;gap:3px;}
  .home-result-dash{color:var(--grey-300);font-weight:400;}
  .home-record-watch{display:flex;flex-direction:column;gap:8px;}
  .home-record-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:13px 15px;box-shadow:var(--shadow-sm);}
  .home-record-item strong{display:block;font-size:var(--type-body);margin-bottom:2px;}
  .home-record-item span{font-size:var(--type-meta);color:var(--grey-500);}
  .home-empty{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px;color:var(--grey-500);font-size:var(--type-body);box-shadow:var(--shadow-sm);}

  .trades-view{display:none;}
  .trades-view.active{display:block;}


  /* ---------- LEAGUE SUPERLATIVES ---------- */
  /* One hierarchy: section label -> card label -> 14px primary -> 11px context. */
  .super-wrap{display:flex;flex-direction:column;gap:30px;}
  .super-section-head{margin:0 0 12px;text-align:left;}
  .super-section-head h4{margin:0;font-size:var(--type-card);line-height:1.2;font-weight:600;letter-spacing:-.01em;}

  .super-hero-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .super-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  .super-chaos-grid,.super-front-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}

  .super-hero,.super-story,.super-front{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px;min-width:0;}
  .super-chaos{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:14px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;min-width:0;}
  .super-hero:nth-child(1),.super-hero:nth-child(2),.super-hero:nth-child(3),.super-hero:nth-child(4){grid-column:auto;}

  .super-kicker,.super-chaos .label{margin:0 0 7px;padding:0;font-size:var(--type-label);line-height:1.3;text-transform:uppercase;letter-spacing:.075em;color:var(--grey-500);font-weight:600;}
  .super-hero-stat,.super-story-stat,.super-front-stat,.super-chaos .stat{margin:0;font-size:var(--type-card);line-height:1.2;font-weight:600;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;}
  .super-hero-team,.super-story-team,.super-front-team,.super-chaos .team{margin-top:5px;font-size:var(--type-card);line-height:1.3;font-weight:600;color:var(--ink);}
  .super-hero-detail,.super-story-detail,.super-front-detail,.super-chaos .detail{margin-top:3px;font-size:var(--type-meta);line-height:1.4;font-weight:400;color:var(--grey-500);}
  .super-chaos .stat{margin:0;text-align:right;white-space:nowrap;}
  footer{text-align:center;padding:32px 24px 48px;font-size:var(--type-meta);color:var(--grey-300);letter-spacing:.06em;text-transform:uppercase;font-weight:600;}

  @media (max-width:900px){
    .home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .home-grid,.home-grid.equal{grid-template-columns:1fr;gap:30px;}
    .fr-card{align-items:flex-start;}
    .fr-card-header{flex-direction:column;align-items:flex-start;gap:10px;}
    .fr-card-header .fr-card-left{flex:0 0 auto;width:100%;}
    .fr-badge-wrap{flex:0 0 auto;width:100%;justify-content:flex-start;align-self:flex-start;}
    .fr-badges{flex:0 0 auto;justify-content:flex-start;width:100%;}
    .fr-card .fr-stats{grid-template-columns:repeat(3,minmax(88px,1fr));width:100%;margin-left:0;}
    .rivalry-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  }

  @media (max-width:640px){
    .home-stat-grid{grid-template-columns:1fr 1fr;}
    .home-stat{padding:17px;}
    .home-stat-value{font-size:var(--type-card);}
    .home-matchup-row{gap:7px;}
    .home-matchup-score{font-size:var(--type-card);min-width:66px;}
    .mu-row{flex-wrap:wrap;}.mu-team{font-size:var(--type-card);}
    .hl-grid{grid-template-columns:1fr;}.rv-item{grid-template-columns:1fr auto;}.rv-pts{display:none;}
    .season-row{grid-template-columns:50px 1fr;}.season-podium{grid-column:1/-1;text-align:left;margin-top:6px;}
    .fr-stats{gap:16px;}
    .hero-inner{flex-direction:column;align-items:flex-start;gap:12px;}
    .record-head{flex-direction:column;}
    .s26-page-head{align-items:center;}
    .s26-week-picker{width:168px;}
    .teams-page-head{align-items:flex-start;flex-direction:column;}
    nav.tabs{overflow-x:hidden;}
    .tabs-inner{width:100%;max-width:none;justify-content:space-between;padding:0 16px;}
    nav.tabs button{flex:1 1 0;min-width:0;text-align:center;font-size:var(--type-label);letter-spacing:.025em;padding:14px 4px 12px;}
    nav.tabs button:first-child{padding-left:4px;}
    nav.tabs button.active::after{left:7px;right:7px;}
    .fr-card{padding:16px;gap:14px;}
    .fr-card-header{gap:10px;}
    .fr-card-header .fr-card-left{flex:0 0 auto;width:100%;}
    .fr-badge-wrap{flex:0 0 auto;width:100%;min-height:0;justify-content:flex-start;align-self:flex-start;}
    .fr-badges{flex:0 0 auto;width:100%;gap:7px;justify-content:flex-start;align-items:flex-start;align-content:flex-start;}
    .fr-badge{padding:4px 7px;font-size:11px;line-height:1;}
    .fr-badge .ico{font-size:12px;}
    .fr-card .fr-stats{gap:14px 12px;}
    .fr-card .fr-stats .v{font-size:var(--type-section);}
    .detail-title-row{flex-direction:column;gap:12px;}
    .detail-title-row .fr-badge-wrap{flex:0 0 auto;width:100%;align-items:flex-start;}
    .detail-title-row .fr-badges{justify-content:flex-start;}
    .detail-head .fr-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;}
    .team-resume-grid{grid-template-columns:1fr;gap:8px;}
    .team-resume-card{padding:13px 14px;}
    .team-resume-stat{font-size:var(--type-section);}
    .team-trade-row{grid-template-columns:1fr;gap:8px;padding:13px 2px;}
    .team-trade-when{margin-bottom:1px;}
    .team-trade-partner{font-size:var(--type-body);}
    .rivalry-hero{grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);gap:8px;text-align:center;padding:16px 12px;align-items:center;}
    .rivalry-team,.rivalry-team.right{text-align:center;}
    .rivalry-team-identity,.rivalry-team.right .rivalry-team-identity{flex-direction:column;justify-content:center;gap:8px;}
    .rivalry-team-avatar{flex-basis:48px;justify-content:center;}
    .rivalry-team-avatar .team-avatar{width:48px!important;height:48px!important;}
    .rivalry-team-name{font-size:17px;line-height:1.15;overflow-wrap:anywhere;}
    .rivalry-team-owner{font-size:11px;margin-top:3px;}
    .rivalry-series{text-align:center;min-width:0;border:0;padding:0;}
    .rivalry-series-label{font-size:9px;letter-spacing:.06em;margin-bottom:4px;}
    .rivalry-series-record{font-size:24px;}
    .rivalry-series-lead{max-width:none;font-size:11px;line-height:1.3;margin-top:5px;}
    .rivalry-stat-grid{grid-template-columns:1fr 1fr;}
    .rivalry-highlight-grid{grid-template-columns:1fr;}
    .rivalry-history-head{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:14px;}
    .rivalry-history-head .rb-filter{width:auto;max-width:100%;}

    /* 2026 Power Rankings: mobile hierarchy matches the rest of the site. */
    .s26-power-wrap{margin-top:4px;}
    .s26-power-wrap .section-head{margin-bottom:12px;}
    .s26-power-wrap .section-head h2{font-size:var(--ui-type-section);}
    .s26-power-table{font-size:var(--type-body);table-layout:fixed;}
    .s26-power-table thead th{padding:0 8px 9px;}
    .s26-power-table tbody td{padding:11px 8px;vertical-align:top;}
    .s26-power-table th:nth-child(1),.s26-power-table td:nth-child(1){width:34px;}
    .s26-power-table th:nth-child(2),.s26-power-table td:nth-child(2){width:auto;}
    .s26-power-table th:nth-child(3),.s26-power-table td:nth-child(3){display:none;} /* manager */
    .s26-power-table th:nth-child(4),.s26-power-table td:nth-child(4){display:none;} /* trend */
    .s26-power-table th:nth-child(5),.s26-power-table td:nth-child(5){width:58px;text-align:center;} /* record */
    .s26-power-table th:nth-child(6),.s26-power-table td:nth-child(6){width:68px;text-align:center;} /* all-play */
    .s26-power-table th:nth-child(7),.s26-power-table td:nth-child(7){display:none;} /* avg PF */
    .s26-power-table .team-cell{font-weight:600;line-height:1.25;overflow-wrap:anywhere;}
    .s26-power-table .mobile-manager{display:block;font-size:var(--type-meta);font-weight:400;color:var(--grey-500);margin-top:3px;line-height:1.3;}
    .s26-power-table .rk{font-size:var(--type-body);padding-left:0;}

    /* Rivalry history: use a true mobile row instead of a 900px desktop table. */
    .rivalry-table-wrap{overflow:visible;background:transparent;border:0;box-shadow:none;border-radius:0;}
    .rivalry-table-wrap table{min-width:0;width:100%;table-layout:auto;border-collapse:separate;border-spacing:0 8px;}
    .rivalry-table-wrap thead{display:none;}
    .rivalry-table-wrap tbody{display:block;}
    .rivalry-table-wrap tbody tr{display:grid;grid-template-columns:82px minmax(0,1fr);column-gap:12px;row-gap:5px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:13px 0;}
    .rivalry-table-wrap tbody tr:hover{background:transparent;}
    .rivalry-table-wrap tbody td{display:block;width:auto!important;min-width:0!important;padding:0!important;border:0!important;text-align:left!important;white-space:normal!important;}
    .rivalry-table-wrap tbody td:nth-child(1){grid-column:1;grid-row:1 / span 3;align-self:start;font-size:var(--type-body)!important;line-height:1.25;}
    .rivalry-table-wrap tbody td:nth-child(1) .meta{font-size:var(--type-meta);margin-top:3px;}
    .rivalry-table-wrap tbody td:nth-child(2){grid-column:2;grid-row:1;font-size:var(--type-body);font-weight:600;line-height:1.35;}
    .rivalry-table-wrap tbody td:nth-child(4){grid-column:2;grid-row:2;font-size:var(--type-body);font-variant-numeric:tabular-nums;}
    .rivalry-table-wrap tbody td:nth-child(3){grid-column:1;grid-row:4;align-self:end;}
    .rivalry-table-wrap tbody td:nth-child(5){grid-column:2;grid-row:3;font-size:var(--type-body);font-weight:600;line-height:1.3;}
    .rivalry-table-wrap .rivalry-type{font-size:var(--type-label);padding:2px 5px;}
  }
  @media (max-width:420px){
    .home-stat-grid{grid-template-columns:1fr;}
    .home-matchup-team{font-size:var(--type-body);}
    .home-matchup-team .owner{display:none;}
    .rb-filter{width:100%;}
    .rb-filter button{flex:1;padding-left:6px;padding-right:6px;}
  }


  /* ---------- HOME LAYOUT SYSTEM ---------- */
  #homeContent{
    --home-column-gap:28px;
    --home-section-gap:38px;
    --home-left-col:minmax(0,1.55fr);
    --home-right-col:minmax(280px,.85fr);
  }

  /* Every dashboard row sits on the exact same two-column track. */
  #homeContent .home-grid,
  #homeContent .home-grid.equal{
    grid-template-columns:var(--home-left-col) var(--home-right-col);
    column-gap:var(--home-column-gap);
    row-gap:var(--home-section-gap);
    margin-bottom:var(--home-section-gap);
    align-items:stretch;
  }
  #homeContent .home-grid:last-child{margin-bottom:0;}

  /* Give paired sections one consistent vertical rhythm. */
  #homeContent .home-block{
    display:flex;
    flex-direction:column;
    min-width:0;
  }
  #homeContent .home-block-head{
    min-height:48px;
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    margin-bottom:12px;
  }
  #homeContent .home-block-head>div:first-child{min-width:0;}
  #homeContent .home-block-head h3{
    font-size:var(--ui-type-section);
    line-height:1.15;
    font-weight:600;
  }
  #homeContent .home-block-head .sub{
    min-height:17px;
    font-size:var(--ui-type-body);
    line-height:1.45;
    margin-top:3px;
  }
  #homeContent .home-link{
    flex:0 0 auto;
    line-height:1.2;
    padding-bottom:2px;
  }

  /* Shared surface behavior keeps tables/cards feeling like one system. */
  #homeContent .home-table-card,
  #homeContent .home-last-results,
  #homeContent .home-empty,
  #homeContent .home-record-item,
  #homeContent .home-matchup{
    border-radius:8px;
  }
  #homeContent .home-table-card,
  #homeContent .home-last-results{
    width:100%;
  }
  #homeContent .home-table-card{overflow-x:auto;}
  #homeContent .home-table{width:100%;table-layout:auto;}
  #homeContent .home-table thead th{height:36px;vertical-align:middle;}
  #homeContent .home-table tbody td{height:39px;vertical-align:middle;}

  /* Keep the top row locked together from heading through content. */
  #homeContent .home-grid.home-primary .home-matchups,
  #homeContent .home-grid.home-primary .home-table-card{
    flex:1 1 auto;
  }
  #homeContent .home-grid.home-primary .home-table-card{
    display:flex;
  }
  #homeContent .home-grid.home-primary .home-table{
    height:100%;
  }

  /* Paired Home table sections align from the same section baseline. */
  #homeContent .home-grid:not(.home-primary) .home-block{min-height:0;}

  /* Stat cards share one consistent baseline and height. */
  #homeContent .home-awards-block{margin-bottom:var(--home-section-gap);}
  :is(#homeContent,#weeklyWriteupContent) .home-awards-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap-grid);}
  :is(#homeContent,#weeklyWriteupContent) .home-award-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:var(--pad-card);min-width:0;text-align:left;}
  :is(#homeContent,#weeklyWriteupContent) .home-award-top{display:flex;align-items:center;gap:var(--gap-inline);margin-bottom:var(--space-2);}
  :is(#homeContent,#weeklyWriteupContent) .home-award-icon{font-size:var(--type-card);line-height:1;}
  :is(#homeContent,#weeklyWriteupContent) .home-award-label{font-size:var(--type-label);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--grey-500);font-weight:600;line-height:1.3;}
  :is(#homeContent,#weeklyWriteupContent) .home-award-team{font-size:var(--type-card);font-weight:600;line-height:1.3;overflow-wrap:anywhere;}
  :is(#homeContent,#weeklyWriteupContent) .home-award-value{font-size:var(--type-meta);color:var(--grey-500);margin-top:var(--space-1);line-height:1.5;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;}
  #homeContent .home-awards-empty{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:20px;color:var(--grey-500);font-size:var(--type-body);}

  :is(#homeContent,#weeklyWriteupContent) .home-stat-grid{gap:var(--gap-grid);margin-bottom:var(--gap-section);}
  :is(#homeContent,#weeklyWriteupContent) .home-stat{
    min-height:104px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
  #homeContent .home-stat-label{line-height:1.3;}
  #homeContent .home-stat-value{line-height:1.15;}

  @media (max-width:900px){
    #homeContent{
      --home-column-gap:0px;
      --home-section-gap:32px;
    }
    #homeContent .home-grid,
    #homeContent .home-grid.equal{
      grid-template-columns:minmax(0,1fr);
      row-gap:var(--home-section-gap);
    }
    #homeContent .home-block-head{min-height:0;}
    #homeContent .home-grid.home-primary .home-table-card{display:block;}
    #homeContent .home-grid.home-primary .home-table{height:auto;}
    :is(#homeContent,#weeklyWriteupContent) .home-awards-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    :is(#homeContent,#weeklyWriteupContent) .home-award-card:last-child:nth-child(odd){grid-column:1 / -1;}
  }

  @media (max-width:640px){
    #homeContent{--home-section-gap:28px;}
    :is(#homeContent,#weeklyWriteupContent) .home-stat-grid{gap:var(--gap-grid);margin-bottom:var(--gap-section);}
    :is(#homeContent,#weeklyWriteupContent) .home-stat{min-height:0;padding:var(--pad-card-compact);}
    :is(#homeContent,#weeklyWriteupContent) .home-award-card{padding:var(--pad-card-compact);}
    #homeContent .home-block-head{gap:12px;margin-bottom:10px;}
    #homeContent .home-table{font-size:var(--type-body);table-layout:fixed;}
    #homeContent .home-table .team-cell{width:40%;white-space:normal;overflow-wrap:anywhere;}
    #homeContent .home-table th:nth-child(2){width:40%;}
    #homeContent .home-table thead th{padding-left:10px;padding-right:10px;}
    #homeContent .home-table tbody td{padding-left:10px;padding-right:10px;}
    #homeContent .home-playoff-headrow,
    #homeContent .home-playoff-row{grid-template-columns:36px minmax(0,1fr) 88px;padding-left:10px;padding-right:10px;}
    #homeContent .home-draft-manager-mobile{display:block;}
    #homeContent .home-draft-manager-col{display:none;}
  }

  @media (max-width:520px){
    nav.tabs button{font-size:var(--type-label);padding-left:2px;padding-right:2px;letter-spacing:.015em;}
    .super-story-grid{grid-template-columns:1fr;}
    .super-story{min-height:0;}
    nav.tabs button.active::after{left:4px;right:4px;}
    #homeContent .home-block-head{
      align-items:flex-start;
      flex-wrap:wrap;
    }
    #homeContent .home-link{width:100%;padding-bottom:0;margin-top:-2px;}
  }

  @media (max-width:420px){
    :is(#homeContent,#weeklyWriteupContent) .home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    :is(#homeContent,#weeklyWriteupContent) .home-awards-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    #homeContent .home-stat{min-height:0;}
    #homeContent .home-table{font-size:var(--type-body);table-layout:fixed;}
    #homeContent .home-table .team-cell{width:40%;white-space:normal;overflow-wrap:anywhere;}
    #homeContent .home-table th:nth-child(2){width:40%;}
    #homeContent .home-table thead th,
    #homeContent .home-table tbody td{padding-left:8px;padding-right:8px;}
    #homeContent .home-playoff-headrow,
    #homeContent .home-playoff-row{grid-template-columns:36px minmax(0,1fr) 88px;padding-left:8px;padding-right:8px;}
  }

  /* ---------- MOBILE THIS WEEK POLISH ---------- */
  @media (max-width:640px){
    /* Match matchup team-name scale to the team names used throughout rankings/standings. */
    #homeContent .home-matchup-team{font-size:var(--type-body);line-height:1.25;font-weight:600;}

    /* Center both the Game of the Week badge and its grey power-rank context. */
    #homeContent .home-matchup.game-of-week .home-matchup-top{justify-content:center;flex-direction:column;gap:4px;text-align:center;}
    #homeContent .home-matchup.game-of-week .home-matchup-top>div:first-child{width:100%;text-align:center;}
    #homeContent .home-matchup.game-of-week .home-matchup-rank{position:static;transform:none;width:100%;text-align:center;}
  }

  /* ---------- LUCK / ALL-PLAY ---------- */
  .luck-head{align-items:flex-end;gap:20px;}
  .luck-callouts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px;}
  .luck-callout{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:17px 18px;min-width:0;}
  .luck-callout .label{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--grey-500);margin-bottom:7px;}
  .luck-callout .team{font-size:var(--type-card);font-weight:600;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;}
  .luck-callout .value{font-size:var(--type-body);color:var(--grey-500);margin-top:3px;}
  .luck-table-wrap{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:hidden;}
  .luck-table{width:100%;table-layout:auto;}
  .luck-table thead th{padding:13px 12px 11px;vertical-align:middle;}
  .luck-table tbody td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle;}
  .luck-table tbody tr:last-child td{border-bottom:none;}
  .luck-table .luck-team{font-weight:600;}
  .luck-table .luck-owner{display:block;color:var(--grey-500);font-size:var(--type-meta);font-weight:400;margin-top:1px;}
  .luck-pos{color:var(--accent);font-variant-numeric:tabular-nums;width:34px;}
  .luck-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;}
  .luck-positive{color:var(--green);font-weight:600;}
  .luck-negative{color:var(--red);font-weight:600;}
  .luck-neutral{color:var(--grey-500);font-weight:600;}
  .luck-audit{margin-top:18px;padding:13px 15px;border-radius:6px;border:1px solid var(--line);font-size:var(--type-meta);line-height:1.55;color:var(--grey-500);background:rgba(255,255,255,.45);}
  .luck-audit strong{color:var(--ink);font-weight:600;}
  .luck-audit.ok strong{color:var(--green);}
  .luck-audit.bad{border-color:rgba(220,38,38,.22);background:var(--red-light);}
  .luck-audit.bad strong{color:var(--red);}
  .luck-method{margin-top:10px;font-size:var(--type-meta);color:var(--grey-500);line-height:1.55;max-width:850px;}
  .luck-empty{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:26px 22px;color:var(--grey-500);font-size:var(--type-body);}
  .embedded-luck-section{margin-top:52px;padding-top:34px;border-top:1px solid var(--line-strong);}
  .embedded-luck-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;}
  .embedded-luck-head h3{font-size:var(--type-section);font-weight:600;margin:0;letter-spacing:-.01em;}
  .embedded-luck-head p{font-size:var(--type-body);color:var(--grey-500);margin:3px 0 0;}
  .embedded-luck-tag{font-size:var(--type-label);text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--grey-500);white-space:nowrap;padding-bottom:2px;}
  .record-luck-section{margin-top:58px;}
  .standings-luck-section .luck-audit.ok{display:none;}

  @media (max-width:760px){
    .luck-head{align-items:flex-start;flex-direction:column;}
    .luck-callouts{grid-template-columns:1fr;}
    .luck-table-wrap{overflow-x:auto;}
    .luck-table{min-width:650px;}
    .embedded-luck-head{align-items:flex-start;flex-direction:column;}
    .embedded-luck-tag{padding-bottom:0;}
  }


  @media(max-width:640px){
    .recordbook-subnav{gap:13px;margin-bottom:24px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
    .recordbook-subnav::-webkit-scrollbar{display:none;}
    .recordbook-subnav button{font-size:var(--type-meta);flex:0 0 auto;}
    .super-wrap{gap:var(--space-6);}
    .super-hero-grid{grid-template-columns:1fr;gap:var(--space-2);}
    .super-hero:nth-child(1),.super-hero:nth-child(2),.super-hero:nth-child(3),.super-hero:nth-child(4){grid-column:auto;}
    .super-hero{min-height:0;padding:var(--pad-card);}
    .super-kicker{margin-bottom:var(--space-3);padding:0;}
    .super-hero-stat{font-size:var(--type-card);}
    .super-hero-team{font-size:var(--type-card);}
    .super-story-grid{grid-template-columns:1fr 1fr;gap:var(--space-2);}
    .super-story{min-height:0;padding:var(--pad-card-compact);}
    .super-story-stat{font-size:var(--type-card);}
    .super-chaos-grid,.super-front-grid{grid-template-columns:1fr;gap:var(--space-2);}
    .super-chaos{padding:var(--pad-card-compact);}
    .rb-label-full{display:none;}
    .rb-label-short{display:inline;}
    .champ-history-head{display:none;}
    .champ-history{background:transparent;border:0;box-shadow:none;overflow:visible;display:flex;flex-direction:column;gap:8px;}
    .champ-history-row{grid-template-columns:48px minmax(0,1fr);gap:12px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;padding:12px 0;min-height:0;}
    .champ-history-row:last-child{border-bottom:1px solid var(--line);}
    .champ-history-runner{grid-column:2/3;padding-top:8px;margin-top:1px;border-top:1px solid var(--line);}
    .champ-history-runner::before{content:'Runner-up';display:block;margin-bottom:5px;font-size:var(--type-label);text-transform:uppercase;letter-spacing:.06em;color:var(--grey-500);font-weight:600;}
    .champ-inline-score{font-size:var(--type-meta);}
    .playoff-season-head{align-items:flex-start;flex-direction:column;gap:11px;}
    .playoff-title-card{grid-template-columns:1fr;gap:14px;padding:17px 16px;}
    .playoff-title-side.right{text-align:left;}
    .playoff-title-side.right .playoff-title-identity{flex-direction:row;}
    .playoff-title-score{text-align:left;display:flex;align-items:center;gap:8px;min-width:0;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
    .playoff-title-score .trophy{margin:0;}
    .playoff-title-score .label{margin:0 0 0 auto;}
    .playoff-bracket.rounds-3,.playoff-bracket.rounds-2{grid-template-columns:1fr;gap:22px;}
    .season-recap{margin-top:28px;}
    .season-recap-grid{grid-template-columns:1fr 1fr;gap:8px;}
    .season-recap-card{padding:13px 12px;}
    .season-recap-stat{font-size:var(--type-section);}
    .season-recap-team{font-size:var(--type-body);}
    .recordbook-view-head{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:22px;}
    .rb-grid{grid-template-columns:1fr;gap:28px;}
    .rb-section{margin-top:26px;}
    #recordBookRecordsView .rb-filter{width:100%;}
    #recordBookRecordsView .rb-filter button{flex:1;}
  }

  /* ---------- ALL-PLAY EMPHASIS ---------- */
  .luck-callouts{grid-template-columns:1.18fr 1fr 1fr;}
  .luck-callout.allplay-primary{border-color:var(--line-strong);}
  .luck-callout.allplay-primary .team{font-size:var(--type-subsection);font-weight:600;}
  .luck-callout.allplay-primary .value{color:var(--ink);font-weight:600;}
  .luck-table thead th.metric-head{text-align:center;}
  .luck-table thead th.allplay-head{color:var(--ink);font-weight:600;}
  .luck-table td.allplay-value{font-weight:600;color:var(--ink);}
  .luck-table .luck-positive,.luck-table .luck-negative{font-weight:600;}
  @media (max-width:760px){.luck-callouts{grid-template-columns:1fr;}}


  /* ---------- ALL-PLAY COLUMN ALIGNMENT ---------- */
  /* Keep the five metric columns on one shared center axis. */
  .luck-table thead th.metric-head,
  .luck-table tbody td.luck-num{
    text-align:center;
  }


  /* ---------- HOME LEAGUE MILESTONES ---------- */
  #homeContent .home-milestone-card{
    flex:1 1 auto;
    min-height:230px;
    background:var(--white);
    border:1px solid var(--line);
    border-radius:8px;
    box-shadow:var(--shadow-sm);
    padding:18px 18px 15px;
    display:flex;
    flex-direction:column;
    overflow:hidden;
  }
  #homeContent .home-milestone-track{
    flex:1 1 auto;
    display:grid;
    align-items:center;
    min-height:0;
  }
  #homeContent .home-milestone-slide{
    grid-area:1 / 1;
    width:100%;
    min-width:0;
    opacity:0;
    visibility:hidden;
    transform:translateY(6px);
    transition:
      opacity 300ms cubic-bezier(.22,.61,.36,1),
      transform 340ms cubic-bezier(.22,.61,.36,1),
      visibility 0s linear 340ms;
    pointer-events:none;
  }
  #homeContent .home-milestone-slide.active{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    transition:
      opacity 420ms cubic-bezier(.22,.61,.36,1),
      transform 460ms cubic-bezier(.22,.61,.36,1),
      visibility 0s linear 0s;
    pointer-events:auto;
  }
  #homeContent .home-milestone-kicker{
    font-size:var(--type-label);
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.09em;
    color:var(--accent);
    font-weight:600;
    margin-bottom:12px;
  }
  #homeContent .home-milestone-value{
    font-size:var(--type-page);
    line-height:1;
    letter-spacing:-.025em;
    font-weight:600;
    color:var(--ink);
    font-variant-numeric:tabular-nums;
    margin-bottom:10px;
  }
  #homeContent .home-milestone-title{font-size:var(--type-card);font-weight:600;line-height:1.3;color:var(--ink);}
  #homeContent .home-milestone-detail{font-size:var(--type-meta);line-height:1.5;color:var(--grey-500);margin-top:4px;max-width:95%;}
  #homeContent .home-milestone-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    border-top:1px solid var(--line);
    padding-top:12px;
    margin-top:16px;
  }
  #homeContent .home-milestone-note{font-size:var(--type-label);color:var(--grey-500);line-height:1.35;}
  #homeContent .home-milestone-controls{display:flex;align-items:center;gap:7px;flex:0 0 auto;}
  #homeContent .home-milestone-arrow{
    width:28px;height:28px;border:1px solid var(--line-strong);border-radius:6px;
    background:var(--white);color:var(--grey-700);font:inherit;font-size:var(--type-card);line-height:1;
    display:grid;place-items:center;cursor:pointer;padding:0;
  }
  #homeContent .home-milestone-arrow:hover{border-color:var(--grey-300);}
  #homeContent .home-milestone-dots{display:flex;align-items:center;gap:5px;}
  #homeContent .home-milestone-dot{
    width:6px;height:6px;border:0;border-radius:999px;background:var(--grey-300);padding:0;cursor:pointer;
    transition:background-color 260ms ease, transform 260ms cubic-bezier(.22,.61,.36,1);
  }
  #homeContent .home-milestone-dot.active{background:var(--ink);transform:scale(1.18);}
  #homeContent .home-milestone-arrow:focus-visible,
  #homeContent .home-milestone-dot:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
  @media (max-width:640px){
    #homeContent .home-milestone-card{min-height:205px;}
    #homeContent .home-milestone-value{font-size:var(--type-page);}
  }
  @media (prefers-reduced-motion: reduce){
    #homeContent .home-milestone-slide,
    #homeContent .home-milestone-slide.active,
    #homeContent .home-milestone-dot{transition:none;transform:none;}
  }



  /* ============================================================
     OG LEAGUE FOUNDATION — TYPE + SPACING CLASS SYSTEM
     ------------------------------------------------------------
     FUTURE COMPONENT RULE:
     1. Pick a semantic TYPE class before choosing a font size.
     2. Use spacing tokens / stack / cluster classes before adding
        one-off margin, padding, or gap values.
     3. Component CSS should handle layout/behavior, not invent a
        new hierarchy unless there is a clear reason.
     ============================================================ */

  /* TYPE CLASSES */
  .type-display{
    font-size:var(--type-display);line-height:1.05;font-weight:var(--weight-semibold);
    letter-spacing:var(--tracking-stat);color:var(--ink);
  }
  .type-page-title{
    font-size:var(--type-page);line-height:var(--leading-tight);font-weight:var(--weight-regular);
    letter-spacing:var(--tracking-tight);color:var(--ink);
  }
  .type-section-title{
    font-size:var(--type-section);line-height:1.2;font-weight:var(--weight-medium);
    letter-spacing:var(--tracking-tight);color:var(--ink);
  }
  .type-subsection-title{
    font-size:var(--type-subsection);line-height:1.2;font-weight:var(--weight-semibold);
    letter-spacing:var(--tracking-tight);color:var(--ink);
  }
  .type-card-title{
    font-size:var(--type-card);line-height:var(--leading-snug);font-weight:var(--weight-semibold);color:var(--ink);
  }
  .type-body-lg{font-size:var(--type-body-lg);line-height:var(--leading-body);font-weight:var(--weight-regular);}
  .type-body{font-size:var(--type-body);line-height:var(--leading-body);font-weight:var(--weight-regular);}
  .type-body-sm{font-size:var(--type-body-sm);line-height:1.45;font-weight:var(--weight-regular);}
  .type-small{font-size:var(--type-small);line-height:1.45;font-weight:var(--weight-regular);}
  .type-meta{font-size:var(--type-meta);line-height:1.4;font-weight:var(--weight-regular);color:var(--grey-500);}
  .type-label{
    font-size:var(--type-label);line-height:1.3;font-weight:var(--weight-bold);
    text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--grey-500);
  }
  .type-stat{
    font-size:var(--type-stat);line-height:1.05;font-weight:var(--weight-bold);
    letter-spacing:var(--tracking-stat);font-variant-numeric:tabular-nums;color:var(--ink);
  }
  .type-stat-lg{
    font-size:var(--type-stat-lg);line-height:1;font-weight:var(--weight-bold);
    letter-spacing:var(--tracking-stat);font-variant-numeric:tabular-nums;color:var(--ink);
  }
  .type-stat-xl{
    font-size:var(--type-stat-xl);line-height:1;font-weight:var(--weight-bold);
    letter-spacing:var(--tracking-stat);font-variant-numeric:tabular-nums;color:var(--ink);
  }
  .text-muted{color:var(--grey-500);}
  .text-strong{font-weight:var(--weight-semibold);}

  /* STACKS — VERTICAL RHYTHM */
  .stack-1>*+*{margin-top:var(--space-1);}
  .stack-2>*+*{margin-top:var(--space-2);}
  .stack-3>*+*{margin-top:var(--space-3);}
  .stack-4>*+*{margin-top:var(--space-4);}
  .stack-5>*+*{margin-top:var(--space-5);}
  .stack-6>*+*{margin-top:var(--space-6);}
  .stack-8>*+*{margin-top:var(--space-8);}

  /* CLUSTERS — HORIZONTAL / WRAPPING RHYTHM */
  .cluster-1,.cluster-2,.cluster-3,.cluster-4,.cluster-6{
    display:flex;align-items:center;flex-wrap:wrap;
  }
  .cluster-1{gap:var(--space-1);}
  .cluster-2{gap:var(--space-2);}
  .cluster-3{gap:var(--space-3);}
  .cluster-4{gap:var(--space-4);}
  .cluster-6{gap:var(--space-6);}

  /* LAYOUT / SPACING CLASSES */
  .layout-page{max-width:var(--page-max);margin-inline:auto;}
  .space-section{margin-top:var(--gap-section);}
  .space-section-bottom{margin-bottom:var(--gap-section);}
  .space-head-bottom{margin-bottom:var(--space-section-head);}
  .grid-gap{gap:var(--gap-grid);}
  .card-pad{padding:var(--pad-card);}
  .card-pad-compact{padding:var(--pad-card-compact);}

  /* SEMANTIC ALIASES FOR THE EXISTING PORTAL.
     These keep legacy components visually aligned while new work
     can use the classes above directly. */
  .recordbook-view-head h3,
  .playoff-season-head h3,
  .season-recap-head h3,
  .trades-view-head h3,
  .draft-fun-head h3,
  .draft-board-head h3,
  .embedded-luck-head h3{
    font-size:var(--type-section);line-height:1.2;font-weight:var(--weight-medium);letter-spacing:var(--tracking-tight);
  }

  .team-detail-section-head h3,
  .rb-section-head h3,
  .home-block-head h3,
  #homeContent .home-block-head h3{
    font-size:var(--type-subsection);line-height:1.2;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);
  }

  .recordbook-view-head p,
  .playoff-season-head p,
  .season-recap-head p,
  .trades-view-head p,
  .draft-fun-head p,
  .draft-board-head p,
  .embedded-luck-head p,
  .rb-section-head p,
  .team-detail-section-head p,
  .home-block-head .sub,
  #homeContent .home-block-head .sub,
  .super-section-head p{
    font-size:var(--type-small);line-height:1.45;color:var(--grey-500);
  }

  .season-recap-label,
  .team-resume-label,
  .draft-summary-label,
  .draft-fun-label,
  .home-stat-label,
  #homeContent .home-award-label,
  .rivalry-series-label,
  .rivalry-highlight-label,
  .trade-received-label,
  .super-kicker,
  .super-chaos .label,
  .playoff-kicker,
  .playoff-title-score .label{
    font-size:var(--type-label);line-height:1.3;font-weight:var(--weight-bold);
    text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--grey-500);
  }

  .season-recap-stat,
  .team-resume-stat,
  .draft-summary-stat,
  .draft-fun-stat{
    font-size:var(--type-stat);line-height:1.05;font-weight:var(--weight-bold);
    letter-spacing:var(--tracking-stat);font-variant-numeric:tabular-nums;
  }

  .season-recap-meta,
  .team-resume-meta,
  .draft-summary-meta,
  .rivalry-stat .meta,
  .rivalry-highlight-meta,
  .trade-player-meta{
    font-size:var(--type-meta);line-height:1.4;color:var(--grey-500);
  }

  /* GLOBAL RHYTHM NORMALIZATION */
  .recordbook-page-head{margin-bottom:var(--space-6);}
  .recordbook-subnav{margin-bottom:var(--space-8);}
  .recordbook-view-head{margin-bottom:var(--space-6);}
  .playoff-season-head{margin-bottom:var(--space-5);}
  .playoff-title-card{margin-bottom:var(--space-6);}
  .season-recap{margin-top:var(--space-8);}
  .season-recap-head{margin-bottom:var(--space-3);}
  .season-recap-grid{gap:var(--gap-grid);}
  .team-resume-grid{gap:var(--gap-grid);}
  .draft-summary{gap:var(--gap-grid);margin-bottom:var(--space-8);}
  .draft-fun{margin-bottom:var(--space-8);}
  .draft-board-head{margin-bottom:var(--space-3);}
  .draft-rounds{gap:var(--space-4);}
  .luck-callouts{gap:var(--gap-grid);margin-bottom:var(--space-8);}
  .embedded-luck-section{margin-top:var(--space-12);padding-top:var(--space-8);}

  @media(max-width:640px){
    :root{--space-page-top:var(--space-8);--space-page-bottom:var(--space-16);}
    .section-head{margin-bottom:var(--space-5);}
    .recordbook-subnav{margin-bottom:var(--space-6);}
    .recordbook-view-head{margin-bottom:var(--space-5);}
    .season-recap{margin-top:var(--space-6);}
    .draft-summary,.draft-fun{margin-bottom:var(--space-6);}
  }

/* --- MERGED FROM INLINE --- */
/* ============================================================
   OG LEAGUE RESPONSIVE SYSTEM
   Consolidated mobile rules from the visual audit.
   ============================================================ */

.mobile-nav-wrap{display:none;}
@media (max-width:640px){
  nav.tabs{overflow:visible;padding:9px var(--page-gutter);}
  nav.tabs .tabs-inner{display:none;}
  .mobile-nav-wrap{display:block;width:100%;max-width:420px;margin:0 auto;position:relative;}
  .mobile-nav-wrap::after{content:"";position:absolute;right:15px;top:50%;width:7px;height:7px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:translateY(-68%) rotate(45deg);pointer-events:none;}
  .mobile-nav-select{width:100%;height:42px;appearance:none;-webkit-appearance:none;border:1px solid var(--line-strong);border-radius:8px;background:var(--white);color:var(--ink);font-family:'Inter',-apple-system,sans-serif;font-size:var(--type-body);font-weight:600;letter-spacing:.045em;text-transform:uppercase;padding:0 42px;text-align:center;text-align-last:center;outline:none;}
  .mobile-nav-select option{text-align:center;}
  .mobile-nav-select:focus{border-color:var(--grey-500);box-shadow:0 0 0 2px rgba(17,24,39,.06);}
}
@media (max-width:420px){nav.tabs{padding-top:8px;padding-bottom:8px}.mobile-nav-select{height:40px;font-size:var(--type-meta)}}

@media (max-width:640px){
  /* HEADER: use grid placement so no inherited flex rule can pull the mark off-center. */
  header.hero .hero-inner{
    display:grid !important;
    grid-template-columns:1fr !important;
    place-items:center !important;
    width:100% !important;
    max-width:var(--page-max);
    margin:0 auto !important;
    padding:16px var(--page-gutter) !important;
    text-align:center !important;
  }
  header.hero .hero-logo{
    display:block !important;
    justify-self:center !important;
    align-self:center !important;
    margin:0 auto !important;
    position:static !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  /* HOME: page identity is one centered stack on mobile. */
  #panel-home .home-head{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    text-align:center !important;
    margin-bottom:24px !important;
  }
  #panel-home .home-head>div:first-child{
    width:100%;
    text-align:center !important;
  }
  #panel-home .home-kicker,
  #panel-home .home-head h2,
  #panel-home .home-head p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #panel-home .home-head .s26-status{
    align-self:center !important;
    margin:0 auto !important;
  }

  /* Every dashboard section heading uses the same centered mobile hierarchy. */
  #homeContent .home-block-head{
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    text-align:center !important;
    margin-bottom:12px !important;
  }
  #homeContent .home-block-head>div:first-child{
    width:100% !important;
    text-align:center !important;
  }
  #homeContent .home-block-head h3,
  #homeContent .home-block-head .sub{
    width:100%;
    text-align:center !important;
  }
  #homeContent .home-link{
    width:auto !important;
    align-self:center !important;
    margin:3px auto 0 !important;
    padding:0 !important;
    text-align:center !important;
  }

  /* HOME MATCHUPS: all metadata centered, teams locked to fixed left/right axes. */
  #homeContent .home-matchup{
    padding:15px 12px !important;
  }
  #homeContent .home-matchup-top,
  #homeContent .home-matchup.game-of-week .home-matchup-top{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    width:100%;
    margin-bottom:12px !important;
    text-align:center !important;
  }
  #homeContent .home-matchup-top>div{
    width:100% !important;
    text-align:center !important;
  }
  #homeContent .home-matchup:not(.game-of-week) .home-matchup-top>div:first-child:empty{
    display:none !important;
  }
  #homeContent .home-matchup-rank{
    position:static !important;
    transform:none !important;
    width:100% !important;
    text-align:center !important;
  }
  #homeContent .home-matchup-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr) !important;
    gap:8px !important;
    align-items:center !important;
  }
  #homeContent .home-matchup-team,
  #homeContent .home-matchup-team.right{
    min-width:0;
    font-size:var(--type-body) !important;
    line-height:1.25 !important;
    overflow-wrap:anywhere;
  }
  #homeContent .home-matchup-team{
    align-items:flex-start !important;
    text-align:left !important;
  }
  #homeContent .home-matchup-team.right{
    align-items:flex-end !important;
    text-align:right !important;
  }
  #homeContent .home-matchup-team .owner{
    display:block !important;
    width:100%;
    margin-top:2px;
    text-align:left !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  #homeContent .home-matchup-team.right .owner{
    text-align:right !important;
  }
  #homeContent .home-matchup-score{
    min-width:0 !important;
    width:42px !important;
    font-size:var(--type-card) !important;
    text-align:center !important;
  }

  /* Center the single-column award/callout content, while data tables remain scan-aligned. */
  #homeContent .home-awards-empty,
  #homeContent .home-record-item{
    text-align:center !important;
  }
  #homeContent .home-milestone-slide{
    text-align:center !important;
  }
  #homeContent .home-milestone-detail{
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* 2026 PAGE: center page controls and lock matchup elements to five fixed columns. */
  #panel-season2026 .s26-page-head{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    text-align:center !important;
  }
  #panel-home .s26-week-picker{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  #panel-season2026 #s26Content>.s26-status{
    display:block !important;
    width:max-content;
    max-width:100%;
    margin:0 auto 20px !important;
    text-align:center !important;
  }
  #panel-season2026 .mu-card{
    padding:15px 12px !important;
  }
  #panel-season2026 .mu-row{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 36px 28px 36px minmax(0,1fr) !important;
    grid-template-rows:auto !important;
    column-gap:4px !important;
    row-gap:0 !important;
    align-items:center !important;
  }
  #panel-season2026 .mu-team,
  #panel-season2026 .mu-team:first-child,
  #panel-season2026 .mu-team.right{
    grid-row:1 !important;
    min-width:0;
    font-size:var(--type-body) !important;
    line-height:1.25 !important;
    text-align:center !important;
    overflow-wrap:anywhere;
  }
  #panel-season2026 .mu-team:first-child{grid-column:1 !important;}
  #panel-season2026 .mu-row>.mu-score:nth-child(2){grid-column:2 !important;grid-row:1 !important;}
  #panel-season2026 .mu-vs{
    display:block !important;
    grid-column:3 !important;
    grid-row:1 !important;
    min-width:0 !important;
    width:auto !important;
    text-align:center !important;
    font-size:var(--type-label) !important;
  }
  #panel-season2026 .mu-row>.mu-score:nth-child(4){grid-column:4 !important;grid-row:1 !important;}
  #panel-season2026 .mu-team.right{grid-column:5 !important;}
  #panel-season2026 .mu-score{
    min-width:0 !important;
    width:36px !important;
    font-size:var(--type-card) !important;
    line-height:1 !important;
    text-align:center !important;
  }
  #panel-season2026 .mu-mgr{
    display:block !important;
    margin-top:2px !important;
    font-size:var(--type-label) !important;
    line-height:1.25 !important;
    text-align:center !important;
  }
  #panel-season2026 .mu-context{
    text-align:center !important;
  }
}

@media (max-width:420px){
  header.hero .hero-logo{height:40px !important;}
  #homeContent .home-matchup-row{
    grid-template-columns:minmax(0,1fr) 36px minmax(0,1fr) !important;
    gap:6px !important;
  }
  #homeContent .home-matchup-score{width:36px !important;font-size:var(--type-card) !important;}
  #panel-season2026 .mu-row{
    grid-template-columns:minmax(0,1fr) 30px 24px 30px minmax(0,1fr) !important;
    column-gap:3px !important;
  }
  #panel-season2026 .mu-score{width:30px !important;font-size:var(--type-card) !important;font-weight:600!important;}
}

/* ---------- 2026 SEASON: FINAL MOBILE COMPONENT SYSTEM ---------- */
#panel-season2026 .s26-page-head.ui-page-head{margin-bottom:24px;}
#panel-home .s26-week-picker{width:auto;flex:0 0 auto;margin:0;}
#panel-home .s26-week-select.ui-select{width:auto;min-width:122px;margin:0;}
#panel-home .s26-section-head{margin:0 0 14px;}
#panel-home .s26-section-head h3{margin:0;font-size:var(--ui-type-section);line-height:1.15;font-weight:600;letter-spacing:-.02em;color:var(--ink);}
#panel-home .s26-standings-table .mobile-manager{display:none;}

@media (max-width:640px){
  #panel-season2026 .s26-page-head.ui-page-head{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;
    gap:12px!important;text-align:center!important;margin-bottom:20px!important;
  }
  #panel-home .s26-week-picker{width:auto!important;margin:0 auto!important;}
  #panel-home .s26-week-select.ui-select{min-width:124px!important;width:auto!important;margin:0 auto!important;text-align-last:center!important;}
  #panel-season2026 #s26Content>.s26-status{margin:0 auto 18px!important;}
  #panel-home .s26-block{margin-bottom:36px!important;}
  #panel-season2026 .mu-grid{gap:10px!important;}
  #panel-season2026 .mu-card{padding:14px!important;}

  /* Upcoming games: simple Team vs Team. No meaningless dash columns. */
  #panel-season2026 .mu-card.is-upcoming .mu-row{
    display:grid!important;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr)!important;
    grid-template-rows:auto!important;column-gap:8px!important;align-items:center!important;
  }
  #panel-season2026 .mu-card.is-upcoming .mu-team:first-child{grid-column:1!important;grid-row:1!important;}
  #panel-season2026 .mu-card.is-upcoming .mu-team.right{grid-column:3!important;grid-row:1!important;}
  #panel-season2026 .mu-card.is-upcoming .mu-vs{
    display:block!important;grid-column:2!important;grid-row:1!important;width:auto!important;min-width:0!important;
    font-size:var(--type-body)!important;font-weight:600!important;text-transform:lowercase!important;color:var(--grey-500)!important;text-align:center!important;
  }
  #panel-season2026 .mu-card.is-upcoming .mu-score{display:none!important;}
  #panel-season2026 .mu-card.is-upcoming .mu-team,
  #panel-season2026 .mu-card.is-upcoming .mu-team.right{
    min-width:0!important;font-size:var(--type-card)!important;line-height:1.25!important;text-align:center!important;overflow-wrap:anywhere!important;
  }
  #panel-season2026 .mu-card.is-upcoming .mu-mgr{
    display:block!important;margin-top:3px!important;font-size:var(--type-body)!important;line-height:1.25!important;text-align:center!important;color:var(--grey-500)!important;
  }

  /* Completed games: two stable team / score rows. */
  #panel-season2026 .mu-card.is-played .mu-row{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto auto!important;
    column-gap:14px!important;row-gap:0!important;align-items:center!important;
  }
  #panel-season2026 .mu-card.is-played .mu-team:first-child{grid-column:1!important;grid-row:1!important;}
  #panel-season2026 .mu-card.is-played .mu-row>.mu-score:nth-child(2){grid-column:2!important;grid-row:1!important;}
  #panel-season2026 .mu-card.is-played .mu-vs{display:none!important;}
  #panel-season2026 .mu-card.is-played .mu-row>.mu-score:nth-child(4){
    grid-column:2!important;grid-row:2!important;padding-top:10px!important;margin-top:10px!important;border-top:1px solid var(--line)!important;
  }
  #panel-season2026 .mu-card.is-played .mu-team.right{
    grid-column:1!important;grid-row:2!important;padding-top:10px!important;margin-top:10px!important;border-top:1px solid var(--line)!important;
  }
  #panel-season2026 .mu-card.is-played .mu-team,
  #panel-season2026 .mu-card.is-played .mu-team.right{
    min-width:0!important;font-size:var(--type-body)!important;line-height:1.25!important;text-align:left!important;overflow-wrap:anywhere!important;
  }
  #panel-season2026 .mu-card.is-played .mu-mgr{
    display:block!important;margin-top:3px!important;font-size:var(--type-meta)!important;line-height:1.25!important;text-align:left!important;color:var(--grey-500)!important;
  }
  #panel-season2026 .mu-card.is-played .mu-score{
    display:block!important;width:auto!important;min-width:46px!important;font-size:var(--type-subsection)!important;line-height:1!important;font-weight:600!important;text-align:right!important;
  }
  #panel-season2026 .mu-context{
    margin-top:12px!important;padding-top:11px!important;font-size:var(--type-meta)!important;line-height:1.45!important;text-align:center!important;
  }

  /* Shared section hierarchy. */
  #panel-home .s26-section-head{text-align:center!important;margin-bottom:12px!important;}
  #panel-home .s26-section-head h3{text-align:center!important;margin-left:auto!important;margin-right:auto!important;}

  /* Power rankings already collapse; keep the shared type scale rather than a one-off 24px heading. */
  #panel-season2026 .s26-power-wrap{margin-top:0!important;}

  /* Live standings: manager nests under team and all stat columns fit the phone width. */
  #panel-home .s26-standings-table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed!important;margin:0!important;}
  #panel-home .s26-standings-table th,
  #panel-home .s26-standings-table td{padding-left:4px!important;padding-right:4px!important;}
  #panel-home .s26-standings-table th:nth-child(1),#panel-home .s26-standings-table td:nth-child(1){width:7%!important;}
  #panel-home .s26-standings-table th:nth-child(2),#panel-home .s26-standings-table td:nth-child(2){width:36%!important;}
  #panel-home .s26-standings-table th:nth-child(3),#panel-home .s26-standings-table td:nth-child(3){display:none!important;}
  #panel-home .s26-standings-table th:nth-child(4),#panel-home .s26-standings-table td:nth-child(4),
  #panel-home .s26-standings-table th:nth-child(5),#panel-home .s26-standings-table td:nth-child(5),
  #panel-home .s26-standings-table th:nth-child(6),#panel-home .s26-standings-table td:nth-child(6){width:7%!important;}
  #panel-home .s26-standings-table th:nth-child(7),#panel-home .s26-standings-table td:nth-child(7),
  #panel-home .s26-standings-table th:nth-child(8),#panel-home .s26-standings-table td:nth-child(8){width:18%!important;}
  #panel-home .s26-standings-table .team-cell{font-size:var(--type-body)!important;line-height:1.2!important;white-space:normal!important;overflow-wrap:anywhere!important;}
  #panel-home .s26-standings-table .mobile-manager{display:block!important;margin-top:2px;font-size:var(--type-label)!important;line-height:1.2!important;font-weight:400!important;color:var(--grey-500)!important;}
  #panel-home .s26-standings-table td.num-col{font-size:var(--type-body)!important;white-space:nowrap!important;}
  #panel-home .s26-standings-table .rk{font-size:var(--type-body)!important;padding-left:0!important;}
  #panel-home .s26-standings-table thead th{font-size:var(--type-label)!important;letter-spacing:.05em!important;}

  /* Luck belongs to the same centered mobile hierarchy. */
  #panel-season2026 .embedded-luck-head{align-items:center!important;text-align:center!important;gap:8px!important;}
  #panel-season2026 .embedded-luck-head>div{width:100%!important;text-align:center!important;}
  #panel-season2026 .embedded-luck-head h3,
  #panel-season2026 .embedded-luck-head p{text-align:center!important;margin-left:auto!important;margin-right:auto!important;}
  #panel-season2026 .embedded-luck-tag{margin:0 auto!important;}
}

/* --- MERGED FROM INLINE --- */
/* ============================================================
   OG LEAGUE UI SYSTEM v1
   One token scale + shared page headers, section headers, tabs,
   filters, selects, and card surfaces. Desktop/mobile values live
   here rather than inside individual pages.
   ============================================================ */
:root{
  /* UI aliases point back to the single foundation scale. */
  --ui-type-page:var(--type-page);
  --ui-type-section:var(--type-section);
  --ui-type-subsection:var(--type-subsection);
  --ui-type-card:var(--type-card);
  --ui-type-body:var(--type-body);
  --ui-type-body-sm:var(--type-body);
  --ui-type-meta:var(--type-meta);
  --ui-type-small:var(--type-small);
  --ui-type-label:var(--type-label);
  --ui-type-control:var(--type-small);
  --ui-type-tab:var(--type-body);
  --ui-type-stat:var(--type-section);
  --ui-control-h:34px;
  --ui-control-radius:6px;
  --ui-component-gap:24px;
}

/* Shared page header */
.ui-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ui-component-gap);width:100%;margin:0 0 24px;text-align:left;}
.ui-page-head>div:first-child{min-width:0;}
.ui-page-head h2{margin:0;font-size:var(--ui-type-page);line-height:1.08;font-weight:600;letter-spacing:-.03em;}
.ui-page-head p{margin:5px 0 0;font-size:var(--ui-type-body);line-height:1.45;color:var(--grey-500);}

/* Shared section header */
.ui-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--ui-component-gap);width:100%;margin:0 0 24px;text-align:left;}
.ui-section-head>div:first-child{min-width:0;}
.ui-section-head h3{margin:0;font-size:var(--ui-type-section);line-height:1.15;font-weight:600;letter-spacing:-.02em;}
.ui-section-head p{margin:4px 0 0;font-size:var(--ui-type-body);line-height:1.4;color:var(--grey-500);}

/* Shared content heading */
.ui-content-head{margin:0 0 12px;text-align:left;}
.ui-content-head h3,.ui-content-head h4{margin:0;font-size:var(--ui-type-section);line-height:1.15;font-weight:600;letter-spacing:-.02em;color:var(--ink);}
.ui-content-head p{margin:4px 0 0;font-size:var(--ui-type-body);line-height:1.4;color:var(--grey-500);}

/* Shared secondary tabs */
.ui-tabs{display:flex;align-items:flex-end;justify-content:flex-start;gap:28px;width:100%;margin:0 0 24px;padding:0;border-bottom:1px solid var(--line-strong);overflow:visible;}
.ui-tabs button{position:relative;flex:0 0 auto;margin:0;padding:0 0 11px;border:0;border-radius:0;background:transparent;color:var(--grey-500);font-family:'Inter',-apple-system,sans-serif;font-size:var(--ui-type-tab);font-weight:600;line-height:1.2;white-space:nowrap;box-shadow:none;cursor:pointer;}
.ui-tabs button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent;border-radius:2px 2px 0 0;}
.ui-tabs button:hover,.ui-tabs button.active{color:var(--ink);}
.ui-tabs button.active{font-weight:600;}
.ui-tabs button.active::after{background:var(--accent);}
.ui-tabs button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}

/* Shared scope buttons */
.ui-scope{display:flex;align-items:center;justify-content:flex-start;flex:0 0 auto;width:auto;max-width:none;margin:0;padding:0;gap:6px;background:transparent;border:0;border-radius:0;box-shadow:none;}
.ui-scope button{flex:0 0 auto;width:auto;min-width:72px;height:var(--ui-control-h);min-height:var(--ui-control-h);padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--ui-control-radius);background:var(--white);color:var(--grey-700);font-family:'Inter',-apple-system,sans-serif;font-size:var(--ui-type-control);font-weight:600;line-height:1;text-align:center;white-space:nowrap;box-shadow:none;outline:none;cursor:pointer;}
.ui-scope button:nth-child(2){min-width:104px;}
.ui-scope button:hover{color:var(--ink);border-color:var(--grey-300);}
.ui-scope button.active{background:var(--ink);border-color:var(--ink);color:var(--white);}
.ui-scope button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
#recordBookRecordsView .ui-scope{width:auto;}
#recordBookRecordsView .ui-scope button{flex:0 0 auto;}

/* Shared select */
.ui-select{flex:0 0 auto;height:var(--ui-control-h);min-height:var(--ui-control-h);min-width:104px;margin:0;padding:0 34px 0 12px;border:1px solid var(--line-strong);border-radius:var(--ui-control-radius);background-color:var(--white);color:var(--grey-700);font-family:'Inter',-apple-system,sans-serif;font-size:var(--ui-type-control);font-weight:600;line-height:1;box-shadow:none;cursor:pointer;}

/* Shared white surface */
.ui-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);}

/* ---------- TEAM BADGE KEY ---------- */
.team-badge-key{margin-top:28px;padding-top:0;border-top:1px solid var(--line);}
.team-badge-key-toggle{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:max-content;max-width:100%;padding:18px 0 0;list-style:none;}
.team-badge-key-toggle::-webkit-details-marker{display:none;}
.team-badge-key-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:5px;}
.team-badge-key-chevron{display:inline-block;color:var(--grey-500);font-size:12px;transition:transform .2s ease;}
.team-badge-key[open] .team-badge-key-chevron{transform:rotate(180deg);}
.team-badge-key-groups{display:flex;flex-direction:column;gap:22px;padding:20px 0 4px;}
.team-badge-key-group{min-width:0;}
.team-badge-key-group h4{margin:0 0 11px;color:var(--grey-500);font-size:var(--type-label);font-weight:600;letter-spacing:.075em;text-transform:uppercase;}
.team-badge-key-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 18px;}
.team-badge-key-item{display:flex;align-items:center;gap:9px;min-width:0;padding:0;border:0;}
.team-badge-key-item .fr-badge{flex:0 0 auto;justify-self:auto;}
.team-badge-key-copy{min-width:0;font-size:var(--ui-type-label);line-height:1.3;color:var(--grey-500);}

/* ---------- RECORD BOOK ---------- */
/* Record Book uses the same hierarchy, cards, controls and table language as Home/2026. */
#panel-records .recordbook-page-head{margin-bottom:22px;}
#panel-records .recordbook-view-head{align-items:center;margin-bottom:18px;}
#panel-records .recordbook-view-head h3,
#panel-records .recordbook-standings-head h3,
#recordBookRecordsView .rb-section-head h3,
#recordBookPlayoffsView .season-recap-head h3{
  margin:0;
  font-size:var(--type-section-title);
  line-height:1.15;
  font-weight:600;
  letter-spacing:var(--tracking-tight);
}

/* Records: each leaderboard is one shared white card rather than a floating list. */
#recordBookRecordsView .rb-section-first{margin-top:0;padding-top:0;border-top:0;}
#recordBookRecordsView .rb-section-head{margin:0 0 16px;text-align:left;}
#recordBookRecordsView .rb-grid{gap:14px;}
#recordBookRecordsView .rb-block{min-width:0;overflow:hidden;}
#recordBookRecordsView .rb-block h3{
  margin:0;
  padding:13px 14px 11px;
  border-bottom:1px solid var(--line);
  font-size:var(--type-card);
  line-height:1.25;
  font-weight:600;
  letter-spacing:-.01em;
  text-align:left;
}
#recordBookRecordsView .rb-list{padding:0;}
#recordBookRecordsView .rb-item{
  min-height:48px;
  padding:10px 14px;
  border-bottom:1px solid var(--line);
  font-size:var(--type-body);
}
#recordBookRecordsView .rb-item:last-child{border-bottom:0;}
#recordBookRecordsView .rb-item .pos{font-size:var(--type-body);font-weight:400;}
#recordBookRecordsView .rb-item .meta{font-size:var(--type-meta);}
#recordBookRecordsView .rb-item .val{font-size:var(--type-card);font-weight:600;}
#recordBookRecordsView .rb-section + .rb-section{margin-top:30px;padding-top:30px;border-top:1px solid var(--line-strong);}

/* Standings: exact same left-title / right-toggle composition as the 2026 page. */
#recordBookStandingsView .recordbook-standings-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%;
  margin:0 0 14px;
}
#recordBookStandingsView .recordbook-standings-head .standings-view-switch.ui-scope{
  margin:0 0 0 auto;
  flex:0 0 auto;
}
#recordBookStandingsView .recordbook-standings-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  min-height:var(--ui-control-h);
  margin:0 0 12px;
}
#recordBookStandingsView .recordbook-standings-controls .ui-scope,
#recordBookStandingsView .recordbook-standings-controls .ui-select{margin:0;}
#recordBookStandingsView .recordbook-table-wrap.home-table-card{width:100%;overflow:hidden;}
#recordBookStandingsView .recordbook-table-wrap .home-table{width:100%;table-layout:auto;margin:0;}
#recordBookStandingsView .recordbook-table-wrap .home-table thead th{padding-left:12px;padding-right:12px;}
#recordBookStandingsView .recordbook-table-wrap .home-table tbody td{padding:9px 12px;}
#recordBookStandingsView .luck-table-wrap{margin-top:0;}
#recordBookStandingsView .luck-table{width:100%;}

/* Season History uses one section header + year control; no duplicate season heading. */
#recordBookPlayoffsView .playoff-title-card{padding:20px;margin-bottom:24px;}
#recordBookPlayoffsView .playoff-kicker,
#recordBookPlayoffsView .playoff-title-score .label,
#recordBookPlayoffsView .season-recap-label{font-size:var(--ui-type-label);font-weight:600;letter-spacing:.075em;}
#recordBookPlayoffsView .playoff-title-team{font-size:var(--type-card);font-weight:600;}
#recordBookPlayoffsView .playoff-title-manager{font-size:var(--type-meta);}
#recordBookPlayoffsView .playoff-title-score .score{font-size:var(--type-section);font-weight:600;}
#recordBookPlayoffsView .playoff-round-head{margin-bottom:10px;}
#recordBookPlayoffsView .playoff-round-head h4{font-size:var(--type-card);line-height:1.2;font-weight:600;letter-spacing:-.01em;}
#recordBookPlayoffsView .playoff-round-head span{font-size:var(--type-meta);}
#recordBookPlayoffsView .playoff-match-name,#recordBookPlayoffsView .playoff-match-score{font-size:var(--type-body);}
#recordBookPlayoffsView .playoff-match-manager{font-size:var(--type-meta);}
#recordBookPlayoffsView .season-recap{margin-top:30px;padding-top:30px;border-top:1px solid var(--line-strong);}
#recordBookPlayoffsView .season-recap-head{margin:0 0 16px;text-align:left;}
#recordBookPlayoffsView .season-recap-grid{gap:12px;}
#recordBookPlayoffsView .season-recap-card{padding:16px;text-align:left;}
#recordBookPlayoffsView .season-recap-stat{font-size:var(--type-section);font-weight:600;}
#recordBookPlayoffsView .season-recap-team{font-size:var(--type-body);font-weight:600;}
#recordBookPlayoffsView .season-recap-meta{font-size:var(--type-meta);}

/* ---------- SHARED DATA CHARTS ---------- */
.og-chart-card{margin:0 0 var(--space-6);padding:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;}
.og-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3);text-align:left;}
.og-chart-head h4{margin:0;font-size:var(--type-card);line-height:1.3;font-weight:600;letter-spacing:-.01em;color:var(--ink);}
.og-chart-head p{margin:3px 0 0;font-size:var(--type-meta);line-height:1.4;color:var(--grey-500);}
.og-chart-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--grey-300) transparent;}
.og-chart-svg{display:block;width:100%;height:auto;min-width:560px;font-family:'Inter',-apple-system,sans-serif;}
.og-chart-grid{stroke:var(--line);stroke-width:1;vector-effect:non-scaling-stroke;}
.og-chart-axis-line{stroke:var(--line-strong);stroke-width:1;vector-effect:non-scaling-stroke;}
.og-chart-axis{fill:var(--grey-500);font-size:10px;font-weight:500;}
.og-chart-axis-title{fill:var(--grey-700);font-size:10px;font-weight:600;letter-spacing:.03em;}
.og-chart-line{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.og-chart-line.team{stroke:var(--accent);}
.og-chart-line.league{stroke:var(--grey-300);stroke-width:2;stroke-dasharray:5 5;}
.og-chart-point.team{fill:var(--white);stroke:var(--accent);stroke-width:2.5;vector-effect:non-scaling-stroke;}
.og-chart-legend{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:var(--space-2);font-size:var(--type-meta);line-height:1.4;color:var(--grey-500);}
.og-chart-legend span{display:inline-flex;align-items:center;gap:6px;}
.og-chart-legend i{display:inline-block;width:18px;height:0;border-top:2px solid var(--grey-300);}
.og-chart-legend i.team{border-color:var(--accent);}
.og-chart-legend i.league{border-color:var(--grey-300);border-top-style:dashed;}
#standingsLuckContent>.og-chart-card{margin-bottom:var(--space-4);}
#recordBookStandingsView .luck-story-callouts,
#panel-season2026 .luck-story-callouts{grid-template-columns:repeat(3,minmax(0,1fr));}
.luck-leaderboard{margin:0 0 var(--space-6);padding:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);}
.luck-leaderboard-head{margin-bottom:14px;text-align:left;}
.luck-leaderboard-head h4{margin:0;font-size:var(--type-card);line-height:1.3;font-weight:600;color:var(--ink);}
.luck-leaderboard-head p{margin:3px 0 0;font-size:var(--type-meta);line-height:1.45;color:var(--grey-500);}
.luck-scale{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;margin:0 76px 8px min(210px,28%);font-size:var(--type-label);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--grey-500);}
.luck-scale span:first-child{text-align:left;}
.luck-scale span:nth-child(2){text-align:center;}
.luck-scale span:last-child{text-align:right;}
.luck-bar-list{display:grid;gap:7px;}
.luck-bar-row{display:grid;grid-template-columns:minmax(120px,210px) minmax(180px,1fr) 64px;align-items:center;gap:12px;min-height:27px;}
.luck-bar-team{min-width:0;font-size:var(--type-body);font-weight:600;line-height:1.25;overflow-wrap:anywhere;}
.luck-bar-track{position:relative;height:14px;border-radius:3px;background:linear-gradient(to right,var(--grey-100) 0,var(--grey-100) calc(50% - .5px),var(--grey-300) calc(50% - .5px),var(--grey-300) calc(50% + .5px),var(--grey-100) calc(50% + .5px),var(--grey-100) 100%);overflow:hidden;}
.luck-bar-fill{position:absolute;top:2px;height:10px;min-width:3px;border-radius:2px;}
.luck-bar-fill.positive{background:var(--green);}
.luck-bar-fill.negative{background:var(--red);}
.luck-bar-fill.neutral{background:var(--grey-500);}
.luck-bar-value{text-align:right;font-size:var(--type-body);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;}
.luck-bar-value.positive{color:var(--green);}
.luck-bar-value.negative{color:var(--red);}
.luck-bar-value.neutral{color:var(--grey-500);}
#panel-teams #teamDetailView #detailScoringChart .og-chart-card{margin-bottom:0;}
#panel-teams #teamDetailView .team-detail-chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:13px;}
#panel-teams #teamDetailView .team-detail-chart-head .team-detail-section-head{margin-bottom:0;}
#panel-teams #teamDetailView .team-scoring-controls{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto;}
#panel-teams #teamDetailView .team-scoring-toggle.ui-scope{margin:0;}
#panel-teams #teamDetailView .team-scoring-toggle.ui-scope button{min-width:76px;}
#panel-teams #teamDetailView .team-scoring-toggle.ui-scope button:nth-child(2){min-width:76px;}
#panel-teams #teamDetailView .team-scoring-year.ui-select{width:92px;min-width:92px;margin:0;text-align-last:center;}

/* ---------- WEEKLY WRITE-UP ---------- */
#panel-weeklyWriteup .weekly-writeup-back{margin:0 0 20px;padding:0;border:0;background:none;color:var(--accent);font:inherit;font-size:var(--ui-type-body);font-weight:600;cursor:pointer;}
#panel-weeklyWriteup .weekly-writeup-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;}
#panel-weeklyWriteup .s26-week-select.ui-select{width:100%;margin:0;}
#panel-weeklyWriteup .weekly-writeup-power>p{margin:0 0 var(--space-3);font-size:var(--type-meta);line-height:var(--leading-body);color:var(--grey-500);}
#panel-weeklyWriteup .weekly-power-list{list-style:none;margin:0;padding:0;}
#panel-weeklyWriteup .weekly-power-list li{padding:var(--space-3) 0;border-top:1px solid var(--line);}
#panel-weeklyWriteup .weekly-power-heading{display:flex;gap:var(--space-3);align-items:baseline;font-size:var(--type-card);}
#panel-weeklyWriteup .weekly-power-rank{color:var(--accent);min-width:22px;font-weight:600;}
#panel-weeklyWriteup .weekly-power-heading small{display:block;margin-top:var(--space-1);font-size:var(--type-meta);color:var(--grey-500);}
#panel-weeklyWriteup .weekly-power-list p{margin:var(--space-2) 0 0 34px;font-size:var(--type-body);line-height:1.65;color:var(--grey-700);}
#panel-weeklyWriteup .weekly-writeup-section{margin-bottom:var(--gap-section);}
#panel-weeklyWriteup .weekly-writeup-section>h3{margin:0 0 var(--space-3);font-size:var(--type-section-title);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);}
#panel-weeklyWriteup .weekly-writeup-matchups{display:grid;grid-template-columns:minmax(0,1fr);}
#panel-weeklyWriteup .weekly-writeup-matchup{min-width:0;padding:var(--space-5) 0;border-top:1px solid var(--line);}
#panel-weeklyWriteup .weekly-writeup-matchup-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--line);}
#panel-weeklyWriteup .weekly-writeup-matchup-teams>div{display:flex;min-width:0;align-items:center;gap:var(--gap-inline);font-size:var(--type-card);font-weight:600;overflow-wrap:anywhere;}
#panel-weeklyWriteup .weekly-writeup-team:last-child{flex-direction:row-reverse;text-align:right;}
#panel-weeklyWriteup .weekly-writeup-team.is-loser{opacity:.5;}
#panel-weeklyWriteup .weekly-writeup-matchup-teams b{font-size:var(--ui-type-card);font-variant-numeric:tabular-nums;white-space:nowrap;}
#panel-weeklyWriteup .weekly-writeup-matchup p{margin:13px 0 0;color:var(--grey-700);font-size:var(--ui-type-body);line-height:1.65;}
@media(max-width:900px){
  #panel-weeklyWriteup .home-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  #panel-weeklyWriteup .weekly-writeup-head{align-items:flex-start;flex-direction:column;}
  #panel-weeklyWriteup .weekly-writeup-head .s26-week-picker{width:168px;align-self:center;}
  #panel-weeklyWriteup .weekly-writeup-matchup-teams{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--space-2);align-items:start;}
  #panel-weeklyWriteup .weekly-writeup-matchup-teams .weekly-writeup-team{flex-direction:column;text-align:center;gap:var(--space-2);}
  #panel-weeklyWriteup .weekly-writeup-score{margin:0;align-self:start;line-height:42px;font-size:var(--type-body);}
  #panel-weeklyWriteup .weekly-writeup-matchup p{font-size:var(--type-body);line-height:var(--leading-body);}
}

/* ---------- TRADES ---------- */
#panel-trades .trades-page-head{margin-bottom:22px;}
#panel-trades .trade-analyzer{margin:0 0 32px;padding:22px;overflow:hidden;}
#panel-trades .trade-analyzer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid var(--line);}
#panel-trades .trade-analyzer-kicker{margin-bottom:6px;font-size:var(--ui-type-label);line-height:1.3;font-weight:600;letter-spacing:.075em;text-transform:uppercase;color:var(--accent);}
#panel-trades .trade-analyzer-head h3{margin:0;font-size:var(--ui-type-section);line-height:1.15;font-weight:600;letter-spacing:-.02em;}
#panel-trades .trade-analyzer-head p{max-width:670px;margin:7px 0 0;font-size:var(--ui-type-body);line-height:1.5;color:var(--grey-500);}
#panel-trades .trade-analyzer-sources{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;max-width:390px;}
#panel-trades .trade-source-pill{display:inline-flex;align-items:center;min-height:29px;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:var(--grey-100);font-size:var(--ui-type-meta);font-weight:600;color:var(--grey-600);white-space:nowrap;}
#panel-trades .trade-source-pill.ready{border-color:#b9e7c8;background:#eefaf2;color:#18864b;}
#panel-trades .trade-source-pill.waiting{color:var(--grey-500);}
#panel-trades .trade-analyzer-builder{display:grid;grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:start;gap:14px;padding-top:20px;}
#panel-trades .trade-analyzer-loading{grid-column:1/-1;display:flex;flex-direction:column;gap:5px;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--grey-100);font-size:var(--ui-type-body);line-height:1.45;color:var(--grey-500);}
#panel-trades .trade-analyzer-loading b{color:var(--ink);font-size:var(--ui-type-card);}
#panel-trades .trade-analyzer-side{min-width:0;}
#panel-trades .trade-analyzer-team-label,#panel-trades .trade-analyzer-send-label{display:block;font-size:var(--ui-type-label);line-height:1.3;font-weight:600;letter-spacing:.075em;text-transform:uppercase;color:var(--grey-500);}
#panel-trades .trade-analyzer-team-select.ui-select{width:100%;min-width:0;margin:7px 0 16px;text-align:left;text-align-last:left;}
#panel-trades .trade-analyzer-send-label{margin-bottom:8px;}
#panel-trades .trade-analyzer-roster{max-height:382px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);}
#panel-trades .trade-analyzer-player{display:grid;grid-template-columns:19px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:56px;padding:9px 11px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .15s ease,border-color .15s ease;}
#panel-trades .trade-analyzer-player:last-child{border-bottom:0;}
#panel-trades .trade-analyzer-player:hover{background:var(--grey-100);}
#panel-trades .trade-analyzer-player.selected{background:#f1f6ff;}
#panel-trades .trade-analyzer-player input{position:absolute;opacity:0;pointer-events:none;}
#panel-trades .trade-player-check{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid var(--grey-300);border-radius:4px;background:var(--white);color:transparent;font-size:15px;font-weight:700;line-height:1;transition:color .12s ease,border-color .12s ease;}
#panel-trades .trade-analyzer-player.selected .trade-player-check{border-color:var(--accent);color:var(--accent);}
#panel-trades .trade-analyzer-player:focus-within .trade-player-check{outline:2px solid var(--accent);outline-offset:2px;}
#panel-trades .trade-analyzer-player-copy{display:flex;min-width:0;flex-direction:column;gap:2px;}
#panel-trades .trade-analyzer-player-copy b{font-size:var(--ui-type-body);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#panel-trades .trade-analyzer-player-copy small,#panel-trades .trade-analyzer-rank{font-size:var(--ui-type-meta);line-height:1.3;color:var(--grey-500);font-weight:500;}
#panel-trades .trade-analyzer-rank{display:flex;flex-direction:column;align-items:flex-end;gap:2px;white-space:nowrap;font-variant-numeric:tabular-nums;}
#panel-trades .trade-analyzer-rank b{font-size:var(--ui-type-meta);line-height:1.2;font-weight:600;color:var(--ink);}
#panel-trades .trade-analyzer-rank small{font-size:10px;line-height:1.2;font-weight:500;color:var(--grey-500);}
#panel-trades .trade-analyzer-swap{display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin-top:92px;border:1px solid var(--line);border-radius:999px;background:var(--grey-100);color:var(--grey-500);font-size:var(--ui-type-card);}
#panel-trades .trade-analyzer-actions{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:3px;}
#panel-trades .trade-analyzer-actions span{font-size:var(--ui-type-meta);color:var(--grey-500);}
#panel-trades .trade-analyzer-button{min-height:42px;padding:10px 17px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--white);font:inherit;font-size:var(--ui-type-body);font-weight:600;cursor:pointer;}
#panel-trades .trade-analyzer-button:hover{background:var(--grey-700);}
#panel-trades .trade-analyzer-result{margin-top:20px;}
#panel-trades .trade-analyzer-result:empty{display:none;}
#panel-trades .trade-analyzer-warning{padding:13px 14px;border:1px solid #f0d697;border-radius:var(--radius);background:#fff9e9;color:#7b5b12;font-size:var(--ui-type-body);}
#panel-trades .trade-analyzer-verdict{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.48fr);align-items:center;gap:20px;padding:20px;border-radius:var(--radius);background:var(--ink);color:var(--white);}
#panel-trades .trade-analyzer-verdict span{font-size:var(--ui-type-label);font-weight:600;letter-spacing:.075em;text-transform:uppercase;color:var(--grey-300);}
#panel-trades .trade-analyzer-verdict h4{margin:5px 0 3px;font-size:var(--ui-type-section);line-height:1.2;}
#panel-trades .trade-analyzer-verdict p{margin:0;font-size:var(--ui-type-meta);line-height:1.4;color:var(--grey-300);}
#panel-trades .trade-confidence{display:flex;flex-direction:column;gap:4px;padding:11px 13px;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);background:rgba(255,255,255,.07);}
#panel-trades .trade-confidence b{font-size:var(--ui-type-body);line-height:1.25;}
#panel-trades .trade-confidence span{font-size:var(--ui-type-label);line-height:1.4;letter-spacing:0;text-transform:none;}
#panel-trades .trade-analysis-section{margin-top:12px;padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);}
#panel-trades .trade-analysis-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:15px;}
#panel-trades .trade-analysis-head>div{display:flex;align-items:center;gap:9px;}
#panel-trades .trade-analysis-head>div>span{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:var(--ink);color:var(--white);font-size:var(--ui-type-label);font-weight:600;}
#panel-trades .trade-analysis-head h4{margin:0;font-size:var(--ui-type-card);line-height:1.3;}
#panel-trades .trade-analysis-head p{max-width:590px;margin:0;color:var(--grey-500);font-size:var(--ui-type-meta);line-height:1.45;text-align:right;}
#panel-trades .trade-package-grid{display:grid;grid-template-columns:minmax(0,1fr) 92px minmax(0,1fr);align-items:stretch;gap:12px;}
#panel-trades .trade-package-card{padding:15px;border-radius:var(--radius);background:var(--grey-100);}
#panel-trades .trade-package-card>span{display:block;color:var(--grey-500);font-size:var(--ui-type-label);font-weight:600;letter-spacing:.075em;text-transform:uppercase;}
#panel-trades .trade-package-card>strong{display:block;margin:5px 0 10px;font-size:var(--ui-type-stat);font-variant-numeric:tabular-nums;}
#panel-trades .trade-package-card ul{display:grid;gap:6px;margin:0;padding:10px 0 0;border-top:1px solid var(--line);list-style:none;}
#panel-trades .trade-package-card li{display:flex;justify-content:space-between;gap:10px;font-size:var(--ui-type-meta);line-height:1.35;}
#panel-trades .trade-package-card li span{min-width:0;font-weight:600;}
#panel-trades .trade-package-card li small{display:block;color:var(--grey-500);font-weight:500;}
#panel-trades .trade-package-card li b{font-variant-numeric:tabular-nums;}
#panel-trades .trade-fairness-middle{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;}
#panel-trades .trade-fairness-middle b{font-size:var(--ui-type-body);}
#panel-trades .trade-fairness-middle span{margin-top:3px;color:var(--grey-500);font-size:var(--ui-type-label);}
#panel-trades .trade-analyzer-impact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;}
#panel-trades .trade-analyzer-impact-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--grey-100);}
#panel-trades .trade-analyzer-impact-card h4{margin:0;font-size:var(--ui-type-card);line-height:1.25;}
#panel-trades .trade-impact-score{font-size:var(--ui-type-stat);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;}
#panel-trades .trade-impact-score.positive{color:var(--green);}
#panel-trades .trade-impact-score.negative{color:var(--red);}
#panel-trades .trade-impact-metrics{grid-column:1/-1;display:grid;gap:7px;padding-top:10px;border-top:1px solid var(--line);}
#panel-trades .trade-impact-metrics div{display:flex;justify-content:space-between;gap:12px;font-size:var(--ui-type-meta);line-height:1.35;}
#panel-trades .trade-impact-metrics span{color:var(--grey-500);}
#panel-trades .trade-impact-metrics b{font-weight:600;text-align:right;font-variant-numeric:tabular-nums;}
#panel-trades .trade-analyzer-impact-card .trade-roster-move{grid-column:1/-1;margin:2px 0 0;}
#panel-trades .trade-fit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
#panel-trades .trade-fit-grid>div{display:flex;min-width:0;flex-direction:column;padding:15px;border-radius:var(--radius);background:var(--grey-100);}
#panel-trades .trade-fit-grid span{color:var(--grey-500);font-size:var(--ui-type-label);font-weight:600;letter-spacing:.075em;text-transform:uppercase;}
#panel-trades .trade-fit-grid b{margin-top:6px;font-size:var(--ui-type-card);}
#panel-trades .trade-fit-grid small{margin-top:6px;color:var(--grey-500);font-size:var(--ui-type-meta);line-height:1.45;}
#panel-trades .trades-view-head{align-items:center;margin-bottom:16px;}
#panel-trades .trade-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 24px;}
#panel-trades .trade-overview-summary{margin-bottom:12px;}
#panel-trades .trade-summary-card{min-width:0;padding:16px;text-align:left;}
#panel-trades .trade-summary-card .l{display:block;font-size:var(--ui-type-label);line-height:1.3;text-transform:uppercase;letter-spacing:.075em;color:var(--grey-500);font-weight:600;}
#panel-trades .trade-summary-card .v{display:block;margin-top:6px;font-size:var(--ui-type-stat);line-height:1.08;font-weight:600;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;}
#panel-trades .trade-superlative-card .v{font-size:var(--ui-type-card);line-height:1.25;overflow-wrap:anywhere;}
#panel-trades .trade-summary-card .m{display:block;margin-top:5px;font-size:var(--ui-type-meta);line-height:1.4;color:var(--grey-500);font-variant-numeric:tabular-nums;}
#panel-trades .trade-card{margin:0 0 12px;padding:16px;}
#panel-trades .trade-card-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;}
#panel-trades .trade-date{font-size:var(--ui-type-label);line-height:1.3;text-transform:uppercase;letter-spacing:.075em;color:var(--grey-500);font-weight:600;}
#panel-trades .trade-edge-pill{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--grey-100);color:var(--grey-700);font-size:var(--ui-type-meta);font-weight:600;white-space:nowrap;}
#panel-trades .trade-edge-pill .k{font-size:var(--ui-type-label);letter-spacing:.075em;text-transform:uppercase;color:var(--grey-500);font-weight:600;}
#panel-trades .trade-sides{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);gap:12px;align-items:stretch;}
#panel-trades .trade-side{min-width:0;padding:14px;background:var(--grey-100);border:1px solid var(--line);border-radius:var(--radius);}
#panel-trades .trade-side-head{margin:0 0 10px;}
#panel-trades .trade-side h4{margin:0;font-size:var(--ui-type-card);line-height:1.25;font-weight:600;letter-spacing:-.01em;}
#panel-trades .trade-manager{margin-top:3px;font-size:var(--ui-type-meta);line-height:1.4;color:var(--grey-500);}
#panel-trades .trade-received-label{margin:0 0 7px;font-size:var(--ui-type-label);line-height:1.3;text-transform:uppercase;letter-spacing:.075em;color:var(--grey-500);font-weight:600;}
#panel-trades .trade-player-list{display:flex;flex-direction:column;gap:6px;}
#panel-trades .trade-player{font-size:var(--ui-type-body);line-height:1.4;font-weight:600;}
#panel-trades .trade-player.empty{color:var(--grey-400);font-weight:400;}
#panel-trades .trade-player-meta{margin-left:4px;font-size:var(--ui-type-meta);color:var(--grey-500);font-weight:400;}
#panel-trades .trade-mid{display:flex;align-items:center;justify-content:center;align-self:stretch;color:var(--grey-300);}
#panel-trades .trade-mid span{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:var(--ui-type-card);}
#panel-trades .trade-roster-move{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:var(--ui-type-meta);line-height:1.45;color:var(--grey-500);}
#panel-trades .trade-roster-move b{font-weight:600;color:var(--grey-700);}
#panel-trades .trade-live-empty{padding:20px;color:var(--grey-700);font-size:var(--ui-type-body);line-height:1.65;}

/* ---------- DRAFT HISTORY ---------- */
#panel-drafts .draft-page-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin:0 0 28px;text-align:left;}
#panel-drafts .draft-page-head>div:first-child{width:auto;min-width:0;text-align:left;}
#panel-drafts .draft-page-head h2{margin:0;text-align:left;}
#panel-drafts .draft-year-select.ui-select{flex:0 0 120px;width:120px;min-width:120px;margin:0;text-align-last:center;}
#panel-drafts .draft-fun-section{margin:0 0 32px;}
#panel-drafts .draft-fun-head,#panel-drafts .draft-board-head{margin:0 0 12px;text-align:left;}
#panel-drafts .draft-fun-head h3,#panel-drafts .draft-board-head h3{margin:0;font-size:var(--ui-type-section);line-height:1.15;font-weight:600;letter-spacing:-.02em;color:var(--ink);}
#panel-drafts .draft-fun-head p,#panel-drafts .draft-board-head p{margin:4px 0 0;font-size:var(--ui-type-body);line-height:1.4;color:var(--grey-500);}
/* Draft recap content uses the same open, line-based language as data tables. */
#panel-drafts .draft-summary,#panel-drafts .draft-fun-grid{display:block;margin:0 0 32px;border-top:1px solid var(--line);}
#panel-drafts .draft-summary-card,#panel-drafts .draft-fun-card{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(110px,.55fr) minmax(0,1.15fr) minmax(0,1.5fr);align-items:center;gap:16px;min-width:0;padding:14px 0;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;}
#panel-drafts .draft-summary-label,#panel-drafts .draft-fun-label{margin:0;font-size:var(--ui-type-label);line-height:1.3;font-weight:600;text-transform:uppercase;letter-spacing:.075em;color:var(--grey-500);}
#panel-drafts .draft-summary-stat,#panel-drafts .draft-fun-stat{margin:0;font-size:var(--ui-type-card);line-height:1.2;font-weight:600;letter-spacing:-.015em;color:var(--ink);font-variant-numeric:tabular-nums;}
#panel-drafts .draft-summary-context,#panel-drafts .draft-fun-primary{margin:0;font-size:var(--ui-type-body);line-height:1.4;font-weight:600;color:var(--ink);white-space:normal;overflow:visible;text-overflow:clip;}
#panel-drafts .draft-summary-meta,#panel-drafts .draft-fun-context{margin:0;font-size:var(--ui-type-meta);line-height:1.4;color:var(--grey-500);white-space:normal;overflow:visible;text-overflow:clip;}

/* Season Rewind remains a true card section. */
#panel-drafts .draft-fun-grid.rewind{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 32px;border-top:0;}
#panel-drafts .draft-fun-grid.rewind .draft-fun-card{display:block;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);}
#panel-drafts .draft-fun-grid.rewind .draft-fun-label{margin-bottom:7px;}
#panel-drafts .draft-fun-grid.rewind .draft-fun-stat{margin-bottom:6px;}
#panel-drafts .draft-fun-grid.rewind .draft-fun-primary{margin-top:0;}
#panel-drafts .draft-fun-grid.rewind .draft-fun-context{margin-top:3px;}

/* Draft Trends: one shared visual language for heatmap, manager DNA and rewind. */
#panel-drafts .draft-trends-section{margin:0 0 32px;}
#panel-drafts .draft-chart-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px;margin-bottom:12px;}
#panel-drafts .draft-chart-card{min-width:0;margin:0;padding:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden;}
#panel-drafts .draft-chart-head{margin:0 0 14px;text-align:left;}
#panel-drafts .draft-chart-head h4{margin:0;font-size:var(--ui-type-card);line-height:1.3;font-weight:600;letter-spacing:-.01em;color:var(--ink);}
#panel-drafts .draft-chart-head p{margin:3px 0 0;font-size:var(--ui-type-meta);line-height:1.45;color:var(--grey-500);}
#panel-drafts .draft-heat-scroll,#panel-drafts .draft-first-scroll{width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--grey-300) transparent;}
#panel-drafts .draft-heatmap{min-width:500px;}
#panel-drafts .draft-heat-row{display:grid;grid-template-columns:72px repeat(6,minmax(48px,1fr));gap:5px;align-items:center;margin-bottom:5px;}
#panel-drafts .draft-heat-row:last-child{margin-bottom:0;}
#panel-drafts .draft-heat-header{margin-bottom:7px;color:var(--grey-500);font-size:var(--ui-type-label);font-weight:600;text-align:center;}
#panel-drafts .draft-heat-header>div:first-child{text-align:left;}
#panel-drafts .draft-heat-round{font-size:var(--ui-type-meta);font-weight:600;color:var(--grey-700);}
#panel-drafts .draft-heat-cell{display:flex;align-items:center;justify-content:center;height:27px;border-radius:4px;background:var(--grey-100);color:var(--grey-400);font-size:var(--ui-type-meta);font-weight:600;font-variant-numeric:tabular-nums;}
#panel-drafts .draft-heat-cell.has-value{background:rgba(37,99,235,var(--heat));color:var(--white);}
#panel-drafts .draft-position-legend{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;margin:0 0 13px;color:var(--grey-500);font-size:var(--ui-type-label);font-weight:600;}
#panel-drafts .draft-position-legend span{display:inline-flex;align-items:center;gap:5px;}
#panel-drafts .draft-position-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;}
#panel-drafts .pos-qb{background-color:#7c3aed;}
#panel-drafts .pos-rb{background-color:#2563eb;}
#panel-drafts .pos-wr{background-color:#16a34a;}
#panel-drafts .pos-te{background-color:#d97706;}
#panel-drafts .pos-k{background-color:#8b5cf6;}
#panel-drafts .pos-dst{background-color:#64748b;}
#panel-drafts .draft-dna-list{display:grid;gap:8px;}
#panel-drafts .draft-dna-row{display:grid;grid-template-columns:minmax(92px,150px) minmax(150px,1fr) 28px;align-items:center;gap:9px;min-height:23px;}
#panel-drafts .draft-dna-team{min-width:0;font-size:var(--ui-type-meta);line-height:1.2;font-weight:600;overflow-wrap:anywhere;}
#panel-drafts .draft-dna-bar{display:flex;height:12px;overflow:hidden;border-radius:3px;background:var(--grey-100);}
#panel-drafts .draft-dna-segment{display:block;height:100%;min-width:2px;}
#panel-drafts .draft-dna-total{text-align:right;color:var(--grey-500);font-size:var(--ui-type-label);font-variant-numeric:tabular-nums;}
#panel-drafts .draft-first-card{padding-bottom:16px;}
#panel-drafts .draft-first-scroll{display:grid;gap:10px;}
#panel-drafts .draft-first-row{display:grid;grid-template-columns:48px minmax(900px,1fr);align-items:stretch;gap:10px;min-width:958px;}
#panel-drafts .draft-first-year{display:flex;align-items:center;justify-content:flex-start;font-size:var(--ui-type-body);font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;}
#panel-drafts .draft-first-picks{display:grid;grid-template-columns:repeat(10,minmax(82px,1fr));gap:6px;}
#panel-drafts .draft-first-pick{display:flex;flex-direction:column;min-width:0;min-height:76px;padding:8px;border-radius:5px;color:var(--white);text-align:left;}
#panel-drafts .draft-first-code{font-size:9px;line-height:1.2;font-weight:600;letter-spacing:.04em;text-transform:uppercase;opacity:.82;}
#panel-drafts .draft-first-player{margin-top:5px;font-size:var(--ui-type-meta);line-height:1.2;font-weight:600;overflow-wrap:anywhere;}
#panel-drafts .draft-first-team{margin-top:auto;padding-top:5px;font-size:9px;line-height:1.2;opacity:.78;overflow-wrap:anywhere;}

/* Draft Board uses the same open, line-based language as site tables. */
#panel-drafts .draft-rounds{display:flex;flex-direction:column;gap:28px;}
#panel-drafts .draft-round{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;}
#panel-drafts .draft-round-head{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:42px;padding:8px 0 10px;background:transparent;border-bottom:1px solid var(--line-strong);}
#panel-drafts .draft-round-title{font-size:var(--ui-type-card);line-height:1.25;font-weight:600;color:var(--ink);}
#panel-drafts .draft-round-range{font-size:var(--ui-type-meta);line-height:1.4;color:var(--grey-500);}
#panel-drafts .draft-pick-head,#panel-drafts .draft-pick-row{display:grid;grid-template-columns:82px minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:center;padding-left:0;padding-right:0;}
#panel-drafts .draft-pick-head{padding-top:10px;padding-bottom:10px;background:transparent;border-bottom:1px solid var(--line-strong);font-size:var(--ui-type-label);line-height:1.3;text-transform:uppercase;letter-spacing:.075em;color:var(--grey-500);font-weight:600;}
#panel-drafts .draft-pick-row{min-height:50px;padding-top:10px;padding-bottom:10px;border-bottom:1px solid var(--line);}
#panel-drafts .draft-pick-row:last-child{border-bottom:1px solid var(--line);}
#panel-drafts .draft-pick-code{font-size:var(--ui-type-body);line-height:1.25;font-weight:600;color:var(--accent);}
#panel-drafts .draft-overall{display:block;margin-top:2px;font-size:var(--ui-type-meta);line-height:1.3;font-weight:400;color:var(--grey-500);}
#panel-drafts .draft-player{font-size:var(--ui-type-body);line-height:1.35;font-weight:600;color:var(--ink);}
#panel-drafts .draft-team{font-size:var(--ui-type-body);line-height:1.35;font-weight:600;color:var(--ink);}
#panel-drafts .draft-manager{display:block;margin-top:2px;font-size:var(--ui-type-meta);line-height:1.35;color:var(--grey-500);}
#panel-drafts .draft-empty{padding:20px;color:var(--grey-700);font-size:var(--ui-type-body);line-height:1.65;}

@media (max-width:640px){
  :root{
    /* Mobile keeps the same semantic type scale; layout changes, hierarchy does not. */
    --ui-type-page:var(--type-page);
    --ui-type-section:var(--type-section);
    --ui-type-subsection:var(--type-subsection);
    --ui-type-card:var(--type-card);
    --ui-type-body:var(--type-body);
    --ui-type-body-sm:var(--type-body);
    --ui-type-meta:var(--type-meta);
    --ui-type-small:var(--type-small);
    --ui-type-label:var(--type-label);
    --ui-type-control:var(--type-small);
    --ui-type-tab:var(--type-body);
    --ui-type-stat:var(--type-section);
  }
  .ui-page-head,.ui-section-head{flex-direction:column;align-items:center;justify-content:flex-start;gap:12px;margin-bottom:24px;text-align:center;}
  .ui-page-head>div:first-child,.ui-section-head>div:first-child{width:100%;text-align:center;}
  .ui-page-head h2,.ui-page-head p,.ui-section-head h3,.ui-section-head p{text-align:center;margin-left:auto;margin-right:auto;}
  .ui-tabs{display:grid;gap:0;margin-bottom:24px;}
  .ui-tabs--5{grid-template-columns:repeat(5,minmax(0,1fr));}
  .ui-tabs--4{grid-template-columns:repeat(4,minmax(0,1fr));}
  .ui-tabs--2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ui-tabs button{width:100%;min-width:0;padding:0 2px 11px;text-align:center;font-size:var(--ui-type-tab);}
  .ui-scope{justify-content:center;margin:0 auto;max-width:calc(100vw - 32px);}
  .ui-scope button{min-width:68px;padding:0 10px;}
  .ui-scope button:nth-child(2){min-width:102px;}
  .ui-select{width:auto;max-width:none;min-width:112px;margin:0 auto;text-align-last:center;}
  #panel-teams #teamsFilter.ui-scope{width:auto;max-width:calc(100vw - 32px);margin-left:auto;margin-right:auto;}
  .team-badge-key{margin-top:24px;padding-top:0;}
  .team-badge-key-toggle{padding-top:16px;}
  .team-badge-key-groups{gap:20px;padding-top:18px;}
  .team-badge-key-group h4{text-align:left;}
  .team-badge-key-grid{grid-template-columns:1fr;gap:13px;}
  .team-badge-key-item{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:9px;padding:0;text-align:left;border:0!important;}
  .team-badge-key-item .fr-badge{justify-self:auto;}
  .team-badge-key-copy{text-align:left;font-size:var(--type-label);line-height:1.3;}
  #recordBookRecordsView .ui-scope{width:auto;}
  #recordBookRecordsView .ui-scope button{flex:0 0 auto;}
  #panel-records .recordbook-view-head{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    text-align:left;
  }
  #panel-records .recordbook-view-head>div:first-child{width:auto;text-align:left;}
  #panel-records .recordbook-view-head h3{text-align:left;margin:0;}
  #recordBookRecordsView .recordbook-view-head{align-items:flex-start;}
  #recordBookRecordsView .recordbook-view-head .ui-scope{margin-left:auto;}
  #recordBookRecordsView .rb-section-head,#recordBookRecordsView .rb-section-head h3,#recordBookRecordsView .rb-block h3{text-align:left;}
  #recordBookRecordsView .rb-grid{grid-template-columns:1fr;gap:10px;}
  #recordBookRecordsView .rb-section + .rb-section{margin-top:24px;padding-top:24px;}

  #recordBookStandingsView .recordbook-standings-head{gap:10px;flex-wrap:nowrap;}
  #recordBookStandingsView .recordbook-standings-head h3{min-width:0;text-align:left;}
  #recordBookStandingsView .recordbook-standings-head .standings-view-switch.ui-scope{margin-left:auto;}
  #recordBookStandingsView .recordbook-standings-head .standings-view-switch.ui-scope button{padding-left:9px;padding-right:9px;}
  #recordBookStandingsView .recordbook-standings-controls{justify-content:flex-start;margin-bottom:10px;}
  #recordBookStandingsView .recordbook-standings-controls .ui-scope{justify-content:flex-start;margin:0;max-width:100%;}
  #recordBookStandingsView .recordbook-standings-controls .ui-select{margin:0;}
  #recordBookStandingsView .standings-table-wrap{overflow:hidden;width:100%;}
  #recordBookStandingsView .standings-table-wrap table{width:100%;min-width:0;max-width:100%;table-layout:fixed;margin:0;}
  #recordBookStandingsView .standings-table-wrap table th,#recordBookStandingsView .standings-table-wrap table td{padding-left:4px;padding-right:4px;}
  #recordBookStandingsView .standings-table-wrap table th:nth-child(1),#recordBookStandingsView .standings-table-wrap table td:nth-child(1){width:7%;}
  #recordBookStandingsView .standings-table-wrap table th:nth-child(2),#recordBookStandingsView .standings-table-wrap table td:nth-child(2){width:37%;}
  #recordBookStandingsView .standings-table-wrap table th:nth-child(3),#recordBookStandingsView .standings-table-wrap table td:nth-child(3),#recordBookStandingsView .standings-table-wrap table th:nth-child(4),#recordBookStandingsView .standings-table-wrap table td:nth-child(4),#recordBookStandingsView .standings-table-wrap table th:nth-child(5),#recordBookStandingsView .standings-table-wrap table td:nth-child(5){width:7%;}
  #recordBookStandingsView .standings-table-wrap table th:nth-child(6),#recordBookStandingsView .standings-table-wrap table td:nth-child(6),#recordBookStandingsView .standings-table-wrap table th:nth-child(7),#recordBookStandingsView .standings-table-wrap table td:nth-child(7){width:17.5%;}
  #recordBookStandingsView .standings-table-wrap .team-cell{font-size:var(--type-body);line-height:1.2;white-space:normal;overflow-wrap:anywhere;}
  #recordBookStandingsView .standings-table-wrap td.num-col{font-size:var(--type-body);white-space:nowrap;}
  #recordBookStandingsView .standings-table-wrap .rk{font-size:var(--type-body);}

  #recordBookPlayoffsView .playoff-title-card{padding:16px;}
  #recordBookPlayoffsView .playoff-title-side,#recordBookPlayoffsView .playoff-title-side.right{text-align:center;}
  #recordBookPlayoffsView .playoff-title-identity,#recordBookPlayoffsView .playoff-title-side.right .playoff-title-identity{flex-direction:column;justify-content:center;gap:8px;}
  #recordBookPlayoffsView .playoff-title-score{display:block;text-align:center;padding:12px 0;}
  #recordBookPlayoffsView .playoff-title-score .label{margin:5px 0 0;}
  #recordBookPlayoffsView .playoff-round-head{align-items:flex-end;text-align:left;}
  #recordBookPlayoffsView .season-recap-head{text-align:left;}
  #recordBookPlayoffsView .season-recap-grid{grid-template-columns:1fr 1fr;gap:8px;}
  #recordBookPlayoffsView .season-recap-card{text-align:left;padding:13px 11px;}
  #recordBookSuperlativesView .super-section-head{text-align:left;}
  #recordBookSuperlativesView .super-section-head h4{text-align:left;margin-left:0;margin-right:0;}
  #recordBookSuperlativesView .super-hero-grid,#recordBookSuperlativesView .super-story-grid,#recordBookSuperlativesView .super-chaos-grid,#recordBookSuperlativesView .super-front-grid{grid-template-columns:1fr;gap:8px;}
  #recordBookSuperlativesView .super-hero,#recordBookSuperlativesView .super-story,#recordBookSuperlativesView .super-front,#recordBookSuperlativesView .super-chaos{text-align:left;}
  #recordBookSuperlativesView .super-chaos{display:grid;}
  #recordBookSuperlativesView .super-chaos .stat{text-align:right;margin-top:0;}

  .og-chart-card{padding:13px 12px;margin-bottom:20px;}
  .og-chart-head{margin-bottom:8px;}
  .og-chart-svg{min-width:520px;}
  .og-chart-legend{gap:10px;margin-top:6px;}

  #recordBookStandingsView .luck-story-callouts,
  #panel-season2026 .luck-story-callouts{grid-template-columns:1fr;}
  .luck-leaderboard{padding:14px 12px;margin-bottom:20px;}
  .luck-scale{margin:0 56px 8px 104px;font-size:9px;}
  .luck-bar-list{gap:9px;}
  .luck-bar-row{grid-template-columns:92px minmax(110px,1fr) 48px;gap:7px;min-height:32px;}
  .luck-bar-team{font-size:var(--type-meta);line-height:1.2;}
  .luck-bar-value{font-size:var(--type-meta);}

  #panel-teams #teamDetailView .team-detail-chart-head{flex-direction:column;align-items:flex-start;gap:10px;}
  #panel-teams #teamDetailView .team-detail-chart-head .team-detail-section-head,
  #panel-teams #teamDetailView .team-detail-chart-head .team-detail-section-head h3,
  #panel-teams #teamDetailView .team-detail-chart-head .team-detail-section-head p{text-align:left;margin-left:0;margin-right:0;}
  #panel-teams #teamDetailView .team-scoring-controls{width:100%;justify-content:flex-start;}
  #panel-teams #teamDetailView .team-scoring-toggle.ui-scope{justify-content:flex-start;max-width:100%;}

  #panel-trades .trades-view-head{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;margin-bottom:14px;}
  #panel-trades .trade-analyzer{margin-bottom:26px;padding:15px 13px;}
  #panel-trades .trade-analyzer-head{flex-direction:column;gap:12px;padding-bottom:15px;}
  #panel-trades .trade-analyzer-head p{font-size:var(--ui-type-meta);}
  #panel-trades .trade-analyzer-sources{justify-content:flex-start;max-width:none;}
  #panel-trades .trade-analyzer-builder{grid-template-columns:1fr;gap:14px;padding-top:16px;}
  #panel-trades .trade-analyzer-swap{width:30px;height:30px;margin:-2px auto;transform:rotate(90deg);}
  #panel-trades .trade-analyzer-roster{max-height:310px;}
  #panel-trades .trade-analyzer-player{min-height:52px;padding:8px 9px;}
  #panel-trades .trade-analyzer-actions{grid-column:1;flex-direction:column;align-items:stretch;gap:7px;}
  #panel-trades .trade-analyzer-actions span{text-align:center;}
  #panel-trades .trade-analyzer-button{width:100%;}
  #panel-trades .trade-analyzer-verdict{grid-template-columns:1fr;gap:13px;padding:16px;}
  #panel-trades .trade-analysis-section{padding:14px;}
  #panel-trades .trade-analysis-head{flex-direction:column;gap:7px;}
  #panel-trades .trade-analysis-head p{text-align:left;}
  #panel-trades .trade-package-grid{grid-template-columns:1fr;}
  #panel-trades .trade-fairness-middle{min-height:54px;}
  #panel-trades .trade-analyzer-impact-grid{grid-template-columns:1fr;}
  #panel-trades .trade-analyzer-impact-card{padding:14px;}
  #panel-trades .trade-fit-grid{grid-template-columns:1fr;}
  #panel-trades .trades-view-head>div:first-child{width:auto;min-width:0;text-align:left;}
  #panel-trades .trades-view-head h3{text-align:left;margin:0;}
  #panel-trades .trades-view-head .trade-year-select.ui-select{flex:0 0 96px;width:96px;min-width:96px;margin:0;text-align-last:center;}
  #panel-trades .trade-summary{gap:8px;margin-bottom:20px;}
  #panel-trades .trade-overview-summary{margin-bottom:8px;}
  #panel-trades .trade-superlatives{grid-template-columns:1fr;}
  #panel-trades .trade-summary-card{padding:13px 10px;text-align:left;}
  #panel-trades .trade-summary-card .v{margin-top:5px;}
  #panel-trades .trade-card{padding:14px;margin-bottom:10px;}
  #panel-trades .trade-card-head{flex-direction:row;align-items:center;gap:8px;margin-bottom:12px;}
  #panel-trades .trade-edge-pill{min-height:28px;padding:5px 8px;font-size:var(--ui-type-label);}
  #panel-trades .trade-sides{grid-template-columns:1fr;gap:8px;}
  #panel-trades .trade-side{padding:13px;}
  #panel-trades .trade-mid{align-self:auto;justify-content:center;padding:0;}
  #panel-trades .trade-mid span{width:28px;height:28px;transform:rotate(90deg);font-size:var(--ui-type-card);}

  #panel-drafts .draft-page-head{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-bottom:22px;text-align:left;}
  #panel-drafts .draft-page-head>div:first-child{width:auto;min-width:0;text-align:left;}
  #panel-drafts .draft-page-head h2{text-align:left;margin:0;}
  #panel-drafts .draft-page-head .draft-year-select.ui-select{flex:0 0 104px;width:104px;min-width:104px;margin:0;text-align-last:center;}
  #panel-drafts .draft-summary,#panel-drafts .draft-fun-grid{display:block;margin-bottom:24px;}
  #panel-drafts .draft-summary-card,#panel-drafts .draft-fun-card{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;text-align:left;}
  #panel-drafts .draft-summary-stat,#panel-drafts .draft-fun-stat{justify-self:end;text-align:right;}
  #panel-drafts .draft-summary-context,#panel-drafts .draft-summary-meta,#panel-drafts .draft-fun-primary,#panel-drafts .draft-fun-context{grid-column:1/-1;}
  #panel-drafts .draft-summary-meta,#panel-drafts .draft-fun-context{margin-top:1px;}
  #panel-drafts .draft-fun-grid.rewind{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:24px;}
  #panel-drafts .draft-fun-grid.rewind .draft-fun-card{display:block;padding:14px;text-align:left;}
  #panel-drafts .draft-fun-grid.rewind .draft-fun-stat{justify-self:auto;text-align:left;}
  #panel-drafts .draft-fun-section{margin-bottom:28px;}
  #panel-drafts .draft-fun-head,#panel-drafts .draft-board-head{margin-bottom:12px;text-align:left;}
  #panel-drafts .draft-fun-head h3,#panel-drafts .draft-board-head h3{text-align:left;margin-left:0;margin-right:0;}
  #panel-drafts .draft-trends-section{margin-bottom:28px;}
  #panel-drafts .draft-chart-grid{grid-template-columns:1fr;gap:8px;margin-bottom:8px;}
  #panel-drafts .draft-chart-card{padding:14px 12px;}
  #panel-drafts .draft-heatmap{min-width:470px;}
  #panel-drafts .draft-dna-row{grid-template-columns:90px minmax(120px,1fr) 24px;gap:7px;}
  #panel-drafts .draft-dna-team{font-size:var(--ui-type-label);}
  #panel-drafts .draft-first-row{grid-template-columns:44px minmax(860px,1fr);min-width:914px;gap:8px;}
  #panel-drafts .draft-first-picks{grid-template-columns:repeat(10,minmax(80px,1fr));}
  #panel-drafts .draft-rounds{gap:24px;}
  #panel-drafts .draft-round-head{padding:8px 0 10px;}
  #panel-drafts .draft-pick-head{display:none;}
  #panel-drafts .draft-pick-row{grid-template-columns:58px minmax(0,1fr);gap:10px;align-items:start;min-height:0;padding:11px 0;}
  #panel-drafts .draft-pick-row .draft-team-cell{grid-column:2;margin-top:-2px;}
  #panel-drafts .draft-team{color:var(--grey-700);}
}
@media (max-width:380px){
  #recordBookStandingsView .standings-table-wrap table th,#recordBookStandingsView .standings-table-wrap table td{padding-left:3px;padding-right:3px;}
  #panel-trades .trade-summary-card{padding:12px 6px;}
  #panel-trades .trade-summary-card .l{letter-spacing:.06em;}
  #panel-trades .trade-card-head{align-items:flex-start;}
  #panel-trades .trade-edge-pill{max-width:60%;white-space:normal;text-align:right;}
}
/* --- TEAM AVATARS --- */
/* Recap result avatar: winner badge supplied by the league. */
.winner-avatar-wrap{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  overflow:visible;
}
.winner-avatar-wrap>.team-avatar,
.winner-avatar-wrap>.team-avatar-placeholder{
  width:100%!important;
  height:100%!important;
}
.winner-avatar-check{
  position:absolute;
  left:50%;
  bottom:-4px;
  width:17px;
  height:17px;
  transform:translateX(-50%);
  border-radius:50%;
  box-shadow:0 0 0 2px var(--white);
  z-index:2;
  pointer-events:none;
}

.team-avatar, .team-avatar-placeholder {
  vertical-align: middle;
  flex-shrink: 0;
}
.team-avatar {
  background: var(--grey-100);
}

/* --- MATCHUP CARD LAYOUT --- */
.mu-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: var(--space-5) var(--space-5);
  box-shadow: var(--shadow-sm);
}
.mu-row {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: var(--space-4);
  align-items: center;
}
.mu-team {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mu-team.right {
  align-items: flex-end;
  text-align: right;
}
.mu-team-name {
  font-weight: var(--weight-bold);
  font-size: inherit;
  line-height: var(--leading-snug);
}
.mu-mgr {
  font-size: var(--type-small);
  color: var(--grey-500);
  font-weight: var(--weight-regular);
}
.mu-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 60px;
}
.mu-score {
  font-size: var(--type-stat);
  font-weight: var(--weight-semibold);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.mu-vs {
  font-size: var(--type-small);
  color: var(--grey-300);
  font-weight: var(--weight-semibold);
  text-transform: uppercase;
}
.mu-context {
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid var(--line);
  font-size: var(--type-body);
  color: var(--grey-500);
}
.mu-context b { color: var(--ink); }

/* Home dashboard matchup cards */
.home-matchup-team {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.home-matchup-team.right {
  align-items: flex-end;
  text-align: right;
}

/* Team detail page avatar */
.detail-avatar-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 8px;
}

/* Franchise card avatars */
.fr-card-left .team-avatar,
.fr-card-left .team-avatar-placeholder {
  margin-right: 4px;
}

@media (max-width: 640px) {
  .mu-team-name { font-size: var(--type-body-lg); }
  .mu-score { font-size: var(--type-section); }
  .home-matchup-team { gap: 3px; }
}

/* ---------- TEAM NAME LINKS ----------
   Team names navigate to the existing franchise detail view without changing
   the portal's visual language into conventional blue hyperlinks. */
.team-name-link {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  color: inherit;
  font: inherit;
  font-size:inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  cursor: pointer;
  vertical-align: baseline;
}
.team-name-link:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.team-name-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 2px;
}

/* ---------- 2026 SEASON: MOBILE LEFT / RIGHT MATCHUP ALIGNMENT ----------
   One authoritative mobile matchup layout: home anchored left, away anchored
   right, and VS / score locked to the center for both upcoming and played games. */
@media (max-width: 640px) {
  #panel-season2026 .mu-card.is-upcoming .mu-row,
  #panel-season2026 .mu-card.is-played .mu-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
    align-items: center !important;
  }

  #panel-season2026 .mu-card.is-upcoming .mu-team:first-child,
  #panel-season2026 .mu-card.is-played .mu-team:first-child {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-items: flex-start !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  #panel-season2026 .mu-card.is-upcoming .mu-center,
  #panel-season2026 .mu-card.is-played .mu-center {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  #panel-season2026 .mu-card.is-upcoming .mu-team.right,
  #panel-season2026 .mu-card.is-played .mu-team.right {
    grid-column: 3 !important;
    grid-row: 1 !important;
    align-items: flex-end !important;
    text-align: right !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }

  #panel-season2026 .mu-card.is-upcoming .mu-team:first-child .mu-team-name,
  #panel-season2026 .mu-card.is-played .mu-team:first-child .mu-team-name,
  #panel-season2026 .mu-card.is-upcoming .mu-team:first-child .mu-mgr,
  #panel-season2026 .mu-card.is-played .mu-team:first-child .mu-mgr {
    width: 100% !important;
    text-align: left !important;
  }

  #panel-season2026 .mu-card.is-upcoming .mu-team.right .mu-team-name,
  #panel-season2026 .mu-card.is-played .mu-team.right .mu-team-name,
  #panel-season2026 .mu-card.is-upcoming .mu-team.right .mu-mgr,
  #panel-season2026 .mu-card.is-played .mu-team.right .mu-mgr {
    width: 100% !important;
    text-align: right !important;
  }

  #panel-season2026 .mu-card.is-upcoming .mu-team,
  #panel-season2026 .mu-card.is-played .mu-team,
  #panel-season2026 .mu-card.is-upcoming .mu-team.right,
  #panel-season2026 .mu-card.is-played .mu-team.right {
    min-width: 0 !important;
    font-size:var(--type-card) !important;
    line-height: 1.25 !important;
    overflow-wrap: anywhere !important;
  }

  #panel-season2026 .mu-card.is-upcoming .mu-mgr,
  #panel-season2026 .mu-card.is-played .mu-mgr {
    display: block !important;
    margin-top: 3px !important;
    font-size:var(--type-meta) !important;
    line-height: 1.25 !important;
    color: var(--grey-500) !important;
  }

  #panel-season2026 .mu-card.is-upcoming .mu-vs {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    font-size:var(--type-body) !important;
    font-weight:600 !important;
    text-transform: lowercase !important;
    color: var(--grey-500) !important;
    text-align: center !important;
  }

  #panel-season2026 .mu-card.is-played .mu-vs {
    display: none !important;
  }

  #panel-season2026 .mu-card.is-upcoming .mu-score {
    display: none !important;
  }

  #panel-season2026 .mu-card.is-played .mu-score {
    display: block !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    font-size:var(--type-card) !important;
    line-height: 1.1 !important;
    font-weight:600 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  #panel-season2026 .mu-context {
    text-align: center !important;
  }
}


/* ---------- WEEKLY HOME · MATCHUP INSIGHT PROTOTYPE ---------- */
.weekly-matchup-surface .week1-api-warning{
  margin-bottom:18px;
  padding:11px 13px;
  border-radius:8px;
  background:var(--accent-light);
  color:var(--grey-500);
  font-size:var(--type-meta);
  line-height:1.45;
}
.weekly-matchup-surface .week1-api-warning strong{color:var(--ink);font-weight:600;}
.weekly-matchup-surface .week1-schedule-block{margin-bottom:var(--home-section-gap,38px);}
.weekly-matchup-surface .week1-source-pill{
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:5px;
  background:var(--grey-100);
  color:var(--grey-500);
  font-size:var(--type-label);
  font-weight:600;
  letter-spacing:.07em;
}
.weekly-matchup-surface .week1-matchup-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.weekly-matchup-surface .week1-matchup-card{
  min-width:0;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:var(--shadow-sm);
  padding:15px;
}
.weekly-matchup-surface .week1-matchup-card.game-of-week{
  grid-column:1 / -1;
  border-color:rgba(37,99,235,.35);
  box-shadow:0 0 0 1px rgba(37,99,235,.06),var(--shadow-sm);
}
.weekly-matchup-surface .week1-matchup-kicker{
  min-height:20px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
  color:var(--grey-500);
  font-size:var(--ui-type-label);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.weekly-matchup-surface .week1-final-label{color:var(--green);}
.weekly-matchup-surface .game-of-week .week1-matchup-kicker{display:grid;grid-template-columns:1fr auto 1fr;}
.weekly-matchup-surface .game-of-week .week1-matchup-kicker .home-badge{grid-column:2;text-align:center;}
.weekly-matchup-surface .game-of-week .week1-final-label{grid-column:3;justify-self:end;}
.weekly-matchup-surface .week1-team-score-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:12px;
  align-items:center;
}
.weekly-matchup-surface .week1-team-side{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.weekly-matchup-surface .week1-team-side.right{
  flex-direction:row-reverse;
  text-align:right;
}
.weekly-matchup-surface .week1-team-name{
  min-width:0;
  font-size:var(--type-card);
  font-weight:600;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.weekly-matchup-surface .week1-manager{
  margin-top:2px;
  color:var(--grey-500);
  font-size:var(--ui-type-meta);
  line-height:1.25;
}
.weekly-matchup-surface .week1-score{
  min-width:100px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-variant-numeric:tabular-nums;
}
.weekly-matchup-surface .week1-score strong{font-size:var(--type-section);font-weight:600;}
.weekly-matchup-surface .week1-score span{color:var(--grey-300);font-size:var(--type-body);}
.weekly-matchup-surface .week1-team-side.is-loser .week1-team-name,
.weekly-matchup-surface .week1-team-side.is-loser .week1-manager,
.weekly-matchup-surface .week1-score strong.is-loser,
.weekly-matchup-surface .week1-metrics span.is-loser,
.weekly-matchup-surface .week1-player-columns>.is-loser .week1-player-name,
.weekly-matchup-surface .week1-player-columns>.is-loser .week1-player-score{opacity:.5;}
.weekly-matchup-surface .week1-metrics{
  margin-top:13px;
  padding:10px 0 8px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:6px;
}
.weekly-matchup-surface .week1-metrics>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) 86px minmax(0,1fr);
  gap:8px;
  align-items:center;
  font-size:var(--ui-type-body);
  font-variant-numeric:tabular-nums;
}
.weekly-matchup-surface .week1-metrics>div span:first-child{text-align:left;font-weight:600;}
.weekly-matchup-surface .week1-metrics>div span:last-child{text-align:right;font-weight:600;}
.weekly-matchup-surface .week1-metrics b{
  color:var(--grey-500);
  font-size:var(--ui-type-label);
  font-weight:600;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.weekly-matchup-surface .week1-player-head{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin-top:12px;
  margin-bottom:7px;
  color:var(--grey-500);
  font-size:var(--ui-type-label);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.weekly-matchup-surface .week1-player-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.weekly-matchup-surface .week1-player-columns>div+div{
  padding-left:18px;
  border-left:1px solid var(--line);
}
.weekly-matchup-surface .week1-player-row{
  min-height:31px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid var(--line);
  font-size:var(--ui-type-body-sm);
}
.weekly-matchup-surface .week1-player-row:last-child{border-bottom:0;}
.weekly-matchup-surface .week1-player-name{min-width:0;display:flex;align-items:center;gap:6px;font-weight:600;line-height:1.2;}
.weekly-matchup-surface .week1-player-name>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.weekly-matchup-surface .week1-player-name small{color:var(--grey-500);font-size:var(--ui-type-label);font-weight:600;}
.weekly-matchup-surface .week1-player-rank{flex:0 0 14px;color:var(--grey-300);font-size:var(--ui-type-label);font-weight:600;}
.weekly-matchup-surface .week1-player-score{flex:0 0 auto;text-align:right;font-weight:600;font-variant-numeric:tabular-nums;}
.weekly-matchup-surface .week1-player-score small{display:block;color:var(--grey-500);font-size:var(--ui-type-label);font-weight:600;margin-top:1px;}
.weekly-matchup-surface .week1-player-empty{min-height:31px;display:flex;align-items:center;color:var(--grey-300);font-size:var(--type-body);}
.weekly-matchup-surface .weekly-home-data-loading{
  padding:10px 0 2px;
  color:var(--grey-500);
  font-size:var(--type-body);
}
.weekly-matchup-surface .weekly-home-section-loading{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:16px;
  color:var(--grey-500);
  font-size:var(--type-body);
}
#homeContent .home-stat-link.is-pending{cursor:default;}
.weekly-matchup-surface .weekly-home-insight-loading p{color:var(--grey-500);}
.weekly-matchup-surface .week1-insight{
  margin-top:11px;
  padding:9px 10px;
  border-radius:6px;
  background:var(--grey-50,#f7f7f7);
  color:var(--grey-500);
  font-size:var(--ui-type-small,11.5px);
  line-height:1.45;
}
.weekly-matchup-surface .week1-insight span{
  display:block;
  margin-bottom:3px;
  color:var(--grey-500);
  font-size:var(--ui-type-label);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.weekly-matchup-surface .week1-insight strong{
  display:block;
  margin-bottom:2px;
  color:var(--ink);
  font-size:var(--ui-type-body);
  font-weight:600;
  line-height:1.35;
}
.weekly-matchup-surface .week1-insight p{
  margin:0;
  color:var(--grey-500);
  font:inherit;
}
.weekly-matchup-surface .week1-tables{margin-top:0;}
.weekly-matchup-surface .week1-prototype-note{
  margin-top:4px;
  padding-top:18px;
  border-top:1px solid var(--line);
  color:var(--grey-500);
  font-size:var(--type-meta);
  text-align:center;
}

@media (max-width:900px){
  .weekly-matchup-surface .week1-matchup-grid{grid-template-columns:1fr;}
  .weekly-matchup-surface .week1-matchup-card.game-of-week{grid-column:auto;}
}

@media (max-width:640px){
  .weekly-matchup-surface .week1-source-pill{align-self:flex-start;}
  .weekly-matchup-surface .week1-matchup-card{padding:14px 12px;}

  /* Keep the tablet matchup composition on phones: label left, status right. */
  .weekly-matchup-surface .week1-matchup-kicker{
    justify-content:space-between;
    flex-direction:row;
    gap:10px;
    text-align:left;
  }

  /* Preserve the left/center/right matchup while giving each team identity
     the full column width beneath its avatar. */
  .weekly-matchup-surface .week1-team-score-row{
    grid-template-columns:minmax(0,1fr) 82px minmax(0,1fr);
    gap:7px;
    align-items:start;
  }
  .weekly-matchup-surface .week1-team-side{
    align-items:center;
    flex-direction:column;
    gap:6px;
    text-align:center;
  }
  .weekly-matchup-surface .week1-team-side.right{
    align-items:center;
    flex-direction:column;
    text-align:center;
  }
  .weekly-matchup-surface .week1-team-side>div{
    width:100%;
    min-width:0;
  }
  .weekly-matchup-surface .week1-team-name{
    font-size:var(--type-card);
    overflow-wrap:anywhere;
    word-break:normal;
    hyphens:none;
  }
  .weekly-matchup-surface .week1-manager{font-size:var(--type-meta);}
  .weekly-matchup-surface .week1-score{min-width:0;gap:4px;margin-top:49px;}
  .weekly-matchup-surface .week1-score strong{font-size:var(--type-card);}

  .weekly-matchup-surface .week1-metrics>div{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);}

  /* Preserve the tablet's side-by-side player comparison on mobile. */
  .weekly-matchup-surface .week1-player-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .weekly-matchup-surface .week1-player-columns>div{min-width:0;}
  .weekly-matchup-surface .week1-player-columns>div+div{padding-left:10px;border-left:1px solid var(--line);border-top:0;margin-top:0;padding-top:0;}
  .weekly-matchup-surface .week1-player-row{align-items:flex-start;min-height:38px;padding:5px 0;}
  .weekly-matchup-surface .week1-player-name>span:last-child{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;}
  .weekly-matchup-surface .week1-player-head span:last-child{display:inline;}

  /* Tablet insight treatment is left aligned. */
  .weekly-matchup-surface .week1-insight{text-align:left;}
}

@media (max-width:420px){
  .weekly-matchup-surface .week1-team-score-row{
    grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);
    gap:5px;
  }
  .weekly-matchup-surface .week1-team-side{gap:6px;}
  .weekly-matchup-surface .week1-team-side .team-avatar,
  .weekly-matchup-surface .week1-team-side .team-avatar-placeholder{width:42px!important;height:42px!important;}
  .weekly-matchup-surface .week1-score strong{font-size:var(--type-card);}
  .weekly-matchup-surface .week1-player-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .weekly-matchup-surface .week1-player-columns>div+div{padding-left:8px;border-left:1px solid var(--line);border-top:0;padding-top:0;margin-top:0;}
}

/* ---------- WEEK 1 HOME REORDER + WRITE-UP LINK ---------- */
#homeContent .home-stat-link{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
#homeContent .home-stat-link:hover{
  border-color:rgba(37,99,235,.35);
  box-shadow:0 0 0 1px rgba(37,99,235,.06),var(--shadow-sm);
  transform:translateY(-1px);
}
#homeContent .home-stat-link .home-stat-value{color:var(--accent);}
.weekly-matchup-surface .week1-awards-first{margin-top:0;}

/* ---------- 2026 SEASON · MATCHUP PREVIEW / RECAP INSIGHTS ---------- */
#panel-season2026 .mu-insights{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--line);
}
#panel-season2026 .mu-insight-metrics{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
#panel-season2026 .mu-insight-metrics>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);
  gap:10px;
  align-items:center;
  font-size:var(--ui-type-body);
  font-variant-numeric:tabular-nums;
}
#panel-season2026 .mu-insight-metrics span:first-child{text-align:left;font-weight:600;}
#panel-season2026 .mu-insight-metrics span:last-child{text-align:right;font-weight:600;}
#panel-season2026 .mu-insight-metrics b{
  color:var(--grey-500);
  font-size:var(--ui-type-label);
  font-weight:600;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#panel-season2026 .mu-player-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:11px;
  margin-bottom:6px;
  color:var(--grey-500);
  font-size:var(--ui-type-label);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#panel-season2026 .mu-player-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
#panel-season2026 .mu-player-columns>div+div{
  border-left:1px solid var(--line);
  padding-left:18px;
}
#panel-season2026 .mu-player-row{
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid var(--line);
  font-size:var(--ui-type-body-sm);
}
#panel-season2026 .mu-player-row:last-child{border-bottom:0;}
#panel-season2026 .mu-player-name{
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:5px;
  line-height:1.2;
}
#panel-season2026 .mu-player-name>span{color:var(--grey-300);font-size:var(--ui-type-label);font-weight:600;flex:0 0 auto;}
#panel-season2026 .mu-player-name>b{min-width:0;font-weight:600; 
font-size:var(--ui-type-body-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#panel-season2026 .mu-player-name small{color:var(--grey-500);font-size:var(--ui-type-meta);font-weight:600;flex:0 0 auto;}
#panel-season2026 .mu-player-value{flex:0 0 auto;text-align:right;font-size:var(--ui-type-body-sm); font-weight:600;font-variant-numeric:tabular-nums;}
#panel-season2026 .mu-player-value small{display:block;color:var(--grey-500);font-size:var(--ui-type-meta);font-weight:600;margin-top:1px;}
#panel-season2026 .mu-player-empty{padding:8px 0;color:var(--grey-500);font-size:var(--type-label);}
#panel-season2026 .mu-insight-note{
  margin-top:10px;
  padding:9px 10px;
  border-radius:6px;
  background:var(--grey-50,#f7f7f7);
  color:var(--grey-500);
  font-size:var(--ui-type-small,11.5px);
  line-height:1.45;
}
#panel-season2026 .mu-insight-note b{
  display:block;
  margin-bottom:2px;
  color:var(--ink);
  font-size:var(--ui-type-label);
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#panel-season2026 .mu-insights + .mu-context{margin-top:10px;}
#panel-season2026 .mu-card.mu-recap .mu-team.is-loser .mu-team-name,
#panel-season2026 .mu-card.mu-recap .mu-team.is-loser .mu-mgr,
#panel-season2026 .mu-card.mu-recap .mu-score .is-loser,
#panel-season2026 .mu-card.mu-recap .mu-insight-metrics .is-loser,
#panel-season2026 .mu-card.mu-recap .mu-player-columns>.is-loser .mu-player-name,
#panel-season2026 .mu-card.mu-recap .mu-player-columns>.is-loser .mu-player-value{opacity:.5;}

@media (max-width:640px){
  #panel-season2026 .mu-insights{margin-top:12px;padding-top:10px;}
  #panel-season2026 .mu-insight-metrics>div{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:7px;}
  #panel-season2026 .mu-player-columns{gap:10px;}
  #panel-season2026 .mu-player-columns>div+div{padding-left:10px;}
  #panel-season2026 .mu-player-row{align-items:flex-start;min-height:50px;padding:10px 0;}
  #panel-season2026 .mu-player-name{align-items:flex-start;flex-wrap:wrap;}
  #panel-season2026 .mu-player-name>b{white-space:normal;overflow:visible;text-overflow:clip;}
  #panel-season2026 .mu-insight-note{text-align:center;}
}
@media (max-width:420px){
  #panel-season2026 .mu-player-columns{grid-template-columns:1fr;gap:2px;}
  #panel-season2026 .mu-player-columns>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:4px;margin-top:4px;}
  #panel-season2026 .mu-player-head span:last-child{display:none;}
}


/* ---------- 2026 SEASON: GAME OF THE WEEK ---------- */
#panel-season2026 .mu-card.game-of-week{
  border-color:rgba(37,99,235,.35);
  box-shadow:0 0 0 1px rgba(37,99,235,.06),var(--shadow-sm);
}
#panel-season2026 .s26-matchup-kicker{
  min-height:20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
#panel-season2026 .s26-matchup-rank{
  font-size:var(--ui-type-label);
  line-height:1.2;
  font-weight:600;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--grey-500);
  text-align:right;
}
@media(max-width:640px){
  #panel-season2026 .s26-matchup-kicker.is-gow{
    justify-content:center;
    flex-direction:column;
    gap:4px;
    text-align:center;
  }
  #panel-season2026 .s26-matchup-kicker.is-gow>div{
    width:100%;
    text-align:center;
  }
  #panel-season2026 .s26-matchup-kicker.is-gow .s26-matchup-rank{
    text-align:center;
  }
}


/* ============================================================
   OG LEAGUE TYPOGRAPHY v2 — AUTHORITATIVE CARD + TABLE HIERARCHY
   One component family, one hierarchy. Do not add local font sizes
   to cards or tables unless the information role actually changes.
   ============================================================ */

/* Card hierarchy: label 10 / bold value or name 14 / supporting copy 11. */
:is(#homeContent,#weeklyWriteupContent) .home-stat-label,
:is(#homeContent,#weeklyWriteupContent) .home-award-label{font-size:var(--type-label);font-weight:600;}
:is(#homeContent,#weeklyWriteupContent) .home-stat-value,
:is(#homeContent,#weeklyWriteupContent) .home-award-team{font-size:var(--type-card);font-weight:600;line-height:1.25;}
:is(#homeContent,#weeklyWriteupContent) .home-stat-meta,
:is(#homeContent,#weeklyWriteupContent) .home-award-value{font-size:var(--type-meta);font-weight:400;line-height:1.5;}

/* Table hierarchy: header 10 / every row value 13 / team emphasis is weight only. */
.home-table,
.s26-power-table,
.s26-standings-table,
.luck-table,
.team-season-table,
.rivalry-table-wrap table,
.recordbook-table-wrap table,
#panel-records table{font-size:var(--type-body);}

.home-table thead th,
.s26-power-table thead th,
.s26-standings-table thead th,
.luck-table thead th,
.team-season-table thead th,
.rivalry-table-wrap thead th,
.recordbook-table-wrap thead th,
#panel-records table thead th{font-size:var(--type-label);font-weight:600;line-height:1.2;}

.home-table tbody td,
.s26-power-table tbody td,
.s26-standings-table tbody td,
.luck-table tbody td,
.team-season-table tbody td,
.rivalry-table-wrap tbody td,
.recordbook-table-wrap tbody td,
#panel-records table tbody td{font-size:var(--type-body);font-weight:400;line-height:1.35;}

.home-table .team-cell,
.s26-power-table .team-cell,
.s26-standings-table .team-cell,
.team-season-table .team-cell,
.rivalry-table-wrap .team-cell,
.recordbook-table-wrap .team-cell,
#panel-records table .team-cell,
.luck-table .luck-team{font-size:var(--type-body);font-weight:600;}

.home-table .rk,
.s26-power-table .rk,
.s26-standings-table .rk,
.luck-table .luck-pos,
.recordbook-table-wrap .rk{font-size:var(--type-body);font-weight:400;}

.team-name-link{font-size:inherit;}

/* ============================================================
   HOME MOBILE CARDS — LEFT-ALIGNED CONTENT
   Mobile callout cards follow the same scan pattern as the reference:
   label → primary value/name → supporting copy, all aligned left.
   ============================================================ */
@media (max-width:640px){
  :is(#homeContent,#weeklyWriteupContent) .home-award-card,
  :is(#homeContent,#weeklyWriteupContent) .home-stat{
    text-align:left;
    align-items:flex-start;
    justify-content:flex-start;
  }

  :is(#homeContent,#weeklyWriteupContent) .home-award-top{
    width:100%;
    justify-content:flex-start;
  }

  :is(#homeContent,#weeklyWriteupContent) .home-award-label,
  :is(#homeContent,#weeklyWriteupContent) .home-award-team,
  :is(#homeContent,#weeklyWriteupContent) .home-award-value,
  :is(#homeContent,#weeklyWriteupContent) .home-stat-label,
  :is(#homeContent,#weeklyWriteupContent) .home-stat-value,
  :is(#homeContent,#weeklyWriteupContent) .home-stat-meta{
    width:100%;
    text-align:left;
  }
}

/* ============================================================
   OG LEAGUE v20 — SECTION + TABLE CONSISTENCY
   Section titles gain one shared 22px role. Table header rows use
   one shared visual treatment everywhere; column alignment can vary,
   but typography, height, fill and divider do not.
   ============================================================ */
:root{
  --type-section-title:22px;
  --table-head-height:40px;
}

/* Major section titles: one size everywhere. */
#homeContent .home-block-head h3,
.home-block-head h3,
.ui-section-head h3,
.ui-content-head h3,
.ui-content-head h4,
#panel-home .s26-section-head h3,
.recordbook-view-head h3,
#recordBookRecordsView .rb-section-head h3,
#recordBookPlayoffsView .rb-content-section-head h3,
.season-recap-head h3,
.trades-view-head h3,
.draft-fun-head h3,
.draft-board-head h3,
.embedded-luck-head h3{
  font-size:var(--type-section-title)!important;
  line-height:1.15;
  font-weight:600;
  letter-spacing:var(--tracking-tight);
}

/* Home section headers no longer reserve space for removed helper copy. */
#homeContent .home-block-head{
  min-height:0;
}

/* One authoritative table/header-row language across the portal. */
table thead th,
#homeContent .home-playoff-headrow,
.champ-history-head{
  height:var(--table-head-height)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  background:transparent!important;
  border-bottom:1px solid var(--line)!important;
  color:var(--grey-500)!important;
  font-size:var(--type-label)!important;
  line-height:1.2!important;
  font-weight:600!important;
  text-transform:uppercase!important;
  letter-spacing:var(--tracking-label)!important;
}
#homeContent .home-playoff-headrow{
  background:transparent!important;
  border-left:0!important;
  border-right:0!important;
  border-top:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
table thead th{vertical-align:middle!important;}





/* ============================================================
   STANDINGS MODULE — OFFICIAL / ALL-PLAY SWITCH
   One reusable component on both 2026 Season and Record Book.
   The view switch owns navigation; the two data views remain
   independent renderers so neither can overwrite the other.
   ============================================================ */
.standings-switch-module{width:100%;min-width:0;}
.standings-view-switch.ui-scope{
  justify-content:flex-start;
  width:auto;
  max-width:100%;
  margin:0 0 var(--space-4);
}
.standings-view-switch.ui-scope button,
.standings-view-switch.ui-scope button:nth-child(2){
  min-width:0;
  padding-left:12px;
  padding-right:12px;
}
.standings-switch-module [data-standings-panel][hidden]{display:none!important;}

/* 2026 Standings header: section title anchors left; view switch anchors far right. */
#panel-home .s26-standings-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%;
  margin:0 0 16px;
}
#panel-home .s26-standings-head .s26-section-head{
  margin:0;
  flex:0 0 auto;
}
#panel-home .s26-standings-head .standings-view-switch.ui-scope{
  margin:0 0 0 auto;
  flex:0 0 auto;
}
#panel-home .s26-standings-module .luck-callouts{margin-top:0;}

@media(max-width:640px){
  .standings-view-switch.ui-scope{
    justify-content:flex-start;
    width:auto;
    max-width:100%;
    margin-left:0;
    margin-right:0;
  }
  .standings-view-switch.ui-scope button{flex:0 0 auto;width:auto;}

  /* Let the view switch wrap beneath the heading on narrow phones. */
  #panel-home .s26-standings-head{
    flex-wrap:wrap;
    gap:10px;
  }
  #panel-home .s26-standings-head .s26-section-head{
    text-align:left!important;
    min-width:0;
  }
  #panel-home .s26-standings-head .s26-section-head h3{
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #panel-home .s26-standings-head .standings-view-switch.ui-scope{
    margin-left:0;
  }
  #panel-home .s26-standings-head .standings-view-switch.ui-scope button{
    padding-left:9px;
    padding-right:9px;
  }
}


/* ============================================================
   WEEKLY SEASON COMPONENTS — SHARED HOME + 2026 SEASON
   The matchup cards and weekly table pair are one component system.
   ============================================================ */
#panel-season2026 .season-weekly-schedule{margin-bottom:36px;}
#panel-season2026 .season-weekly-schedule .home-block-head{margin-bottom:12px;}
#panel-season2026 .season-weekly-tables{margin:0 0 36px;}
#panel-season2026 .season-weekly-tables .home-block{min-width:0;}
#panel-season2026 .season-weekly-tables .home-block-head{min-height:0;align-items:flex-end;margin-bottom:12px;}
#panel-season2026 .season-weekly-tables .home-table-card{width:100%;}
#panel-season2026 .season-weekly-tables .home-table{width:100%;table-layout:auto;}
#panel-season2026 .season-weekly-tables .home-playoff-list{width:100%;}

@media(max-width:900px){
  #panel-season2026 .season-weekly-tables{grid-template-columns:1fr;}
}
@media(max-width:640px){
  #panel-season2026 .season-weekly-schedule .home-block-head,
  #panel-season2026 .season-weekly-tables .home-block-head{
    text-align:left!important;
  }
  #panel-season2026 .season-weekly-schedule .home-block-head h3,
  #panel-season2026 .season-weekly-tables .home-block-head h3{
    text-align:left!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #panel-season2026 .home-playoff-headrow,
  #panel-season2026 .home-playoff-row{
    grid-template-columns:36px minmax(0,1fr) 88px;
    padding-left:10px;
    padding-right:10px;
  }
  #panel-season2026 .home-table thead th,
  #panel-season2026 .home-table tbody td{
    padding-left:10px;
    padding-right:10px;
  }
}

/* ============================================================
   TEAMS + FRANCHISE DETAIL — SHARED SITE SYSTEM
   One authoritative visual layer for the final major portal area.
   Existing franchise/rivalry data logic is unchanged; this block
   only normalizes hierarchy, shells, spacing and responsive behavior.
   ============================================================ */

/* Teams directory */
#panel-teams .teams-page-head{
  align-items:center;
  margin-bottom:var(--space-6);
}
#panel-teams .fr-grid{
  gap:var(--gap-grid);
}
#panel-teams .fr-card{
  display:block;
  padding:var(--pad-card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--white);
  box-shadow:var(--shadow-sm);
}
#panel-teams .fr-card-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-4);
}
#panel-teams .fr-card-header .fr-card-left{
  flex:0 1 320px;
}
#panel-teams .fr-name{
  font-size:var(--type-card);
  line-height:1.25;
  font-weight:600;
}
#panel-teams .fr-history{
  font-size:var(--type-meta);
  line-height:1.4;
  margin-top:2px;
}
#panel-teams .fr-card .fr-stats{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:var(--space-4);
  width:100%;
  margin-top:var(--space-4);
  padding-top:var(--space-4);
  border-top:1px solid var(--line);
}
#panel-teams .fr-card .fr-stats>div{
  min-width:0;
  text-align:left;
}
#panel-teams .fr-card .fr-stats .v{
  font-size:var(--type-stat);
  line-height:1.05;
  font-weight:600;
  letter-spacing:var(--tracking-stat);
}
#panel-teams .fr-card .fr-stats .l{
  margin-top:var(--space-1);
  font-size:var(--type-label);
  line-height:1.25;
  font-weight:600;
  letter-spacing:var(--tracking-label);
}
#panel-teams .archived-toggle-wrap{
  margin-top:var(--space-8);
  padding-top:var(--space-5);
  border-top:1px solid var(--line);
}

/* Franchise detail hero */
#panel-teams #teamDetailView .detail-head{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:var(--space-5) var(--space-6);
}
#panel-teams #teamDetailView .detail-title-row{
  align-items:flex-start;
  gap:var(--space-5);
}
#panel-teams #teamDetailView .detail-head h2{
  font-size:var(--type-page);
  line-height:1.08;
  font-weight:600;
  letter-spacing:-.03em;
}
#panel-teams #teamDetailView .detail-history{
  font-size:var(--type-meta);
  line-height:1.45;
  margin-top:var(--space-1);
}
#panel-teams #teamDetailView .detail-head .fr-stats{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:var(--space-4);
  width:100%;
  margin-top:var(--space-5);
  padding-top:var(--space-4);
  border-top:1px solid var(--line);
}
#panel-teams #teamDetailView .detail-head .fr-stats>div{
  min-width:0;
  text-align:left;
}
#panel-teams #teamDetailView .detail-head .fr-stats .v{
  display:block;
  font-size:var(--type-stat);
  line-height:1.05;
  font-weight:600;
  letter-spacing:var(--tracking-stat);
}
#panel-teams #teamDetailView .detail-head .fr-stats .l{
  display:block;
  margin-top:var(--space-1);
  font-size:var(--type-label);
  line-height:1.25;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:var(--tracking-label);
  color:var(--grey-500);
}

/* Shared franchise-detail section rhythm */
#panel-teams #teamDetailView .team-detail-section{
  margin-top:var(--space-8);
}
#panel-teams #teamDetailView .team-detail-section-head{
  margin-bottom:var(--space-3);
}
#panel-teams #teamDetailView .team-detail-section-head h3{
  font-size:var(--type-section-title)!important;
}
#panel-teams #teamDetailView .team-resume-grid{
  gap:var(--gap-grid);
}
#panel-teams #teamDetailView .team-resume-card{
  padding:var(--pad-card);
  border:1px solid var(--line);
}
#panel-teams #teamDetailView .team-resume-stat{
  font-size:var(--type-stat);
}
#panel-teams #teamDetailView .team-roster-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;}
#panel-teams #teamDetailView .team-roster-head>div:first-child{min-width:0;}
#panel-teams #teamDetailView .team-roster-week{flex:0 0 auto;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:var(--type-meta);font-weight:600;color:var(--grey-600);}
#panel-teams #teamDetailView .team-roster-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--line);overflow:hidden;}
#panel-teams #teamDetailView .team-roster-summary>div{display:flex;flex-direction:column;gap:4px;padding:14px 16px;background:var(--white);}
#panel-teams #teamDetailView .team-roster-summary span{font-size:var(--type-label);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--grey-500);}
#panel-teams #teamDetailView .team-roster-summary b{font-size:var(--type-stat);line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums;}
#panel-teams #teamDetailView .team-roster-group{margin-top:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-sm);overflow:hidden;}
#panel-teams #teamDetailView .team-roster-group-title{padding:10px 14px;border-bottom:1px solid var(--line);background:var(--grey-100);font-size:var(--type-label);font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--grey-500);}
#panel-teams #teamDetailView .team-roster-row{display:grid;grid-template-columns:64px minmax(0,1fr) 74px 74px;align-items:center;gap:12px;min-height:58px;padding:9px 14px;border-bottom:1px solid var(--line);}
#panel-teams #teamDetailView .team-roster-row:last-child{border-bottom:0;}
#panel-teams #teamDetailView .team-roster-slot{font-size:var(--type-label);font-weight:600;color:var(--accent);}
#panel-teams #teamDetailView .team-roster-player{display:flex;min-width:0;flex-direction:column;gap:2px;}
#panel-teams #teamDetailView .team-roster-player b{font-size:var(--type-body);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#panel-teams #teamDetailView .team-roster-player span{font-size:var(--type-meta);line-height:1.3;color:var(--grey-500);}
#panel-teams #teamDetailView .team-roster-number{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-variant-numeric:tabular-nums;}
#panel-teams #teamDetailView .team-roster-number span{font-size:var(--type-label);line-height:1.2;text-transform:uppercase;color:var(--grey-500);}
#panel-teams #teamDetailView .team-roster-number b{font-size:var(--type-body);line-height:1.25;font-weight:600;}
#panel-teams #teamDetailView .team-roster-loading,#panel-teams #teamDetailView .team-roster-empty{padding:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--grey-100);font-size:var(--type-body);line-height:1.45;color:var(--grey-500);}

/* Season History gets the exact same table shell used elsewhere. */
#panel-teams #teamDetailView .team-season-table-wrap{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
#panel-teams #teamDetailView .team-season-table{
  width:100%;
  min-width:700px;
}
#panel-teams #teamDetailView .team-season-table thead th{
  padding-left:var(--space-4)!important;
  padding-right:var(--space-4)!important;
}
#panel-teams #teamDetailView .team-season-table tbody td{
  padding:12px var(--space-4);
}
#panel-teams #teamDetailView .team-season-table tbody tr:last-child td{
  border-bottom:0;
}

/* Recent trades use a card shell, not a loose ruled list. */
#panel-teams #teamDetailView .team-trade-list{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
#panel-teams #teamDetailView .team-trade-row{
  padding:14px var(--space-4);
  border-bottom:1px solid var(--line);
}
#panel-teams #teamDetailView .team-trade-row:last-child{
  border-bottom:0;
}
#panel-teams #teamDetailView .team-trade-more{
  margin-top:var(--space-2);
}

/* Highs/Lows + Head-to-Head align with the shared card/list language. */
#panel-teams #teamDetailView .hl-grid{
  gap:var(--gap-grid);
}
#panel-teams #teamDetailView .hl-card{
  border:1px solid var(--line);
  padding:var(--pad-card);
}
#panel-teams #teamDetailView .team-rivalry-list{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  overflow:hidden;
}
#panel-teams #teamDetailView .team-rivalry-list .rv-item{
  padding:12px var(--space-4);
}
#panel-teams #teamDetailView .team-rivalry-list .rv-item:last-child{
  border-bottom:0;
}
#panel-teams #teamDetailView .team-rivalry-list .rv-item.rivalry-link:hover{
  background:var(--accent-light);
  padding-left:var(--space-4);
  padding-right:var(--space-4);
}

/* Rivalry detail inherits the final table/card system too. */
#panel-teams #rivalryDetailView .rivalry-stat,
#panel-teams #rivalryDetailView .rivalry-highlight,
#panel-teams #rivalryDetailView .rivalry-hero{
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
#panel-teams #rivalryDetailView .rivalry-history-head h3{
  font-size:var(--type-section-title);
  font-weight:600;
}
#panel-teams #rivalryDetailView .rivalry-table-wrap{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}

@media(max-width:900px){
  #panel-teams .fr-card .fr-stats,
  #panel-teams #teamDetailView .detail-head .fr-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:640px){
  #panel-teams .teams-page-head{
    align-items:center;
  }
  #panel-teams .fr-card{
    padding:var(--pad-card);
  }
  #panel-teams .fr-card-header{
    align-items:flex-start;
    text-align:left;
  }
  #panel-teams .fr-card-header .fr-card-left{
    justify-content:flex-start;
    text-align:left;
  }
  #panel-teams .fr-badge-wrap,
  #panel-teams .fr-badges{
    justify-content:flex-start;
  }
  #panel-teams .fr-card .fr-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--space-4) var(--space-2);
  }
  #panel-teams .fr-card .fr-stats>div{
    text-align:left;
  }
  #panel-teams .archived-toggle{
    margin-left:0;
    margin-right:0;
  }

  #panel-teams #teamDetailView .detail-head{
    padding:var(--pad-card);
  }
  #panel-teams #teamDetailView .detail-title-row{
    align-items:flex-start;
    text-align:left;
  }
  #panel-teams #teamDetailView .detail-title-copy{
    width:100%;
  }
  #panel-teams #teamDetailView .detail-history{
    max-width:none;
    margin:var(--space-1) 0 0;
  }
  #panel-teams #teamDetailView .detail-title-row .fr-badge-wrap,
  #panel-teams #teamDetailView .detail-title-row .fr-badges{
    justify-content:flex-start;
  }
  #panel-teams #teamDetailView .detail-head .fr-stats{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--space-4) var(--space-2);
    margin-top:var(--space-4);
    padding-top:var(--space-4);
    padding-bottom:0;
    border-bottom:0;
  }
  #panel-teams #teamDetailView .detail-head .fr-stats>div{
    padding:0;
    text-align:left;
    border:0!important;
  }
  #panel-teams #teamDetailView .team-detail-section{
    margin-top:var(--space-8);
  }
  #panel-teams #teamDetailView .team-detail-section-head{
    text-align:left;
    margin-bottom:var(--space-3);
  }
  #panel-teams #teamDetailView .team-detail-section-head h3,
  #panel-teams #teamDetailView .team-detail-section-head p{
    text-align:left;
    margin-left:0;
    margin-right:0;
    max-width:none;
  }
  #panel-teams #teamDetailView .team-resume-card{
    text-align:left;
    padding:var(--pad-card);
  }
  #panel-teams #teamDetailView .team-trade-row{
    padding:12px var(--space-4);
  }
  #panel-teams #teamDetailView .team-trade-more{
    text-align:left;
  }
  #panel-teams #teamDetailView .team-roster-head{align-items:flex-start;}
  #panel-teams #teamDetailView .team-roster-summary>div{padding:12px 10px;}
  #panel-teams #teamDetailView .team-roster-summary b{font-size:var(--type-card-title);}
  #panel-teams #teamDetailView .team-roster-row{grid-template-columns:44px minmax(0,1fr) 54px 54px;gap:7px;min-height:55px;padding:8px 9px;}
  #panel-teams #teamDetailView .team-roster-player b{font-size:var(--type-meta);}
  #panel-teams #teamDetailView .team-roster-player span{font-size:var(--type-label);}
  #panel-teams #teamDetailView .team-roster-number b{font-size:var(--type-meta);}
  #panel-teams #teamDetailView .team-roster-number span{font-size:10px;}
  #panel-teams #teamDetailView .hl-card{
    text-align:left;
  }

  /* Rivalry matchup history keeps its existing mobile card conversion. */
  #panel-teams #rivalryDetailView .rivalry-history-head{
    align-items:flex-start;
  }
}

/* ============================================================
   TEAMS — MOBILE CONTENT-DRIVEN FRANCHISE CARDS
   Mobile franchise cards use a simple grid instead of inheriting
   the legacy flex sizing model. This prevents the header/badge area
   from stretching vertically and keeps height driven by content.
   ============================================================ */
@media(max-width:640px){
  #panel-teams .fr-card{
    display:block;
    min-height:0;
    padding:14px 16px;
  }
  #panel-teams .fr-card-header{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto auto;
    align-items:start;
    justify-content:stretch;
    gap:10px;
    min-height:0;
  }
  #panel-teams .fr-card-header .fr-card-left{
    display:flex;
    flex:none;
    width:100%;
    min-height:0;
    align-items:center;
  }
  #panel-teams .fr-badge-wrap{
    display:block;
    flex:none;
    width:100%;
    min-height:0;
    align-self:auto;
  }
  #panel-teams .fr-badges{
    display:flex;
    flex:none;
    width:100%;
    min-height:0;
    gap:6px;
    justify-content:flex-start;
    align-items:flex-start;
    align-content:flex-start;
  }
  #panel-teams .fr-card .fr-stats{
    margin-top:12px;
    padding-top:12px;
    gap:12px 8px;
  }
}

.weekly-matchup-surface .week1-team-record{font-size:var(--type-meta);font-weight:600;line-height:1.4;color:var(--grey-500);font-variant-numeric:tabular-nums;margin-top:var(--space-1);}

.trade-live-notice{font-size:var(--type-meta);color:var(--grey-500);margin-bottom:var(--space-4);line-height:1.5;}
.trade-live-state{display:inline-block;margin-left:var(--space-2);color:var(--accent);font-weight:600;}
.trade-pending-heading{font-size:var(--type-section-title);margin:var(--gap-section) 0 var(--space-3);}
