:root{
  color-scheme:dark;
  --bg:#020914;
  --panel:#07131c;
  --panel-2:#0c1b25;
  --line:#24414f;
  --text:#f8fbff;
  --muted:#93b6c3;
  --accent:#35c8ec;
  --accent-2:#0782a6;
  --accent-soft:rgba(53,200,236,.16);
  --neon-orange:#ff7a00;
  --neon-orange-2:#ffb000;
  --danger:#ff3b4e;
  --green:#25d889;
  --cyan:#35c8ec;
  --amber:#f5c45b;
  --purple:#c77dff;
  --shadow:0 26px 70px rgba(0,7,14,.46);
}

*{box-sizing:border-box}
[hidden]{display:none!important}
html{min-height:100%;background:var(--bg)}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 8% 72%,rgba(245,196,91,.17),transparent 22%),
    radial-gradient(circle at 74% 20%,rgba(53,200,236,.16),transparent 28%),
    linear-gradient(95deg,rgba(53,200,236,.72) 0%,rgba(10,113,145,.46) 33%,rgba(2,9,20,.98) 72%),
    linear-gradient(180deg,#031322 0%,#020914 60%,#02070c 100%);
  letter-spacing:0;
}

.page-bg{
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(112deg,transparent 0 21%,rgba(255,255,255,.07) 21% 28%,transparent 28% 100%),
    repeating-linear-gradient(110deg,rgba(255,255,255,.032) 0 1px,transparent 1px 42px),
    linear-gradient(90deg,rgba(53,200,236,.24) 0 18%,transparent 18% 100%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.65),transparent 75%);
}

a{color:inherit;text-decoration:none}

select{font:inherit}

.topbar{
  position:sticky;
  top:0;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:20px;
  padding:14px clamp(16px,4vw,48px);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:rgba(8,11,13,.82);
  backdrop-filter:blur(16px);
}
.nav{display:flex;align-items:center;gap:14px;color:#dce4ea;font-size:14px;font-weight:800}
.nav span{
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:6px;
  background:rgba(255,255,255,.04);
}

.shell{
  position:relative;
  width:min(1440px,100%);
  margin:0 auto;
  padding:34px clamp(14px,3vw,42px) 42px;
}

.hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:18px;
  align-items:stretch;
  margin-bottom:18px;
}
.hero-copy{
  position:relative;
  min-height:220px;
  display:flex;
  flex-direction:column;
  justify-content:end;
  padding:30px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  background:
    linear-gradient(108deg,rgba(3,13,25,.18),rgba(3,13,25,.86) 64%),
    linear-gradient(135deg,rgba(53,200,236,.7),rgba(3,14,27,.5) 48%,rgba(2,8,18,.95));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.hero-copy::before{
  content:"";
  position:absolute;
  inset:28px 26px auto auto;
  width:min(430px,52%);
  height:58px;
  background:rgba(255,255,255,.18);
  clip-path:polygon(6% 0,100% 0,92% 100%,0 100%);
  opacity:.6;
}
.hero-copy::after{
  content:"";
  position:absolute;
  left:-8%;
  bottom:34px;
  width:58%;
  height:42px;
  background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,.04));
  clip-path:polygon(0 0,92% 0,100% 100%,0 100%);
}
.hero-copy > *{position:relative;z-index:1}
.hero-title{display:flex;align-items:center;gap:22px;margin-bottom:10px}
.gog-hero-logo{
  width:clamp(120px,18vw,210px);
  max-height:154px;
  object-fit:contain;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.38));
}
.eyebrow{
  margin:0 0 8px;
  color:var(--cyan);
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
}
h1,h2,p{margin-top:0}
h1{
  margin:0;
  max-width:760px;
  font-size:clamp(34px,5vw,64px);
  line-height:1.02;
  letter-spacing:0;
}
.session-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,320px);
  align-items:end;
  gap:12px;
  width:min(920px,100%);
  margin-top:4px;
}
.session-field{
  display:grid;
  gap:6px;
  min-width:0;
}
.session-field span{
  color:var(--cyan);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
.session-field select{
  width:100%;
  min-height:44px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  padding:0 40px 0 12px;
  color:#f8fbff;
  background:
    linear-gradient(135deg,rgba(53,200,236,.2),rgba(2,9,20,.66)),
    #07131c;
  box-shadow:inset 0 0 0 1px rgba(53,200,236,.08);
  font-size:15px;
  font-weight:900;
  outline:none;
}
.session-field select:focus{
  border-color:var(--cyan);
  box-shadow:0 0 0 3px rgba(53,200,236,.14),inset 0 0 0 1px rgba(53,200,236,.12);
}
.session-state[hidden]{display:none!important}
.session-state{
  min-height:44px;
  display:flex;
  align-items:center;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:6px;
  color:#f8fbff;
  background:rgba(2,9,20,.54);
  box-shadow:inset 0 0 0 1px rgba(53,200,236,.06);
  font-size:15px;
  font-weight:850;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.track-panel{
  position:relative;
  min-height:220px;
  padding:22px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  background:
    linear-gradient(145deg,rgba(53,200,236,.14),transparent 38%),
    linear-gradient(180deg,#0b1b27,#03101c);
  box-shadow:var(--shadow);
  overflow:hidden;
}
.partner-logo-wrap{
  position:relative;
  z-index:1;
  width:100%;
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(53,200,236,.08));
}
.polus-logo{
  width:min(210px,82%);
  max-height:72px;
  object-fit:contain;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));
}
.event-facts{position:relative;z-index:1;display:grid;gap:14px;margin:0}
.event-facts dt,.stat span{color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:800}
.event-facts dd{
  margin:4px 0 0;
  font-weight:900;
  font-size:20px;
  line-height:1.15;
  overflow-wrap:anywhere;
}

.summary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:0 0 18px;
}
.stat{
  min-width:0;
  padding:14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  background:linear-gradient(180deg,#081821,#06111a);
  box-shadow:0 14px 34px rgba(0,7,14,.22);
  overflow:hidden;
}
.stat strong{
  display:block;
  margin-top:8px;
  color:#fff;
  font-size:clamp(24px,3vw,34px);
  line-height:1;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.accent-stat strong{color:var(--amber);text-shadow:0 0 16px rgba(245,196,91,.18)}

.panel{
  border:1px solid rgba(255,255,255,.14);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(8,24,34,.96),rgba(5,14,22,.96));
  box-shadow:var(--shadow);
}
.results-panel{padding:18px}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}
.section-head h2{margin:0;font-size:22px}
.section-head span{color:var(--muted);font-size:13px;font-weight:800;text-align:right}
#purpleText[hidden]{display:none!important}

.table-wrap{
  overflow:auto;
  border:1px solid #2b333d;
  border-radius:8px;
  background:#0c1014;
}
table{
  width:100%;
  min-width:1040px;
  border-collapse:collapse;
  table-layout:fixed;
  background:#0c1014;
}
th,td{
  padding:12px 10px;
  border-bottom:1px solid #242c34;
  text-align:right;
  vertical-align:middle;
  font-size:14px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-variant-numeric:tabular-nums;
}
th{
  position:sticky;
  top:0;
  z-index:1;
  color:#b9c5cf;
  background:#151b20;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
td{color:#edf2f6;background:#0c1014}
tbody tr:nth-child(even) td{background:#10171d}
tbody tr:hover td{background:#132531}
tfoot td{
  border-top:1px solid rgba(53,200,236,.25);
  border-bottom:0;
  background:linear-gradient(180deg,#0b2430,#071821);
  font-weight:900;
}
th.left,td.left{text-align:left}
.pos,.driver,.team{ text-align:left }
.pos{width:58px;text-align:left;font-size:18px;font-weight:950}
.driver{width:270px}.team{width:150px}.time{width:92px}.compound{width:64px;text-align:center}.gap{width:86px}.small{width:74px}.updated{width:150px}
.driverBox{display:flex;align-items:center;gap:8px;min-width:0}
.raceNo{color:var(--muted);font-weight:900;flex:0 0 auto}
.name{font-weight:950;overflow:hidden;text-overflow:ellipsis}
.muted{color:var(--muted)}
.best{color:var(--green);font-weight:900}
.purple{color:var(--purple);font-weight:950;text-shadow:0 0 10px rgba(199,125,255,.28)}
.yellow{color:var(--amber)}
.cyan{color:var(--cyan)}
.tyreBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:24px;
  height:24px;
  border-radius:999px;
  border:2px solid currentColor;
  font-size:13px;
  font-weight:950;
  background:rgba(0,0,0,.14);
}
.tyreBadge.soft{color:#ff4f60}.tyreBadge.medium{color:#f4d35e}.tyreBadge.hard{color:#f4f7fb}.tyreBadge.intermediate{color:#21d07a}.tyreBadge.wet{color:#4bd4ff}
.theoreticalTitle{text-align:left;color:#fff;font-size:14px}
.theoreticalNote{color:transparent}
.sectorOwner{display:flex;min-width:0;flex-direction:column;align-items:flex-end;gap:2px}
.sectorOwner small{max-width:100%;color:var(--muted);font-size:11px;font-weight:800;overflow:hidden;text-overflow:ellipsis}
.empty{
  min-height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
  color:var(--muted);
  font-size:20px;
  font-weight:850;
  text-align:center;
}
.empty small{display:block;max-width:680px;margin-top:8px;color:var(--muted);font-size:13px;font-weight:650}

.sponsor-strip{
  width:min(1120px,100%);
  margin:28px auto 0;
  padding:12px 0 0;
}
.sponsor-strip img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 12px 28px rgba(0,0,0,.28));
}
.status-footer{
  min-height:34px;
  margin-top:18px;
  color:var(--muted);
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  font-weight:800;
}

@media (max-width:1100px){
  .hero{grid-template-columns:1fr}
}

@media (max-width:760px){
  body{overflow-x:hidden}
  .shell{width:100%;max-width:100%;padding:10px 6px 18px}
  .hero{grid-template-columns:1fr;gap:8px;margin-bottom:8px}
  .hero-copy{min-height:128px;padding:12px;border-radius:6px}
  .hero-copy::before{inset:12px 12px auto auto;width:42%;height:28px}
  .hero-copy::after{left:-10%;bottom:20px;width:60%;height:22px}
  .hero-title{align-items:center;flex-direction:row;gap:10px;margin-bottom:8px}
  .gog-hero-logo{width:82px;max-height:70px}
  h1{font-size:28px;line-height:.98}
  .session-toolbar{grid-template-columns:minmax(130px,160px);gap:6px}
  .session-field{gap:4px}
  .session-field span{font-size:9px}
  .session-field select{min-height:30px;padding:0 26px 0 8px;font-size:11px;border-radius:5px}
  .track-panel{min-height:0;padding:10px;border-radius:6px}
  .partner-logo-wrap{min-height:46px;margin-bottom:8px;padding:6px;border-radius:6px}
  .polus-logo{width:112px;max-height:40px}
  .event-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .event-facts dt,.stat span{font-size:8px}
  .event-facts dd{font-size:12px;line-height:1.15}
  .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}
  .stat{padding:8px;border-radius:6px}
  .stat strong{margin-top:4px;font-size:20px}
  .results-panel{padding:8px;border-radius:6px}
  .section-head{display:flex;align-items:center;flex-direction:row;margin-bottom:8px}
  .section-head h2{font-size:16px}
  .section-head span{text-align:right;font-size:9px}
  .table-wrap{overflow-x:hidden;border-radius:6px;background:#0c1014}
  table{display:table;width:100%;min-width:0;table-layout:fixed;background:#0c1014}
  thead{display:table-header-group}
  tbody{display:table-row-group}
  tfoot{display:table-footer-group}
  tbody tr,tfoot tr{display:table-row;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
  th,td,tbody td,tfoot td,tbody tr:nth-child(even) td,tbody tr:hover td{
    display:table-cell;
    height:auto;
    min-height:0;
    padding:5px 2px;
    border:0;
    border-bottom:1px solid #242c34;
    border-radius:0;
    background:#0c1014;
    text-align:right;
    vertical-align:middle;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:7.4px;
    line-height:1.15;
  }
  tbody tr:nth-child(even) td{background:#10171d}
  tbody tr:hover td{background:#132531}
  thead th.pos,
  tbody tr td.pos,
  tbody tr:nth-child(even) td.pos,
  tbody tr:hover td.pos{
    text-align:left;
    font-size:9px;
    font-weight:950;
  }
  thead th.driver,
  thead th.team,
  tbody tr td.driver,
  tbody tr td.team,
  tbody tr:nth-child(even) td.driver,
  tbody tr:nth-child(even) td.team,
  tbody tr:hover td.driver,
  tbody tr:hover td.team{
    text-align:left;
    font-size:7.4px;
  }
  th{position:static;color:#b9c5cf;background:#151b20;font-size:6.4px;font-weight:900;text-transform:uppercase}
  tbody td::before,tfoot td::before{content:none}
  th.left,td.left{text-align:left}
  th.pos,td.pos,th.driver,td.driver,th.team,td.team{
    text-align:left;
  }
  .pos{width:5%;font-size:9px;text-align:left}
  .driver{width:21%}
  .team{width:12%}
  .time{width:8%}
  .compound{width:5%;text-align:center}
  .gap{width:8%}
  .small{width:5%}
  .updated{width:12%}
  .driverBox{width:100%;align-items:center;justify-content:flex-start;gap:2px;min-width:0}
  .raceNo{font-size:6.8px}
  .name{white-space:nowrap;line-height:1.15}
  .tyreBadge{width:14px;height:14px;border-width:1px;font-size:8px}
  tbody tr td.time,
  tbody tr:nth-child(even) td.time,
  tbody tr:hover td.time,
  tbody tr td.gap,
  tbody tr:nth-child(even) td.gap,
  tbody tr:hover td.gap,
  tfoot tr td.time,
  tfoot tr td.gap,
  tfoot td .sectorOwner span{
    font-size:5.75px;
    letter-spacing:0;
  }
  tbody tr td.updated,
  tbody tr:nth-child(even) td.updated,
  tbody tr:hover td.updated,
  tfoot tr td.updated{
    font-size:5.2px;
    letter-spacing:0;
  }
  tfoot td.theoreticalBest{
    font-size:5.75px;
  }
  tfoot td{background:linear-gradient(180deg,#0b2430,#071821);font-weight:900}
  tfoot td.theoreticalTitle{min-height:0;font-size:7.4px;text-align:left}
  tfoot td.theoreticalTitle::before{display:none}
  tfoot td.theoreticalBest{min-height:0;font-size:5.75px}
  tfoot td.mobileHide{display:table-cell}
  tfoot td.updated{display:table-cell}
  .sectorOwner{align-items:flex-end;gap:1px}
  .sectorOwner small{font-size:6.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .empty{min-height:150px;padding:18px;font-size:16px}
  .sponsor-strip{margin-top:12px;padding-top:6px}
  .status-footer{display:none}
}

