
  :root{
    --bg:#08090d;
    --bg-alt:#151821;
    --card:#212530;
    --card-hover:#2b303d;
    --border:#404756;
    --border-strong:#545d70;
    --surface-soft:#171a22;
    --surface-raised:#2a2f3c;
    --text:#f7f7f9;
    --text-dim:#c2c6d0;
    --red:#e10600;
    --accent:#e10600;
    --gold:#d4af37;
    --news-accent:#3677b7;
    --silver:#d1d4d9;
    --intro:#00a19b;
    --radius:6px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{
    -webkit-text-size-adjust:100%;
    text-rendering:optimizeLegibility;
    font-kerning:normal;
    font-synthesis:none;
  }
  body{
    font-family:'Barlow', 'Segoe UI', Arial, sans-serif;
    background:linear-gradient(180deg,#0e1017 0,var(--bg) 300px) fixed;
    color:var(--text);
    font-weight:600;
    line-height:1.45;
    min-height:100vh;
    overflow-x:hidden;
  }
  h1,h2,h3,h4{
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:0.5px;
  }
  a{color:inherit;text-decoration:none;}
  button,input,select,textarea{font-family:inherit;font-weight:inherit;}
  button{cursor:pointer;}
  ::-webkit-scrollbar{width:10px;height:10px;}
  ::-webkit-scrollbar-track{background:var(--bg-alt);}
  ::-webkit-scrollbar-thumb{background:var(--border);border-radius:10px;}

  /* ---------- LANDING SCREEN ---------- */
  #landing-screen{
    min-height:100vh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:40px 20px;
    background:
      radial-gradient(ellipse at top, rgba(225,6,0,0.12), transparent 60%),
      repeating-linear-gradient(-45deg, rgba(255,255,255,0.015) 0px, rgba(255,255,255,0.015) 2px, transparent 2px, transparent 14px),
      var(--bg);
    text-align:center;
  }
  .landing-kicker{
    color:var(--gold);
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:30px;
    padding:5px 15px 5px 19px;
    border:1px solid rgba(212,175,55,.48);
    border-radius:999px;
    background:linear-gradient(180deg,rgba(212,175,55,.15),rgba(212,175,55,.055));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.2);
    font-weight:900;
    letter-spacing:4px;
    font-size:12px;
    margin-bottom:14px;
  }
  .landing-title{
    font-size:clamp(30px, 8vw, 64px);
    line-height:1.05;
    margin-bottom:8px;
  }
  .landing-title span{color:var(--gold);}
  .landing-sub{
    color:var(--text-dim);
    font-size:clamp(13px,3vw,16px);
    margin-bottom:40px;
    max-width:560px;
  }
  .division-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(230px,1fr));
    gap:18px;
    width:100%;
    max-width:980px;
  }
  .division-card{
    position:relative;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:10px;
    padding:28px 20px 22px;
    overflow:hidden;
    transition:transform .18s ease, border-color .18s ease, background .18s ease;
    text-align:left;
  }
  .division-card:hover{
    transform:translateY(-4px);
    border-color:var(--dc-color);
    background:var(--card-hover);
  }
  .division-card::before{
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:6px;
    background:var(--dc-color);
  }
  .division-card .dc-tier{
    display:inline-block;
    font-size:11px;
    color:var(--dc-color);
    letter-spacing:1.5px;
    font-weight:700;
    margin-bottom:14px;
    padding:4px 11px;
    border-radius:999px;
    background:rgba(255,255,255,0.08);
    border:1px solid rgba(255,255,255,0.14);
  }
  .division-card h3{
    font-size:24px;
    color:var(--dc-color);
    margin-bottom:10px;
  }
  .division-card p{
    color:var(--text-dim);
    font-size:14px;
    line-height:1.5;
    margin-bottom:20px;
    min-height:64px;
  }
  .dc-info{list-style:none;margin:0 0 20px;padding:0;min-height:56px;}
  .dc-info li{color:var(--text-dim);font-size:14px;line-height:1.6;padding-left:16px;position:relative;}
  .dc-info li strong{color:var(--text);font-weight:800;}
  .dc-info .flag-icon{margin-right:0;}
  .dc-info li::before{content:"•";position:absolute;left:0;color:var(--dc-color);font-weight:900;}
  .division-card .dc-enter{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:700;
    font-size:13px;
    letter-spacing:1px;
    color:var(--text);
  }
  .division-card .dc-enter::after{
    content:"\2192";
    color:var(--dc-color);
    transition:transform .18s ease;
  }
  .division-card:hover .dc-enter::after{transform:translateX(4px);}

  .special-series-tabs{
    display:grid;
    grid-template-columns:repeat(7,minmax(0,1fr));
    gap:7px;
    width:100%;
    max-width:980px;
    margin-top:18px;
    padding-top:16px;
    border-top:1px solid rgba(255,255,255,.72);
  }
  .special-series-tab{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    height:36px;
    min-width:0;
    padding:0 7px;
    border:1px solid var(--border);
    border-radius:6px;
    background:#15151d;
    color:var(--text-dim);
    font-size:11.5px;
    font-weight:900;
    letter-spacing:.35px;
    text-transform:uppercase;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    transition:border-color .16s ease,color .16s ease,background .16s ease,transform .16s ease;
  }
  .special-series-tab img{width:18px;height:18px;object-fit:contain;flex:0 0 18px;}
  .special-series-tab span{min-width:0;overflow:hidden;text-overflow:ellipsis;}
  .special-series-tab:hover{
    color:var(--gold);
    border-color:var(--gold);
    background:#1d1c20;
    transform:translateY(-1px);
  }
  .special-series-tab:disabled,
  .special-series-tab.is-disabled{
    cursor:default;
    opacity:1;
    border-color:var(--border-strong);
    background:var(--surface-raised);
    color:var(--text-dim);
    filter:none;
    transform:none;
  }
  .special-series-tab:disabled:hover,
  .special-series-tab.is-disabled:hover{
    border-color:var(--border-strong);
    background:var(--surface-raised);
    color:var(--text-dim);
    transform:none;
  }
  .modal-overlay.series-view{padding:18px;background:rgba(3,4,7,.94);align-items:stretch;backdrop-filter:blur(10px);}
  .series-view .modal-box.is-wide{max-width:1080px;max-height:calc(100vh - 36px);padding:0;border:1px solid #343946;border-radius:14px;box-shadow:0 28px 90px rgba(0,0,0,.7);}
  .series-view .modal-close{z-index:3;top:18px;right:20px;width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#171a21;color:#fff;font-size:21px;}
  .series-view .modal-close:hover{border-color:var(--gold);color:var(--gold);}
  .series-detail{text-align:left;min-height:100%;background:#0d0f14;}
  .series-hero{position:relative;overflow:hidden;padding:30px 74px 28px 30px;border-bottom:1px solid #343946;background:linear-gradient(120deg,#20242d 0%,#14171d 72%);}
  .series-hero::after{content:"";position:absolute;right:-70px;top:-110px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(212,175,55,.2),transparent 67%);pointer-events:none;}
  .series-brand{position:relative;z-index:1;display:flex;align-items:center;gap:18px;}
  .series-hero-icon{width:72px;height:72px;object-fit:contain;flex:0 0 72px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.4));}
  .series-kicker{font-size:9px;font-weight:900;letter-spacing:2.2px;color:var(--gold);text-transform:uppercase;margin-bottom:6px;}
  .series-hero h2{font-size:clamp(29px,4vw,42px);line-height:1;margin:0 0 9px;color:#fff;letter-spacing:-.5px;}
  .series-hero p{font-size:13px;color:#b9bdc8;line-height:1.55;margin:0;max-width:700px;}
  .series-meta{position:relative;z-index:1;display:flex;gap:7px;flex-wrap:wrap;margin-top:18px;}
  .series-chip{border:1px solid #4a4f5d;background:#252a33;border-radius:5px;padding:5px 9px;font-size:8px;font-weight:900;letter-spacing:.55px;color:#d9dce4;text-transform:uppercase;}
  .series-body{padding:2px 30px 36px;}
  .series-section{margin-top:26px;content-visibility:auto;contain-intrinsic-size:auto 280px;}
  .series-section h3{display:flex;align-items:center;gap:10px;font-size:13px;color:#fff;margin:0 0 12px;padding-bottom:10px;border-bottom:1px solid #343946;letter-spacing:1.1px;}
  .series-section h3::before{content:"";width:4px;height:16px;border-radius:1px;background:var(--gold);flex:0 0 4px;}
  .series-section-last-results{margin:22px -8px 0;padding:18px 18px 20px;border:1px solid rgba(212,175,55,.34);border-radius:10px;background:linear-gradient(145deg,rgba(212,175,55,.09),rgba(255,255,255,.015) 48%,rgba(255,255,255,.01));}
  .series-section-last-results h3{color:#f3d779;border-bottom-color:rgba(212,175,55,.28);}
  .series-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
  .series-card{position:relative;overflow:hidden;background:#191c23;border:1px solid #353a46;border-radius:7px;padding:17px;min-width:0;box-shadow:0 8px 22px rgba(0,0,0,.18);}
  .series-card::before{content:none;}
  .series-card h4{font-size:13px;margin:0 0 13px;color:#fff;letter-spacing:.7px;}
  .series-card p,.series-card li{font-size:12px;color:#b8b8c6;line-height:1.6;margin:8px 0;}
  .series-card p strong{color:#fff;font-size:13px;}
  .series-card ul{list-style:none;margin:0;padding:0;}
  .series-card li+li{margin-top:5px;}
  .series-champion{padding:11px 12px;margin:0 -3px 12px;border-radius:6px;background:linear-gradient(90deg,rgba(216,175,40,.17),rgba(216,175,40,.03));border-left:3px solid var(--gold);}
  .series-champion-label{display:block;color:var(--gold);font-size:9px;font-weight:900;letter-spacing:1.3px;text-transform:uppercase;margin-bottom:3px;}
  .series-champion strong{display:block;color:#fff;font-size:14px;line-height:1.4;}
  .series-podium{min-height:44px;color:#d6d6df;font-size:12px;font-weight:700;line-height:1.65;}
  .series-calendar{border-top:1px solid var(--border);padding-top:10px;margin-top:11px;color:#9898aa;font-size:10.5px;line-height:1.65;}
  .series-table-wrap{overflow-x:auto;background:#171a20;border:1px solid #363b47;border-radius:7px;box-shadow:0 8px 24px rgba(0,0,0,.15);}
  .series-table{width:100%;border-collapse:collapse;font-size:13px;}
  .series-table th{background:#22222c;color:#9292a7;font-size:10px;text-transform:uppercase;letter-spacing:1px;text-align:left;padding:12px 14px;border-bottom:2px solid #30303d;}
  .series-table td{padding:12px 14px;border-bottom:1px solid #30303a;color:#f0f0f4;font-weight:750;}
  .series-table tbody tr{transition:background .15s ease;}
  .series-table tbody tr:hover{background:rgba(255,255,255,.025);}
  .series-table tr:last-child td{border-bottom:0;}
  .series-table td:first-child{width:42px;color:#a8a8ba;font-weight:900;}
  .series-table tr.rank-1 td:first-child{color:#f4cb30;}
  .series-table tr.rank-2 td:first-child{color:#d8dce5;}
  .series-table tr.rank-3 td:first-child{color:#dc8a39;}
  .series-table .points{text-align:right;white-space:nowrap;font-weight:900;}
  .series-table tr.rank-1 .points{color:#f4cb30;}
  .series-note{font-size:11px;color:#9898aa;line-height:1.65;margin-top:11px;padding-left:11px;border-left:2px solid var(--gold);}
  .series-intro{padding:18px 20px;background:linear-gradient(135deg,rgba(216,175,40,.1),rgba(255,255,255,.02));border:1px solid rgba(216,175,40,.24);border-radius:9px;color:#c7c7d2;font-size:13px;line-height:1.75;}
  .series-intro strong{color:#fff;}
  .series-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;}
  .series-stat{min-width:0;padding:15px 12px;text-align:center;background:#1b1b23;border:1px solid var(--border);border-radius:8px;}
  .series-stat strong{display:block;color:var(--gold);font-size:22px;line-height:1;margin-bottom:7px;}
  .series-stat span{display:block;color:#9d9daf;font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase;line-height:1.35;}
  .series-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;counter-reset:seriesstep;}
  .series-flow .series-card{padding-top:46px;}
  .series-flow .series-card::after{counter-increment:seriesstep;content:counter(seriesstep);position:absolute;left:16px;top:13px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:#101014;font-size:11px;font-weight:1000;}
  .series-flow .series-card h4{margin-bottom:8px;}
  .night-edition-nav{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:8px;background:#15151d;border:1px solid var(--border);border-radius:9px;}
  .night-edition-tab{width:44px;height:38px;border:1px solid var(--border);border-radius:7px;background:#20202a;color:#aaaabb;font-size:13px;font-weight:950;transition:border-color .15s ease,background .15s ease,color .15s ease;}
  .night-edition-tab:hover{border-color:var(--gold);color:#fff;}
  .night-edition-tab.active{border-color:var(--gold);background:var(--gold);color:#111117;}
  .night-edition-panel{display:none;}
  .night-edition-panel.active{display:block;}
  .night-edition-panel .series-table-wrap{margin-top:14px;}
  .series-roster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .series-entry{display:flex;align-items:center;min-height:42px;padding:10px 12px;background:#1b1b23;border:1px solid var(--border);border-radius:7px;color:#eeeef3;font-size:12px;font-weight:850;}
  .series-entry small{display:block;margin-left:auto;color:#88889a;font-size:8px;letter-spacing:.8px;text-transform:uppercase;}
  .series-subtitle{display:block;margin-top:3px;color:#9292a5;font-size:10px;font-weight:700;line-height:1.5;}
  .series-empty{padding:22px 18px;text-align:center;background:#171a20;border:1px dashed #434957;border-radius:7px;color:#aeb2bd;font-size:12px;}

  .landing-footer{
    margin-top:48px;
    color:var(--text-dim);
    font-size:12px;
    letter-spacing:1px;
  }

  /* ---------- APP SCREEN ---------- */
  #app-screen{display:none;min-height:100vh;flex-direction:column;}
  #app-screen.active{display:flex;}
  #landing-screen.hidden{display:none;}

  header.topbar{
    background:var(--bg-alt);
    border-bottom:3px solid var(--accent);
    position:sticky;
    top:0;
    z-index:50;
  }
  .topbar-inner{
    max-width:1200px;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:14px 20px;
    gap:14px;
    flex-wrap:wrap;
  }
  .brand{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:900;
    font-size:17px;
    letter-spacing:1px;
    white-space:nowrap;
  }
  .brand .brand-mark{
    background:var(--red);
    color:#fff;
    padding:4px 8px;
    border-radius:4px;
    font-size:13px;
  }
  .division-badge{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:rgba(255,255,255,0.05);
    border:1px solid var(--border);
    padding:5px 12px;
    border-radius:20px;
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    color:var(--accent);
    white-space:nowrap;
  }
  .division-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex-shrink:0;}

  .tabs-shell{
    position:relative;
    width:100%;
    max-width:1200px;
    margin:0 auto;
  }
  nav.tabs{
    display:flex;
    gap:2px;
    overflow-x:auto;
    padding:0 48px 0 20px;
    width:100%;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    scroll-behavior:smooth;
  }
  nav.tabs::-webkit-scrollbar{display:none;}
  nav.tabs button{
    background:none;
    border:none;
    color:var(--text-dim);
    font-weight:700;
    font-size:13px;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:14px 16px;
    border-bottom:3px solid transparent;
    white-space:nowrap;
    flex-shrink:0;
    transition:color .15s ease, border-color .15s ease;
  }
  nav.tabs button:hover{color:var(--text);}
  nav.tabs button.active{color:var(--text);border-bottom-color:var(--accent);}
  .tabs-scroll-btn{
    position:absolute;
    z-index:4;
    top:0;
    bottom:0;
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    padding:0;
    border:0;
    color:#fff;
    font-family:inherit;
    font-size:25px;
    font-weight:900;
    line-height:1;
    opacity:0;
    pointer-events:none;
    transition:opacity .16s ease,color .16s ease;
  }
  .tabs-scroll-btn.is-visible{opacity:1;pointer-events:auto;}
  .tabs-scroll-btn:hover{color:var(--accent);}
  .tabs-scroll-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-3px;}
  .tabs-scroll-btn--left{
    left:0;
    background:linear-gradient(90deg,var(--bg-alt) 68%,rgba(20,20,27,.1));
  }
  .tabs-scroll-btn--right{
    right:0;
    background:linear-gradient(270deg,var(--bg-alt) 68%,rgba(20,20,27,.1));
  }
  .tabs-scroll-btn svg{width:20px;height:20px;}

  .change-division{
    background:none;
    border:1px solid var(--border);
    color:var(--text-dim);
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    padding:7px 14px;
    border-radius:20px;
    white-space:nowrap;
    transition:all .15s ease;
  }
  .change-division:hover{border-color:var(--accent);color:var(--text);}
  .division-group{display:flex;align-items:center;gap:8px;}
  .home-icon-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;height:32px;
    flex-shrink:0;
    border-radius:50%;
    background:none;
    border:1px solid var(--border);
    color:var(--text-dim);
    transition:all .15s ease;
  }
  .home-icon-btn:hover{border-color:var(--accent);color:var(--accent);}
  .home-icon-btn svg{width:16px;height:16px;}

  main{
    flex:1;
    max-width:1200px;
    width:100%;
    margin:0 auto;
    padding:28px 20px 60px;
  }
  .section{display:none;}
  .section.active{display:block;animation:fadein .14s ease;}
  @keyframes fadein{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
  .section-loading{
    min-height:220px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--text-dim);
    font-size:12px;
    font-weight:800;
    letter-spacing:1.2px;
    text-transform:uppercase;
  }

  .section-title{
    font-size:22px;
    margin-bottom:4px;
    border-left:5px solid var(--accent);
    padding-left:12px;
  }
  .section-subtitle{
    color:var(--text-dim);
    font-size:13px;
    font-weight:600;
    margin-bottom:24px;
    padding-left:17px;
  }

  .card{
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:20px;
  }

  /* HOME */
  .home-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    grid-template-areas:'next-heading last-heading' 'next-card last-card';
    gap:20px;
    margin-bottom:24px;
  }
  .home-grid-heading{font-size:18px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;padding-left:12px;border-left:4px solid var(--accent);}
  .next-race-heading{grid-area:next-heading;border-left-color:var(--accent);}
  .last-race-heading{grid-area:last-heading;border-left-color:var(--accent);}
  .home-grid .hero-race{grid-area:next-card;}
  .home-grid .last-race-card{grid-area:last-card;}
  .hero-race{
    background:
      linear-gradient(135deg, rgba(225,6,0,0.14), rgba(225,6,0,0.025) 72%),
      var(--card);
    border:1px solid rgba(225,6,0,0.28);
    border-radius:20px;
    padding:26px;
  }
  .hero-race .tag{display:inline-block;color:var(--accent);font-weight:800;font-size:11px;letter-spacing:1.5px;margin-bottom:12px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);}
  .meta-bullet{display:block;position:relative;padding-left:14px;margin-bottom:3px;}
  .meta-bullet::before{content:"•";position:absolute;left:0;color:var(--accent);}
  .hero-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;}
  .hero-winner{font-size:13px;color:var(--text-dim);}
  .hero-winner strong{color:var(--text);}
  .hero-track-link{font-size:13px;font-weight:700;color:var(--accent);display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;font-family:inherit;cursor:pointer;text-decoration:none;}
  .hero-track-link::after{content:"\2192";transition:transform .15s ease;}
  .hero-track-link:hover::after{transform:translateX(4px);}
  .hero-race h2{font-size:clamp(20px,4vw,28px);margin-bottom:4px;}
  .hero-race .race-meta{color:var(--text-dim);font-size:13px;margin-bottom:18px;}
  .countdown{display:flex;gap:14px;flex-wrap:wrap;}
  .countdown .cd-unit{
    background:var(--bg-alt);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:10px 14px;
    text-align:center;
    min-width:60px;
  }
  .countdown .cd-num{font-size:24px;font-weight:900;color:var(--text);}
  .countdown .cd-label{font-size:10px;color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;}

  .last-race-card{
    padding:22px;
    border-radius:20px;
    background:
      linear-gradient(135deg, rgba(53,169,103,0.12), rgba(53,169,103,0.025) 72%),
      var(--card);
    border-color:rgba(53,169,103,0.28);
  }
  .last-race-topline{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
  }
  .last-race-topline .tag{margin:0 !important;}
  .last-race-view-more{
    display:inline-flex;
    align-items:center;
    gap:6px;
    flex:0 0 auto;
    padding:5px 0;
    border:0;
    background:transparent;
    color:var(--accent);
    font-family:inherit;
    font-size:11px;
    font-weight:900;
    line-height:1;
    letter-spacing:.7px;
    text-transform:uppercase;
    cursor:pointer;
  }
  .last-race-view-more svg{
    width:15px;
    height:15px;
    transition:transform .16s ease;
  }
  .last-race-view-more:hover svg{transform:translateX(3px);}
  .last-race-view-more:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px;}
  .last-race-card .tag{display:inline-block;color:var(--gold);font-weight:800;font-size:11px;letter-spacing:1.5px;margin-bottom:12px;padding:5px 12px;border-radius:999px;background:rgba(212,175,55,0.12);border:1px solid rgba(212,175,55,0.3);}
  .last-race-card h3{font-size:17px;margin-bottom:14px;}
  .last-race-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:12px;font-size:12px;color:var(--text-dim);}
  .last-race-meta > span:last-child{text-align:right;}
  .last-race-meta strong{
    color:var(--text);
    font-family:inherit;
    font-size:inherit;
    font-weight:900;
    letter-spacing:inherit;
  }
  .podium-row{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);}
  .podium-row:last-child{border-bottom:none;}
  .podium-pos{
    width:26px;height:26px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-weight:900;font-size:12px;color:#000;
    flex-shrink:0;
  }
  .pos-1{background:#ffd700;}
  .pos-2{background:#c7c9cc;}
  .pos-3{background:#cd7f32;color:#fff;}
  .podium-driver{display:flex;align-items:center;gap:0;font-weight:800;font-size:15px;line-height:1.25;white-space:nowrap;}
  .last-race-card .podium-driver{gap:0;}
  .podium-driver-team{display:inline-flex;align-items:center;gap:0;color:var(--text-dim);flex:0 0 auto;letter-spacing:0;}
  .last-race-card .podium-driver-team{margin-left:.35em;}
  .podium-driver-team img,
  .podium-driver-team .team-color-dot{margin:0 !important;}
  .podium-team{color:var(--text-dim);font-size:12px;}
  .podium-gap{margin-left:auto;font-weight:700;font-size:13px;color:var(--text-dim);}
  .podium-gap--winner{color:var(--gold);}
  .last-race-card .podium-gap--winner{color:var(--gold);}
  .legacy-logo-pair{display:inline-flex;align-items:center;gap:0;white-space:nowrap;vertical-align:middle;margin-right:6px;}
  .legacy-logo-pair > img,.legacy-logo-pair > .team-color-dot{margin-right:0 !important;}
  .legacy-logo-pair > img{margin:0 !important;}
  .legacy-logo-separator{display:inline-block;margin:0 2px;color:#fff;font-size:9px;line-height:1;font-weight:700;vertical-align:middle;}
  .standings-table td.lu-name-col > .legacy-logo-pair{margin-right:6px;}

  /* Keep the two desktop race panels on one shared vertical and typographic rhythm. */
  @media (min-width: 861px){
    .home-grid{
      grid-template-rows:auto auto;
      align-items:stretch;
    }
    .home-grid .hero-race,
    .home-grid .last-race-card{
      min-height:0;
      padding:26px;
      display:flex;
      flex-direction:column;
    }
    .hero-race .tag{
      align-self:flex-start;
      margin:0 0 18px;
    }
    .last-race-topline{margin-bottom:18px;}
    .hero-race h2,
    .last-race-card h3{
      font-size:24px;
      line-height:1.15;
      margin:0 0 14px;
    }
    .hero-race .race-meta{
      line-height:1.55;
      margin:0 0 22px;
    }
    .last-race-card .podium-row{
      min-height:54px;
      padding:10px 0;
    }
    .hero-race .hero-footer{margin-top:16px;}
    .last-race-card .last-race-meta{margin-top:14px;}
  }

  .news-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
    gap:18px;
    margin-bottom:24px;
  }
  .news-card{
    display:flex;
    flex-direction:column;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
  }
  .news-card .news-strip{width:auto;height:5px;flex:0 0 5px;background:var(--news-accent);}
  .news-card .news-body{min-width:0;flex:1;padding:12px 15px 13px;}
  .news-card .news-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px;}
  .news-card .news-date{font-size:11px;color:var(--text-dim);letter-spacing:1px;margin:0;}
  .news-category-label{
    display:inline-flex;
    align-items:center;
    width:max-content;
    max-width:100%;
    color:var(--accent);
    font-size:10px;
    font-weight:900;
    letter-spacing:1.15px;
    line-height:1.2;
    text-transform:uppercase;
  }
  .news-card h4{font-size:15px;margin:5px 0;text-transform:none;letter-spacing:0;}
  .news-title{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:8px;
    row-gap:0;
    align-items:start;
  }
  .news-card .news-title,
  .news-lead .news-title{
    min-height:2.4em;
  }
  .news-card .news-title > span:last-child,
  .news-lead .news-title > span:last-child{
    min-width:0;
    overflow:hidden;
  }
  .news-title-copy{display:contents;}
  .news-title-copy > span{
    display:block;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    line-height:1.2;
  }
  .news-title-copy > span:first-child{grid-column:2;grid-row:1;}
  .news-title-copy > span:last-child{grid-column:1 / -1;grid-row:2;}
  .news-title-marker{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:20px;height:20px;font-size:18px;line-height:1;}
  .news-title-marker img{display:block;width:20px;height:20px;object-fit:contain;margin:0 !important;}
  .news-title-marker.legacy-logo-pair{width:auto;height:20px;gap:0;}
  .news-title-marker.legacy-logo-pair img{width:20px;height:20px;}
  .news-title-marker.legacy-logo-pair .legacy-logo-separator{font-size:8px;}
  .news-lead .news-title-marker{width:26px;height:26px;font-size:24px;}
  .news-lead .news-title-marker img{width:26px;height:26px;}
  .news-lead .news-title-marker.legacy-logo-pair{width:auto;height:26px;}
  .news-lead .news-title-marker.legacy-logo-pair img{width:26px;height:26px;}
  .news-lead .news-title-marker.legacy-logo-pair .legacy-logo-separator{font-size:9px;}
  .news-modal-title .news-title-marker{margin-top:1px;}
  .news-readmore{background:none;border:none;font-family:inherit;font-size:11px;font-weight:700;letter-spacing:0.5px;color:var(--gold);white-space:nowrap;cursor:pointer;padding:0;}
  .news-readmore:hover{text-decoration:underline;}
  .news-portal{margin-bottom:34px;}
  .news-masthead{
    display:flex;
    align-items:flex-start;
    margin-bottom:18px;
  }
  .news-masthead-kicker{
    display:block;
    margin-bottom:8px;
    color:var(--news-accent);
    font-size:10px;
    font-weight:900;
    letter-spacing:2px;
    text-transform:uppercase;
  }
  .news-masthead h2{
    margin:0;
    padding-left:12px;
    border-left:5px solid var(--accent);
    color:#fff;
    font-size:22px;
  }
  .news-section-description{
    margin:9px 0 0 17px;
    color:var(--text-dim);
    font-size:13px;
    line-height:1.55;
  }
  .news-masthead-meta{
    flex:0 0 auto;
    color:var(--text-dim);
    font-size:10px;
    font-weight:800;
    letter-spacing:1.4px;
    text-align:right;
    text-transform:uppercase;
  }
  .news-portal-grid{
    display:grid;
    grid-template-columns:minmax(0,1.48fr) minmax(320px,1fr);
    gap:18px;
    align-items:stretch;
  }
  .news-lead{
    position:relative;
    min-height:238px;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    overflow:hidden;
    border:1px solid var(--border);
    border-top:5px solid var(--news-accent);
    border-radius:var(--radius);
    padding:clamp(17px,1.9vw,21px);
    background:
      linear-gradient(90deg,rgba(8,8,12,.96) 0%,rgba(8,8,12,.82) 54%,rgba(8,8,12,.3) 100%),
      var(--news-image,linear-gradient(145deg,rgba(13,13,18,.94),rgba(13,13,18,.76) 58%,color-mix(in srgb,var(--accent) 42%,#0d0d12))) var(--news-image-position,center)/var(--news-image-size,cover) no-repeat;
    background-color:#0b0c12;
    box-shadow:0 18px 45px rgba(0,0,0,.16);
  }
  .news-lead:before{
    content:"STF";
    position:absolute;
    top:-22px;
    right:-12px;
    color:rgba(255,255,255,.045);
    font-size:clamp(105px,14vw,190px);
    font-weight:1000;
    font-style:italic;
    letter-spacing:-18px;
    line-height:1;
    pointer-events:none;
  }
  .news-lead:after{
    display:none;
  }
  .news-lead .news-category-label,.news-lead h3,.news-lead p,.news-lead .news-readmore{position:relative;z-index:1;}
  .news-lead .news-category-label{
    width:max-content;
    margin-bottom:7px;
    padding:4px 7px;
    border-left:3px solid var(--news-accent);
    background:rgba(0,0,0,.25);
    color:var(--accent);
    font-size:10px;
    font-weight:900;
    letter-spacing:1.3px;
    text-transform:uppercase;
  }
  .news-lead h3{
    max-width:760px;
    margin:0 0 8px;
    color:#fff;
    font-size:clamp(23px,2.2vw,31px);
    line-height:1.08;
    letter-spacing:-.9px;
    text-transform:none;
  }
  .news-lead p{
    display:-webkit-box;
    width:min(100%,590px);
    margin:0;
    overflow:hidden;
    color:#d2d2d8;
    font-size:13px;
    line-height:1.55;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
    line-clamp:4;
  }
  .news-lead .news-readmore{
    width:max-content;
    margin-top:22px;
    align-self:flex-start;
    padding:7px 11px;
    border:1px solid rgba(255,255,255,.3);
    border-radius:999px;
    color:#fff;
    font-size:10px;
    letter-spacing:1px;
    text-transform:uppercase;
  }
  @media(min-width:901px){
    .news-lead .news-readmore{margin-top:auto;}
  }
  .news-lead .news-readmore:hover{border-color:#6f9fce;color:#8bb7df;text-decoration:none;}
  .news-column{
    display:grid;
    grid-template-rows:repeat(2,minmax(0,1fr));
    gap:18px;
  }
  .news-column .news-card{
    display:flex;
    min-height:116px;
    border-radius:var(--radius);
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
  }
  .news-column .news-card:hover,.news-more-grid .news-card:hover{
    transform:translateY(-3px);
    border-color:color-mix(in srgb,var(--news-accent) 58%,var(--border));
    box-shadow:0 15px 32px rgba(0,0,0,.12);
  }
  .news-column .news-strip{width:auto;height:5px;flex:0 0 5px;}
  .news-column .news-body{display:flex;flex-direction:column;flex:1;padding:11px 14px 12px;}
  .news-column .news-head{align-items:flex-start;}
  .news-column .news-category-label,.news-more-grid .news-category-label{
    color:var(--accent);
    font-weight:900;
    text-transform:uppercase;
  }
  .news-column h4{font-size:15px;line-height:1.16;margin:4px 0;}
  .news-column p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;}
  .news-column .news-readmore{margin-left:auto;}
  .news-more-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
    margin-top:18px;
  }
  .news-more-grid .news-card{min-height:130px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
  .news-more-grid .news-body{padding:11px 14px 12px;}
  .news-more-grid .news-head{margin-bottom:4px;}
  .news-more-grid h4{font-size:15px;line-height:1.16;margin:4px 0;}
  .news-more-grid p{display:-webkit-box;overflow:hidden;font-size:12.5px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;}
  .news-more-grid:empty{display:none;}
  .news-category-section{
    margin-top:42px;
    content-visibility:auto;
    contain-intrinsic-size:420px;
  }
  .news-section-title{
    margin:0;
    padding-left:12px;
    border-left:5px solid var(--accent);
    color:#fff;
    font-size:22px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.5px;
    text-transform:uppercase;
  }
  .news-category-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:18px;
    margin-bottom:18px;
  }
  .news-category-heading-copy{min-width:0;}
  .news-category-see-more{
    flex:0 0 auto;
    padding:7px 12px;
    border:1px solid color-mix(in srgb,var(--news-accent) 58%,var(--border));
    border-radius:999px;
    background:color-mix(in srgb,var(--news-accent) 10%,var(--card));
    color:var(--accent);
    font-family:inherit;
    font-size:10px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
    cursor:pointer;
    transition:border-color .2s ease,background .2s ease,color .2s ease;
  }
  .news-category-see-more:hover{
    border-color:var(--news-accent);
    background:color-mix(in srgb,var(--news-accent) 18%,var(--card));
    color:#fff;
  }
  .news-category-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
  }
  .news-category-grid .news-card{
    min-height:0;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
  }
  .news-category-grid .news-card:hover{
    transform:translateY(-3px);
    border-color:color-mix(in srgb,var(--news-accent) 58%,var(--border));
    box-shadow:0 15px 32px rgba(0,0,0,.12);
  }
  .news-category-grid .news-body{padding:11px 15px 12px;}
  .news-category-grid .news-head{margin-bottom:4px;}
  .news-category-grid .news-category-label{color:var(--accent);font-weight:900;text-transform:uppercase;}
  .news-category-grid h4{font-size:16px;line-height:1.16;margin:4px 0;}
  .news-category-grid .news-title{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    column-gap:8px;
    row-gap:0;
    align-items:flex-start;
    min-height:0;
  }
  .news-category-grid .news-title-copy{
    display:contents;
  }
  .news-category-grid p{display:-webkit-box;overflow:hidden;font-size:12.5px;line-height:1.42;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;}
  .news-category-empty{
    margin:0;
    padding:18px 20px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    color:var(--text-dim);
    font-size:13px;
  }
  .news-tags{
    display:flex;
    flex-wrap:wrap;
    gap:5px 10px;
    margin:22px 0 0;
    padding-top:14px;
    border-top:1px solid var(--border);
    color:var(--gold);
    font-size:12px;
    font-weight:800;
    line-height:1.6;
  }
  .modal-overlay.news-view{background:rgba(0,0,0,.82);}
  .modal-overlay.news-view .modal-box{
    max-width:780px;
    max-height:90vh;
    padding:0;
    overflow:auto;
    border-top:4px solid var(--news-accent);
    box-shadow:0 28px 90px rgba(0,0,0,.58);
  }
  .news-article-header{padding:28px 30px 20px;}
  .news-article-header .news-category-label{
    color:var(--accent);
    font-size:11px;
    font-weight:900;
    letter-spacing:1.2px;
    text-transform:uppercase;
  }
  .news-article-header .news-modal-title{
    display:block;
    margin:10px 42px 0 0 !important;
    color:#fff;
    font-size:clamp(23px,3vw,34px) !important;
    line-height:1.08;
    letter-spacing:-.6px;
  }
  .news-article-header .news-modal-title .news-title-marker{
    float:left;
    margin:2px 10px 0 0;
  }
  .news-article-header .news-modal-title .news-title-copy{
    display:inline;
  }
  .news-article-header .news-modal-title .news-title-copy > span{
    display:inline;
    overflow:visible;
    text-overflow:clip;
    white-space:normal;
  }
  .news-article-header .news-modal-title .news-title-copy > span + span:before{
    content:" ";
  }
  .news-category-browser{
    padding:28px 30px 30px;
  }
  .news-category-browser .news-category-heading{
    margin:0 42px 20px 0;
  }
  .news-category-browser .news-category-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .news-article-image{
    display:block;
    width:100%;
    aspect-ratio:16/9;
    margin:0;
    position:relative;
    overflow:hidden;
    isolation:isolate;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:#090b11;
  }
  .news-article-photo{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:var(--story-position,center);
  }
  .news-article-copy{
    padding:25px 30px 30px;
    color:#d6d6dc;
    font-size:14px;
    line-height:1.75;
  }
  .news-inline-cta{
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
    padding:15px 17px;
    border:1px solid color-mix(in srgb,var(--gold) 46%,var(--border));
    border-left:4px solid var(--accent);
    border-radius:8px;
    background:color-mix(in srgb,var(--gold) 8%,var(--card));
  }
  .news-inline-cta strong{color:#fff;font-size:14px;line-height:1.35;}
  .news-inline-cta span{color:var(--text-dim);font-size:12.5px;line-height:1.5;}
  .news-inline-cta .news-readmore{margin-top:2px;font-size:12px;}
  @media(max-width:900px){
    .news-portal-grid{grid-template-columns:1fr;}
    .news-column{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;}
    .news-more-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  }
  @media(max-width:620px){
    .landing-sub span{display:block;}
    .news-masthead{align-items:flex-start;flex-direction:column;gap:10px;}
    .news-masthead h2{font-size:19px;}
    .news-masthead-meta{text-align:left;}
    .news-lead{min-height:225px;padding:16px;}
    .news-lead h3{font-size:18.5px;line-height:1.16;letter-spacing:-.35px;}
    .news-column h4,
    .news-more-grid h4,
    .news-category-grid h4{font-size:13.75px;line-height:1.2;letter-spacing:-.1px;}
    .news-lead p,
    .news-column p,
    .news-more-grid p,
    .news-category-grid p{
      font-size:13.5px;
      line-height:1.48;
      -webkit-line-clamp:3;
      line-clamp:3;
    }
    .news-lead .news-title-marker{width:22px;height:22px;font-size:20px;}
    .news-lead .news-title-marker img{width:22px;height:22px;}
    .news-lead .news-title-marker.legacy-logo-pair{height:22px;}
    .news-lead .news-title-marker.legacy-logo-pair img{width:22px;height:22px;}
    .news-column,.news-more-grid,.news-category-grid{grid-template-columns:1fr;}
    .news-column .news-card{min-height:0;}
    .news-category-section{margin-top:34px;}
    .news-section-title{font-size:19px;}
    .news-article-header{padding:24px 20px 17px;}
    .news-article-copy{padding:22px 20px 26px;}
  }

  /* MODAL */
  .modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:100;align-items:center;justify-content:center;padding:20px;}
  .modal-overlay.active{display:flex;}
  .modal-box{background:var(--card);border:1px solid var(--border);border-radius:10px;max-width:520px;width:100%;max-height:80vh;overflow-y:auto;padding:26px;position:relative;}
  .modal-close{position:absolute;top:14px;right:16px;background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer;line-height:1;}
  .modal-close:hover{color:var(--text);}
  .modal-overlay.driver-view{padding:12px;align-items:stretch;}
  .driver-view .modal-box{
    width:100%;
    max-width:1200px;
    max-height:calc(100vh - 24px);
    padding:26px;
  }

  /* LINKED DETAIL POPUPS */
  [data-driver], [data-team], [data-legacy-pair], [data-united-team]{cursor:pointer;}
  [data-driver]:hover, [data-team]:hover, [data-legacy-pair]:hover, [data-united-team]:hover{color:var(--accent);}
  .detail-header{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
  .detail-avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:16px;color:#fff;flex-shrink:0;}
  .detail-name{font-size:20px;font-weight:900;}
  .detail-sub{font-size:13px;color:var(--text-dim);margin-top:4px;}
  .detail-link{cursor:pointer;color:var(--text);display:inline-flex;align-items:center;}
  .detail-link:hover{color:var(--accent);}
  .detail-stats{display:flex;gap:10px;margin-bottom:6px;flex-wrap:wrap;}
  .detail-stat{flex:1 1 80px;background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:12px;text-align:center;}
  .driver-tabs{display:flex;gap:4px;margin:16px 0 10px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
  .driver-tab-btn{background:none;border:none;color:var(--text-dim);font-weight:700;font-size:11.5px;letter-spacing:0.5px;text-transform:uppercase;padding:8px 10px;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;}
  .driver-tab-btn:hover{color:var(--text);}
  .driver-tab-btn.active{color:var(--text);border-bottom-color:var(--accent);}
  .stats-subtabs{display:flex;gap:6px;margin:0 0 16px;border-bottom:1px solid var(--border);}
  .stats-subtab{background:none;border:none;color:var(--text-dim);font-weight:800;font-size:12px;line-height:1.2;letter-spacing:.65px;text-transform:uppercase;padding:11px 14px;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;}
  .stats-subtab:hover{color:var(--text);}
  .stats-subtab.active{color:var(--gold);border-bottom-color:var(--gold);}
  .statistics-page-title{margin-bottom:4px;}
  .statistics-page-subtitle{margin-bottom:20px;}
  .stats-subpanel .card{padding:18px 20px;}
  .stats-card-title{margin:0 0 12px;font-size:15px;line-height:1.25;font-weight:900;letter-spacing:.15px;}
  .current-stats-heading{margin:24px 0 12px;padding-left:10px;border-left:4px solid var(--accent);font-size:16px;font-weight:900;letter-spacing:.35px;text-transform:uppercase;}
  .current-stats-empty{margin:0;color:var(--text-dim);font-size:13px;line-height:1.55;}
  .form-stat-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:46px;padding:7px 4px;border-bottom:1px solid var(--border);}
  .form-stat-row:last-child{border-bottom:0;}
  .form-stat-rank{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:50%;color:var(--text-dim);font-size:11px;font-weight:900;}
  .form-stat-driver{display:flex;align-items:center;gap:7px;min-width:0;font-size:14px;font-weight:900;}
  .form-stat-driver .flag-mark{margin-right:0;flex-shrink:0;}
  .form-stat-name{min-width:0;overflow-wrap:anywhere;}
  .form-stat-result{text-align:right;white-space:nowrap;}
  .form-stat-value{display:block;color:var(--accent);font-size:14px;font-weight:900;}
  .dotd-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:45px;padding:7px 4px;border-bottom:1px solid var(--border);}
  .dotd-row:last-child{border-bottom:0;}
  .dotd-awards{color:var(--accent);font-size:13px;font-weight:900;white-space:nowrap;}
  .h2h-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .h2h-team{min-width:0;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-alt);}
  .h2h-team-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px;}
  .h2h-team-name{display:flex;align-items:center;min-width:0;color:var(--text);font-size:10px;font-weight:900;line-height:1.3;letter-spacing:.7px;text-transform:uppercase;overflow-wrap:anywhere;}
  .h2h-pair{display:grid;grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr);align-items:center;gap:8px;min-height:48px;padding:9px 10px;border:1px solid var(--border);border-radius:8px;background:var(--card);}
  .h2h-driver{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:900;}
  .h2h-driver.right{justify-content:flex-end;text-align:right;}
  .h2h-driver .flag-mark{margin-right:0;flex-shrink:0;}
  .h2h-driver-name{min-width:0;overflow-wrap:anywhere;}
  .h2h-versus{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--accent);color:#090a0e;font-size:9px;font-weight:900;text-align:center;text-transform:uppercase;letter-spacing:.3px;}
  .h2h-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;}
  .h2h-result-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:39px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.025);}
  .h2h-mode{color:var(--text-dim);font-size:9px;font-weight:900;letter-spacing:.55px;text-transform:uppercase;}
  .h2h-score{text-align:center;color:var(--accent);font-size:17px;font-weight:900;white-space:nowrap;}
  .driver-season-pills{display:flex;gap:5px;flex-wrap:nowrap;overflow-x:auto;margin-bottom:10px;padding-bottom:2px;}
  .driver-season-pill{padding:5px 10px;font-size:13px;flex-shrink:0;}
  .driver-season-pill.active{background:var(--gold);border-color:var(--gold);color:#171208;}
  .detail-divider{border-top:1px solid var(--gold);opacity:0.5;margin:14px 0;}
  .race-result-row{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--border);font-size:12.5px;}
  .race-result-row:last-child{border-bottom:none;}
  .race-result-row .rr-round{width:26px;color:var(--text-dim);font-weight:700;flex-shrink:0;}
  .race-result-row .rr-name{flex:1;font-weight:600;}
  .race-result-row .rr-pos{width:34px;text-align:center;color:var(--text-dim);font-weight:700;flex-shrink:0;}
  .race-result-row .rr-pts{width:56px;text-align:right;font-weight:700;color:var(--text);flex-shrink:0;}
  .trophy-category{margin-top:18px;}
  .trophy-category:first-child{margin-top:2px;}
  .trophy-category-title{margin:0 0 5px;padding-left:9px;border-left:3px solid var(--accent);color:var(--text);font-size:12px;font-weight:900;line-height:1.25;letter-spacing:.7px;text-transform:uppercase;}
  .driver-history-table{width:100%;table-layout:fixed;margin-top:2px;}
  .driver-history-table th:first-child,.driver-history-table td:first-child{width:50%;}
  .driver-history-table th:nth-child(2),.driver-history-table td:nth-child(2){width:25%;text-align:center;}
  .driver-history-table th:nth-child(3),.driver-history-table td:nth-child(3){width:25%;text-align:center;}
  .driver-history-table tbody td:first-child{font-weight:600;}
  .detail-stat-num{font-size:22px;font-weight:900;color:var(--accent);}
  .detail-stat-label{font-size:10px;font-weight:800;color:var(--text-dim);text-transform:uppercase;letter-spacing:1px;margin-top:4px;}
  .detail-roster-row{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--radius);cursor:pointer;transition:background .15s ease;}
  .detail-roster-row:hover{background:rgba(255,255,255,0.06);}

  /* TRACK WIKI POPUP */
  .wiki-infobox{background:var(--bg-alt);border:1px solid var(--border);border-radius:var(--radius);padding:6px 14px;margin-bottom:16px;}
  .wiki-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--border);}
  .wiki-row:last-child{border-bottom:none;}
  .wiki-row .wiki-label{color:var(--text-dim);font-weight:700;letter-spacing:0.5px;text-transform:uppercase;font-size:10px;flex-shrink:0;}
  .wiki-row .wiki-value{color:var(--text);font-weight:600;text-align:right;font-size:12.5px;}
  .wiki-para{font-size:13px;color:#d6d6dc;line-height:1.65;margin-bottom:10px;}
  .wiki-source{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:700;font-size:13px;margin-top:4px;}
  .wiki-source:hover{text-decoration:underline;}

  /* LEAGUE LOGO */
  .landing-logo{width:150px;height:150px;margin-bottom:18px;filter:drop-shadow(0 8px 24px rgba(212,175,55,0.35));object-fit:contain;}
  .landing-logo svg{width:100%;height:100%;display:block;}
  .brand-logo{width:34px;height:34px;flex-shrink:0;display:block;object-fit:contain;}

  /* TEAM BADGES (color + initials - no third-party logo marks used) */
  .team-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#0a0a0f;font-weight:900;letter-spacing:0.5px;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,0.35);}

  /* RACES */
  .season-pills{display:flex;gap:6px;margin-bottom:20px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
  .season-pills::-webkit-scrollbar{display:none;}
  .season-pill{min-width:34px;flex:0 1 auto;background:var(--card);border:1px solid var(--border);color:var(--text-dim);font-weight:700;font-size:12px;letter-spacing:0.35px;padding:7px 12px;border-radius:20px;transition:all .15s ease;}
  #section-standings .season-pill,
  #section-races .season-pill{
    width:34px;
    height:34px;
    min-width:34px;
    flex:0 0 34px;
    padding:0;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }
  .season-pill:hover{border-color:var(--accent);color:var(--text);}
  .season-pill.active{background:var(--accent);border-color:var(--accent);color:#111;}
  .season-pill.driver-season-pill.active{background:var(--gold);border-color:var(--gold);color:#171208;}
  .races-header{display:flex;align-items:center;gap:16px;padding:0 18px;margin-bottom:8px;color:var(--text-dim);font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;}
  .races-header .rh-round{width:42px;text-align:center;flex-shrink:0;}
  .races-header .rh-track{flex:1;min-width:150px;}
  .races-header .rh-winner{flex-shrink:0;margin-left:auto;}
  .winner-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.08);padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;}
  .winner-badge .flag-mark{margin-right:0;}
  #section-races .cal-track{font-size:13px;}
  #section-races .cal-track .flag-icon{margin-right:0;}
  .races-list-shell{
    overflow:hidden;
    border:1px solid var(--border-strong);
    border-radius:18px;
    background:
      linear-gradient(135deg,rgba(255,255,255,.025),transparent 72%),
      var(--card);
    box-shadow:0 10px 28px rgba(0,0,0,.24);
  }
  .races-list-shell .races-header{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-height:42px;
    margin:0;
    padding:0 16px;
    border-bottom:1px solid var(--border);
    background:rgba(255,255,255,.035);
  }
  .races-list-shell .races-header .rh-round{width:auto;}
  .races-list-shell .races-header .rh-track{min-width:0;}
  .races-list-shell .races-header .rh-winner{margin-left:0;}
  #section-races .races-list-shell .calendar-row{
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    min-height:58px;
    margin:0;
    padding:9px 16px;
    border:0;
    border-bottom:1px solid var(--border);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    flex-wrap:nowrap;
  }
  #section-races .races-list-shell .calendar-row:last-child{border-bottom:0;}
  #section-races .races-list-shell .calendar-row:hover{
    background:rgba(255,255,255,.045);
    transform:none;
  }
  #section-races .races-list-shell .cal-round{
    width:28px;
    height:28px;
    font-size:11px;
    border-color:var(--border-strong);
  }
  #section-races .races-list-shell .cal-track{
    overflow:visible;
    font-size:13.5px;
    font-weight:800;
    letter-spacing:-.1px;
    text-overflow:clip;
  }
  #section-races .races-list-shell .cal-status{min-width:0;}
  #section-races .races-list-shell .winner-badge{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    font-size:12.5px;
    font-weight:900;
    line-height:1.25;
    white-space:nowrap;
  }
  #section-races .races-winner-team{
    display:inline-flex;
    align-items:center;
    gap:0;
    color:var(--text-dim);
    font-weight:900;
    white-space:nowrap;
    letter-spacing:0;
  }
  #section-races .races-winner-team img,
  #section-races .races-winner-team .team-color-dot{
    margin:0 !important;
  }
  @media (min-width:641px){
    #section-races .races-header{font-size:12px;padding-left:22px;padding-right:22px;}
    #section-races .races-list-shell .races-header{padding-left:18px;padding-right:18px;}
    #section-races .races-list-shell .calendar-row{min-height:62px;padding:10px 18px;gap:12px;}
    #section-races .races-list-shell .cal-round{width:30px;height:30px;font-size:12px;}
    #section-races .races-list-shell .cal-track{font-size:14.5px;}
    #section-races .cal-track .flag-icon{width:22px;height:16px;margin-right:0;}
    #section-races .races-list-shell .winner-badge{font-size:13px;font-weight:900;padding:0;gap:6px;}
    #section-races .winner-badge .flag-icon{width:22px;height:16px;}
    #section-races .winner-badge img:not(.flag-icon){width:22px !important;height:22px !important;}
  }

  /* TOOLTIP */
  .has-tooltip{position:relative;cursor:help;}
  .has-tooltip .tooltip-bubble{
    position:absolute;bottom:calc(100% + 10px);left:0;
    background:#0a0a0f;border:1px solid var(--border);
    color:var(--text);font-size:12px;font-weight:400;
    padding:8px 12px;border-radius:6px;white-space:nowrap;
    opacity:0;visibility:hidden;transform:translateY(4px);
    transition:opacity .15s ease, transform .15s ease;
    z-index:20;box-shadow:0 6px 18px rgba(0,0,0,0.45);
    pointer-events:none;
  }
  .has-tooltip .tooltip-bubble::after{
    content:"";position:absolute;top:100%;left:16px;
    border:6px solid transparent;border-top-color:#0a0a0f;
  }
  .has-tooltip:hover .tooltip-bubble{opacity:1;visibility:visible;transform:translateY(0);}
  .news-card p{font-size:13px;color:var(--text-dim);line-height:1.5;}
  #section-home .news-grid .news-card p{
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:4;
    line-clamp:4;
  }

  .home-subheading{font-size:18px;margin:28px 0 14px;border-left:5px solid var(--accent);padding-left:12px;font-weight:900;text-transform:uppercase;letter-spacing:0.5px;}

  /* ---------- WEEKLY DID YOU KNOW ---------- */
  .weekly-fact{
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    align-items:center;
    gap:20px;
    overflow:hidden;
    padding:22px 24px;
    border:1px solid rgba(212,175,55,.5);
    border-radius:12px;
    background:
      radial-gradient(circle at 0 50%,rgba(212,175,55,.18),transparent 31%),
      linear-gradient(120deg,rgba(26,29,38,.98),rgba(13,15,21,.98));
    box-shadow:0 18px 42px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05);
    text-align:left;
  }
  .weekly-fact--home{margin:28px 0 0;border-color:color-mix(in srgb,var(--accent) 48%,#d4af37);}
  .weekly-fact-mark{
    display:grid;
    place-items:center;
    width:58px;
    height:58px;
    border:1px solid rgba(212,175,55,.65);
    border-radius:50%;
    background:rgba(212,175,55,.1);
    color:var(--gold);
    font-size:34px;
    font-weight:900;
    line-height:1;
  }
  .weekly-fact h2{font-size:clamp(20px,2.8vw,28px);letter-spacing:.3px;}
  .weekly-fact p{margin-top:4px;color:var(--text-dim);font-size:14px;}
  .weekly-fact p strong{color:var(--text);}
  .weekly-fact-stat{display:flex;min-width:104px;flex-direction:column;align-items:flex-end;line-height:1;}
  .weekly-fact-stat strong{color:var(--gold);font-size:clamp(28px,4vw,42px);font-weight:900;}
  .weekly-fact-stat span{margin-top:6px;color:var(--text-dim);font-size:10px;font-weight:900;letter-spacing:1px;text-transform:uppercase;}
  .weekly-fact-action{
    min-height:44px;
    padding:0 16px;
    border:1px solid rgba(212,175,55,.7);
    border-radius:7px;
    background:var(--gold);
    color:#111218;
    font-size:12px;
    font-weight:900;
    letter-spacing:.3px;
    white-space:nowrap;
  }
  .weekly-fact-action:hover{filter:brightness(1.08);transform:translateY(-1px);}
  .weekly-fact-action:focus-visible{outline:3px solid #fff;outline-offset:3px;}
  @media (max-width:760px){
    .weekly-fact{
      grid-template-columns:repeat(6,minmax(0,1fr));
      grid-template-areas:
        "mark title title title title title"
        "copy copy copy copy copy copy"
        "stat stat stat action action action";
      align-items:center;
      gap:12px;
      padding:16px;
      border-radius:10px;
    }
    .weekly-fact-mark{grid-area:mark;width:44px;height:44px;font-size:25px;}
    .weekly-fact-copy{display:contents;}
    .weekly-fact-copy h2{
      grid-area:title;
      align-self:center;
      font-size:20px;
      line-height:1.1;
    }
    .weekly-fact-copy p{
      grid-area:copy;
      margin:0;
      padding:12px 0 14px;
      border-top:1px solid rgba(255,255,255,.08);
      border-bottom:1px solid rgba(255,255,255,.08);
      font-size:13.5px;
      line-height:1.5;
    }
    .weekly-fact-copy p .flag-icon{width:18px;height:12px;}
    .weekly-fact-stat{grid-area:stat;flex-direction:row;align-items:center;gap:8px;width:100%;min-width:0;}
    .weekly-fact-stat strong{font-size:28px;}
    .weekly-fact-stat span{margin-top:0;text-align:left;line-height:1.15;}
    .weekly-fact-action{grid-area:action;width:100%;min-height:42px;}
  }
  .standings-subheading{font-size:18px;margin:28px 0 14px;font-weight:900;text-transform:uppercase;letter-spacing:0.5px;}
  .standings-preview h3{font-size:16px;margin-bottom:14px;}
  .home-standings-heading{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .home-standings-heading > span{min-width:0;}
  .home-standings-open{
    display:inline-grid;
    place-items:center;
    width:32px;
    height:32px;
    flex:0 0 32px;
    padding:0;
    border:1px solid var(--border-strong);
    border-radius:7px;
    background:var(--surface-raised);
    color:var(--gold);
    font-size:17px;
    line-height:1;
    transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease;
  }
  .home-standings-open:hover{
    border-color:var(--gold);
    background:rgba(212,175,55,.09);
    color:#f1d26a;
    transform:translateY(-1px);
  }
  .home-standings-open:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
  .standings-panels{display:grid;grid-template-columns:calc((100% - 14px)/2) calc((100% - 14px)/2);gap:14px;align-items:stretch;}
  .standings-panels.standings-panels--single{grid-template-columns:1fr;}
  .standings-panels .card{min-width:0;width:100%;height:100%;padding:16px;overflow:hidden;justify-self:stretch;}
  .standings-panels .card h3{font-size:14px;margin-bottom:10px;}
  .panel-card-head{display:flex;justify-content:space-between;align-items:center;gap:10px;}
  .panel-card-head h3{margin:0;}
  .panel-more-btn{background:transparent;border:none;color:var(--text-dim);font-size:20px;font-weight:900;line-height:1;cursor:pointer;padding:2px 6px;font-family:inherit;flex-shrink:0;}
  .panel-more-btn:hover{color:var(--text);}
  .panel-more-btn:focus{outline:none;}
  .standings-panels .table-scroll{overflow-x:hidden;}
  .standings-panels table{table-layout:fixed;width:100%;min-width:0;max-width:100%;font-size:13px;}
  .standings-panels thead th, .standings-panels tbody td{padding:8px 7px;overflow:hidden;text-overflow:ellipsis;}
  .standings-panels tbody tr{height:46px !important;}
  .standings-panels tbody td{height:46px !important;padding-top:0 !important;padding-bottom:0 !important;vertical-align:middle;}
  .standings-panels th.pos, .standings-panels td.pos{width:30px;padding-left:4px;padding-right:4px;}
  .standings-panels thead th:last-child, .standings-panels tbody td:last-child{width:48px;text-align:center;padding-left:3px;padding-right:3px;}
  .standings-panels tbody td{white-space:normal;word-break:normal;}
  .standings-panels tbody td > span{max-width:100%;overflow:hidden;text-overflow:ellipsis;}
  .standings-panels table:not(.driver-standings-table) tbody td:nth-child(2){font-weight:900;color:var(--text);}
  .standings-panels .pts-badge{width:42px;height:24px;font-size:12px;}
  .standings-panels table.driver-standings-table{table-layout:fixed;}
  .driver-standings-table th:nth-child(2), .driver-standings-table td:nth-child(2){width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .driver-standings-table tbody td:nth-child(2){font-weight:900;color:var(--text);}
  .driver-standings-table th:nth-child(3), .driver-standings-table td:nth-child(3){width:calc(34% + 20px);text-align:left;padding-left:3px;padding-right:3px;}
  .driver-standings-table th:last-child, .driver-standings-table td:last-child{width:48px;text-align:center;}
  .standings-panels .car-icon{width:52px;height:27px;margin-right:6px;}
  .team-logo-cell{text-align:left;}
  .team-logo-cell .team-color-dot{width:14px;height:14px;margin-right:6px;}
  .team-name-desktop-only{display:inline-block;margin-left:0;vertical-align:middle;white-space:nowrap;}

  /* TABLES */
  .table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  table{width:100%;border-collapse:collapse;font-size:14px;}
  thead th{
    text-align:left;
    color:var(--text-dim);
    font-size:11px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
    padding:10px 12px;
    border-bottom:2px solid var(--border);
    white-space:nowrap;
  }
  tbody td{padding:11px 12px;border-bottom:1px solid var(--border);white-space:nowrap;font-weight:600;}
  tbody tr:last-child td{border-bottom:none;}
  tbody tr:hover{background:rgba(255,255,255,0.03);}
  td.pos, th.pos{width:36px;font-weight:900;color:var(--text-dim);}
  .team-color-dot{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle;flex-shrink:0;}
  .flag-icon{width:16px;height:11px;object-fit:cover;border-radius:2px;vertical-align:middle;flex-shrink:0;margin-right:0;}
  .flag-emoji{display:inline-block;margin-right:0;}
  .flag-mark{display:inline-flex;align-items:center;vertical-align:middle;margin-right:6px;}
  .flag-mark>.flag-icon,.flag-mark>.flag-emoji{margin-right:0 !important;}
  #section-home .podium-driver .flag-icon,
  #section-home .podium-driver .flag-emoji,
  #section-home .driver-standings-table .flag-icon,
  #section-home .driver-standings-table .flag-emoji{margin-right:0;}
  .car-icon{width:60px;height:30px;object-fit:contain;object-position:center;vertical-align:middle;margin-right:6px;flex-shrink:0;filter:brightness(1.15) saturate(1.25) drop-shadow(0 0 2px rgba(0,0,0,0.6));}
  .pts{font-weight:900;color:var(--text);text-align:center;}
  .pts-badge{display:inline-flex;align-items:center;justify-content:center;width:46px;height:26px;border-radius:999px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.12);color:#fff;}
  .pts-badge.pts-lead{color:var(--gold);}
  .gap-col{text-align:center;color:var(--text-dim);font-weight:700;}
  .team-name-short{display:none;}
  .champion-row td{background:rgba(212,175,55,0.1);font-weight:700;}
  .champion-row td.pos{color:var(--gold);}
  .standings-table{table-layout:fixed;min-width:640px;}
  .standings-table th.pos, .standings-table td.pos{width:34px;}
  .standings-table th.pts, .standings-table td.pts{width:70px;}
  .standings-table th.gap-col, .standings-table td.gap-col{width:60px;}
  .standings-table th.driver-team-col, .standings-table td.driver-team-col{width:350px;}
  .standings-table th.driver-col, .standings-table td.driver-col{width:230px;overflow:hidden;text-overflow:ellipsis;}
  .standings-table th.ctor-team-col, .standings-table td.ctor-team-col{width:230px;}
  .standings-table th.drivers-col, .standings-table td.drivers-col{width:350px;}
  .standings-table th.lu-name-col, .standings-table td.lu-name-col{width:230px;}
  .standings-table th.lu-drivers-col, .standings-table td.lu-drivers-col{width:350px;}
  .standings-table tbody td.driver-col,
  .standings-table tbody td.ctor-team-col,
  .standings-table tbody td.lu-name-col{font-weight:900;color:var(--text);}
  .last-race-card .podium-row--winner .podium-driver{color:var(--text);font-weight:900;}

  /* RULEBOOK */
  .rulebook-layout{display:grid;grid-template-columns:minmax(0,230px) minmax(0,1fr);gap:28px;}
  .rb-toc{position:sticky;top:100px;align-self:start;min-width:0;}
  .rb-mobile-nav{display:none;}
  .rb-body{min-width:0;overflow-wrap:break-word;}
  .rb-body table{table-layout:fixed;}
  .rb-toc a{
    display:block;
    padding:9px 12px;
    font-size:13px;
    color:var(--text-dim);
    border-left:3px solid transparent;
    font-weight:600;
  }
  .rb-toc a:hover{color:var(--text);border-left-color:var(--border);}
  .rb-section{margin-bottom:34px;}
  .rb-section .rb-chapter-title{font-size:17px;color:var(--accent);margin-bottom:10px;}
  .rb-section h3:not(.rb-chapter-title){
    display:flex;
    align-items:baseline;
    gap:7px;
    font-size:14px;
    color:var(--accent);
    margin-bottom:9px;
  }
  .rb-section h3:not(.rb-chapter-title)::before{
    content:">";
    color:var(--gold);
    font-weight:900;
  }
  .rb-section p, .rb-section li{font-size:14px;line-height:1.7;color:#d6d6dc;}
  .rb-section ul, .rb-section ol{padding-left:22px;margin:8px 0;}
  .rb-section h3:not(.rb-chapter-title){margin-top:22px;}
  .rb-section .rule-callout{
    background:rgba(255,255,255,0.045);
    border-left:4px solid var(--accent);
    border-radius:0 var(--radius) var(--radius) 0;
    padding:14px 16px;
    margin:16px 0;
    color:#eeeef2;
  }
  .rb-section .rule-callout--warning{
    background:rgba(225,6,0,0.09);
    border:1px solid rgba(225,6,0,0.28);
    border-left:4px solid var(--accent);
  }
  .rb-section .rule-table-wrap{overflow-x:auto;margin:14px 0 20px;}
  .rb-section .rule-table{width:100%;min-width:560px;border-collapse:collapse;table-layout:auto;}
  .rb-section .rule-table th{background:rgba(255,255,255,0.08);color:#fff;font-size:12px;text-align:left;padding:11px 13px;}
  .rb-section .rule-table td{padding:11px 13px;border-bottom:1px solid rgba(255,255,255,0.08);font-size:13px;}
  .rb-section .format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0;}
  .rb-section .format-card{background:rgba(255,255,255,0.045);border-top:3px solid var(--accent);border-radius:var(--radius);padding:16px;}
  .rb-section .format-card>span{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--accent);}
  .rb-section .points-line{background:rgba(255,255,255,0.055);border-radius:var(--radius);padding:12px 14px;}
  .rb-note{
    background:rgba(225,6,0,0.08);
    border:1px solid rgba(225,6,0,0.25);
    border-radius:var(--radius);
    padding:14px 16px;
    font-size:13px;
    margin-bottom:28px;
    color:#e8c9c8;
  }
  .points-table{margin:14px 0;max-width:520px;}

  /* SEASON 6 OFFICIAL GRID */
  .season-grid-lineup{
    display:grid;
    gap:8px;
    margin:20px 0 24px;
  }
  .season-grid-team{
    display:grid;
    grid-template-columns:minmax(195px,.9fr) minmax(0,1.45fr);
    align-items:center;
    gap:14px;
    min-height:58px;
    padding:9px 13px;
    overflow:hidden;
    border:1px solid var(--border);
    border-left:4px solid var(--accent);
    border-radius:8px;
    background:linear-gradient(100deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  }
  .season-grid-team-name,
  .season-grid-drivers,
  .season-grid-driver{
    display:flex;
    align-items:center;
    min-width:0;
  }
  .season-grid-team-name{gap:6px;}
  .season-grid-team-name strong{
    color:#fff;
    font-size:13px;
    line-height:1.25;
  }
  .season-grid-team-logo{
    width:40px;
    height:34px;
    flex:0 0 40px;
    object-fit:contain;
    filter:drop-shadow(0 3px 7px rgba(0,0,0,.35));
  }
  .season-grid-drivers{
    justify-content:flex-start;
    gap:9px;
    color:#ededf2;
    font-size:13px;
    font-weight:750;
    white-space:nowrap;
  }
  .season-grid-driver{gap:6px;}
  .season-grid-flag{
    width:22px;
    height:16px;
    flex:0 0 22px;
    object-fit:cover;
    border-radius:2px;
    box-shadow:0 0 0 1px rgba(255,255,255,.14);
  }
  .season-grid-amp{color:var(--text-dim);font-size:11px;font-weight:900;}
  .season-grid-status{
    display:inline-flex;
    align-items:center;
    margin-left:auto;
    padding:3px 7px;
    border:1px solid rgba(82,226,82,.25);
    border-radius:999px;
    background:rgba(82,226,82,.09);
    color:#83e88a;
    font-size:9px;
    font-weight:900;
    letter-spacing:.4px;
    text-transform:uppercase;
  }

  /* TEAMS */
  .teams-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:20px;
    width:100%;
  }
  .team-card{
    min-width:0;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    overflow:hidden;
  }
  .team-banner{height:8px;}
  .team-body{padding:20px;}
  .team-head{display:flex;justify-content:flex-start;align-items:center;margin-bottom:14px;gap:6px;}
  .team-head h3{font-size:17px;text-transform:none;letter-spacing:0;}
  .team-head .team-base{font-size:12px;color:var(--text-dim);margin-top:4px;}
  .team-principal{font-size:12px;color:var(--text-dim);margin-bottom:16px;}
  .team-principal strong{color:var(--text);}
  .drivers-row{display:flex;gap:14px;flex-wrap:wrap;}
  .driver-chip{
    flex:1;
    min-width:120px;
    background:var(--bg-alt);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:13px;
    display:flex;
    align-items:center;
    gap:12px;
    cursor:pointer;
    transition:background .15s ease, border-color .15s ease;
  }
  .driver-chip:hover{background:var(--card-hover);border-color:var(--accent);}
  .team-head h3[data-team]:hover{color:var(--accent);}
  .driver-avatar{
    width:38px;height:38px;border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-weight:900;font-size:16px;color:#fff;
    flex-shrink:0;
  }
  .driver-name{font-size:18px;font-weight:800;line-height:1.2;}
  .driver-name .flag-icon{width:21px;height:15px;margin-right:0;}
  .driver-name .flag-emoji{font-size:20px;line-height:1;margin-right:0;}
  .driver-number{font-size:11px;color:var(--text-dim);}
  .intro-driver-note{margin-bottom:18px;padding:18px 20px;border:1px solid rgba(255,255,255,.14);border-left:5px solid var(--accent);border-radius:10px;background:rgba(255,255,255,.035);color:var(--text-dim);font-size:13px;line-height:1.65;}
  .intro-driver-note strong{color:var(--text);}
  .intro-driver-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
  .intro-driver-entry{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:9px;background:rgba(255,255,255,.025);transition:border-color .18s ease,transform .18s ease;}
  .intro-driver-entry:hover{border-color:var(--accent);transform:translateY(-1px);}
  .intro-driver-number{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:8px;background:var(--accent);color:#08090d;font-size:16px;font-weight:900;}
  .intro-driver-identity{min-width:0;}
  .intro-driver-name{display:flex;align-items:center;gap:6px;min-width:0;color:var(--text);font-size:15px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .intro-driver-name .flag-mark{margin-right:0;}
  .intro-driver-name .flag-icon{width:20px;height:14px;margin-right:0;}
  .intro-driver-name .flag-emoji{font-size:19px;line-height:1;margin-right:0;}

  /* STATISTICS */
  .stats-cards{display:grid;grid-template-columns:repeat(auto-fit, minmax(130px,1fr));gap:16px;margin-bottom:28px;}
  .stat-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:18px;text-align:center;}
  .stat-card .stat-num{font-size:clamp(22px,4vw,30px);font-weight:900;color:var(--accent);}
  .stat-card .stat-label{font-size:11px;font-weight:800;color:var(--text-dim);letter-spacing:1px;margin-top:6px;text-transform:uppercase;}
  .bar-row{display:flex;align-items:center;gap:12px;min-height:35px;margin-bottom:4px;padding:5px 4px;border-bottom:1px solid var(--border);flex-wrap:nowrap;}
  .bar-row:last-child{margin-bottom:0;border-bottom:none;}
  .bar-label{width:150px;font-size:14px;font-weight:800;line-height:1.25;flex-shrink:0;}
  .bar-track{flex:1;min-width:100px;background:var(--bg-alt);border-radius:4px;overflow:hidden;height:20px;border:1px solid var(--border);}
  .bar-fill{height:100%;background:var(--accent);border-radius:4px;}
  .bar-value{width:40px;text-align:right;font-size:14px;font-weight:900;color:var(--text);flex-shrink:0;}
  .alltime-entry{border-bottom:1px solid var(--border);}
  .alltime-entry:last-child{border-bottom:none;}
  .alltime-entry > summary{list-style:none;}
  .alltime-entry > summary::-webkit-details-marker{display:none;}
  .alltime-row{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:43px;padding:8px 4px;cursor:pointer;}
  .alltime-entry[open] > .alltime-row{background:var(--bg-alt);}
  .alltime-rank{font-size:12px;font-weight:900;color:var(--text-dim);text-align:center;}
  .alltime-driver{display:flex;align-items:center;gap:6px;min-width:0;font-size:15px;font-weight:900;white-space:nowrap;overflow:hidden;}
  .alltime-driver .flag-mark{margin-right:0;}
  .alltime-driver .flag-icon,.alltime-driver .flag-emoji{margin-right:0;}
  .alltime-name{min-width:0;overflow:hidden;text-overflow:ellipsis;}
  .alltime-toggle{color:var(--text-dim);font-size:13px;line-height:1;transition:transform .18s ease;}
  .alltime-entry[open] .alltime-toggle{transform:rotate(180deg);}
  .alltime-value{font-size:14px;font-weight:900;color:var(--text);white-space:nowrap;text-align:right;}
  .alltime-season-breakdown{padding:2px 4px 9px 45px;}
  .alltime-season-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:29px;padding:5px 8px;border-top:1px solid var(--border);color:var(--text-dim);font-size:12px;font-weight:800;}
  .alltime-season-row strong{color:var(--text);font-size:12px;white-space:nowrap;}

  /* CALENDAR */
  .calendar-row{
    display:flex;
    align-items:center;
    gap:16px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:var(--radius);
    padding:14px 18px;
    margin-bottom:10px;
    flex-wrap:wrap;
    color:inherit;
    text-decoration:none;
  }
  a.calendar-row{cursor:pointer;transition:border-color .15s ease, background .15s ease;}
  .calendar-row.track-clickable{cursor:pointer;transition:border-color .15s ease, background .15s ease;}
  .calendar-row.track-clickable:hover{border-color:var(--accent);}
  a.calendar-row:hover{border-color:var(--accent);}
  .calendar-row.is-next{border-color:var(--accent);background:linear-gradient(135deg, rgba(225,6,0,0.10), transparent);}
  .cal-round{
    width:42px;height:42px;border-radius:50%;
    background:var(--bg-alt);border:1px solid var(--border);
    display:flex;align-items:center;justify-content:center;
    font-weight:900;font-size:13px;flex-shrink:0;
  }
  .cal-info{flex:1 1 auto;min-width:0;}
  .cal-track{font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .cal-meta{font-size:12px;color:var(--text-dim);}
  .cal-status{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:nowrap;margin-left:auto;}
  .cal-datetime{font-size:12px;font-weight:700;color:var(--text-dim);white-space:nowrap;}
  .cal-badge{
    font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
    padding:4px 10px;border-radius:20px;white-space:nowrap;
  }
  .cal-badge.completed{background:rgba(255,255,255,0.08);color:var(--text-dim);}
  .cal-badge.next{background:rgba(225,6,0,0.18);color:var(--accent);}
  .cal-badge.upcoming{background:rgba(255,255,255,0.05);color:var(--text-dim);}
  .cal-winner{font-size:13px;display:flex;align-items:center;white-space:nowrap;}
  .cal-flag{margin-right:2px;}
  .cal-facts{font-size:11px;color:var(--text-dim);margin-top:4px;}
  .cal-learnmore{font-size:12px;font-weight:700;color:var(--accent);white-space:nowrap;}
  .cal-learnmore:hover{text-decoration:underline;}

  /* GRAND PRIX DETAIL */
  .calendar-row.race-detail-clickable{cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease;}
  .calendar-row.race-detail-clickable:hover{border-color:var(--gold);background:#202029;transform:translateY(-1px);}
  .gp-detail{--division-accent:var(--gold);min-height:100%;background:var(--bg);text-align:left;}
  .gp-detail--gold{--division-accent:var(--gold);}
  .gp-detail--silver{--division-accent:#c7c9cc;}
  .gp-detail--intro{--division-accent:#169b62;}
  .gp-hero{padding:31px 66px 25px 32px;border-bottom:1px solid var(--border);background:radial-gradient(circle at 82% 0,rgba(212,175,55,.16),transparent 38%),linear-gradient(135deg,#22222b,#15151c 72%);}
  .gp-kicker{color:var(--gold);font-size:10px;font-weight:900;letter-spacing:2px;text-transform:uppercase;margin-bottom:7px;}
  .gp-title{display:flex;align-items:center;gap:8px;font-size:clamp(21px,3vw,32px);line-height:1.08;margin:0 0 9px;}
  .gp-title .flag-icon{width:34px;height:22px;}
  .gp-subtitle{color:var(--text-dim);font-size:12px;line-height:1.6;}
  .gp-tabs{display:flex;gap:2px;padding:0 32px;background:#17171e;border-bottom:1px solid var(--border);overflow-x:auto;}
  .gp-tab{position:relative;border:0;background:transparent;color:var(--text-dim);padding:15px 18px;font-size:11px;font-weight:900;letter-spacing:.7px;text-transform:uppercase;white-space:nowrap;}
  .gp-tab.active{color:#fff;}
  .gp-tab.active::after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:3px;background:var(--gold);}
  .gp-body{max-width:1120px;margin:0 auto;padding:30px 32px 46px;}
  .gp-body>section+section{border-top:2px solid rgba(212,175,55,.28);padding-top:30px;margin-top:30px !important;}
  .gp-panel{display:none;}
  .gp-panel.active{display:block;}
  .gp-section-title{font-size:18px;color:#fff;margin:0 0 15px;padding-left:11px;border-left:4px solid var(--accent);}
  .gp-info-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:16px;}
  .gp-card{background:linear-gradient(145deg,#1f1f28,#191920);border:1px solid var(--border);border-radius:9px;padding:19px;}
  .gp-card+.gp-card{margin-top:14px;}
  .gp-card p{color:#c5c5d0;font-size:14px;line-height:1.82;margin:0 0 13px;}
  .gp-card p:last-child{margin-bottom:0;}
  .gp-information-card{padding:24px 26px;}
  .gp-information-copy{max-width:940px;}
  .gp-information-copy p{font-size:14.5px;line-height:1.85;margin:0 0 14px;}
  .gp-information-copy p:first-child{font-size:15.5px;line-height:1.9;color:#f3f3f7;}
  .gp-information-copy strong,.gp-expect strong,.gp-storyline-text strong{color:#fff;font-weight:950;}
  .gp-information-copy .flag-icon,.gp-expect .flag-icon,.gp-storyline-text .flag-icon{margin-right:6px;vertical-align:-2px;}
  .gp-information-card h4{font-size:12px;color:#fff;margin:22px 0 10px;padding-top:18px;border-top:1px solid var(--border);}
  .gp-narrative-grid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px;}
  .gp-storyline-block,.gp-debrief-block{margin:0;background:#1d1d25;border:1px solid var(--border);border-left:3px solid var(--division-accent);border-radius:7px;padding:12px 14px;}
  .gp-storyline-block h4,.gp-debrief-block h4{margin:0 0 7px;color:var(--text-dim);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase;}
  .gp-storyline-text,.gp-debrief-text{color:#d0d0da;font-size:13.5px;line-height:1.8;}
  .gp-storyline-text p{margin:0;}
  .gp-storyline-text p + p{margin-top:10px;padding-top:10px;border-top:1px solid var(--border);}
  .gp-expect{font-size:14.5px;line-height:1.85;color:var(--text-dim);}
  .gp-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:11px;}
  .gp-schedule-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px;align-items:start;padding:13px;background:#17171e;border:1px solid #30303a;border-radius:7px;}
  .gp-schedule-item .gp-schedule-icon{font-size:17px;line-height:1.2;}
  .gp-schedule-item strong{display:block;color:#fff;font-size:11px;margin-bottom:3px;}
  .gp-schedule-item span:last-child{color:#a8a8b7;font-size:10.5px;line-height:1.45;}
  .gp-expect{padding:16px 18px;background:rgba(212,175,55,.055);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;color:#d0d0da;font-size:13.5px;line-height:1.8;}
  .gp-schedule{list-style:none;margin:0;padding:0;}
  .gp-schedule li{display:flex;gap:9px;padding:9px 0;border-bottom:1px solid var(--border);color:#c8c8d2;font-size:12px;line-height:1.5;}
  .gp-schedule li:last-child{border-bottom:0;}
  .gp-track-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px;}
  .gp-stat{background:#1d1d25;border:1px solid var(--border);border-top:3px solid var(--gold);border-radius:8px;padding:17px;}
  .gp-stat span{display:block;color:var(--text-dim);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;}
  .gp-stat strong{font-size:17px;color:#fff;}
  .gp-track-feature{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.55fr);gap:24px;align-items:center;}
  .gp-track-map{display:flex;align-items:center;justify-content:center;min-height:260px;padding:20px;border-radius:8px;background:radial-gradient(circle,rgba(212,175,55,.12),transparent 67%),#15151c;border:1px solid #30303a;}
  .gp-track-map img{display:block;width:100%;max-width:370px;height:235px;object-fit:contain;filter:invert(80%) sepia(62%) saturate(850%) hue-rotate(357deg) brightness(94%);}
  .gp-track-copy p:last-child{margin-bottom:0;}
  .gp-track-copy p{font-size:14px;line-height:1.78;margin:0 0 14px;color:var(--text-dim);}
  .gp-track-copy p strong{display:inline;color:var(--gold-soft);font-weight:950;}
  .gp-track-meta{margin-top:16px!important;padding-top:15px;border-top:1px solid #30303a;color:#b8b8c8!important;}
  .gp-track-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;color:var(--gold);font-size:12px;font-weight:900;}
  .gp-result-tabs{display:flex;gap:8px;margin-bottom:14px;}
  .gp-result-tab{border:1px solid var(--border);border-radius:999px;background:#191920;color:var(--text-dim);padding:8px 15px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.6px;}
  .gp-result-tab.active{background:var(--gold);border-color:var(--gold);color:#111;}
  .gp-result-panel{display:none;}
  .gp-result-panel.active{display:block;}
  .gp-results-group{margin-top:18px;}
  .gp-results-group:first-of-type{margin-top:0;}
  .gp-results-group+.gp-results-group{margin-top:27px;}
  .gp-results-group-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 11px;color:#fff;font-size:13px;}
  .gp-results-title-main{display:flex;align-items:center;gap:11px;}
  .gp-results-chevron{color:var(--division-accent);font-size:25px;font-weight:1000;line-height:1;flex:0 0 auto;}
  .gp-results-title-icon{display:block;width:34px;height:34px;object-fit:contain;flex:0 0 34px;}
  .gp-results-group-title span{color:var(--text-dim);font-size:10px;font-weight:700;text-transform:none;letter-spacing:0;}
  .gp-results-group-title .gp-results-title-main{color:#fff;font-size:17px;font-weight:900;line-height:1;}
  .gp-results-table{overflow:hidden;border:1px solid var(--border);border-radius:9px;background:#1b1b22;box-shadow:0 8px 22px rgba(0,0,0,.13);}
  .gp-result-row{display:grid;grid-template-columns:48px minmax(190px,1.3fr) minmax(135px,.85fr) 112px 112px;align-items:center;gap:12px;min-height:52px;padding:7px 16px;border-bottom:1px solid #30303a;font-size:12.5px;}
  .gp-result-row.gp-race-row{grid-template-columns:48px minmax(190px,1.3fr) minmax(135px,.85fr) 112px 112px;}
  .gp-result-row.gp-race-row.intro-race-row{grid-template-columns:48px minmax(190px,1fr) 112px;}
  .gp-result-row:last-child{border-bottom:0;}
  .gp-result-row:nth-child(odd):not(.gp-result-head){background:rgba(255,255,255,.012);}
  .gp-result-row:hover{background:rgba(212,175,55,.035) !important;}
  .gp-result-row.status-row{min-height:47px;}
  .gp-result-row.status-row .gp-result-driver,.gp-result-row.status-row .gp-result-team{color:#a3a3b0;}
  .gp-result-pos{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#2a2a34;color:#fff;font-weight:900;}
  .gp-result-row.p1 .gp-result-pos{background:#e9c22f;color:#111;}
  .gp-result-row.p2 .gp-result-pos{background:#d9dde5;color:#111;}
  .gp-result-row.p3 .gp-result-pos{background:#d78939;color:#111;}
  .gp-result-driver{display:flex;align-items:center;gap:6px;min-width:0;font-weight:900;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .gp-result-driver .flag-mark{margin-right:0;}
  .gp-result-driver .flag-icon{margin:0;}
  .gp-result-team{display:flex;align-items:center;gap:0;color:var(--text-dim);font-weight:700;white-space:nowrap;}
  .gp-result-time,.gp-result-gap{text-align:center;color:#c1c1cf;font-weight:800;white-space:nowrap;}
  .gp-result-points{display:flex;align-items:center;justify-content:center;text-align:center;color:var(--gold);font-weight:900;white-space:nowrap;}
  .gp-result-head{background:#23232d;color:#9696aa;min-height:38px;font-size:9px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;}
  .gp-result-head span:nth-last-child(-n+2){text-align:center;}
  .gp-result-row.gp-race-row.gp-result-head span:nth-last-child(-n+2){text-align:center;}
  .gp-result-row.gp-race-row.intro-race-row.gp-result-head span:nth-child(2){text-align:left;}
  .gp-highlights{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
  .gp-highlight{background:#1d1d25;border:1px solid var(--border);border-left:3px solid var(--division-accent);border-radius:7px;padding:12px 14px;}
  .gp-highlight span{display:block;color:var(--text-dim);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
  .gp-highlight strong{display:flex;align-items:center;gap:0;min-width:0;white-space:nowrap;font-size:13px;color:#fff;}
  .gp-highlight strong .flag-icon{flex:0 0 auto;}

  /* INCIDENTS */
  .incident-card{
    background:var(--card);
    border:1px solid var(--border);
    border-left:4px solid var(--accent);
    border-radius:var(--radius);
    padding:16px 18px;
    margin-bottom:14px;
  }
  .incident-top{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
  .incident-race{font-weight:700;font-size:13px;}
  .incident-lap{font-size:12px;color:var(--text-dim);}
  .incident-drivers{font-size:14px;margin-bottom:6px;}
  .incident-desc{font-size:13px;color:var(--text-dim);line-height:1.5;margin-bottom:8px;}
  .verdict{
    display:inline-block;
    font-size:11px;
    font-weight:700;
    letter-spacing:1px;
    padding:4px 10px;
    border-radius:20px;
    text-transform:uppercase;
  }
  .verdict.penalty{background:rgba(225,6,0,0.15);color:#ff6b63;}
  .verdict.warning{background:rgba(212,175,55,0.15);color:var(--gold);}
  .verdict.noaction{background:rgba(255,255,255,0.08);color:var(--text-dim);}

  /* HALL OF FAME */
  .hof-grid{display:grid;grid-template-columns:1fr;gap:14px;}
  .hof-season-title{
    margin-top:28px;
    margin-bottom:10px;
    padding:12px 15px;
    border:1px solid rgba(212,175,55,.34);
    border-left:6px solid var(--accent);
    border-radius:7px;
    background:linear-gradient(90deg,rgba(212,175,55,.24),rgba(212,175,55,.07) 62%,transparent);
    color:#ffe79a;
    font-size:23px;
    font-weight:900;
    letter-spacing:1.5px;
    text-transform:uppercase;
    text-shadow:0 1px 14px rgba(212,175,55,.28);
  }
  .hof-season-title:first-child{margin-top:0;}
  .hof-card{
    background:linear-gradient(145deg,rgba(212,175,55,.045),transparent 35%),var(--card);
    border:1px solid rgba(212,175,55,.28);
    border-radius:var(--radius);
    padding:22px;
    position:relative;
  }
  .hof-season{color:var(--accent);font-weight:900;font-size:13px;letter-spacing:2px;margin-bottom:10px;}
  .hof-champion{font-size:20px;font-weight:900;margin-bottom:4px;}
  .hof-team{color:var(--text-dim);font-size:13px;margin-bottom:12px;}
  .hof-highlight{font-size:13px;color:#d6d6dc;line-height:1.6;border-top:1px solid var(--border);padding-top:12px;}
  .hof-title-row{display:grid;grid-template-columns:minmax(180px,230px) minmax(0,1fr);gap:18px;align-items:start;padding:12px 0;border-top:1px solid var(--border);}
  .hof-title-row:first-of-type{border-top:none;padding-top:2px;}
  .hof-title-label{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:34px;
    padding:7px 10px;
    border:1px solid rgba(212,175,55,.27);
    border-left:3px solid var(--accent);
    border-radius:6px;
    background:rgba(212,175,55,.09);
    color:#ffe08a;
    font-size:12.5px;
    font-weight:900;
    letter-spacing:.9px;
    text-transform:uppercase;
  }
  .hof-title-label img{width:16px;height:16px;object-fit:contain;}
  .hof-title-winner{font-size:13px;font-weight:700;line-height:1.6;color:var(--text);}
  .hof-title-winner strong{color:#fff;font-size:14px;font-weight:900;}
  .hof-team-entry{display:inline-flex;align-items:center;gap:0;flex-wrap:wrap;}
  .hof-team-entry > img,.hof-team-entry > .team-color-dot{margin-right:6px !important;}
  .team-detail-header{gap:6px;}
  .hof-team-drivers{color:var(--text-dim);font-weight:600;}
  .hof-team-entry > .hof-team-drivers{margin-left:6px;}
  .hof-title-winner-multi{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap;overflow-x:auto;}
  .hof-title-winner-multi .hof-team-entry{flex-wrap:nowrap;}
  .hof-team-separator{display:inline-flex;color:var(--gold);font-weight:900;margin:0;flex-shrink:0;}
  .intro-hof-grid{gap:16px;}
  .intro-hof-edition .hof-season-title{margin:0 0 7px;}
  .intro-hof-line{
    display:flex;
    align-items:center;
    gap:6px;
    min-height:32px;
    padding:3px 4px 5px;
    color:var(--text);
    font-size:14px;
    line-height:1.35;
  }
  .intro-hof-line > strong:first-child{color:#ffe08a;font-weight:900;}
  .intro-hof-winner{display:inline-flex;align-items:center;gap:0;font-weight:900;color:#fff;}

  /* GLOBAL CONTRAST PASS */
  #app-screen{
    background:
      radial-gradient(circle at 50% 0,rgba(255,255,255,.035),transparent 34%),
      var(--bg);
  }
  header.topbar{
    box-shadow:0 7px 24px rgba(0,0,0,.38);
  }
  .card,
  .division-card,
  .news-card,
  .team-card,
  .stat-card,
  .calendar-row,
  .incident-card,
  .hof-card{
    box-shadow:
      0 8px 22px rgba(0,0,0,.2),
      inset 0 1px 0 rgba(255,255,255,.025);
  }
  .special-series-tab,
  .season-pill,
  .gp-result-tab{
    background:var(--surface-raised);
    border-color:var(--border-strong);
    color:var(--text-dim);
  }
  .division-badge,
  .winner-badge,
  .pts-badge,
  .cal-badge.completed,
  .cal-badge.upcoming,
  .verdict.noaction{
    background:var(--surface-raised);
    border:1px solid var(--border-strong);
  }
  .countdown .cd-unit,
  .detail-stat,
  .driver-chip,
  .intro-driver-entry,
  .cal-round,
  .bar-track{
    background:var(--surface-soft);
    border-color:var(--border-strong);
  }
  .intro-driver-entry{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
  }
  .season-grid-team{
    background:linear-gradient(100deg,#1c2029,#171a22);
    box-shadow:0 5px 16px rgba(0,0,0,.16);
  }
  .rb-section .rule-callout{
    background:#1b1f28;
    border-top:1px solid var(--border);
    border-right:1px solid var(--border);
    border-bottom:1px solid var(--border);
  }
  .rb-section .rule-callout--warning{
    background:rgba(225,6,0,.13);
    border-color:rgba(225,6,0,.42);
  }
  .rb-section .format-card{
    background:#1b1f28;
    border:1px solid var(--border);
    border-top:3px solid var(--accent);
  }
  .rb-section .points-line,
  .intro-driver-note{
    background:#1b1f28;
    border:1px solid var(--border);
  }
  .intro-driver-note{border-left:5px solid var(--accent);}
  thead th{
    background:rgba(255,255,255,.045);
  }
  tbody tr:nth-child(even){
    background:rgba(255,255,255,.018);
  }
  tbody tr:hover{
    background:rgba(255,255,255,.06);
  }
  .gp-tabs{
    background:var(--surface-soft);
  }
  .gp-card{
    background:linear-gradient(145deg,#252a35,#1b1f28);
    border-color:var(--border);
    box-shadow:0 8px 22px rgba(0,0,0,.18);
  }
  .gp-storyline-block,
  .gp-debrief-block,
  .gp-highlight{
    background:var(--surface-soft);
    border-color:var(--border);
    border-left-color:var(--division-accent);
  }
  .gp-schedule-item{
    background:var(--surface-soft);
    border-color:var(--border-strong);
  }
  .gp-stat{
    background:var(--surface-soft);
    border-color:var(--border);
    border-top-color:var(--gold);
  }
  .gp-track-map{
    background:radial-gradient(circle,rgba(212,175,55,.14),transparent 67%),var(--surface-soft);
    border-color:var(--border-strong);
  }
  .gp-results-table{
    background:#1b1f28;
    border-color:var(--border-strong);
    box-shadow:0 10px 26px rgba(0,0,0,.24);
  }
  .gp-result-head{
    background:#2c3240;
    color:#c0c5d1;
  }
  .gp-result-row:nth-child(odd):not(.gp-result-head){
    background:rgba(255,255,255,.025);
  }
  .gp-result-row:hover{
    background:rgba(255,255,255,.065)!important;
  }
  .gp-result-pos{
    background:#363d4b;
  }
  .series-card,
  .series-table-wrap,
  .series-empty{
    border-color:var(--border-strong);
    box-shadow:0 9px 24px rgba(0,0,0,.22);
  }
  .series-card{background:linear-gradient(145deg,#252a35,#1b1f28);}
  .series-table-wrap{background:#1b1f28;}
  .series-table th{background:#2b303d;color:#c0c5d1;border-bottom-color:var(--border-strong);}
  .series-table td{border-bottom-color:var(--border);}
  .series-empty{background:linear-gradient(145deg,#252a35,#1b1f28);}

  /* ---------- SIMPLIFIED SIDE SERIES ---------- */
  .modal-overlay.series-view{
    padding:12px;
    background:rgba(5,6,9,.92);
  }
  .series-view .modal-box.is-wide{
    max-width:1080px;
    max-height:calc(100vh - 24px);
    border:1px solid var(--border-strong);
    border-radius:8px;
    box-shadow:0 14px 38px rgba(0,0,0,.42);
  }
  .series-view .modal-close{
    top:14px;
    right:16px;
    width:30px;
    height:30px;
    border-radius:6px;
    background:var(--surface-raised);
    font-size:18px;
  }
  .series-detail{background:var(--bg);}
  .series-hero{
    padding:22px 58px 18px 24px;
    background:var(--surface-soft);
  }
  .series-hero::after{display:none;}
  .series-brand{gap:14px;}
  .series-hero-icon{
    width:48px;
    height:48px;
    flex-basis:48px;
    filter:none;
  }
  .series-kicker{
    margin-bottom:4px;
    font-size:8.5px;
    letter-spacing:1.6px;
  }
  .series-hero h2{
    margin:0;
    font-size:clamp(24px,3vw,32px);
  }
  .series-full-description{
    position:relative;
    z-index:1;
    max-width:860px;
    margin-top:14px;
  }
  .series-full-description .series-intro{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .series-full-description p{
    max-width:760px;
    font-size:12.5px;
    line-height:1.5;
  }
  .series-meta{gap:6px;margin-top:13px;}
  .series-chip{
    padding:4px 8px;
    border-color:var(--border);
    border-radius:5px;
    background:transparent;
    color:var(--text-dim);
    font-size:8px;
  }
  .series-body{padding:0 24px 28px;}
  .series-section{margin-top:20px;}
  .series-section h3{
    gap:7px;
    margin-bottom:10px;
    padding-left:9px;
    border-left-width:2px;
    font-size:14px;
  }
  .series-cards{gap:10px;}
  .series-card,
  .series-table-wrap,
  .series-empty{
    border-color:var(--border);
    border-radius:6px;
    box-shadow:none;
  }
  .series-card{
    padding:14px;
    background:var(--surface-soft);
  }
  .series-card::before{display:none;}
  .series-card h4{margin-bottom:9px;font-size:12px;letter-spacing:.35px;}
  .series-card p,
  .series-card li{font-size:11.5px;line-height:1.55;}
  .series-card p strong{font-size:12px;}
  .series-champion{
    margin:0 0 10px;
    padding:9px 10px;
    border-left-width:2px;
    border-radius:4px;
    background:rgba(255,255,255,.025);
  }
  .series-champion-label{font-size:8px;letter-spacing:1px;}
  .series-champion strong{font-size:12.5px;}
  .series-podium{min-height:0;font-size:11.5px;}
  .series-calendar{margin-top:9px;padding-top:8px;font-size:10px;}
  .series-table-wrap{background:var(--surface-soft);}
  .series-table{font-size:12px;}
  .series-table th{
    padding:10px 12px;
    border-bottom-width:1px;
    background:var(--surface-raised);
    font-size:8.5px;
    letter-spacing:.7px;
  }
  .series-table td{padding:10px 12px;}
  .series-note{margin-top:8px;font-size:10.5px;}
  .series-intro{
    padding:14px 16px;
    border-color:var(--border);
    border-radius:6px;
    background:var(--surface-soft);
    font-size:12px;
    line-height:1.65;
  }
  .series-stats{gap:8px;}
  .series-stat{
    padding:12px 9px;
    border-radius:6px;
    background:var(--surface-soft);
  }
  .series-stat strong{margin-bottom:5px;font-size:19px;}
  .series-stat span{font-size:8px;letter-spacing:.7px;}
  .series-flow{gap:8px;}
  .series-flow .series-card{padding-top:39px;}
  .series-flow .series-card::after{
    left:13px;
    top:11px;
    width:20px;
    height:20px;
    border-radius:4px;
    font-size:9px;
  }
  .night-edition-nav{
    gap:6px;
    margin-bottom:10px;
    padding:6px;
    border-radius:6px;
    background:var(--surface-soft);
  }
  .night-edition-tab{
    width:38px;
    height:32px;
    border-radius:5px;
    font-size:11px;
  }
  .series-roster{gap:6px;}
  .series-entry{
    min-height:38px;
    padding:8px 10px;
    border-radius:5px;
    background:var(--surface-soft);
    font-size:11px;
  }
  .series-empty{
    padding:32px 18px;
    background:var(--surface-soft);
    font-size:12px;
  }
  .series-empty::before{display:none;}
  .modal-box{
    border-color:var(--border-strong);
    box-shadow:0 24px 72px rgba(0,0,0,.62);
  }
  .hof-season-title{
    border-color:rgba(212,175,55,.5);
  }
  .hof-card{
    border-color:rgba(212,175,55,.4);
  }
  .hof-title-label{
    background:rgba(212,175,55,.14);
    border-color:rgba(212,175,55,.42);
    border-left-color:var(--accent);
  }

  footer.app-footer{
    text-align:center;
    padding:20px;
    color:var(--text-dim);
    font-size:12px;
    border-top:1px solid var(--border);
  }

  @media (max-width: 860px){
    .home-grid{grid-template-columns:1fr;}
    .standings-panels{grid-template-columns:1fr;}
    .teams-grid{grid-template-columns:1fr;}
    .rulebook-layout{display:block;}
    .rb-toc{display:none;}
    .rb-mobile-nav{
      position:sticky;
      top:104px;
      z-index:22;
      display:grid;
      grid-template-columns:auto minmax(0,1fr);
      align-items:center;
      gap:11px;
      margin:0 0 22px;
      padding:9px 10px 9px 13px;
      border:1px solid color-mix(in srgb,var(--accent) 42%,var(--border));
      border-radius:10px;
      background:rgba(23,23,30,.96);
      box-shadow:0 10px 28px rgba(0,0,0,.32);
      backdrop-filter:blur(14px);
    }
    .rb-mobile-nav-label{
      color:var(--accent);
      font-size:9px;
      font-weight:950;
      letter-spacing:1.2px;
      line-height:1.15;
      text-transform:uppercase;
    }
    .rb-mobile-select{
      width:100%;
      min-width:0;
      height:38px;
      padding:0 34px 0 12px;
      border:1px solid rgba(255,255,255,.12);
      border-radius:7px;
      outline:none;
      background:#101016;
      color:#fff;
      font:800 12px/1 inherit;
      text-overflow:ellipsis;
    }
    .rb-mobile-select:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent);}
    .rb-section{scroll-margin-top:166px;}
    .rb-section .format-grid{grid-template-columns:1fr;}
    .drivers-row{flex-direction:column;}
    .intro-driver-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  }

  @media (max-width: 640px){
    main{padding:20px 14px 40px;}
    .topbar-inner{padding:12px 14px;gap:10px;}
    .brand{font-size:14px;}
    .brand .brand-mark{font-size:12px;padding:3px 6px;}
    nav.tabs{padding:0 40px 0 14px;}
    .tabs-scroll-btn{width:36px;}
    nav.tabs button{padding:11px 10px;font-size:11.5px;}
    .change-division{font-size:11px;padding:6px 11px;}
    .division-badge{font-size:11px;padding:4px 10px;}
    .landing-footer{margin-top:32px;}
    .special-series-tabs{display:grid;grid-template-columns:1fr;gap:8px;overflow:visible;padding:14px 0 0;}
    .special-series-tab{width:100%;height:44px;justify-content:flex-start;padding:0 10px;min-width:0;font-size:10.5px;}
    .special-series-tab img{width:20px;height:20px;flex-basis:20px;}
    .special-series-tab span{overflow:hidden;text-overflow:ellipsis;}
    .intro-driver-grid{grid-template-columns:1fr;}
    .modal-overlay.series-view{padding:0;}
    .series-view .modal-box.is-wide{max-width:100%;max-height:100vh;height:100vh;border-radius:0;border-left:0;border-right:0;border-bottom:0;}
    .modal-overlay.driver-view{padding:0;}
    .driver-view .modal-box{max-width:100%;max-height:100vh;height:100vh;height:100dvh;border-radius:0;border:0;padding:20px 16px 28px;}
    .series-hero{padding:20px 48px 18px 16px;}
    .series-brand{align-items:flex-start;gap:10px;}
    .series-hero-icon{width:44px;height:44px;flex-basis:44px;}
    .series-meta{gap:5px;margin-top:10px;}
    .series-chip{padding:3px 6px;font-size:7.5px;letter-spacing:.15px;}
    .series-body{padding:0 12px 24px;}
    .series-cards{grid-template-columns:1fr;}
    .series-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
    .series-flow{grid-template-columns:1fr;}
    .series-roster{grid-template-columns:1fr;}
    .series-intro{padding:12px 13px;font-size:11.5px;}
    .series-hero h2{font-size:24px;}
    .series-section{margin-top:20px;}
    .series-section-last-results{margin:16px 0 0;padding:14px 10px 12px;}
    .series-table th,.series-table td{padding:10px 9px;}
    .gp-hero{padding:24px 50px 20px 15px;}
    .gp-tabs{padding:0 10px;}
    .gp-tab{padding:13px 12px;}
    .gp-body{padding:20px 13px 28px;}
    .gp-info-grid{grid-template-columns:1fr;}
    .gp-information-card{padding:18px 15px;}
    .gp-schedule-grid{grid-template-columns:1fr;}
    .season-grid-lineup{gap:7px;margin:18px 0 22px;}
    .season-grid-team{
      grid-template-columns:1fr;
      gap:7px;
      min-height:0;
      padding:10px 11px 11px;
    }
    .season-grid-team-logo{width:35px;height:28px;flex-basis:35px;}
    .season-grid-team-name strong{font-size:12.5px;}
    .season-grid-drivers{
      gap:7px;
      padding-left:46px;
      overflow-x:auto;
      font-size:12px;
      scrollbar-width:none;
    }
    .season-grid-drivers::-webkit-scrollbar{display:none;}
    .season-grid-flag{width:20px;height:14px;flex-basis:20px;}
    .season-grid-status{margin-left:2px;flex-shrink:0;}
    .gp-track-grid{grid-template-columns:1fr 1fr;}
    .gp-track-feature{grid-template-columns:1fr;gap:16px;}
    .gp-track-map{min-height:210px;padding:14px;}
    .gp-track-map img{height:190px;}
    .gp-result-row,.gp-result-row.gp-race-row{grid-template-columns:34px minmax(0,1fr) 48px 80px;gap:6px;padding:7px 9px;min-height:49px;}
    .gp-result-row.gp-race-row.intro-race-row{grid-template-columns:34px minmax(0,1fr) 70px;}
    .gp-result-team{display:flex;align-items:center;justify-content:center;min-width:0;}
    .gp-result-team-name{display:none;}
    .gp-result-team img{margin:0 !important;}
    .gp-result-gap,.gp-result-points{display:none;}
    .gp-result-row.intro-race-row .gp-result-points{display:flex;}
    .gp-result-head span:nth-child(3),.gp-result-head span:nth-child(4){text-align:center;}
    .gp-result-row:not(.gp-race-row).gp-result-head span:nth-child(5),.gp-result-row.gp-race-row.gp-result-head span:nth-child(5){display:none;}
    .gp-result-time,.gp-result-gap{font-size:10.5px;}
    .gp-result-driver{gap:6px;}
    .gp-results-group-title .gp-results-title-main{font-size:16px;}
    .gp-results-title-icon{width:31px;height:31px;flex-basis:31px;}
    .gp-highlights{grid-template-columns:1fr;}
    .gp-narrative-grid{grid-template-columns:1fr;}
    .hero-race{padding:18px;}
    .home-grid{grid-template-columns:1fr;grid-template-areas:'next-heading' 'next-card' 'last-heading' 'last-card';}
    .countdown{gap:8px;}
    .countdown .cd-unit{min-width:50px;padding:8px 10px;}
    .countdown .cd-num{font-size:19px;}
    table{font-size:12.5px;}
    thead th, tbody td{padding:8px 8px;}
    .gap-col{display:none;}
    .drivers-col{display:none;}
    .team-name-full{display:none;}
    .team-name-short{display:inline;}
    .standings-table{min-width:0;}
    .standings-table td.driver-team-col .team-name-full,
    .standings-table td.driver-team-col .team-name-short{display:none;}
    .standings-table th.driver-team-col, .standings-table td.driver-team-col{width:78px;padding-left:2px;padding-right:2px;text-align:center;}
    .standings-table td.driver-team-col img, .standings-table td.driver-team-col .team-color-dot{margin-right:0 !important;}
    .standings-table th.driver-col, .standings-table td.driver-col{width:110px;overflow:hidden;text-overflow:ellipsis;}
    .standings-table th.ctor-team-col, .standings-table td.ctor-team-col{width:auto;}
    .standings-table th.lu-name-col, .standings-table td.lu-name-col{width:auto;}
    .standings-table th.pts, .standings-table td.pts{width:46px;padding-left:2px;padding-right:2px;}
    .pts-badge{width:38px;height:24px;font-size:12.5px;}
    .standings-table th.pos, .standings-table td.pos{width:22px;padding-left:4px;padding-right:2px;}
    .team-name-desktop-only{display:none;}
    .driver-standings-table th:nth-child(2), .driver-standings-table td:nth-child(2){width:auto;}
    .driver-standings-table th:nth-child(3), .driver-standings-table td:nth-child(3){width:calc(32% + 20px);text-align:center;}
    .team-logo-cell img, .team-logo-cell .team-color-dot{display:block !important;margin:0 auto !important;}
    .section-title{font-size:19px;}
    .section-subtitle{margin-bottom:18px;}
    .season-pills,.driver-season-pills{
      width:100%;
      gap:3px;
      overflow:visible;
    }
    .season-pill,.driver-season-pill{
      flex:1 1 0;
      min-width:0;
      padding:5px 3px;
      font-size:10.5px;
      text-align:center;
    }
    .driver-tab-btn{padding:7px 7px;font-size:10.5px;}
    .calendar-row{padding:12px 14px;gap:8px;flex-wrap:nowrap;}
    .cal-round{width:32px;height:32px;font-size:11px;}
    .cal-info{min-width:0;}
    .winner-badge{font-size:11px;padding:4px 8px;gap:6px;}
    .races-list-shell{border-radius:14px;}
    #section-races .races-list-shell .races-header{
      grid-template-columns:26px minmax(0,1fr) auto;
      gap:7px;
      min-height:36px;
      padding:0 10px;
      font-size:9px;
      letter-spacing:.65px;
    }
    #section-races .races-list-shell .calendar-row{
      grid-template-columns:26px minmax(0,1fr) auto;
      gap:7px;
      min-height:49px;
      padding:8px 10px;
    }
    #section-races .races-list-shell .cal-round{
      width:25px;
      height:25px;
      font-size:9.5px;
    }
    #section-races .races-list-shell .cal-track{
      font-size:clamp(10.25px,2.85vw,11.5px);
      letter-spacing:-.2px;
    }
    #section-races .races-list-shell .cal-track .flag-icon{
      width:17px;
      height:12px;
    }
    #section-races .races-list-shell .winner-badge{
      padding:0;
      font-size:clamp(10px,2.75vw,11px);
      gap:4px;
      letter-spacing:-.1px;
    }
    #section-races .races-list-shell .winner-badge .flag-icon{
      width:17px;
      height:12px;
    }
    #section-races .races-list-shell .winner-badge img:not(.flag-icon){
      width:17px !important;
      height:17px !important;
    }
    .last-race-meta{flex-direction:column;align-items:flex-start;gap:4px;}
    .last-race-meta > span:last-child{text-align:left;}
    .stats-subpanel .card{padding:13px 11px;}
    .current-stats-heading{margin-top:20px;font-size:14px;}
    .form-stat-row,.dotd-row{grid-template-columns:25px minmax(0,1fr) auto;gap:7px;min-height:43px;padding-left:0;padding-right:0;}
    .form-stat-rank{width:23px;height:23px;font-size:10px;}
    .form-stat-driver{font-size:12.5px;gap:5px;}
    .form-stat-driver .flag-icon,.h2h-driver .flag-icon{width:17px;height:12px;}
    .form-stat-value{font-size:12.5px;}
    .dotd-awards{font-size:11.5px;}
    .h2h-grid{grid-template-columns:1fr;gap:9px;}
    .h2h-team{padding:11px;}
    .h2h-team-head{margin-bottom:9px;}
    .h2h-pair{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:5px;min-height:44px;padding:7px 8px;}
    .h2h-driver{font-size:11.5px;gap:4px;}
    .h2h-versus{width:27px;height:27px;font-size:8px;}
    .h2h-results{gap:6px;margin-top:6px;}
    .h2h-result-row{min-height:34px;padding:5px 8px;}
    .h2h-mode{font-size:8px;letter-spacing:.3px;}
    .h2h-score{font-size:14px;}
    .alltime-row{grid-template-columns:18px minmax(0,1fr) auto;gap:4px;min-height:38px;padding:6px 0;}
    .alltime-rank{font-size:9.5px;}
    .alltime-driver{display:flex;gap:6px;font-size:12.5px;}
    .alltime-driver .flag-icon{width:16px;height:11px;margin-right:0;}
    .alltime-name{line-height:1.1;}
    .alltime-toggle{font-size:10px;}
    .alltime-value{font-size:11px;letter-spacing:-.15px;}
    .alltime-season-breakdown{padding:1px 0 7px 22px;}
    .alltime-season-row{min-height:26px;padding:4px 6px;font-size:10.5px;}
    .alltime-season-row strong{font-size:10.5px;}
    .hof-season-title{padding:10px 12px;font-size:19px;letter-spacing:1.2px;}
    .hof-card{padding:18px;}
    .hof-title-row{display:block;}
    .hof-title-label{margin-bottom:8px;padding:7px 9px;font-size:12px;}
    .hof-title-label span{
      display:inline-block;
      padding-bottom:0;
      border-bottom:0;
    }
    .team-body{padding:16px;}
    .stat-card{padding:14px;}
  }

  @media (max-width: 400px){
    .division-card{padding:22px 16px 18px;}
    .landing-kicker{letter-spacing:2px;}
  }

  /* ---------- TYPOGRAPHY READABILITY PASS ---------- */
  body{letter-spacing:.01em;}
  p,li,td,.section-subtitle,.detail-sub,.wiki-para,.incident-desc{
    font-weight:600;
  }
  .section-subtitle,.hero-winner,.hero-race .race-meta,.last-race-meta,
  .podium-team,.podium-gap,.news-card p,.detail-sub,.wiki-row .wiki-label,
  .driver-number,.stat-card .stat-label,.alltime-rank,.alltime-season-row,
  .cal-meta,.cal-datetime,.cal-facts,.gp-subtitle,.gp-track-copy p,
  .gp-result-team,.incident-lap,.incident-desc,.hof-team,.hof-team-drivers,
  footer.app-footer{
    color:#b5b5c0;
  }
  nav.tabs button,.change-division,.division-badge,.season-pill,
  .driver-season-pill,.driver-tab-btn,.stats-subtab{
    font-weight:800;
  }
  .division-card .dc-tier,.series-kicker,.series-chip,
  .series-champion-label,.series-table th,.series-empty::before,
  .hero-race .tag,.last-race-card .tag,.countdown .cd-label,
  .news-category-label,.news-readmore,.detail-stat-label,
  .wiki-row .wiki-label,.stat-card .stat-label,.cal-badge,
  .gp-kicker,.gp-tab,.gp-stat span,.gp-result-tab,
  .gp-result-head,.gp-highlight span,.gp-storyline-block h4,.gp-debrief-block h4,.verdict{
    font-size:max(11px, .72rem);
    font-weight:800;
  }
  .section-subtitle,.news-card p,.series-card p,.series-card li,
  .series-podium,.series-calendar,.series-note,.driver-number,
  .cal-meta,.cal-datetime,.cal-facts,.gp-subtitle,
  .gp-schedule-item strong,.gp-schedule-item span:last-child,
  .gp-schedule li,.gp-track-link,.incident-lap,.hof-team{
    font-size:max(12px, .78rem);
  }
  .news-lead p,.news-more-grid p,.news-category-grid p,
  .alltime-season-row,.alltime-season-row strong,
  .rb-section .rule-table td,.hof-title-winner{
    font-size:13.5px;
  }
  .rb-toc a,.rb-note,.rb-section .rule-table td{
    line-height:1.55;
  }
  .rb-section p,.rb-section li{
    color:#e0e0e6;
    font-size:14.5px;
  }
  .series-calendar,.series-note,.series-table th,
  .gp-schedule-item span:last-child,.gp-result-head{
    color:#b4b4c0;
  }
  @media (max-width:640px){
    nav.tabs button{font-size:12px;}
    .change-division,.division-badge{font-size:11.5px;}
    .season-pill,.driver-season-pill{font-size:11px;}
    .driver-tabs{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:1px;
      width:100%;
      flex-wrap:nowrap;
    }
    .driver-tab-btn{
      width:100%;
      min-width:0;
      padding:7px 2px;
      font-size:10.5px;
      letter-spacing:.15px;
      white-space:nowrap;
      text-align:center;
    }
    .alltime-rank{font-size:10.5px;}
    .alltime-driver{font-size:13px;}
    .alltime-toggle{font-size:11px;}
    .alltime-value{font-size:11.5px;}
    .alltime-season-row,.alltime-season-row strong{font-size:11.5px;}
  }

  /* ---------- SIDE SERIES / DIVISION DESIGN ALIGNMENT ---------- */
  .series-view .modal-box.is-wide{
    background:var(--bg);
    border-top:4px solid var(--gold);
  }
  .series-detail{color:var(--text);}
  .series-hero{
    margin:18px 22px 0;
    padding:20px 56px 20px 20px;
    border:1px solid var(--border-strong);
    border-radius:var(--radius);
    background:var(--card);
    box-shadow:0 12px 30px rgba(0,0,0,.22);
  }
  .series-brand{align-items:center;gap:13px;}
  .series-hero-icon{
    width:46px;
    height:46px;
    flex:0 0 46px;
    display:grid;
    place-items:center;
  }
  .series-kicker{
    color:var(--gold);
    font-size:10px;
    letter-spacing:1.45px;
  }
  .series-hero h2{
    font-size:clamp(25px,3vw,34px);
    line-height:1.05;
    letter-spacing:.25px;
  }
  .series-full-description{max-width:900px;margin-top:15px;}
  .series-full-description .series-intro{max-width:900px;}
  .series-full-description p,
  .series-full-description li{
    max-width:850px;
    margin:0;
    color:var(--text-dim);
    font-size:14px;
    font-weight:600;
    line-height:1.65;
  }
  .series-body{
    max-width:1040px;
    margin:0 auto;
    padding:4px 22px 34px;
  }
  .series-section{margin-top:28px;}
  .series-section h3{
    margin:0 0 14px;
    padding-left:12px;
    border-left:5px solid var(--gold);
    color:var(--text);
    font-size:20px;
    font-weight:950;
    letter-spacing:.5px;
    line-height:1.2;
  }
  .series-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
  }
  .series-card,
  .series-intro,
  .series-table-wrap,
  .series-empty{
    border:1px solid var(--border-strong);
    border-radius:var(--radius);
    background:var(--card);
    box-shadow:none;
  }
  .series-card{
    min-width:0;
    padding:16px;
  }
  .series-card h4{
    margin:0 0 8px;
    color:var(--text);
    font-size:13px;
    font-weight:950;
    letter-spacing:.35px;
    line-height:1.3;
  }
  .series-card p,
  .series-card li,
  .series-podium,
  .series-calendar,
  .series-note{
    color:var(--text-dim);
    font-size:12.5px;
    font-weight:600;
    line-height:1.55;
    overflow-wrap:anywhere;
  }
  .series-card p strong{color:var(--text);font-size:13px;}
  .series-flow{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .series-flow .series-card{
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    grid-template-rows:auto auto;
    align-content:start;
    column-gap:11px;
    row-gap:4px;
    padding:14px 15px;
  }
  .series-flow .series-card::after{
    position:static;
    grid-column:1;
    grid-row:1 / span 2;
    align-self:start;
    width:26px;
    height:26px;
    border-radius:5px;
    font-size:10px;
  }
  .series-flow .series-card h4,
  .series-flow .series-card p{
    grid-column:2;
    min-width:0;
    margin:0;
  }
  .series-champion{
    padding:9px 10px;
    border-left:3px solid var(--gold);
    background:var(--surface-soft);
  }
  .series-table-wrap{
    width:100%;
    overflow-x:auto;
    background:var(--card);
  }
  .series-table{width:100%;table-layout:auto;font-size:12px;}
  .series-table th{
    padding:11px 12px;
    background:var(--surface-raised);
    color:var(--text-dim);
    font-size:10px;
  }
  .series-table td{
    min-width:0;
    padding:11px 12px;
    color:var(--text);
    font-size:12px;
    font-weight:750;
    line-height:1.4;
    overflow-wrap:anywhere;
  }
  .series-table tbody tr:nth-child(even){background:rgba(255,255,255,.018);}
  .series-note{padding:0 2px;}
  .night-edition-nav{
    width:max-content;
    max-width:100%;
    margin-bottom:14px;
    padding:5px;
    border:1px solid var(--border);
    background:var(--card);
  }
  .night-edition-tab{width:40px;height:34px;}

  @media (max-width:860px){
    .series-cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  }

  @media (max-width:640px){
    .series-view .modal-box.is-wide{
      height:100dvh;
      max-height:100dvh;
      border-top-width:3px;
    }
    .series-view .modal-close{
      position:fixed;
      top:13px;
      right:13px;
      z-index:10;
      width:34px;
      height:34px;
      border-radius:8px;
      background:#292e3a;
    }
    .series-hero{
      margin:10px 10px 0;
      padding:15px 44px 16px 14px;
      border-radius:10px;
    }
    .series-brand{gap:10px;}
    .series-hero-icon{
      width:38px;
      height:38px;
      flex-basis:38px;
      font-size:30px;
    }
    .series-kicker{margin-bottom:3px;font-size:9px;line-height:1.3;}
    .series-hero h2{font-size:24px;line-height:1.08;}
    .series-full-description{margin-top:13px;}
    .series-full-description p,
    .series-full-description li{font-size:13px;line-height:1.58;}
    .series-body{padding:2px 10px 26px;}
    .series-section{margin-top:24px;}
    .series-section h3{
      margin-bottom:12px;
      padding-left:10px;
      border-left-width:4px;
      font-size:18px;
    }
    .series-cards,
    .series-flow{
      grid-template-columns:1fr;
      gap:9px;
    }
    .series-card{padding:13px 14px;border-radius:9px;}
    .series-card h4{margin-bottom:6px;font-size:12.5px;}
    .series-card p,
    .series-card li,
    .series-podium,
    .series-calendar,
    .series-note{font-size:12px;line-height:1.5;}
    .series-flow .series-card{
      grid-template-columns:28px minmax(0,1fr);
      column-gap:9px;
      padding:12px 13px;
    }
    .series-flow .series-card::after{width:24px;height:24px;}
    .series-table-wrap{
      overflow:visible;
      border:0;
      background:transparent;
    }
    .series-table,
    .series-table tbody{
      display:block;
      width:100%;
    }
    .series-table thead{display:none;}
    .series-table tr{
      display:grid;
      grid-template-columns:34px minmax(0,1fr) minmax(64px,auto);
      grid-template-rows:auto auto;
      align-items:center;
      column-gap:9px;
      row-gap:3px;
      margin-bottom:8px;
      padding:11px 12px;
      border:1px solid var(--border-strong);
      border-radius:9px;
      background:var(--card);
    }
    .series-table tbody tr:nth-child(even){background:var(--card);}
    .series-table td{
      display:block;
      width:auto!important;
      min-width:0;
      padding:0;
      border:0;
      font-size:11.5px;
      line-height:1.35;
      white-space:normal;
    }
    .series-table td:first-child{
      grid-column:1;
      grid-row:1 / span 2;
      width:30px!important;
      height:30px;
      display:grid;
      place-items:center;
      border:1px solid var(--border-strong);
      border-radius:50%;
      background:var(--surface-raised);
      color:var(--text);
    }
    .series-table td:nth-child(2){
      grid-column:2;
      grid-row:1;
      color:var(--text);
      font-size:12px;
      font-weight:900;
    }
    .series-table td:nth-child(3){
      grid-column:2;
      grid-row:2;
      color:var(--text-dim);
      font-size:11px;
      font-weight:650;
    }
    .series-table td:nth-child(n+4),
    .series-table td.points{
      grid-column:3;
      grid-row:1 / span 2;
      align-self:center;
      max-width:120px;
      color:var(--text-dim);
      font-size:11px;
      text-align:right;
      overflow-wrap:anywhere;
    }
    .series-table tr:last-child{margin-bottom:0;}
    .night-edition-nav{
      position:sticky;
      top:0;
      z-index:3;
    }
  }

  /* ---------- SIDE SERIES / GOLD DIVISION PARITY ---------- */
  .series-view .modal-box.is-wide{
    width:min(1180px,calc(100vw - 28px));
    border:1px solid var(--border-strong);
    border-top:4px solid var(--gold);
    border-radius:12px;
    background:
      radial-gradient(circle at 50% 0,rgba(255,255,255,.025),transparent 31%),
      var(--bg);
  }
  .series-view .modal-close{
    border:1px solid var(--border-strong);
    background:var(--surface-raised);
    color:var(--text);
  }
  .series-hero{
    position:relative;
    max-width:1140px;
    margin:0 auto;
    padding:26px 66px 24px 26px;
    border:0;
    border-bottom:1px solid var(--border);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .series-hero::before{
    content:'';
    position:absolute;
    left:26px;
    bottom:-1px;
    width:116px;
    height:3px;
    background:var(--gold);
  }
  .series-brand{gap:12px;}
  .series-hero-icon{
    width:44px;
    height:44px;
    flex-basis:44px;
    object-fit:contain;
  }
  .series-hero h2{
    font-size:30px;
    font-weight:950;
    letter-spacing:.4px;
    text-transform:uppercase;
  }
  .series-full-description{
    max-width:920px;
    margin-top:16px;
  }
  .series-full-description .series-intro{
    padding:0;
    border:0;
    background:transparent;
  }
  .series-full-description p,
  .series-full-description li{
    max-width:880px;
    color:#c4c4ce;
    font-size:14px;
    font-weight:600;
    line-height:1.62;
  }
  .series-full-description strong{color:#fff;font-weight:900;}
  .series-body{
    max-width:1140px;
    padding:2px 26px 44px;
  }
  .series-section{margin-top:30px;}
  .series-section h3{
    margin-bottom:15px;
    padding-left:12px;
    border-left:5px solid var(--gold);
    font-size:21px;
    letter-spacing:.55px;
    text-transform:uppercase;
  }
  .series-section-how-it-works .series-flow{
    display:block;
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--card);
    box-shadow:
      0 8px 22px rgba(0,0,0,.2),
      inset 0 1px 0 rgba(255,255,255,.025);
  }
  .series-section-how-it-works .series-flow .series-card{
    display:grid;
    grid-template-columns:36px minmax(150px,220px) minmax(0,1fr);
    grid-template-rows:auto;
    align-items:center;
    min-height:76px;
    padding:14px 18px;
    column-gap:14px;
    border:0;
    border-bottom:1px solid var(--border);
    border-radius:0;
    background:transparent;
  }
  .series-section-how-it-works .series-flow .series-card:last-child{border-bottom:0;}
  .series-section-how-it-works .series-flow .series-card::after{
    grid-column:1;
    grid-row:1;
    width:30px;
    height:30px;
    border-radius:50%;
    background:var(--surface-raised);
    border:1px solid color-mix(in srgb,var(--gold) 65%,var(--border));
    color:var(--gold);
    font-size:11px;
  }
  .series-section-how-it-works .series-flow .series-card h4{
    grid-column:2;
    grid-row:1;
    margin:0;
    color:#fff;
    font-size:13px;
    font-weight:950;
    text-transform:uppercase;
  }
  .series-section-how-it-works .series-flow .series-card p{
    grid-column:3;
    grid-row:1;
    margin:0;
    color:var(--text-dim);
    font-size:12.5px;
    line-height:1.55;
  }
  .series-section-hall-of-fame .series-cards{
    grid-template-columns:1fr;
    gap:12px;
  }
  .series-section-hall-of-fame .series-card{
    position:relative;
    padding:19px 20px;
    border:1px solid rgba(212,175,55,.28);
    border-left:5px solid var(--gold);
    border-radius:var(--radius);
    background:
      linear-gradient(145deg,rgba(212,175,55,.045),transparent 38%),
      var(--card);
    box-shadow:
      0 8px 22px rgba(0,0,0,.2),
      inset 0 1px 0 rgba(255,255,255,.025);
  }
  .series-section-hall-of-fame .series-card h4{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    margin:0 0 12px;
    padding:7px 10px;
    border:1px solid rgba(212,175,55,.27);
    border-left:3px solid var(--gold);
    border-radius:6px;
    background:rgba(212,175,55,.09);
    color:#ffe08a;
    font-size:12.5px;
    font-weight:900;
    letter-spacing:.75px;
    text-transform:uppercase;
  }
  .series-section-hall-of-fame .series-card p{
    margin:3px 0;
    color:var(--text-dim);
    font-size:13px;
    line-height:1.55;
  }
  .series-section-hall-of-fame .series-card p strong{
    display:block;
    margin-bottom:7px;
    color:#fff;
    font-size:15px;
  }
  .series-section-history{
    padding-bottom:4px;
  }
  .series-history-block{
    margin-top:14px;
  }
  .series-history-block:first-of-type{margin-top:0;}
  .series-subheading{
    margin:0 0 8px;
    padding:0 2px;
    color:var(--text);
    font-size:13px;
    font-weight:950;
    letter-spacing:.55px;
    text-transform:uppercase;
  }
  .series-history-block > .series-cards{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .series-history-block .series-card{
    padding:16px 17px;
    border-color:var(--border);
    background:var(--card);
    box-shadow:
      0 8px 22px rgba(0,0,0,.16),
      inset 0 1px 0 rgba(255,255,255,.025);
  }
  .series-history-block .series-table-wrap{
    border-color:var(--border);
    border-radius:var(--radius);
    background:var(--card);
    box-shadow:
      0 8px 22px rgba(0,0,0,.16),
      inset 0 1px 0 rgba(255,255,255,.025);
  }
  .series-history-block .series-table th{
    padding:12px 14px;
    background:#2b303d;
    color:#c0c5d1;
    font-size:10px;
  }
  .series-history-block .series-table td{
    padding:12px 14px;
    font-size:12.5px;
  }
  .series-history-block .series-note{
    margin:8px 2px 0;
    padding:11px 13px;
    border-left:3px solid var(--gold);
    border-radius:0 6px 6px 0;
    background:rgba(212,175,55,.06);
    color:#c4c4ce;
  }
  .night-edition-nav{
    margin:0 0 12px;
    border-radius:8px;
  }
  .night-edition-tab{
    border-radius:6px;
  }

  @media (max-width:860px){
    .series-history-block > .series-cards{
      grid-template-columns:repeat(2,minmax(0,1fr));
    }
  }

  @media (max-width:640px){
    .series-view .modal-box.is-wide{
      width:100%;
      border:0;
      border-top:3px solid var(--gold);
      border-radius:0;
    }
    .series-hero{
      margin:0;
      padding:18px 52px 18px 15px;
    }
    .series-hero::before{
      left:15px;
      width:86px;
    }
    .series-brand{gap:9px;}
    .series-hero-icon{
      width:34px;
      height:34px;
      flex-basis:34px;
    }
    .series-hero h2{
      font-size:23px;
      line-height:1.08;
    }
    .series-full-description{
      margin-top:14px;
    }
    .series-full-description p,
    .series-full-description li{
      font-size:12.5px;
      line-height:1.58;
    }
    .series-body{
      padding:1px 14px 34px;
    }
    .series-section{
      margin-top:25px;
    }
    .series-section h3{
      margin-bottom:12px;
      padding-left:10px;
      border-left-width:4px;
      font-size:18px;
    }
    .series-section-how-it-works .series-flow .series-card{
      grid-template-columns:30px minmax(0,1fr);
      grid-template-rows:auto auto;
      min-height:0;
      padding:13px 12px;
      column-gap:10px;
      row-gap:4px;
    }
    .series-section-how-it-works .series-flow .series-card::after{
      grid-column:1;
      grid-row:1 / span 2;
      width:26px;
      height:26px;
    }
    .series-section-how-it-works .series-flow .series-card h4{
      grid-column:2;
      grid-row:1;
      font-size:12px;
      line-height:1.3;
    }
    .series-section-how-it-works .series-flow .series-card p{
      grid-column:2;
      grid-row:2;
      font-size:11.5px;
      line-height:1.48;
    }
    .series-section-hall-of-fame .series-card{
      padding:14px;
      border-left-width:4px;
    }
    .series-section-hall-of-fame .series-card h4{
      min-height:30px;
      margin-bottom:9px;
      padding:6px 8px;
      font-size:11px;
    }
    .series-section-hall-of-fame .series-card p{
      font-size:12px;
    }
    .series-section-hall-of-fame .series-card p strong{
      font-size:13px;
    }
    .series-history-block{
      margin-top:18px;
    }
    .series-subheading{
      margin-bottom:8px;
      color:#d4d4dc;
      font-size:11.5px;
      line-height:1.35;
    }
    .series-history-block > .series-cards{
      grid-template-columns:1fr;
      gap:8px;
    }
    .series-history-block .series-card{
      padding:13px 14px;
    }
    .series-history-block .series-table-wrap{
      border:0;
      background:transparent;
      box-shadow:none;
    }
    .series-history-block .series-table tr{
      margin-bottom:7px;
      padding:10px 11px;
      border-color:var(--border);
      border-radius:8px;
      box-shadow:0 5px 14px rgba(0,0,0,.14);
    }
    .series-history-block .series-table td{
      padding:0;
      font-size:11.5px;
    }
    .series-history-block .series-note{
      font-size:11.5px;
      line-height:1.5;
    }
  }

  /* ---------- FINAL SIDE SERIES / DIVISION VISUAL PARITY ---------- */
  .series-view .modal-box.is-wide{
    background:#090a0e;
    border-color:var(--border-strong);
  }
  .series-detail{
    background:#090a0e;
  }
  .series-hero{
    max-width:1092px;
    margin:22px auto 0;
    padding:22px 64px 22px 22px;
    border:1px solid var(--border-strong);
    border-top:4px solid var(--gold);
    border-radius:var(--radius);
    background:
      linear-gradient(135deg,rgba(212,175,55,.075),transparent 42%),
      var(--card);
    box-shadow:
      0 8px 22px rgba(0,0,0,.2),
      inset 0 1px 0 rgba(255,255,255,.025);
  }
  .series-hero::before{display:none;}
  .series-brand{gap:12px;}
  .series-hero-icon{
    width:48px;
    height:48px;
    flex-basis:48px;
    filter:none;
  }
  .series-hero h2{
    font-size:28px;
    line-height:1.08;
  }
  .series-full-description{
    max-width:900px;
    margin-top:14px;
  }
  .series-full-description p,
  .series-full-description li{
    color:var(--text-dim);
    font-size:13.5px;
    line-height:1.62;
  }
  .series-body{
    max-width:1140px;
    padding:2px 24px 42px;
  }
  .series-section{
    margin-top:28px;
  }
  .series-section h3{
    margin-bottom:14px;
    padding-left:12px;
    border-left:5px solid var(--gold);
    color:var(--text);
    font-size:19px;
    line-height:1.2;
    letter-spacing:.65px;
  }
  .series-section-how-it-works .series-flow,
  .series-section-hall-of-fame .series-card,
  .series-history-block .series-card,
  .series-history-block .series-table-wrap,
  .series-empty{
    border-color:var(--border-strong);
    border-radius:10px;
    background:var(--card);
    box-shadow:
      0 8px 22px rgba(0,0,0,.18),
      inset 0 1px 0 rgba(255,255,255,.025);
  }
  .series-section-how-it-works .series-flow .series-card{
    background:transparent;
  }
  .series-section-how-it-works .series-flow .series-card::after{
    border-color:var(--border-strong);
    background:var(--surface-raised);
    color:var(--gold);
  }
  .series-section-hall-of-fame .series-card{
    padding:18px 20px;
    border:1px solid var(--border-strong);
    border-left:5px solid var(--gold);
  }
  .series-section-hall-of-fame .series-card h4{
    display:block;
    width:100%;
    min-height:0;
    margin:0 0 12px;
    padding:8px 10px;
    border:0;
    border-left:3px solid var(--gold);
    border-radius:5px;
    background:var(--surface-raised);
    color:var(--text);
    font-size:12px;
  }
  .series-section-hall-of-fame .series-card p strong{
    color:#fff;
  }
  .series-history-block .series-card{
    padding:16px 17px;
  }
  .series-history-block .series-note{
    background:var(--surface-soft);
  }
  .series-history-block .series-table th{
    background:var(--surface-raised);
  }
  .series-empty::before{display:none;}

  @media (max-width:640px){
    .series-view .modal-box.is-wide{
      border-top:3px solid var(--gold);
      background:#090a0e;
    }
    .series-hero{
      margin:12px 12px 0;
      padding:16px 48px 16px 14px;
      border-top-width:3px;
      border-radius:10px;
    }
    .series-brand{gap:10px;}
    .series-hero-icon{
      width:40px;
      height:40px;
      flex-basis:40px;
    }
    .series-hero h2{
      font-size:22px;
      line-height:1.1;
    }
    .series-full-description{
      margin-top:12px;
    }
    .series-full-description p,
    .series-full-description li{
      font-size:12.5px;
      line-height:1.56;
    }
    .series-body{
      padding:1px 12px 32px;
    }
    .series-section{
      margin-top:24px;
    }
    .series-section h3{
      margin-bottom:11px;
      padding-left:10px;
      border-left-width:4px;
      font-size:17px;
      line-height:1.2;
    }
    .series-section-how-it-works .series-flow .series-card{
      padding:12px;
    }
    .series-section-hall-of-fame .series-card{
      padding:13px;
      border-left-width:4px;
    }
    .series-section-hall-of-fame .series-card h4{
      margin-bottom:9px;
      padding:7px 8px;
      font-size:11px;
    }

    /* Mobile news titles must always remain complete and readable. */
    .news-card .news-title,
    .news-lead .news-title{
      display:flex;
      align-items:flex-start;
      gap:8px;
      min-height:0;
    }
    .news-card .news-title > span:last-child,
    .news-lead .news-title > span:last-child{
      min-width:0;
      overflow:visible;
    }
    .news-card .news-title-copy,
    .news-lead .news-title-copy{
      display:block;
      flex:1 1 auto;
      min-width:0;
      line-height:1.2;
    }
    .news-card .news-title-copy > span,
    .news-lead .news-title-copy > span{
      display:inline;
      overflow:visible;
      text-overflow:clip;
      white-space:normal;
      overflow-wrap:break-word;
      word-break:normal;
    }
    .news-card .news-title-copy > span + span:before,
    .news-lead .news-title-copy > span + span:before{
      content:" ";
    }
  }

  /* ---------- SIDE SERIES / CLEAN DIVISION SHELL ---------- */
  .series-view .modal-box.is-wide{
    width:min(1180px,calc(100vw - 28px));
    max-height:calc(100vh - 24px);
    border:0;
    border-radius:8px;
    background:var(--bg);
    box-shadow:0 24px 70px rgba(0,0,0,.58);
  }
  .series-view .modal-close{
    top:13px;
    right:16px;
    width:32px;
    height:32px;
    border:1px solid var(--border);
    border-radius:50%;
    background:var(--bg-alt);
  }
  .series-detail{background:var(--bg);}
  .series-hero{
    max-width:none;
    margin:0;
    padding:22px 60px 20px 24px;
    border:0;
    border-radius:0;
    background:var(--bg-alt);
    box-shadow:none;
  }
  .series-hero::before,.series-hero::after{display:none;content:none;}
  .series-brand{align-items:flex-start;gap:13px;}
  .series-hero-icon{width:46px;height:46px;flex-basis:46px;filter:none;}
  .series-kicker,.series-meta{display:none;}
  .series-hero h2{margin:4px 0 8px;font-size:29px;line-height:1.05;letter-spacing:.3px;}
  .series-hero-description{max-width:920px;color:var(--text-dim);font-size:13.5px;line-height:1.58;}
  .series-hero > .series-hero-description{margin:10px 0 0 59px;}
  .series-hero-description .series-intro,
  .series-information-description .series-intro{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    font-size:inherit;
    line-height:inherit;
  }
  .series-hero-description strong,.series-information-description strong{color:var(--text);}
  .side-series-subnav{
    position:sticky;
    top:0;
    z-index:4;
    display:flex;
    gap:2px;
    overflow-x:auto;
    padding:0 24px;
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    background:var(--bg-alt);
    scrollbar-width:none;
  }
  .side-series-subnav::-webkit-scrollbar{display:none;}
  .side-series-tab{
    flex:0 0 auto;
    padding:13px 15px 11px;
    border:0;
    border-bottom:3px solid transparent;
    background:transparent;
    color:var(--text-dim);
    font-size:11px;
    font-weight:900;
    letter-spacing:.75px;
    text-transform:uppercase;
  }
  .side-series-tab:hover{color:var(--text);}
  .side-series-tab.active{border-bottom-color:var(--gold);color:var(--text);}
  .side-series-tab:focus-visible{outline:2px solid var(--gold);outline-offset:-3px;}
  .series-body{max-width:1140px;margin:0 auto;padding:26px 24px 42px;}
  .side-series-panel{display:none;}
  .side-series-panel.active{display:block;animation:fadein .14s ease;}
  .side-series-panel > .series-section{margin-top:0;}
  .series-section-last-results{margin:0;padding:0;border:0;border-radius:0;background:transparent;}
  .series-section h3,
  .series-information-block h3{
    margin:0 0 14px;
    padding:0;
    border:0;
    color:var(--text);
    font-size:19px;
    font-weight:900;
    letter-spacing:.55px;
    line-height:1.2;
    text-transform:uppercase;
  }
  .series-section h3::before,.series-information-block h3::before{display:none;content:none;}
  .series-information-block + .series-information-block{margin-top:28px;}
  .series-information-description{
    max-width:900px;
    padding:0;
    border:0;
    background:transparent;
    color:var(--text-dim);
    font-size:14px;
    line-height:1.65;
  }
  .side-series-panel .series-card,
  .side-series-panel .series-table-wrap,
  .side-series-panel .series-empty,
  .side-series-panel .series-flow{
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--card);
    box-shadow:none;
  }
  .side-series-panel .series-empty{padding:34px 18px;}
  .side-series-panel .series-empty::before{display:none;content:none;}
  .series-current-edition{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
    margin-bottom:18px;
    padding:0 2px;
  }
  .series-current-edition span{color:var(--text-dim);font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase;}
  .series-current-edition strong{color:var(--text);font-size:18px;font-weight:900;text-transform:uppercase;}
  .series-cards-single{grid-template-columns:minmax(0,1fr);}
  .series-result-sections{display:grid;gap:30px;}
  .series-result-section{margin:0;}
  .series-result-section h3{
    margin:0 0 13px;
    padding-left:12px;
    border-left:5px solid var(--gold);
    color:var(--text);
    font-size:18px;
    font-weight:950;
    letter-spacing:.45px;
    line-height:1.2;
    text-transform:uppercase;
  }
  .series-result-section-body{padding-left:17px;}
  .series-result-section-body p{
    margin:0 0 7px;
    color:var(--text-dim);
    font-size:13px;
    font-weight:700;
    line-height:1.65;
  }
  .series-result-section-body p:last-child{margin-bottom:0;}
  .series-result-section-body strong{color:var(--text);font-weight:950;}
  .vs-round-results{display:grid;gap:22px;}
  .vs-round-result{
    overflow:hidden;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--card);
  }
  .vs-round-result-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 16px;
    border-bottom:1px solid var(--border);
    background:var(--surface-raised);
  }
  .vs-round-result-header h4{margin:0;font-size:16px;font-weight:950;text-transform:uppercase;}
  .vs-round-result-header span{color:var(--text-dim);font-size:10px;font-weight:900;letter-spacing:.75px;text-transform:uppercase;}
  .vs-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .vs-result-block{min-width:0;padding:15px;}
  .vs-result-block + .vs-result-block{border-left:1px solid var(--border);}
  .vs-result-block h5{margin:0 0 10px;color:var(--gold);font-size:10px;font-weight:950;letter-spacing:1px;text-transform:uppercase;}
  .vs-result-block .series-table-wrap{margin:0;border-color:var(--border);border-radius:8px;}
  .vs-result-block .series-table th,.vs-result-block .series-table td{padding:8px 10px;font-size:11px;}
  .vs-round-score{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:12px 16px;
    border-top:1px solid var(--border);
    background:var(--bg-alt);
    color:var(--text-dim);
    font-size:11px;
    font-weight:800;
  }
  .vs-round-score strong{color:var(--text);font-size:12px;font-weight:950;}
  .series-information-block .series-flow{display:block;overflow:hidden;}
  .series-information-block .series-flow .series-card{
    display:grid;
    grid-template-columns:36px minmax(150px,210px) minmax(0,1fr);
    align-items:center;
    min-height:72px;
    padding:13px 16px;
    column-gap:13px;
    border:0;
    border-bottom:1px solid var(--border);
    border-radius:0;
    background:transparent;
  }
  .series-information-block .series-flow .series-card:last-child{border-bottom:0;}
  .series-information-block .series-flow .series-card::after{
    position:static;
    grid-column:1;
    grid-row:1;
    width:28px;
    height:28px;
    border:1px solid var(--border-strong);
    background:var(--surface-raised);
    color:var(--gold);
  }
  .series-information-block .series-flow .series-card h4{grid-column:2;grid-row:1;margin:0;font-size:12px;}
  .series-information-block .series-flow .series-card p{grid-column:3;grid-row:1;margin:0;font-size:12px;line-height:1.5;}
  .series-detail .side-series-panel .series-cards{
    grid-template-columns:minmax(0,1fr);
    gap:14px;
  }
  .series-detail .side-series-panel .series-card{width:100%;}
  .side-series-panel[data-series-panel="hall-of-fame"] .series-cards{grid-template-columns:minmax(0,1fr);}
  .side-series-panel[data-series-panel="history"] .golden-pick-history-edition{
    margin-top:20px;
    overflow:hidden;
    border:1px solid var(--border-strong);
    border-radius:12px;
    background:var(--card);
  }
  .side-series-panel[data-series-panel="history"] .golden-pick-history-edition:first-child{margin-top:0;}
  .side-series-panel[data-series-panel="history"] .golden-pick-history-edition .series-subheading{
    margin:0;
    padding:15px 18px;
    border-bottom:1px solid var(--border);
    background:var(--surface-raised);
    color:var(--text);
    font-size:14px;
  }
  .side-series-panel[data-series-panel="history"] .golden-pick-history-edition .series-current-edition{
    align-items:flex-start;
    flex-direction:column;
    justify-content:flex-start;
    gap:5px;
    margin:0;
    padding:15px 18px;
  }
  .side-series-panel[data-series-panel="history"] .golden-pick-history-edition .series-table-wrap{
    width:calc(100% - 36px);
    max-width:calc(100% - 36px);
    margin:0 18px 18px;
  }
  .side-series-panel[data-series-panel="history"] .golden-pick-history-edition .series-table th.points,
  .side-series-panel[data-series-panel="history"] .golden-pick-history-edition .series-table td.points{
    width:82px;
    min-width:82px;
    white-space:nowrap;
  }

  @media(max-width:640px){
    .modal-overlay.series-view{padding:0;}
    .series-view .modal-box.is-wide{width:100%;max-height:100vh;height:100vh;border:0;border-radius:0;}
    .series-detail{width:100%;max-width:100%;overflow-x:hidden;}
    .series-hero{margin:0;padding:18px 18px 17px;border:0;border-radius:0;text-align:center;}
    .series-brand{justify-content:center;align-items:center;gap:10px;padding:0 34px;}
    .series-hero-icon{width:42px;height:42px;flex-basis:42px;}
    .series-hero h2{margin:0;font-size:22px;line-height:1.12;}
    .series-hero > .series-hero-description{
      width:100%;
      max-width:none;
      margin:10px 0 0;
      padding:0;
      font-size:11.5px;
      line-height:1.48;
      text-align:left;
    }
    .side-series-subnav{
      display:grid;
      grid-template-columns:repeat(5,minmax(0,1fr));
      gap:0;
      width:100%;
      padding:0 6px;
      overflow:hidden;
    }
    .side-series-tab{
      min-width:0;
      padding:12px 2px 10px;
      font-size:9.25px;
      line-height:1;
      letter-spacing:0;
      white-space:nowrap;
      text-align:center;
    }
    .series-body{width:100%;max-width:640px;margin:0 auto;padding:18px 14px 32px;}
    .series-section h3,.series-information-block h3{font-size:18px;}
    .series-information-description{font-size:13.5px;line-height:1.6;}
    .series-current-edition{align-items:center;flex-direction:column;gap:4px;margin-bottom:16px;text-align:center;}
    .series-current-edition strong{font-size:17px;}
    .side-series-panel .series-table-wrap,
    .side-series-panel .series-flow,
    .side-series-panel .series-cards,
    .side-series-panel .series-empty{width:100%;max-width:100%;margin-left:auto;margin-right:auto;}
    .side-series-panel,
    .side-series-panel .series-card,
    .side-series-panel .series-table-wrap,
    .side-series-panel .series-current-edition,
    .side-series-panel .series-result-section-body{
      min-width:0;
      max-width:100%;
      overflow-wrap:break-word;
      word-break:normal;
    }
    .side-series-panel .series-table-wrap{overflow:hidden;}
    .side-series-panel .series-table td,
    .side-series-panel .series-card h4,
    .side-series-panel .series-card p,
    .side-series-panel .series-card li,
    .side-series-panel .series-current-edition strong,
    .side-series-panel .series-result-section-body p{
      min-width:0;
      max-width:100%;
      white-space:normal;
      overflow-wrap:break-word;
      word-break:normal;
    }
    .side-series-panel .series-table tr{
      grid-template-columns:42px minmax(0,1fr) minmax(70px,auto);
      width:100%;
      max-width:100%;
      min-height:62px;
      margin-left:auto;
      margin-right:auto;
      padding:12px 14px;
      column-gap:11px;
    }
    .side-series-panel .series-table td{font-size:14px;line-height:1.42;}
    .side-series-panel .series-table td:first-child{
      width:38px!important;
      height:38px;
      font-size:14px;
    }
    .side-series-panel .series-table td:nth-child(2){
      display:flex;
      align-items:center;
      min-height:24px;
      font-size:15px;
      line-height:1.3;
    }
    .side-series-panel .series-table td:nth-child(3){font-size:13px;line-height:1.4;}
    .side-series-panel .series-table td:nth-child(n+4),
    .side-series-panel .series-table td.points{font-size:14px;line-height:1.3;}
    .side-series-panel .series-table tr:has(> td:nth-child(3):last-child){
      grid-template-columns:42px minmax(0,1fr) minmax(58px,auto);
      grid-template-rows:1fr;
      align-items:center;
    }
    .side-series-panel .series-table tr:has(> td:nth-child(3):last-child) > td:first-child,
    .side-series-panel .series-table tr:has(> td:nth-child(3):last-child) > td:nth-child(2),
    .side-series-panel .series-table tr:has(> td:nth-child(3):last-child) > td:nth-child(3){
      grid-row:1;
      align-self:center;
    }
    .side-series-panel .series-table tr:has(> td:nth-child(3):last-child) > td:nth-child(2){grid-column:2;}
    .side-series-panel .series-table tr:has(> td:nth-child(3):last-child) > td:nth-child(3){
      grid-column:3;
      justify-self:end;
      text-align:right;
    }
    .side-series-panel .vs-standings-table tr:has(> td:nth-child(3):last-child){
      grid-template-columns:42px minmax(0,1fr);
      grid-template-rows:auto auto;
      align-items:center;
      row-gap:5px;
    }
    .side-series-panel .vs-standings-table tr:has(> td:nth-child(3):last-child) > td:first-child{
      grid-column:1;
      grid-row:1 / span 2;
    }
    .side-series-panel .vs-standings-table tr:has(> td:nth-child(3):last-child) > td:nth-child(2){
      grid-column:2;
      grid-row:1;
    }
    .side-series-panel .vs-standings-table tr:has(> td:nth-child(3):last-child) > td:nth-child(3){
      grid-column:2;
      grid-row:2;
      justify-self:start;
      width:100%;
      max-width:100%;
      text-align:left;
      white-space:normal;
      overflow-wrap:break-word;
    }
    .series-detail .flag-mark{margin-right:9px;}
    .series-detail .flag-icon{width:26px;height:18px;border-radius:3px;}
    .series-detail .flag-emoji{font-size:23px;line-height:1;}
    .side-series-panel .series-card h4{font-size:14px;line-height:1.35;}
    .side-series-panel .series-card p,
    .side-series-panel .series-card li,
    .side-series-panel .series-podium,
    .side-series-panel .series-calendar,
    .side-series-panel .series-note{font-size:13.5px;line-height:1.58;}
    .series-result-sections{gap:24px;}
    .series-result-section h3{font-size:17px;}
    .series-result-section-body{padding-left:13px;}
    .series-result-section-body p{font-size:13.5px;}
    .vs-round-result-header{align-items:flex-start;flex-direction:column;gap:4px;padding:12px;}
    .vs-result-grid{grid-template-columns:1fr;}
    .vs-result-block{padding:12px;}
    .vs-result-block + .vs-result-block{border-left:0;border-top:1px solid var(--border);}
    .vs-result-block h5{font-size:11.5px;}
    .vs-result-block .series-table th,.vs-result-block .series-table td{padding:7px 8px;font-size:13px;}
    .vs-result-block .vs-lineup-table tr{
      grid-template-columns:minmax(0,1fr);
      grid-template-rows:auto auto;
      gap:8px;
      min-height:0;
      padding:11px 12px;
    }
    .vs-result-block .vs-lineup-table td:first-child{
      grid-column:1;
      grid-row:1;
      display:block;
      width:auto!important;
      height:auto;
      padding:0;
      border:0;
      border-radius:0;
      background:transparent;
      color:var(--gold);
      font-size:12.5px;
      font-weight:950;
      line-height:1.3;
      text-align:left;
      overflow-wrap:normal;
      word-break:normal;
    }
    .vs-result-block .vs-lineup-table td:nth-child(2){
      grid-column:1;
      grid-row:2;
      align-self:center;
      display:grid;
      grid-template-columns:minmax(0,1fr);
      gap:7px;
      min-width:0;
      padding:0;
      color:var(--text);
      font-size:13.5px;
      font-weight:850;
      line-height:1.45;
      white-space:normal;
      overflow-wrap:normal;
      word-break:normal;
    }
    .vs-lineup-driver{
      display:flex;
      align-items:center;
      min-width:0;
      max-width:100%;
      white-space:normal;
      overflow-wrap:break-word;
      word-break:normal;
    }
    .vs-round-score{align-items:flex-start;flex-direction:column;gap:3px;padding:11px 12px;font-size:12.5px;}
    .vs-round-score strong{width:100%;max-width:100%;font-size:13.5px;line-height:1.45;white-space:normal;overflow-wrap:break-word;word-break:normal;}
    .series-information-block .series-flow .series-card{
      grid-template-columns:32px minmax(0,1fr);
      grid-template-rows:auto auto;
      row-gap:5px;
      min-height:0;
      padding:12px;
    }
    .series-information-block .series-flow .series-card h4{grid-column:2;grid-row:1;font-size:13.5px;}
    .series-information-block .series-flow .series-card p{grid-column:2;grid-row:2;font-size:13px;line-height:1.55;}
    .side-series-panel[data-series-panel="hall-of-fame"] .series-cards{grid-template-columns:1fr;}
    .side-series-panel[data-series-panel="history"] .golden-pick-history-edition{margin-top:14px;border-radius:9px;}
    .side-series-panel[data-series-panel="history"] .golden-pick-history-edition .series-subheading{padding:13px 14px;font-size:13px;text-align:center;}
    .side-series-panel[data-series-panel="history"] .golden-pick-history-edition .series-current-edition{align-items:center;padding:13px 14px;text-align:center;}
    .side-series-panel[data-series-panel="history"] .golden-pick-history-edition .series-table-wrap{width:calc(100% - 20px);max-width:calc(100% - 20px);margin:0 10px 12px;}
    .side-series-panel[data-series-panel="history"] .golden-pick-history-edition .series-table th.points,
    .side-series-panel[data-series-panel="history"] .golden-pick-history-edition .series-table td.points{width:58px;min-width:58px;}
  }
  .fantasy-pots-block{margin-top:14px;padding:0;border:0;background:transparent;}
  .fantasy-pots-block:first-child{margin-top:0;}
  .fantasy-pots-block .series-subheading{margin:0 0 8px;padding:0;border:0;background:transparent;font-size:12px;letter-spacing:.7px;}
  .fantasy-pots-grid{display:grid;gap:8px;overflow-x:auto;padding:1px 0 4px;scrollbar-width:thin;}
  .fantasy-driver-pots,.fantasy-legacy-pots{grid-template-columns:repeat(5,minmax(128px,1fr));}
  .fantasy-team-pots{grid-template-columns:repeat(2,minmax(220px,1fr));}
  .side-series-panel .fantasy-pot-card{min-height:0;padding:10px 12px;border-radius:8px;box-shadow:none;}
  .side-series-panel .fantasy-pot-card h4{margin:0 0 5px;color:var(--gold);font-size:11px;line-height:1.25;letter-spacing:.5px;text-transform:uppercase;}
  .side-series-panel .fantasy-pot-card p{margin:0;color:var(--text);font-size:11.5px;font-weight:750;line-height:1.45;}
  .side-series-panel .fantasy-legacy-card p{font-size:11px;line-height:1.35;}
  .fantasy-lineups-list{display:grid;grid-template-columns:1fr;gap:8px;}
  .side-series-panel .fantasy-lineup-row{min-height:0;padding:12px 14px;border-radius:8px;box-shadow:none;}
  .side-series-panel .fantasy-lineup-row h4{margin:0;color:var(--gold);font-size:13px;line-height:1.35;}
  .fantasy-lineup-owner{color:var(--text-dim);font-size:11.5px;font-weight:750;}
  .fantasy-lineup-selections{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:8px 0 2px;white-space:nowrap;scrollbar-width:thin;}
  .fantasy-lineup-pick{display:inline-flex;flex:0 0 auto;align-items:center;gap:5px;color:var(--text);font-size:12px;font-weight:800;}
  .fantasy-lineup-pick .flag-mark{margin-right:0;}
  .fantasy-lineup-team img{width:20px;height:20px;object-fit:contain;flex:0 0 20px;}
  .fantasy-lineup-legacy{display:inline-flex;align-items:center;gap:5px;}
  .fantasy-lineup-missing,.fantasy-lineup-name-missing{color:var(--text-dim);font-style:italic;font-weight:700;}
  .fantasy-lineup-separator{flex:0 0 auto;color:var(--text-dim);font-size:12px;font-weight:900;}
  @media(max-width:700px){
    .fantasy-driver-pots{grid-template-columns:repeat(5,minmax(122px,1fr));}
    .fantasy-team-pots{grid-template-columns:repeat(2,minmax(205px,1fr));}
    .fantasy-legacy-pots{grid-template-columns:repeat(5,minmax(145px,1fr));}
  }
