:root{
  --bg:#06111f;--card:rgba(255,255,255,.94);--text:#0f172a;--muted:#64748b;--line:rgba(211,225,242,.55);--blue:#1683ff;--blue2:#0b5dbd;--green:#15803d;--orange:#c2410c;--nav:#06111f;
}
*{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#06111f url('img/hero-hydrofoil.svg') center top/cover fixed no-repeat;position:relative}
body::before{content:"";position:fixed;inset:0;z-index:-2;background:radial-gradient(circle at 70% 22%,rgba(22,131,255,.28),transparent 34%),linear-gradient(180deg,rgba(3,10,20,.72) 0%,rgba(3,10,20,.94) 45%,rgba(3,10,20,.98) 100%)}
body::after{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,10,20,.88),rgba(3,10,20,.42) 48%,rgba(3,10,20,.88));pointer-events:none}
main{min-height:calc(100vh - 120px);padding-bottom:30px}
a{color:var(--blue2);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:1180px;margin:0 auto;padding:22px 18px}.small,small{color:var(--muted);font-size:13px}.notice{background:#eaf7ff;border:1px solid #b9e3ff;border-radius:14px;padding:12px;margin-top:16px}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px max(22px,calc((100vw - 1180px)/2 + 18px));background:rgba(6,17,31,.96);color:#fff;position:sticky;top:0;z-index:10;backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.topbar a{color:#fff;text-decoration:none}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:23px;letter-spacing:-.03em}.brand-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:linear-gradient(135deg,#20a4ff,#0b5dbd);box-shadow:0 8px 20px rgba(22,131,255,.35)}
.topbar nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.topbar nav a{font-weight:700;color:#dbeafe}.topbar nav a:hover{color:#fff}.nav-pill{padding:9px 14px;border-radius:999px;background:#1578ee;color:#fff!important}.footer{text-align:center;color:#c9d7e8;padding:34px 16px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.hero-landing{position:relative;min-height:620px;background:transparent;display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff}.hero-overlay{position:absolute;inset:0;background:radial-gradient(circle at 74% 45%,rgba(22,131,255,.16),transparent 32%),linear-gradient(90deg,rgba(3,10,20,.94) 0%,rgba(3,10,20,.76) 40%,rgba(3,10,20,.20) 76%,rgba(3,10,20,.10) 100%),linear-gradient(0deg,rgba(3,10,20,.82) 0%,rgba(3,10,20,0) 44%)}
.hero-shell{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,620px) minmax(260px,380px);gap:clamp(30px,8vw,110px);align-items:center;width:min(1180px,100% - 36px);margin:0 auto;padding:62px 0 32px}.hero-content{width:100%;padding:0}.hero-kicker{display:inline-block;margin-bottom:18px;padding:8px 13px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);color:#dbeafe;font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:12px}.hero-content h1{margin:0;font-size:clamp(54px,7.2vw,90px);line-height:.98;letter-spacing:-.07em}.hero-content h1 span{color:var(--blue)}.hero-content p{max-width:560px;margin:26px 0 0;font-size:22px;line-height:1.45;color:#e6f0ff}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border:0;border-radius:14px;padding:11px 16px;text-decoration:none;cursor:pointer;font-weight:800;box-shadow:0 10px 30px rgba(22,131,255,.25)}.btn:hover{text-decoration:none;filter:brightness(1.05)}.btn.big{padding:15px 22px;font-size:16px}.btn.ghost{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.45);box-shadow:none;color:#fff}.btn.secondary{background:#0f172a;box-shadow:none;color:#fff}.hero-panel{align-self:center;padding:26px;border:1px solid rgba(255,255,255,.18);border-radius:26px;background:rgba(5,15,28,.52);backdrop-filter:blur(10px);box-shadow:0 24px 70px rgba(0,0,0,.28)}.mini-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#93c5fd}.mini-speed{margin:8px 0;font-size:56px;line-height:1;font-weight:950;letter-spacing:-.07em}.hero-panel p{margin:0;color:#dbeafe;line-height:1.5}.hero-featurebar{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding-top:0;padding-bottom:36px}.hero-featurebar div{padding:18px;border-left:3px solid var(--blue);background:rgba(3,10,20,.55);border-radius:16px;backdrop-filter:blur(6px)}.hero-featurebar b{display:block;font-size:20px}.hero-featurebar small{display:block;color:#dbeafe;font-size:14px;line-height:1.45;margin-top:3px}
.leaderboard-feature{position:relative;margin-top:-24px;padding-top:0;padding-bottom:36px;z-index:3}.leaderboard-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:16px;padding:24px 26px;background:rgba(255,255,255,.93);border:1px solid rgba(211,225,242,.62);border-radius:24px;box-shadow:0 18px 50px rgba(0,0,0,.22);backdrop-filter:blur(12px)}.section-kicker{display:inline-block;margin-bottom:8px;color:var(--blue2);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.leaderboard-head h2{font-size:36px;letter-spacing:-.04em;margin:0 0 8px}.leaderboard-head p{max-width:780px;margin:0;color:var(--muted);font-size:17px;line-height:1.5}.leaderboard-card{box-shadow:0 24px 70px rgba(0,0,0,.28)}.empty-row{padding:28px!important;text-align:center;color:var(--muted)}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.section-head h2,.page>h1,main>h1{font-size:34px;letter-spacing:-.035em;margin:0 0 8px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.35)}.section-head p{max-width:760px;margin:0;color:var(--muted);font-size:17px;line-height:1.5}
/* Keep all non-home pages aligned to the same centered content width as the homepage. */
main>h1,main>h2,main>p,main>.card,main>form,main>.table,main>.grid,main>.notice,main>#map,main>.table-card,.page>h1,.page>h2,.page>.card,.page>form,.page>.table,.page>.grid,.page>.notice,.page>#map,.page>.table-card{width:min(1180px,calc(100% - 36px));margin-left:auto;margin-right:auto}
main>h1,main>h2,.page>h1,.page>h2{padding-top:28px}
main>p,main>.card,main>form,main>.table,main>.grid,main>.notice,main>#map,main>.table-card,.page>.card,.page>form,.page>.table,.page>.grid,.page>.notice,.page>#map,.page>.table-card{margin-top:16px;margin-bottom:16px}
main>.table,.page>.table{display:table;background:rgba(255,255,255,.94);border:1px solid rgba(211,225,242,.62);border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.22);overflow:hidden;backdrop-filter:blur(12px)}
.card,.table-card,.stat-card,.map-card,.empty{background:var(--card);border:1px solid rgba(211,225,242,.62);border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.22);overflow:hidden;backdrop-filter:blur(12px)}.card{padding:18px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.empty{padding:30px;text-align:center;color:var(--muted)}
table{width:100%;border-collapse:collapse}.table th,.table td,th,td{padding:14px 13px;border-bottom:1px solid #e6edf5;text-align:left;vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafc}tr:last-child td{border-bottom:0}.badge{display:inline-block;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;letter-spacing:.04em}.badge.official,.badge.ok{background:#dcfce7;color:#166534}.badge.unofficial,.badge.no{background:#ffedd5;color:#9a3412}
input,select{width:100%;box-sizing:border-box;padding:11px;border:1px solid #ccd6e0;border-radius:12px;margin:6px 0 13px;background:#fff;color:var(--text)}label{font-weight:700;color:#334155}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.stat-card{padding:22px}.stat-card.big h1{font-size:48px;margin:14px 0 0}.stat-card.big p{font-size:20px;margin:4px 0;color:var(--muted)}.map-card{padding:0;margin-bottom:14px}#map{height:520px;border-radius:18px;overflow:hidden;border:1px solid #dde3ea}.map-fallback{padding:40px;text-align:center;color:var(--muted)}.info-table th{width:220px}.table-card h2{margin:16px 16px 0}
@media(max-width:900px){.hero-shell{grid-template-columns:1fr}.hero-panel{display:none}.hero-featurebar{grid-template-columns:repeat(2,1fr)}.leaderboard-head{display:block}.leaderboard-head .btn{margin-top:16px}}
@media(max-width:760px){.topbar{align-items:flex-start;flex-direction:column}.topbar nav{gap:12px}.hero-landing{min-height:690px;background-position:58% center}.hero-shell{padding:45px 0 24px}.hero-content p{font-size:18px}.hero-featurebar{grid-template-columns:1fr;padding-bottom:28px}.leaderboard-feature{margin-top:0}.leaderboard-head{padding:20px}.leaderboard-head h2{font-size:30px}.section-head{display:block}.table-card{overflow-x:auto}.table th,.table td,th,td{white-space:nowrap}.detail-grid{grid-template-columns:1fr}.stat-card.big h1{font-size:38px}#map{height:420px}}

/* V8 continuous background polish */
main>p,.page>p{color:#dbeafe;text-shadow:0 1px 3px rgba(0,0,0,.3)}
main>.notice,.page>.notice{background:rgba(234,247,255,.94);backdrop-filter:blur(12px)}
body:not(.home) .topbar{box-shadow:0 1px 0 rgba(255,255,255,.08),0 12px 35px rgba(0,0,0,.22)}

/* V10 run detail telemetry + members-only map */
.run-detail{padding-top:30px}.run-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:20px}.run-title-row h1{margin:0;color:#fff;font-size:38px;letter-spacing:-.04em;text-shadow:0 2px 14px rgba(0,0,0,.35)}.run-subtitle{margin:8px 0 0;color:#cfe0f5}.run-badge-big{font-size:13px;padding:8px 12px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.metric-card{display:flex;gap:13px;align-items:center;padding:18px;border-radius:18px;background:rgba(12,26,45,.78);border:1px solid rgba(147,197,253,.2);box-shadow:0 16px 45px rgba(0,0,0,.18);color:#eaf3ff;backdrop-filter:blur(10px)}.metric-card.primary{background:linear-gradient(135deg,rgba(22,131,255,.34),rgba(12,26,45,.82));border-color:rgba(96,165,250,.45)}.metric-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:rgba(22,131,255,.16);font-size:18px}.metric-card strong{display:block;font-size:22px;line-height:1.05;color:#fff}.metric-card span{display:block;color:#b9c8dc;margin-top:6px;font-size:13px}.run-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.dark-card{background:rgba(255,255,255,.94)}.detail-list{display:grid;gap:9px;margin-top:12px}.detail-list div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #e5edf7;padding-top:9px}.detail-list b{color:#475569}.detail-list span{text-align:right;color:#0f172a}.members-only-tile{display:flex;gap:18px;align-items:center;padding:26px;border-radius:24px;background:linear-gradient(135deg,rgba(15,23,42,.92),rgba(9,24,42,.78));border:1px solid rgba(147,197,253,.25);box-shadow:0 20px 60px rgba(0,0,0,.28);color:#fff;margin:18px 0}.members-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(22,131,255,.18);font-size:28px}.members-only-tile h2{margin:0 0 8px;color:#fff}.members-only-tile p{margin:0;color:#d5e2f4}.small-actions{margin-top:16px}.map-shell{border-radius:22px;overflow:hidden;border:1px solid rgba(211,225,242,.62);background:rgba(255,255,255,.94);box-shadow:0 20px 60px rgba(0,0,0,.25);margin:18px 0}.map-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid #dfe8f3;color:#0f172a}.map-toolbar span{color:#64748b}.run-telemetry-table{margin-top:18px}.run-telemetry-table h2{padding:4px 2px 14px}.run-telemetry-table table{background:transparent}
@media(max-width:900px){.metric-grid{grid-template-columns:repeat(2,1fr)}.run-two-col{grid-template-columns:1fr}.run-title-row{display:block}.run-badge-big{margin-top:14px}.members-only-tile{align-items:flex-start}}
@media(max-width:620px){.metric-grid{grid-template-columns:1fr}.run-title-row h1{font-size:30px}.metric-card strong{font-size:20px}.detail-list div{display:block}.detail-list span{text-align:left;display:block;margin-top:4px}.map-toolbar{display:block}.members-only-tile{display:block}.members-icon{margin-bottom:14px}}

/* V12 richer run detail, graph, disabled registration, leaderboard filters */
.disabled-link{opacity:.68;cursor:not-allowed;pointer-events:none}.nav-pill{display:none}.leaderboard-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.filter-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(30,136,255,.25);border-radius:999px;padding:9px 14px;background:rgba(15,23,42,.05);color:#0f172a;font-weight:900;text-decoration:none}.filter-pill:hover{text-decoration:none;background:rgba(30,136,255,.08)}.filter-pill.active{background:#0f172a;color:#fff;border-color:#0f172a}
.card,.table-card,.dark-card,.map-shell,.speed-graph-card,.telemetry-pills-card{background:linear-gradient(135deg,rgba(255,255,255,.98) 0%,rgba(246,251,255,.94) 45%,rgba(233,244,255,.96) 100%);position:relative;overflow:hidden}.card::before,.table-card::before,.dark-card::before,.map-shell::before,.speed-graph-card::before,.telemetry-pills-card::before{content:"";position:absolute;inset:-40% -20% auto auto;width:420px;height:220px;background:radial-gradient(circle,rgba(30,136,255,.16),transparent 62%);pointer-events:none}.card>* , .table-card>* , .dark-card>* , .map-shell>* , .speed-graph-card>* , .telemetry-pills-card>*{position:relative;z-index:1}
.speed-graph-card,.telemetry-pills-card{border-radius:24px;border:1px solid rgba(211,225,242,.72);box-shadow:0 22px 65px rgba(0,0,0,.24);padding:20px;margin:18px 0;color:#0f172a}.graph-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.graph-head h2{margin:4px 0 0;font-size:28px;letter-spacing:-.03em}.graph-head span:last-child{color:#64748b;font-weight:700}#speedChart{width:100%;display:block;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(236,247,255,.52));border:1px solid rgba(203,213,225,.65);padding:8px}.telemetry-pill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.telemetry-pill{min-height:90px;padding:16px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(203,213,225,.78);box-shadow:0 10px 25px rgba(15,23,42,.06)}.telemetry-pill span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900;color:#64748b}.telemetry-pill b{display:block;margin-top:8px;font-size:20px;line-height:1.15;color:#0f172a;word-break:break-word}.telemetry-pill em{display:block;margin-top:4px;color:#64748b;font-style:normal}.telemetry-pill.wide{grid-column:span 2}.page-card{max-width:760px;margin:48px auto;padding:30px;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(236,247,255,.95));border:1px solid rgba(211,225,242,.72);box-shadow:0 24px 70px rgba(0,0,0,.28)}.narrow-card h1{margin-top:16px}
@media(max-width:900px){.telemetry-pill-grid{grid-template-columns:repeat(2,1fr)}.telemetry-pill.wide{grid-column:span 2}.graph-head{display:block}.leaderboard-filters{margin-bottom:8px}}
@media(max-width:620px){.telemetry-pill-grid{grid-template-columns:1fr}.telemetry-pill.wide{grid-column:span 1}.speed-graph-card,.telemetry-pills-card{padding:14px}.graph-head h2{font-size:24px}.filter-pill{flex:1}}

/* ------------------------------------------------------------------
   V15 COMPACT HERO FIX
   Restores the proper V12/V13 layout and only compacts the real
   Speedfoiling homepage classes. This avoids the broken plain-text
   collapse from the earlier V14 generic selectors.
   ------------------------------------------------------------------ */
.hero-landing{
  min-height:520px;
}
.hero-shell{
  padding:38px 0 20px;
  gap:clamp(24px,6vw,78px);
}
.hero-kicker{
  margin-bottom:13px;
  padding:7px 12px;
  font-size:11px;
}
.hero-content h1{
  font-size:clamp(46px,5.7vw,72px);
  line-height:.96;
}
.hero-content p{
  max-width:570px;
  margin-top:18px;
  font-size:19px;
  line-height:1.42;
}
.hero-actions{
  margin-top:22px;
}
.hero-panel{
  max-width:350px;
  justify-self:center;
  padding:22px;
  border-radius:22px;
}
.mini-speed{
  font-size:48px;
}
.hero-featurebar{
  gap:12px;
  padding-bottom:18px;
  transform:translateY(-6px);
}
.hero-featurebar div{
  padding:14px 16px;
  border-radius:14px;
}
.hero-featurebar b{
  font-size:18px;
}
.hero-featurebar small{
  font-size:13px;
}
.leaderboard-feature{
  margin-top:-34px;
  padding-bottom:28px;
}
.leaderboard-head{
  padding:20px 24px;
  border-radius:22px;
  margin-bottom:14px;
}
.leaderboard-head h2{
  font-size:32px;
  margin-bottom:6px;
}
.leaderboard-head p{
  font-size:16px;
}
.section-kicker{
  margin-bottom:6px;
}

@media(max-width:900px){
  .hero-landing{min-height:auto;}
  .hero-shell{padding:34px 0 18px;}
  .hero-featurebar{transform:none;padding-bottom:20px;}
  .leaderboard-feature{margin-top:0;}
}
@media(max-width:760px){
  .hero-shell{padding:30px 0 16px;}
  .hero-content h1{font-size:clamp(42px,13vw,58px);}
  .hero-content p{font-size:17px;margin-top:16px;}
  .hero-actions{margin-top:18px;}
  .hero-featurebar{padding-bottom:18px;}
}


/* ------------------------------------------------------------------
   V16 NAV AUTH BUTTONS
   Moves logged-out actions from the hero into the top navigation.
   Keeps the hero cleaner and more compact.
   ------------------------------------------------------------------ */
.topbar nav .nav-login{
  padding:9px 15px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--blue),var(--blue2));
  color:#fff!important;
  box-shadow:0 10px 26px rgba(22,131,255,.22);
}
.topbar nav .nav-disabled{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.22);
  color:rgba(219,234,254,.66);
  font-weight:800;
  line-height:1;
  white-space:nowrap;
  cursor:not-allowed;
}
body:not(.logged-in) .hero-actions:empty{
  display:none;
}
.hero-content p{
  margin-bottom:0;
}
@media(max-width:760px){
  .topbar nav .nav-login,
  .topbar nav .nav-disabled{
    padding:8px 12px;
    font-size:14px;
  }
}

/* ------------------------------------------------------------------
   V19 MOBILE HOMEPAGE + LEADERBOARD POLISH
   Better phone layout: compact feature tiles and mobile-card leaderboard.
   ------------------------------------------------------------------ */

/* Keep the custom speed word readable and responsive if used in index.php. */
.speed-word{
  font-family:'Orbitron','Rajdhani','Arial Black',sans-serif;
  font-style:italic;
  font-weight:900;
  font-size:.82em;
  letter-spacing:-.08em;
  line-height:.9;
  color:#1f7cff;
  text-shadow:0 0 18px rgba(31,124,255,.35);
  transform:skew(-8deg);
  display:inline-block;
  white-space:nowrap;
}
.hero-tagline{
  display:block;
  margin-top:12px;
  margin-bottom:12px;
  font-size:1.28rem;
  font-style:italic;
  font-weight:700;
  letter-spacing:.02em;
  color:rgba(255,255,255,.92);
  text-shadow:0 0 12px rgba(0,140,255,.18);
}
.hero-description{
  max-width:760px;
  font-size:1.08rem;
  line-height:1.62;
  color:rgba(255,255,255,.84);
}

@media(max-width:760px){
  body{
    background-attachment:scroll;
  }
  .wrap{
    padding-left:16px;
    padding-right:16px;
  }
  .topbar{
    position:relative;
    align-items:flex-start;
    gap:14px;
    padding:18px 18px 16px;
  }
  .brand{
    font-size:30px;
  }
  .brand-icon{
    width:44px;
    height:44px;
    border-radius:14px;
    font-size:24px;
  }
  .topbar nav{
    width:100%;
    display:flex;
    gap:10px;
  }
  .topbar nav a,
  .topbar nav .nav-disabled{
    font-size:18px;
  }

  .hero-shell{
    width:100%;
    padding:34px 18px 14px;
  }
  .hero-kicker{
    font-size:13px;
    padding:9px 14px;
  }
  .hero-content h1{
    font-size:clamp(50px,14vw,70px);
    line-height:.98;
    letter-spacing:-.075em;
  }
  .speed-word{
    font-size:.72em;
    letter-spacing:-.09em;
  }
  .hero-tagline{
    font-size:1.28rem;
    line-height:1.35;
    margin-top:16px;
  }
  .hero-description,
  .hero-content p.hero-description{
    font-size:1.18rem;
    line-height:1.5;
    max-width:100%;
  }

  /* Instead of a tall vertical stack, use a neat 2x2 grid of compact feature tiles. */
  .hero-featurebar{
    width:100%;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    padding:8px 18px 22px;
  }
  .hero-featurebar div{
    min-width:0;
    padding:14px 13px 13px;
    border-radius:16px;
    background:rgba(3,10,20,.70);
    border-left:3px solid var(--blue);
    box-shadow:0 12px 30px rgba(0,0,0,.18);
  }
  .hero-featurebar b{
    font-size:19px;
    line-height:1.05;
  }
  .hero-featurebar small{
    font-size:13px;
    line-height:1.28;
  }

  .leaderboard-feature{
    width:100%;
    padding:0 14px 28px;
  }
  .leaderboard-head{
    border-radius:24px;
    padding:22px 22px 20px;
  }
  .leaderboard-head h2{
    font-size:34px;
    line-height:1.06;
  }
  .leaderboard-head p{
    font-size:18px;
    line-height:1.48;
  }
  .leaderboard-filters{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .leaderboard-filters .filter-pill:first-child{
    grid-column:1 / -1;
  }
  .filter-pill{
    min-height:52px;
    font-size:17px;
    padding:10px 14px;
  }
  .leaderboard-head .btn{
    width:100%;
    margin-top:14px;
    min-height:52px;
    font-size:17px;
    border-radius:16px;
  }

  /* Turn leaderboard table into readable mobile cards instead of a too-wide table. */
  .leaderboard-card{
    border-radius:24px;
    overflow:visible;
    background:transparent;
    border:0;
    box-shadow:none;
    backdrop-filter:none;
  }
  .leaderboard-card table,
  .leaderboard-card thead,
  .leaderboard-card tbody,
  .leaderboard-card tr,
  .leaderboard-card th,
  .leaderboard-card td{
    display:block;
    width:100%;
  }
  .leaderboard-card thead{
    display:none;
  }
  .leaderboard-card tr{
    margin:0 0 14px;
    padding:16px;
    border:1px solid rgba(211,225,242,.72);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(232,244,255,.95));
    box-shadow:0 16px 45px rgba(0,0,0,.20);
  }
  .leaderboard-card td{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    white-space:normal;
    border:0;
    border-bottom:1px solid rgba(203,213,225,.55);
    padding:10px 2px;
    font-size:18px;
    color:#0f172a;
  }
  .leaderboard-card td:last-child{
    border-bottom:0;
  }
  .leaderboard-card td::before{
    flex:0 0 auto;
    color:#64748b;
    font-size:12px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .leaderboard-card td:nth-child(1)::before{content:'#';}
  .leaderboard-card td:nth-child(2)::before{content:'Rider';}
  .leaderboard-card td:nth-child(3)::before{content:'Boat';}
  .leaderboard-card td:nth-child(4)::before{content:'Country';}
  .leaderboard-card td:nth-child(5)::before{content:'Max';}
  .leaderboard-card td:nth-child(6)::before{content:'Hz';}
  .leaderboard-card td:nth-child(7)::before{content:'Status';}
  .leaderboard-card td:nth-child(8)::before{content:'Date';}
  .leaderboard-card .empty-row{
    border-radius:22px;
    background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(232,244,255,.95));
    padding:24px!important;
  }
}

@media(max-width:420px){
  .hero-content h1{
    font-size:clamp(46px,15vw,62px);
  }
  .speed-word{
    font-size:.68em;
  }
  .hero-featurebar{
    grid-template-columns:1fr;
  }
  .leaderboard-head h2{
    font-size:31px;
  }
}
