:root{
  --bg:#08080c;--card:#0e0e16;--card-alt:#0c0c14;--card-raised:#12121c;
  --fg:#e8e8ec;--ink:#f0f0f0;--muted:#7a7a8a;--muted-soft:#505062;
  --heading:#fff;--heading-muted:#d4d4dc;
  --yellow:#FFD659;--gold:#e6b800;--red:#E4002B;--blue:#00a4e4;--orange:#ff6b00;--green:#2ecc71;
  --accent:var(--yellow);--accent-rgb:255,214,89;--danger-rgb:228,0,43;
  --bd:#1a1a28;--bd-soft:#141420;--chip:#101018;
  --header-bg:#0a0a12;--nav-bg:#0c0c14;--btn-bg:#14141e;--input-bg:#101018;--surface-inset:#0a0a12;
  --footer-bg:color-mix(in srgb,var(--bg) 90%,transparent);
  --ok:#2ecc71;--warn:#FFD659;--danger:#E4002B;
  --radius:12px;--radius-sm:8px;--radius-xs:4px;
  --carbon:repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(255,255,255,.008) 2px,rgba(255,255,255,.008) 4px);
  --glow-yellow:0 0 12px rgba(var(--accent-rgb),.08);
  --glow-red:0 0 10px rgba(var(--danger-rgb),.08);
  --display-font:'Racing Sans One',Impact,'Arial Black',sans-serif;
  --text-font:'DM Sans',-apple-system,system-ui,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  --header-font:var(--display-font);
  --body-font:var(--text-font);
  --surface-glass:rgba(255,255,255,.03);
  --stripe-accent:linear-gradient(90deg,var(--red),var(--yellow) 50%,var(--red));
  --header-stripe:var(--stripe-accent);
  --header-stripe-h:3px;
  --body-bg-image:radial-gradient(ellipse 120% 55% at 50% -18%,rgba(var(--accent-rgb),.04),transparent 58%);
  --card-shadow:0 2px 16px rgba(0,0,0,.32);
  --accent-soft:rgba(var(--accent-rgb),.07);
  --accent-soft-md:rgba(var(--accent-rgb),.12);
  --accent-border:rgba(var(--accent-rgb),.28);
  --accent-hover:rgba(var(--accent-rgb),.05);
  --checkered-subtle:repeating-conic-gradient(rgba(60,60,70,.35) 0% 25%,rgba(40,40,50,.2) 0% 50%) 0 0/12px 12px;
  --watermark-opacity:.06;
  --checkered-card:repeating-conic-gradient(rgba(55,55,65,.3) 0% 25%,rgba(35,35,45,.15) 0% 50%) 0 0/10px 10px;
}
body.theme-asphalte{
  --bg:#08080c;--card:#0e0e16;--card-alt:#0c0c14;--card-raised:#12121c;
  --fg:#e8e8ec;--muted:#7a7a8a;--bd:#1a1a28;--bd-soft:#141420;
  --header-bg:#0a0a12;--nav-bg:#0c0c14;--btn-bg:#14141e;--input-bg:#101018;--surface-inset:#0a0a12;
  --accent-rgb:255,214,89;--yellow:#FFD659;--red:#E4002B;
  --body-bg-image:radial-gradient(ellipse 120% 55% at 50% -18%,rgba(var(--accent-rgb),.04),transparent 58%);
  --header-stripe:var(--stripe-accent);--header-stripe-h:3px;
  --card-shadow:0 2px 16px rgba(0,0,0,.32);
}
body.theme-nuit{
  --bg:#09090f;--card:#12121c;--card-alt:#0e0e16;--card-raised:#161622;
  --fg:#ececf2;--muted:#868696;--muted-soft:#5a5a6a;
  --heading:#f4f4f8;--heading-muted:#c8c8d4;
  --bd:#1e1e32;--bd-soft:#181828;--chip:#12121a;
  --header-bg:#0c0c16;--nav-bg:#0e0e18;--btn-bg:#181824;--input-bg:#14141e;--surface-inset:#101018;
  --accent-rgb:255,214,89;--yellow:#FFD659;--red:#E4002B;
  --glow-yellow:0 0 18px rgba(var(--accent-rgb),.11);
  --body-bg-image:var(--carbon),radial-gradient(ellipse 90% 45% at 50% -10%,rgba(0,164,228,.05),transparent 55%);
  --header-stripe:linear-gradient(90deg,transparent,var(--red) 15%,var(--yellow) 50%,var(--red) 85%,transparent);
  --header-stripe-h:3px;
  --card-shadow:0 2px 22px rgba(0,0,0,.42);
}
body.theme-garage{
  --bg:#111114;--card:#18181c;--card-alt:#141418;--card-raised:#1c1c22;
  --fg:#e2e2e6;--muted:#909098;--muted-soft:#606068;
  --heading:#ececee;--heading-muted:#b8b8c0;
  --yellow:#c9a227;--gold:#d4a017;--red:#9b2335;--accent:var(--yellow);
  --accent-rgb:201,162,39;--danger-rgb:155,35,53;
  --bd:#2a2a32;--bd-soft:#222228;--chip:#16161a;
  --header-bg:#141418;--nav-bg:#16161a;--btn-bg:#1e1e24;--input-bg:#1a1a20;--surface-inset:#141418;
  --glow-yellow:0 0 10px rgba(var(--accent-rgb),.07);
  --stripe-accent:linear-gradient(90deg,var(--red) 0%,var(--yellow) 50%,var(--red) 100%);
  --header-stripe:linear-gradient(90deg,transparent 8%,var(--yellow) 50%,transparent 92%);
  --header-stripe-h:2px;
  --body-bg-image:linear-gradient(180deg,rgba(255,255,255,.018) 0%,transparent 28%);
  --card-shadow:0 1px 14px rgba(0,0,0,.28);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--text-font)}
body{
  line-height:1.5;
  background-color:var(--bg);
  background-image:var(--body-bg-image);
  background-size:auto;
  background-attachment:fixed;
}
body.theme-nuit{background-size:auto,100% 100%}
.stat-num,.lb-pts,.pi-stand-pts,.st-podium-avg,.eq-pilot-duel-pts,.rs-stat-value{font-variant-numeric:tabular-nums}

.site-header{
  position:relative;overflow:hidden;
  background:var(--header-bg);
  padding:16px 20px 14px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.site-header::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:var(--header-stripe-h);
  background:var(--header-stripe);
}
.site-header::before{
  content:none;
}
.site-header h1{
  position:relative;margin:0;
  font-family:var(--display-font);font-size:24px;font-weight:400;
  color:var(--heading);text-transform:uppercase;letter-spacing:4px;line-height:1;
  text-shadow:0 0 12px rgba(var(--accent-rgb),.04);
}
.site-header h1 span{color:var(--yellow)}
.site-header .cloud-row{
  position:relative;display:flex;align-items:center;gap:8px;
  margin-top:0;flex-shrink:0;
}

nav{
  display:flex;gap:0;flex-wrap:nowrap;
  background:var(--nav-bg);
  border-bottom:1px solid var(--bd);
  padding:0;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  position:sticky;top:0;z-index:100;
}
nav::-webkit-scrollbar{display:none}
nav button{
  background:transparent;color:var(--muted);border:none;border-radius:0;
  padding:10px 16px 8px;cursor:pointer;font-size:10px;font-weight:600;
  font-family:var(--text-font);text-transform:uppercase;letter-spacing:.5px;transition:color .2s,background .2s;
  border-bottom:2px solid transparent;margin-bottom:-1px;
  white-space:nowrap;flex-shrink:0;line-height:1.2;
  position:relative;
}
nav button:hover{color:var(--heading-muted);background:rgba(255,255,255,.04)}
nav button.active{color:var(--yellow);background:var(--accent-hover);border-bottom-color:var(--yellow)}

#app{padding:14px;min-height:calc(100vh - 120px);max-width:900px;margin:0 auto}
footer{padding:0 16px}

#scrollTopBtn{position:fixed;bottom:24px;right:20px;z-index:90;width:42px;height:42px;border-radius:50%;background:var(--yellow);color:#000;border:none;font-size:18px;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(var(--accent-rgb),.2);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;display:flex;align-items:center;justify-content:center;font-family:var(--text-font)}
#scrollTopBtn.visible{opacity:1;pointer-events:auto}
#scrollTopBtn:hover{transform:scale(1.08)}

button{
  background:var(--btn-bg);color:var(--fg);border:1px solid var(--bd);border-radius:var(--radius-sm);
  padding:10px 18px;cursor:pointer;font-size:13px;line-height:1;font-weight:600;
  font-family:var(--text-font);text-transform:none;letter-spacing:0;transition:all .15s;
}
button:hover{background:var(--yellow);color:#000;border-color:var(--yellow);transform:translateY(-1px);box-shadow:0 4px 14px rgba(var(--accent-rgb),.16)}
button:active{transform:translateY(0)}
button.small{padding:6px 12px;font-size:12px;border-radius:6px}
button.ghost{background:transparent;border-color:var(--bd);opacity:.85;font-weight:500;text-transform:none;letter-spacing:0}
button.ghost:hover{background:rgba(255,255,255,.04);color:var(--fg);border-color:var(--muted);transform:none;box-shadow:none}
button.primary{background:var(--yellow);color:#000;border-color:var(--yellow);font-weight:800}
button.primary:hover{background:#ffe07a;box-shadow:var(--glow-yellow)}
button.danger{background:rgba(var(--danger-rgb),.12);color:var(--red);border-color:rgba(var(--danger-rgb),.25)}
button.danger:hover{background:var(--red);color:#fff;border-color:var(--red)}

.card{
  background:var(--card);
  border:1px solid var(--bd-soft);
  border-radius:var(--radius);
  padding:18px;margin-bottom:14px;
  box-shadow:var(--card-shadow);
  position:relative;overflow:hidden;
}
.card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent)}
.card-motorsport{border-top:3px solid;border-image:var(--stripe-accent) 1}
.card-motorsport::after{display:none}
body.theme-nuit .card-motorsport.card-motorsport--hero::after{
  content:'';display:block;position:absolute;bottom:0;left:0;right:0;height:6px;
  background:var(--checkered-card);opacity:1;
}

h2{font-family:var(--display-font);font-size:15px;margin:0 0 10px;color:var(--heading);text-transform:uppercase;letter-spacing:1px;font-weight:400}
h3{font-size:14px;margin:0 0 6px;color:var(--heading-muted);font-weight:600;font-family:var(--text-font)}
h4{color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:1.2px;font-weight:700;font-family:var(--text-font)}
.small{color:var(--muted);font-size:12px}

.rs-evolution-head{align-items:center;gap:10px}
.rs-evolution-head h2{flex:1;min-width:0}
.evo-scope-btn{
  flex-shrink:0;padding:4px 10px!important;font-size:11px!important;font-weight:700;
  border:1px solid var(--bd-soft)!important;border-radius:var(--radius-xs)!important;color:var(--muted)!important;
}
.evo-scope-btn:hover{color:var(--heading)!important;border-color:var(--accent-border)!important}
.evo-chart-hint{margin:4px 0 0;font-size:11px;color:var(--muted);line-height:1.35}
.evo-chart-scroll{overflow-x:auto;margin-top:8px}
.evo-legend{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}
.evo-legend-btn{
  display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;font-family:inherit;
  color:var(--muted);background:transparent;border:1px solid transparent;border-radius:var(--radius-xs);
  padding:3px 7px;cursor:pointer;text-transform:none;letter-spacing:0;line-height:1.2;min-height:0;
  transition:background .15s,border-color .15s,color .15s;
}
.evo-legend-btn:hover{background:rgba(255,255,255,.06);color:var(--fg);transform:none;box-shadow:none}
.evo-legend-btn.active{
  background:var(--accent-soft-md);border-color:var(--accent-border);color:var(--heading);
}
.evo-legend-btn .evo-legend-swatch{width:12px;height:2px;border-radius:1px;flex-shrink:0;display:inline-block}
.evo-legend-btn .evo-legend-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.badge{
  display:inline-block;padding:3px 8px;border-radius:var(--radius-xs);
  border:1px solid var(--accent-border);background:var(--accent-soft);
  margin-left:6px;font-size:10px;font-weight:800;color:var(--yellow);
  text-transform:uppercase;letter-spacing:.5px;
}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle;border:1px solid #0006}

.row{display:flex;gap:8px;flex-wrap:wrap}
.row>*{flex:1;min-width:120px}
input,select,textarea{
  width:100%;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid var(--bd);
  background:var(--input-bg);color:var(--fg);font-size:14px;transition:border-color .2s,box-shadow .2s;
  font-family:var(--text-font);
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.06)}
select{appearance:none;background-image:
  linear-gradient(45deg,transparent 50%,#98a2b3 50%),
  linear-gradient(135deg,#98a2b3 50%,transparent 50%);
  background-position:calc(100% - 18px) calc(1em + 2px),calc(100% - 13px) calc(1em + 2px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat}
input[type="checkbox"]{width:20px;height:20px;border-radius:4px;border:1px solid var(--bd);background:var(--surface-inset);margin:0;display:inline-block;accent-color:var(--yellow)}

ul.list,ol.list{list-style:none;margin:0;padding:0}
.list li{border-top:1px solid var(--bd-soft);padding:10px 0}
.list li:first-child{border-top:none}
.line{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}

.race-left{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;min-width:0}
.race-title{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.race-date{margin-left:6px}
.race-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}

footer{position:sticky;bottom:0;background:var(--footer-bg);border-top:1px solid var(--bd);padding:8px 16px;display:flex;gap:8px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

.linkbox{background:var(--card-alt);border:1px dashed var(--bd);padding:8px;border-radius:var(--radius-xs);word-break:break-all}
.team-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--bd);background:var(--card-raised);padding:6px 12px;border-radius:var(--radius-sm);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.team-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.team-edit-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}

.collapse-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:14px;margin:-18px -18px 0;border-radius:var(--radius) var(--radius) 0 0;user-select:none;transition:background .15s}
.collapse-toggle:hover{background:rgba(255,255,255,.02)}
.collapse-toggle h2{margin:0}
.collapse-arrow{font-size:16px;transition:transform .25s;color:var(--yellow)}
.collapse-body{overflow:hidden;transition:max-height .3s ease}
.collapse-body.closed{max-height:0!important;padding-top:0;margin-top:0;overflow:hidden}
.collapse-body.open{max-height:5000px;padding-top:14px}

table{border-collapse:collapse;width:100%}
table thead tr{background:var(--surface-inset)}
table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:700;padding:8px 6px;border-bottom:1px solid var(--bd);font-family:var(--text-font)}
table td{padding:8px 6px;border-bottom:1px solid var(--bd-soft);font-family:var(--text-font)}
table tbody tr{transition:background .15s}
table tbody tr:hover{background:rgba(255,255,255,.02)}
.pos-badge{display:inline-block;min-width:28px;text-align:center;font-weight:900;font-size:12px;padding:3px 6px;border-radius:var(--radius-xs)}
.pos-1{background:linear-gradient(135deg,#b8860b,#ffd700);color:#000}

@keyframes rank-up{0%{background:rgba(46,204,113,.3)}100%{background:transparent}}
@keyframes rank-down{0%{background:rgba(228,0,43,.3)}100%{background:transparent}}
@keyframes pulse-badge{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes sync-blink{0%,100%{opacity:1}50%{opacity:.3}}
@keyframes loading-bar{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes glow-pulse{0%,100%{box-shadow:0 0 8px rgba(255,214,89,.1)}50%{box-shadow:0 0 20px rgba(255,214,89,.2)}}
.sync-pulse{animation:sync-blink .8s infinite}
.sync-conflict{animation:sync-conflict-blink .5s infinite}
@keyframes sync-conflict-blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}
.live-collapsible-body{overflow:hidden;transition:max-height .35s cubic-bezier(.4,0,.2,1),opacity .25s ease}
.live-collapsible-body.collapsed{max-height:0!important;opacity:0}
.live-collapsible-body.expanded{opacity:1}
.live-header-btn{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:0;cursor:pointer;padding:10px 16px;color:inherit;text-align:left}
.live-header-btn:focus-visible{outline:2px solid var(--yellow);outline-offset:-2px;border-radius:8px}
.live-chevron{transition:transform .3s ease;font-size:14px;color:var(--muted)}
.live-chevron.open{transform:rotate(180deg)}
.live-widget{margin:0 0 12px;border:1px solid var(--bd-soft);border-radius:var(--radius-sm);overflow:hidden;background:rgba(0,0,0,.15)}
.live-widget--active{border-color:rgba(46,204,113,.25)}
.live-widget--finished{border-color:rgba(255,255,255,.08)}
.live-widget--exhibition .live-exhibition{display:block}
.live-widget--flag-yellow .live-header-btn{border-left-color:#f1c40f!important}
.live-widget--flag-red .live-header-btn{border-left-color:#e74c3c!important}
.live-widget--flag-white .live-header-btn{border-left-color:#fff!important}
.live-header-btn.live-header-btn--active{border-left:3px solid #2ecc71;background:linear-gradient(135deg,rgba(46,204,113,.10),rgba(255,214,89,.06))}
.live-header-btn.live-header-btn--finished{border-left:3px solid var(--muted);background:rgba(255,255,255,.02)}
.live-header-status{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.live-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}
.live-header-title{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.live-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.live-status-dot--live{background:#2ecc71;animation:sync-blink .8s infinite}
.live-status-label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.5px}
.live-status-label--live{color:#2ecc71}
.live-status-label--idle{color:var(--muted);font-weight:700;letter-spacing:1px}
.live-exhibition{display:none;margin:0 16px 8px;padding:6px 10px;border-radius:6px;background:rgba(74,58,42,.5);border:1px solid rgba(252,153,57,.35);font-size:11px;font-weight:700;color:#fc9;text-align:center}
.live-body-inner{padding:4px 16px 14px}
.live-lap-row{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.live-lap-text{font-size:12px;color:var(--fg)}
.live-stage-tag{font-size:11px;color:var(--muted)}
.live-progress{flex:1;min-width:80px;height:4px;background:rgba(255,255,255,.1);border-radius:3px;overflow:hidden}
.live-progress-fill{height:100%;background:var(--yellow);border-radius:3px;transition:width 1s}
.live-top5-label{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.live-row{display:flex;align-items:center;gap:8px;padding:5px 0}
.live-row--podium{font-weight:700}
.live-row__pos{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;color:var(--muted);flex-shrink:0}
.live-row__pos--gold{background:#FFD700;color:#000}
.live-row__pos--silver{background:#C0C0C0;color:#000}
.live-row__pos--bronze{background:#CD7F32;color:#000}
.live-row__photo{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:36px;height:32px}
.live-row__photo img{height:32px;width:auto;max-width:48px}
.live-row__team{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.live-row__name{flex:1;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.live-row__gap{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0}
.live-meta{margin-top:8px;text-align:right;font-size:10px;color:var(--muted)}
.live-meta--stale{color:#e67e22}
.live-view-tabs{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}
.live-view-tab{border:1px solid var(--bd-soft);background:rgba(255,255,255,.04);color:var(--muted);font-size:10px;font-weight:800;padding:5px 10px;border-radius:999px;cursor:pointer;text-transform:uppercase;letter-spacing:.5px}
.live-view-tab.active{background:rgba(255,214,89,.15);border-color:rgba(255,214,89,.4);color:var(--yellow)}
.live-board-wrap{max-height:min(52vh,420px);overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:2px 8px;margin-bottom:8px}
.live-board-wrap::-webkit-scrollbar{width:4px}
.live-board-wrap::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}
.live-row--pool{background:rgba(255,214,89,.06);border-radius:6px;margin:0 -4px;padding-left:4px;padding-right:4px;border-left:3px solid var(--yellow)}
.live-row__teams{display:flex;gap:3px;flex-shrink:0}
.live-row__teams i{width:6px;height:6px;border-radius:50%;display:block}
.live-filter-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.live-filter-btn{font-size:10px;font-weight:700;padding:4px 10px;border-radius:999px;border:1px solid var(--bd-soft);background:0;color:var(--muted);cursor:pointer}
.live-filter-btn.active{background:rgba(0,164,228,.15);border-color:rgba(0,164,228,.35);color:var(--accent)}
.live-nascar-link{font-size:10px;color:var(--accent);text-decoration:none;font-weight:700}
.live-nascar-link:hover{text-decoration:underline}
@media (max-width:768px){
  .live-widget.live-widget--sticky{position:sticky;top:48px;z-index:90;box-shadow:0 6px 24px rgba(0,0,0,.55);margin-top:0}
}
.rs-next-hero{margin-bottom:12px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(255,214,89,.08),rgba(228,0,43,.06));overflow:hidden}
.rs-next-hero--done{opacity:.85}
.rs-next-hero-inner{display:flex;flex-wrap:wrap;gap:16px;padding:16px 18px;align-items:flex-start;justify-content:space-between}
.rs-next-hero-kicker{font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--nr-accent,var(--yellow));display:block;margin-bottom:6px}
.rs-next-hero-title{margin:0;font-family:var(--display-font);font-size:20px;font-weight:400;letter-spacing:1px;color:#fff;line-height:1.15}
.rs-next-hero-date{font-size:13px;font-weight:700;color:#ddd;margin-top:6px}
.rs-next-hero-track{font-size:12px;color:var(--muted);margin-top:4px}
.rs-next-hero-progress{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:11px;color:var(--muted)}
.rs-next-hero-bar{flex:1;height:4px;background:rgba(255,255,255,.08);border-radius:4px;overflow:hidden;min-width:80px}
.rs-next-hero-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--nr-accent,var(--yellow)),var(--red));border-radius:4px}
.rs-next-hero-actions{display:flex;flex-direction:column;gap:8px;min-width:140px}
.rs-next-hero-btn{border:0;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:800;cursor:pointer;background:var(--nr-accent,var(--yellow));color:#000}
.rs-next-hero-btn--ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.12);text-align:center;text-decoration:none;display:block}
.rs-pre-race{margin-bottom:12px;padding:12px 16px}
.rs-pre-race-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;font-weight:800;color:var(--yellow)}
.rs-pre-race-list{margin:0;padding-left:18px;font-size:12px;color:#ccc;line-height:1.6}
.rs-chase-banner{margin:-4px 0 12px;padding:10px 14px;border-radius:8px;background:linear-gradient(90deg,rgba(155,89,182,.2),rgba(228,0,43,.15));border:1px solid rgba(155,89,182,.35);font-size:12px;font-weight:800;color:#e8d5f5;text-align:center;letter-spacing:.3px}
.rs-race-meta{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.08)}
.rs-race-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;margin-top:8px}
.rs-race-meta-cell{background:rgba(0,0,0,.2);border-radius:8px;padding:8px 10px;text-align:center}
.rs-race-meta-val{font-size:16px;font-weight:900;color:var(--yellow)}
.rs-race-meta-lbl{font-size:9px;color:var(--muted);text-transform:uppercase;margin-top:2px}
.rs-race-summary{margin-top:12px;padding:12px;background:rgba(0,164,228,.08);border:1px solid rgba(0,164,228,.2);border-radius:8px;font-size:12px;line-height:1.55;color:#ddd}
.pi-stand-delta{font-size:10px;font-weight:800;margin-left:6px}
.pi-stand-delta--up{color:#2ecc71}
.pi-stand-delta--down{color:#e74c3c}
.pi-stand-delta--flat{color:var(--muted)}
.pi-stand-behind{font-size:10px;color:var(--muted);margin-top:2px}
.rank-moved-up{animation:rank-up 1.8s ease-out forwards}
.rank-moved-down{animation:rank-down 1.8s ease-out forwards}
.lb-rh-trigger{display:inline-flex;align-items:center;gap:3px;max-width:100%;cursor:pointer;border-radius:4px;padding:1px 4px 1px 2px;margin:-1px -4px -1px -2px;transition:background .15s,color .15s}
.lb-rh-trigger:hover{background:rgba(255,255,255,.06)}
.lb-rh-trigger:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.lb-rh-trigger .lb-team-name{pointer-events:none}
.lb-rh-chev{font-size:9px;color:var(--muted);line-height:1;transition:transform .22s ease;flex-shrink:0;opacity:.85}
.lb-rh-trigger.is-expanded .lb-rh-chev{transform:rotate(180deg);color:var(--yellow)}
.lb-rh-panel{display:none;margin-top:8px;padding:9px 10px 10px;background:rgba(0,0,0,.22);border-radius:8px;border:1px solid rgba(255,255,255,.07);animation:fadeInUp .22s ease-out}
.lb-rh-panel.is-open{display:block}
.lb-rh-panel-hd{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.55px;margin:0 0 7px}
.lb-rh-scroll{display:flex;align-items:flex-end;gap:2px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}
.lb-rh-scroll::-webkit-scrollbar{height:4px}
.lb-rh-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px}
.lb-rh-col{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}
.lb-rh-bar{width:4px;border-radius:2px;align-self:center;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.pos-2{background:linear-gradient(135deg,#707070,#c0c0c0);color:#000}
.pos-3{background:linear-gradient(135deg,#8b4513,#cd7f32);color:#fff}
.pos-n{background:#10101a;color:var(--muted)}

.stat-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:12px}
.stat-tile{
  border-radius:var(--radius);padding:16px;position:relative;overflow:hidden;
  border:1px solid var(--bd-soft);box-shadow:0 2px 10px rgba(0,0,0,.25);transition:transform .15s,box-shadow .15s;
}
.stat-tile:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.35)}
.stat-tile::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.stat-tile-blue::before{background:linear-gradient(90deg,#00a4e4,#0066aa)}
.stat-tile-yellow::before{background:linear-gradient(90deg,#FFD659,#ff9900)}
.stat-tile-red::before{background:linear-gradient(90deg,#E4002B,#ff4466)}
.stat-tile-green::before{background:linear-gradient(90deg,#2ecc71,#1a9950)}
.stat-tile-blue{background:linear-gradient(145deg,#060d18,#0a1420)}
.stat-tile-yellow{background:linear-gradient(145deg,#100e00,#1a1600)}
.stat-tile-red{background:linear-gradient(145deg,#100002,#180006)}
.stat-tile-green{background:linear-gradient(145deg,#021008,#030f06)}
.stat-tile-label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin:0 0 8px}
.stat-tile-value{font-size:26px;font-weight:900;margin:0 0 2px;line-height:1;color:#fff}
.stat-tile-sub{font-size:12px;color:var(--muted);margin:4px 0 0}

/* Résultats — stats saison (cartes plus vivantes) */
.rs-season-stats{padding:2px 0 4px}
.rs-season-stats-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.rs-season-stats-head::before{content:'';width:4px;height:24px;border-radius:3px;flex-shrink:0;background:linear-gradient(180deg,var(--yellow),var(--red));box-shadow:0 0 16px rgba(255,214,89,.4)}
.rs-season-stats-title{margin:0;font-family:var(--display-font);font-size:15px;font-weight:400;letter-spacing:2px;color:#fff;text-transform:uppercase;text-shadow:0 0 12px rgba(255,214,89,.09)}
.rs-season-stats-title span{font-size:10px;display:block;font-family:var(--text-font);letter-spacing:1.2px;color:var(--muted);font-weight:600;margin-top:3px;text-transform:uppercase}
.rs-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.rs-stat-card{
  --rs-accent:var(--yellow);
  --rs-glow:rgba(255,214,89,.22);
  position:relative;border-radius:14px;overflow:hidden;text-align:center;
  border:1px solid rgba(255,255,255,.1);
  background:
    radial-gradient(ellipse 130% 85% at 50% -35%,var(--rs-glow),transparent 50%),
    linear-gradient(168deg,rgba(255,255,255,.08) 0%,rgba(12,12,22,.92) 42%,rgba(6,6,10,.98) 100%);
  box-shadow:0 6px 22px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.07);
  transition:transform .22s cubic-bezier(.34,1.45,.64,1),box-shadow .22s ease,border-color .2s;
}
.rs-stat-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;z-index:2;
  background:linear-gradient(90deg,transparent 0%,var(--rs-accent) 35%,var(--rs-accent) 65%,transparent 100%);
  box-shadow:0 0 14px var(--rs-glow);
  animation:rs-stat-bar-glow 3.2s ease-in-out infinite;
}
@keyframes rs-stat-bar-glow{0%,100%{opacity:.75;filter:brightness(1)}50%{opacity:1;filter:brightness(1.15)}}
@media (prefers-reduced-motion:reduce){
  .rs-stat-card::before{animation:none}
}
.rs-stat-card::after{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:0;
  background:linear-gradient(125deg,transparent 35%,rgba(255,255,255,.06) 50%,transparent 65%);
  opacity:.55;
}
.rs-stat-card:hover{
  transform:translateY(-4px);
  border-color:rgba(255,255,255,.2);
  box-shadow:0 14px 36px rgba(0,0,0,.55),0 0 32px var(--rs-glow),inset 0 1px 0 rgba(255,255,255,.12);
}
.rs-stat-card-inner{position:relative;z-index:1;padding:14px 12px 13px}
.rs-stat-ico{font-size:22px;line-height:1;margin-bottom:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55))}
.rs-stat-label{font-size:9px;font-weight:900;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:7px}
.rs-stat-label em{font-style:normal;color:var(--rs-accent);opacity:.95}
.rs-stat-value{
  font-family:var(--display-font);font-size:32px;font-weight:400;line-height:1;color:#fff;letter-spacing:1px;margin:0;
  text-shadow:0 0 26px var(--rs-glow),0 2px 0 rgba(0,0,0,.4);
}
.rs-stat-value--md{font-size:26px}
.rs-stat-value--sm{font-size:18px;letter-spacing:3px;color:var(--rs-accent);text-shadow:0 0 18px var(--rs-glow)}
.rs-stat-value--caps{font-size:15px;letter-spacing:1.5px;color:var(--rs-accent);text-shadow:0 0 16px var(--rs-glow);line-height:1.1}
.rs-stat-name{font-size:13px;font-weight:800;color:#fff;line-height:1.25;margin-top:2px;max-height:2.75em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rs-stat-name--team{color:var(--rs-accent);text-shadow:0 0 16px var(--rs-glow)}
.rs-stat-value--team-stat{color:var(--yellow);text-shadow:0 0 22px rgba(255,214,89,.45),0 2px 0 rgba(0,0,0,.4)}
.rs-stat-sub{font-size:11px;color:var(--muted-soft);margin-top:8px;font-weight:700;line-height:1.3}
.rs-stat-mid{margin:6px 0 4px;display:flex;justify-content:center;align-items:center;min-height:40px}
.rs-stat-pill{display:inline-block;margin-top:8px;padding:3px 10px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.4px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.1);color:var(--rs-accent)}
.rs-stat-progress{margin-top:12px;height:6px;border-radius:6px;background:rgba(0,0,0,.45);overflow:hidden;border:1px solid rgba(255,255,255,.06)}
.rs-stat-progress i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,var(--blue),var(--yellow));box-shadow:0 0 12px rgba(0,164,228,.35);transition:width .6s ease}
.rs-stat-card--wide{min-width:0}
@media (min-width:540px){
  .rs-stat-card--wide{grid-column:span 2}
}

.rs-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.rs-page-title{margin:0;font-size:20px;font-weight:400;font-family:var(--display-font);letter-spacing:1px;text-transform:uppercase}
.rs-page-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;flex-wrap:wrap}
.rs-page-meta{font-size:11px;color:var(--muted);font-weight:600}
.rs-page-progress-bar{width:60px;height:4px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}
.rs-page-progress-fill{height:100%;background:linear-gradient(90deg,var(--yellow),var(--red));border-radius:3px;transition:width .5s}
.rs-share-btn{background:rgba(255,214,89,.08);border:1px solid rgba(255,214,89,.25);color:var(--yellow);font-size:10px;padding:5px 10px;border-radius:6px;font-weight:700;min-height:0;cursor:pointer;font-family:inherit}
/* Barre sous-onglets partagée (Résultats, Équipes, Pilotes) */
.rs-subtabs,.eq-subtabs,.pi-subtabs,.st-subtabs{
  display:flex;gap:6px;margin-bottom:16px;flex-wrap:nowrap;
  padding:6px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);border-radius:12px;
  position:sticky;top:0;z-index:25;
  background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.rs-subtabs::-webkit-scrollbar,.st-subtabs::-webkit-scrollbar{display:none}
.rs-subtab,.eq-subtab,.pi-subtab,.st-subtab{
  flex:1;min-width:0;padding:10px 14px;min-height:40px;
  border-radius:10px;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);color:#d8d8e0;
  font-size:12px;font-weight:600;letter-spacing:.2px;text-transform:none;
  cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;
  font-family:var(--text-font);text-align:center;line-height:1.2;
  -webkit-tap-highlight-color:transparent;transform:none;box-shadow:none;
}
.st-subtab{flex:0 0 auto;min-width:max-content;padding:8px 14px;min-height:36px;font-size:11px;font-weight:700}
.rs-subtab:hover,.eq-subtab:hover,.pi-subtab:hover,.st-subtab:hover{
  color:#fff;border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.12);
  transform:none;box-shadow:none;
}
.rs-subtab.active,.eq-subtab.active,.pi-subtab.active,.st-subtab.active{
  background:var(--yellow);color:#0a0a0a;border-color:var(--yellow);
  box-shadow:0 2px 10px rgba(var(--accent-rgb),.22);font-weight:700;transform:none;
}
.theme-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.theme-card{
  border:2px solid var(--bd-soft);border-radius:var(--radius-sm);padding:12px 10px;cursor:pointer;
  background:var(--card-alt);text-align:left;transition:border-color .15s,box-shadow .15s,transform .12s;
  font-family:var(--text-font);color:inherit;transform:none;box-shadow:none;
}
.theme-card:hover{border-color:var(--accent-border);transform:translateY(-1px);background:var(--card-alt);color:inherit}
.theme-card.active{border-color:var(--yellow);box-shadow:0 0 0 1px rgba(var(--accent-rgb),.25),var(--card-shadow);background:var(--card-alt);color:inherit}
.theme-card-swatch{height:36px;border-radius:6px;margin-bottom:8px;border:1px solid var(--bd-soft)}
.theme-card-swatch--asphalte{background:linear-gradient(135deg,#08080c,#0e0e16 60%,rgba(255,214,89,.12))}
.theme-card-swatch--nuit{background:linear-gradient(135deg,#09090f,#12121c 55%,rgba(0,164,228,.08)),repeating-linear-gradient(45deg,transparent,transparent 2px,rgba(255,255,255,.03) 2px,rgba(255,255,255,.03) 4px)}
.theme-card-swatch--garage{background:linear-gradient(180deg,#16161a,#111114)}
.theme-card-title{font-size:12px;font-weight:700;color:var(--heading);margin:0 0 3px}
.theme-card-desc{font-size:10px;color:var(--muted);margin:0;line-height:1.35}
@media(max-width:600px){.theme-picker{grid-template-columns:1fr}}
.rs-tab-panel{margin-bottom:14px}
.rs-standings-section{padding:14px 16px}
.rs-standings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}
.rs-standings-title{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.rs-standings-link{font-size:11px;color:var(--yellow);cursor:pointer;background:none;border:none;font-weight:700;padding:0;font-family:inherit;text-decoration:underline}
.rs-lb-list{display:flex;flex-direction:column;gap:5px}
.lb-row{display:flex;align-items:stretch;border-radius:10px;overflow:hidden;border:1px solid var(--lb-bd,rgba(255,255,255,.12));box-shadow:0 1px 6px rgba(0,0,0,.2);transition:transform .15s,box-shadow .15s;--tc:#888;--tc-bg:rgba(136,136,136,.04)}
.lb-row:hover{transform:translateY(-1px);box-shadow:0 3px 16px rgba(0,0,0,.3)}
.lb-row.lb-row--leader{--lb-bd:color-mix(in srgb,var(--tc) 35%,transparent)}
.lb-color-bar{width:3px;flex-shrink:0;background:var(--tc)}
.lb-inner{flex:1;padding:10px 12px;background:linear-gradient(90deg,var(--tc-bg) 0%,transparent 100px)}
.lb-main-row{display:flex;align-items:center;gap:10px}
.lb-rank-badge{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;font-weight:900;color:var(--muted);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1)}
.lb-rank-badge--1{color:#FFD700;background:#FFD70018;border-color:#FFD700}
.lb-rank-badge--2{color:#C0C0C0;background:#C0C0C018;border-color:#C0C0C0}
.lb-rank-badge--3{color:#CD7F32;background:#CD7F3218;border-color:#CD7F32}
.lb-emblem{width:44px;height:44px;border-radius:50%;flex-shrink:0;object-fit:cover;border:2px solid color-mix(in srgb,var(--tc) 50%,transparent);background:var(--surface-inset);display:flex;align-items:center;justify-content:center;line-height:1}
.lb-team-name{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-team-name--leader{color:#fff}
.lb-name-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.lb-win-badge{font-size:9px;font-weight:900;color:var(--yellow)}
.lb-delta{font-size:9px;font-weight:900}
.lb-delta--up{color:#2ecc71}
.lb-delta--down{color:var(--red)}
.lb-delta--flat{color:var(--muted)}
.lb-bar-row{margin-top:5px}
.lb-bar-track{height:4px;background:rgba(255,255,255,.05);border-radius:2px;overflow:hidden}
.lb-bar-fill{height:100%;background:var(--tc);border-radius:2px;transition:width .6s}
.lb-score{text-align:right;flex-shrink:0;min-width:48px}
.lb-pts{font-size:24px;font-weight:900;line-height:1}
.lb-pts--leader{color:var(--yellow)}
.lb-pts-lbl{font-size:8px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.lb-gap{font-size:9px;font-weight:700;color:var(--muted);margin-top:2px}
.lb-badges{display:flex;gap:4px;flex-shrink:0}
.lb-badge-mini{border-radius:6px;padding:4px 7px;text-align:center;min-width:32px}
.lb-badge-mini-val{font-size:12px;font-weight:900;line-height:1}
.lb-badge-mini-lbl{font-size:7px;color:var(--muted);margin-top:1px;font-weight:700;letter-spacing:.3px}
.lb-badge-mini--stg{background:rgba(231,76,60,.08);border:1px solid rgba(231,76,60,.25)}
.lb-badge-mini--stg .lb-badge-mini-val{color:#e74c3c}
.lb-badge-mini--pos{background:rgba(0,164,228,.08);border:1px solid rgba(0,164,228,.25)}
.lb-badge-mini--pos .lb-badge-mini-val{color:#4da6ff}
.lb-badge-mini--tot{background:rgba(255,214,89,.1);border:1px solid rgba(255,214,89,.3)}
.lb-badge-mini--tot .lb-badge-mini-val{color:var(--yellow)}
.rs-evolution-wrap{margin-top:0;padding-bottom:12px}
.rs-last-race{padding:12px 16px}
.rs-last-race-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.rs-last-race-title{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:1.2px}
.rs-podium{display:flex;gap:6px}
.rs-podium-card{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:10px 6px;text-align:center}
.rs-podium-rank{font-size:12px;font-weight:900;letter-spacing:1px}
.rs-podium-rank--1{color:#FFD700}
.rs-podium-rank--2{color:#C0C0C0}
.rs-podium-rank--3{color:#CD7F32}
.rs-podium-card--1{border-top:2px solid #FFD700}
.rs-podium-card--2{border-top:2px solid #C0C0C0}
.rs-podium-card--3{border-top:2px solid #CD7F32}
.rs-podium-name{font-size:13px;font-weight:800;color:#fff;line-height:1.2}
.rs-podium-team{font-size:10px;padding:2px 7px;border-radius:4px;color:#fff;font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rs-podium-empty{font-size:10px;color:var(--muted);font-style:italic}
.rs-vol-banner{padding:10px 12px;background:rgba(231,76,60,.2);border-left:3px solid var(--red);border-radius:4px;font-size:13px;font-weight:700;margin-bottom:14px}
@media(max-width:768px){
  .rs-stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}
  .rs-stat-card-inner{padding:10px 8px}
}

.pi-page-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.pi-page-title{margin:0;font-size:20px;font-weight:400;font-family:var(--display-font);letter-spacing:1px;text-transform:uppercase}
.pi-page-meta{font-size:12px;color:var(--muted);font-weight:600}
.pi-page-meta strong{color:#2ecc71}
.pi-tab-panel{margin-bottom:14px}
.pi-vol-wrap{margin-bottom:14px}
.pi-tier-block{margin-bottom:20px;border-radius:var(--radius);border:1px solid var(--bd-soft);overflow:hidden;background:var(--card)}
.pi-tier-block--a{--pi-tier-color:#E4002B;--pi-tier-bg:rgba(228,0,43,.08);--pi-tier-bd:rgba(228,0,43,.35)}
.pi-tier-block--b{--pi-tier-color:#00a4e4;--pi-tier-bg:rgba(0,164,228,.08);--pi-tier-bd:rgba(0,164,228,.35)}
.pi-tier-block--c{--pi-tier-color:#2ecc71;--pi-tier-bg:rgba(46,204,113,.07);--pi-tier-bd:rgba(46,204,113,.3)}
.pi-tier-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:linear-gradient(90deg,var(--pi-tier-bg) 0%,transparent 70%);border-bottom:1px solid color-mix(in srgb,var(--pi-tier-color) 22%,transparent);border-left:4px solid var(--pi-tier-color)}
.pi-tier-banner-title{margin:0;font-size:15px;font-weight:900;color:#fff;letter-spacing:.3px}
.pi-tier-banner-title span{color:var(--pi-tier-color)}
.pi-tier-banner-sub{font-size:11px;color:var(--muted);font-weight:600;margin-top:2px}
.pi-tier-banner-count{margin-left:auto;text-align:right;font-size:10px;color:var(--muted);line-height:1.4}
.pi-tier-banner-count strong{display:block;font-size:13px;color:#2ecc71;font-weight:800}
.pi-tier-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:8px;padding:12px}
.pi-pilot-card{border-radius:10px;overflow:hidden;transition:transform .12s,border-color .12s;border:1px solid var(--pi-tier-bd,var(--bd-soft));cursor:pointer;background:rgba(0,0,0,.2)}
.pi-pilot-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--pi-tier-color,#888) 55%,transparent)}
.pi-pilot-card--taken{background:var(--card);border-color:var(--bd-soft);opacity:.92}
.pi-pilot-card--taken:hover{border-color:var(--bd)}
.pi-pilot-top{display:flex;align-items:center;gap:10px;padding:10px 10px 6px;border-bottom:1px solid rgba(255,255,255,.04)}
.pi-pilot-portrait{position:relative;width:52px;height:52px;flex-shrink:0;border-radius:50%;border:2px solid color-mix(in srgb,var(--pi-tier-color,#888) 50%,transparent);overflow:hidden;background:var(--surface-inset)}
.pi-pilot-portrait img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.pi-pilot-portrait-fb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.35)}
.pi-pilot-portrait--dim img{opacity:.35}
.pi-pilot-head{flex:1;min-width:0}
.pi-pilot-name{font-weight:900;font-size:13px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.pi-pilot-team{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;letter-spacing:.4px;margin-top:2px}
.pi-pilot-tier-tag{display:inline-block;margin-top:4px;font-size:8px;font-weight:900;padding:2px 6px;border-radius:3px;letter-spacing:.6px;color:#fff;background:var(--pi-tier-color,#888)}
.pi-pilot-body{padding:6px 10px 8px}
.pi-pilot-assign{display:flex;align-items:center;gap:5px;margin-top:2px}
.pi-pilot-assign-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.pi-pilot-assign-team{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pi-pilot-assign-slot{font-size:10px;font-weight:800;flex-shrink:0;margin-left:2px}
.pi-pilot-free{margin-top:4px;font-size:11px;color:#2ecc71;font-weight:700}
.pi-pilot-kpi{font-size:10px;margin-top:3px;font-weight:700}
.pi-pilot-detail{display:none;border-top:1px solid var(--bd);padding:8px 10px}
.pi-pilot-stats-row{display:flex;gap:0}
.pi-stat-cell{text-align:center;flex:1;padding:3px;border-right:1px solid var(--bd)}
.pi-stat-cell:last-child{border-right:none}
.pi-stat-val{font-size:14px;font-weight:900}
.pi-stat-val--gold{color:var(--yellow)}
.pi-stat-lbl{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
.pi-stand-list{display:flex;flex-direction:column;gap:6px;padding:8px 10px}
.pi-stand-card{background:var(--card);border:1px solid var(--bd-soft);border-radius:8px;overflow:hidden;border-left:3px solid var(--pi-tier,#888)}
.pi-stand-main{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;cursor:pointer}
.pi-stand-rank{font-size:12px;font-weight:900;color:var(--muted);width:22px;text-align:center;flex-shrink:0;padding-top:10px}
.pi-stand-rank--top3{font-size:18px;color:var(--yellow);padding-top:6px}
.pi-stand-portrait{flex-shrink:0}
.pi-stand-info{flex:1;min-width:0}
.pi-stand-name{font-weight:800;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pi-stand-meta{font-size:10px;color:var(--muted);margin-top:2px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.pi-stand-inline{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.pi-stand-pill{font-size:9px;font-weight:700;padding:2px 8px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);color:var(--muted);white-space:nowrap}
.pi-stand-pill--gold{color:var(--yellow);border-color:rgba(255,214,89,.2);background:rgba(255,214,89,.06)}
.pi-stand-gap{font-size:9px;color:var(--muted);margin-top:5px;font-weight:700;letter-spacing:.3px}
.pi-stand-score-col{text-align:right;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:54px}
.pi-stand-score{text-align:right;flex-shrink:0}
.pi-stand-pts{font-size:16px;font-weight:900;color:var(--yellow);line-height:1.1}
.pi-stand-avg{font-size:9px;color:var(--muted)}
.pi-stand-arrow{color:var(--muted);font-size:11px;flex-shrink:0;margin-top:4px}
.pi-stand-expand{display:none;border-top:1px solid var(--bd);padding:10px 12px}
.pi-stand-spark{width:100%;display:block;border-radius:5px;background:var(--surface-inset);height:60px}
.pi-stand-spark-hint{font-size:9px;color:var(--muted);margin:3px 0 0;text-align:center}
.pi-page-header-wrap{margin-bottom:14px}
.pi-progress-wrap{display:flex;align-items:center;gap:8px;min-width:120px}
.pi-progress-bar{flex:1;height:5px;background:rgba(255,255,255,.08);border-radius:3px;overflow:hidden;min-width:80px}
.pi-progress-fill{height:100%;background:var(--yellow);border-radius:3px;transition:width .4s}
.pi-progress-lbl{font-size:10px;font-weight:800;color:var(--muted);min-width:28px;text-align:right}
.pi-header-chips{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}
.pi-header-chip{font-size:10px;font-weight:700;padding:4px 10px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid var(--bd-soft);color:var(--muted)}
.pi-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px;padding:10px 12px;background:var(--card);border:1px solid var(--bd-soft);border-radius:var(--radius)}
.pi-search{flex:1;min-width:160px;padding:8px 12px;font-size:13px;border-radius:8px;border:1px solid var(--bd-soft);background:var(--surface-inset);color:var(--fg)}
.pi-filter-chips{display:flex;gap:4px;flex-wrap:wrap}
.pi-filter-chip{padding:5px 10px;font-size:10px;font-weight:800;border-radius:16px;border:1px solid var(--bd-soft);background:rgba(255,255,255,.04);color:var(--muted);cursor:pointer;min-height:auto}
.pi-filter-chip.active{background:rgba(255,214,89,.12);border-color:rgba(255,214,89,.35);color:var(--yellow)}
.pi-sort{padding:6px 8px;font-size:11px;border-radius:8px;border:1px solid var(--bd-soft);background:var(--surface-inset);color:var(--fg);min-width:110px}
.pi-spotlight{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-bottom:14px}
.pi-spotlight-card{background:var(--card);border:1px solid var(--bd-soft);border-radius:10px;padding:10px 12px;border-left:3px solid var(--pi-tier-color,#888)}
.pi-spotlight-label{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}
.pi-spotlight-body{display:flex;align-items:center;gap:10px}
.pi-spotlight-info{min-width:0}
.pi-spotlight-name{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pi-spotlight-sub{font-size:10px;color:var(--yellow);font-weight:700;margin-top:2px}
.pi-tier-grid--v2{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.pi-pilot-card-v2{border-radius:12px;overflow:hidden;border:1px solid color-mix(in srgb,var(--pi-tier-color,#888) 30%,transparent);background:linear-gradient(160deg,rgba(0,0,0,.35) 0%,var(--card) 100%);transition:transform .12s,border-color .12s}
.pi-pilot-card-v2:hover{border-color:color-mix(in srgb,var(--pi-tier-color,#888) 55%,transparent);transform:translateY(-2px)}
.pi-pilot-card-v2--taken{opacity:.88;border-color:var(--bd-soft)}
.pi-pilot-card-face{padding:10px 12px;cursor:pointer;position:relative}
.pi-pilot-card-hero{display:flex;align-items:flex-start;gap:10px;position:relative;margin-bottom:6px}
.pi-pilot-card-hero .pi-pilot-portrait{width:56px;height:56px;flex-shrink:0}
.pi-pilot-rank-badge{position:absolute;top:0;left:40px;font-size:11px;font-weight:900;background:rgba(0,0,0,.75);border:1px solid var(--bd-soft);border-radius:10px;padding:1px 6px;color:var(--yellow);z-index:2}
.pi-pilot-head--v2{flex:1;min-width:0}
.pi-pilot-tags{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:4px}
.pi-pilot-form-badge{font-size:8px;font-weight:800;padding:2px 6px;border-radius:10px;letter-spacing:.3px}
.pi-pilot-form-badge.pi-form-up{background:rgba(46,204,113,.15);color:#2ecc71;border:1px solid rgba(46,204,113,.3)}
.pi-pilot-form-badge.pi-form-down{background:rgba(231,76,60,.12);color:#e74c3c;border:1px solid rgba(231,76,60,.25)}
.pi-pilot-form-badge.pi-form-flat{background:rgba(255,255,255,.06);color:var(--muted);border:1px solid var(--bd-soft)}
.pi-pilot-stat-chips{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin:6px 0 0}
.pi-pilot-stat-chips--face{margin:6px 0 0}
.pi-pilot-detail--v2 .pi-pilot-stat-chips{grid-template-columns:repeat(4,1fr);margin:0 0 8px}
.pi-stat-chip{text-align:center;padding:5px 4px;background:rgba(255,255,255,.04);border-radius:6px;border:1px solid rgba(255,255,255,.05)}
.pi-stat-chip-val{display:block;font-size:12px;font-weight:900;line-height:1.2}
.pi-stat-chip-val--gold{color:var(--yellow)}
.pi-stat-chip-lbl{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:2px;font-weight:700}
.pi-pilot-mini-spark{width:100%;display:block;border-radius:4px;margin:4px 0 6px}
.pi-pilot-draft{margin-top:2px;padding:6px 0 2px;border-top:1px solid rgba(255,255,255,.06)}
.pi-pilot-free--v2{font-size:12px;margin-top:0;font-weight:800}
.pi-slot-pills{display:flex;flex-wrap:wrap;gap:4px}
.pi-slot-pill{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;padding:3px 7px;border-radius:6px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pi-slot-pill--free{background:rgba(46,204,113,.12);color:#2ecc71;border:1px solid rgba(46,204,113,.3)}
.pi-slot-pill--taken{background:rgba(255,255,255,.05);color:var(--muted);border:1px solid var(--bd-soft)}
.pi-slot-pill-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.pi-pilot-share{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.pi-share-badge{font-size:10px;font-weight:900;padding:3px 8px;border-radius:6px;background:rgba(46,204,113,.14);color:#2ecc71;border:1px solid rgba(46,204,113,.35);letter-spacing:.3px}
.pi-share-teams{font-size:10px;color:var(--muted);font-weight:600;line-height:1.3;padding-left:1px}
.pi-expand-assign{margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}
.pi-expand-assign-lbl{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:6px}
.pi-pilot-expand-hint{display:block;text-align:center;font-size:9px;color:var(--muted);font-weight:700;margin-top:6px;letter-spacing:.3px}
.pi-pilot-detail--v2{display:none;padding:10px 12px;border-top:1px solid var(--bd);background:rgba(0,0,0,.2)}
.pi-pilot-prestats{padding:6px 0 0;text-align:center}
.pi-pilot-prestats-team{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:4px}
.pi-pilot-prestats-hint{font-size:10px;color:var(--muted);font-style:italic}
.pi-pilot-no-stats{font-size:11px;color:var(--muted);text-align:center;padding:8px 0;font-style:italic}
.pi-pilot-stats-row--grid{flex-wrap:wrap}
.pi-pilot-stats-row--grid .pi-stat-cell{min-width:25%;flex:1 1 25%}
.pi-expand-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.pi-expand-form-meta{font-size:10px;color:var(--muted)}
.pi-expand-form-meta b{color:#fff;margin-left:2px}
.pi-pilot-race-log{margin-top:10px;max-height:160px;overflow-y:auto;border-radius:6px;border:1px solid var(--bd-soft)}
.pi-pilot-race-log table{width:100%;border-collapse:collapse;font-size:10px}
.pi-pilot-race-log th{position:sticky;top:0;background:var(--card);padding:5px 8px;text-align:left;font-size:8px;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--bd-soft)}
.pi-pilot-race-log td{padding:5px 8px;border-bottom:1px solid rgba(255,255,255,.04);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pi-empty-msg{color:var(--muted);padding:12px 0}
@media(max-width:768px){
  .pi-tier-grid--v2{grid-template-columns:1fr}
  .pi-toolbar{flex-direction:column;align-items:stretch}
  .pi-filter-chips{justify-content:center}
  .pi-pilot-stat-chips--face{grid-template-columns:repeat(2,1fr)}
  .pi-pilot-detail--v2 .pi-pilot-stat-chips{grid-template-columns:repeat(2,1fr)}
  .pi-stand-score-col{min-width:48px}
  .pi-stand-inline{gap:3px}
  .pi-stand-pill{font-size:8px;padding:2px 6px}
}

.section-header{
  display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;
  border-bottom:1px solid var(--bd-soft);
}
.section-header-stripe{width:3px;height:20px;background:var(--yellow);border-radius:2px;flex-shrink:0}
.section-header h2{margin:0}

.standing-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--bd-soft)}
.standing-row:last-child{border-bottom:none}
.standing-rank{font-size:18px;font-weight:900;text-align:center;color:var(--muted)}
.standing-rank.r1{color:var(--yellow)}
.standing-rank.r2{color:#c0c0c0}
.standing-rank.r3{color:#cd7f32}

::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#1a1a30;border-radius:4px}
::-webkit-scrollbar-thumb:hover{background:var(--yellow)}

.pilot-slot{display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:var(--radius);padding:10px 6px 7px;flex:1;max-width:80px;box-sizing:border-box;transition:transform .2s}
.pilot-slot:hover{transform:translateY(-2px)}
.pilot-slot-empty{opacity:.3;border-style:dashed}
.driver-pic-wrap{position:relative;width:56px;height:56px;flex-shrink:0}
.driver-pic{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:top center;display:block;border:2px solid var(--bd)}
.car-num-badge{position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);font-size:8px;font-weight:900;padding:1px 5px;border-radius:var(--radius-xs);white-space:nowrap;letter-spacing:.3px;box-shadow:0 2px 6px #0009;pointer-events:none}
.slot-label{font-size:10px;font-weight:900;letter-spacing:.3px;text-align:center;margin-top:8px}
.slot-pts{font-size:9px;color:var(--muted);font-weight:700}

.lb-driver-pic-wrap{position:relative;flex-shrink:0}
.lb-driver-pic{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:top center;display:block;border:2px solid var(--bd)}
.lb-car-num{position:absolute;bottom:-5px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:900;padding:1px 5px;border-radius:6px;white-space:nowrap;border:1.5px solid #000;box-shadow:0 2px 6px #0008;letter-spacing:.3px;pointer-events:none}

.checkered-bar{height:5px;background:repeating-linear-gradient(90deg,#fff 0 7px,#000 7px 14px);opacity:.12;border-radius:0 0 var(--radius) var(--radius)}

.eq-page-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.eq-page-title{margin:0;font-size:20px;font-weight:400;font-family:var(--display-font);letter-spacing:1px;text-transform:uppercase}
.eq-page-meta{font-size:12px;color:var(--muted);font-weight:600}
.eq-draft-section{margin-bottom:16px}
.eq-draft-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.eq-draft-head h2{margin:0;font-size:14px;font-weight:900}
.eq-draft-race{font-size:11px;color:var(--yellow);font-weight:700;padding:4px 10px;background:rgba(255,214,89,.1);border:1px solid rgba(255,214,89,.2);border-radius:20px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eq-draft-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}
.eq-draft-chip{display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(255,255,255,.03);border:1px solid var(--bd-soft);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .12s,background .12s;min-height:44px}
.eq-draft-chip:hover{border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.05)}
.eq-draft-chip--first{border-color:rgba(255,214,89,.35);background:rgba(255,214,89,.06)}
.eq-draft-chip-rank{font-size:13px;font-weight:900;flex-shrink:0;width:22px;text-align:center}
.eq-draft-chip--first .eq-draft-chip-rank{color:var(--yellow)}
.eq-draft-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.eq-draft-chip-body{flex:1;min-width:0}
.eq-draft-chip-name{font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.eq-draft-chip-pts{font-size:10px;color:var(--muted);font-weight:600}

.eq-liga-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.eq-liga-card{padding:14px;background:rgba(255,255,255,.02);border:1px solid var(--bd-soft);border-radius:var(--radius-sm);position:relative;overflow:hidden}
.eq-liga-card::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--liga-c,#888)}
.eq-liga-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.eq-liga-rank{font-size:14px;font-weight:900;color:var(--muted);width:28px;text-align:center;flex-shrink:0}
.eq-liga-rank--top{color:var(--yellow);font-size:18px}
.eq-liga-emblem{width:40px;height:40px;border-radius:50%;flex-shrink:0;object-fit:cover;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.eq-liga-info{flex:1;min-width:0}
.eq-liga-name{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eq-liga-pts{font-size:18px;font-weight:900;color:var(--yellow);flex-shrink:0}
.eq-liga-bar{height:6px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden;margin-bottom:8px}
.eq-liga-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--liga-c,#888),var(--yellow));transition:width .3s}
.eq-liga-chips{display:flex;flex-wrap:wrap;gap:6px;font-size:10px;color:var(--muted)}
.eq-liga-chip{padding:3px 8px;background:rgba(255,255,255,.04);border:1px solid var(--bd-soft);border-radius:6px;white-space:nowrap}

.st-pilot-duel-section{margin-bottom:20px}
.st-pilot-duel-section .eq-pilot-duel-head h2{font-size:16px}
.eq-pilot-duel,.st-pilot-duel-section .eq-pilot-duel{margin-bottom:0}
.eq-pilot-duel-head{margin-bottom:10px}
.eq-pilot-duel-head h2{margin:0 0 4px;font-size:14px;font-weight:900}
.eq-pilot-duel-head p{margin:0;font-size:11px;color:var(--muted)}
.eq-pilot-duel-picks{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.eq-pilot-duel-picks select{flex:1;min-width:140px;font-size:12px;padding:8px 10px}
.eq-pilot-duel-vs{font-size:11px;font-weight:800;color:var(--muted)}
.eq-pilot-duel-result{padding:16px;background:rgba(255,255,255,.03);border:1px solid var(--bd-soft);border-radius:var(--radius-sm)}
.eq-pilot-duel-score{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:12px}
.eq-pilot-duel-side{flex:1;text-align:center;min-width:0}
.eq-pilot-duel-photo{width:48px;height:48px;border-radius:50%;margin:0 auto 6px;border:2px solid var(--bd);display:flex;align-items:center;justify-content:center;overflow:hidden}
.eq-pilot-duel-name{font-size:12px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eq-pilot-duel-num{font-size:10px;color:var(--muted)}
.eq-pilot-duel-pts{font-size:28px;font-weight:400;font-family:var(--display-font)}
.eq-pilot-duel-pts--a{color:var(--yellow)}
.eq-pilot-duel-split{height:8px;border-radius:4px;overflow:hidden;display:flex;background:rgba(255,255,255,.06);margin-bottom:8px}
.eq-pilot-duel-split-a{background:var(--yellow);transition:width .3s}
.eq-pilot-duel-split-b{background:var(--blue);flex:1}
.eq-pilot-duel-meta{font-size:11px;color:var(--muted);text-align:center}
.eq-pilot-duel-empty{font-size:12px;color:var(--muted);text-align:center;padding:20px}

.eq-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.eq-detail-toggle{width:100%;margin-top:10px;padding:8px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.eq-stats--compact{grid-template-columns:repeat(3,1fr)}

.eq-jump-bar{display:flex;align-items:center;gap:8px;padding:0 0 14px;margin-bottom:0;flex-wrap:wrap}
.eq-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:20px;border:1.5px solid var(--pill-c,#888);background:#000;color:var(--pill-c,#888);font-size:12px;font-weight:700;white-space:nowrap;cursor:pointer;flex-shrink:0;transition:all .2s ease;-webkit-tap-highlight-color:transparent;outline:none;font-family:inherit;line-height:1.2}
.eq-pill:hover{background:#111;box-shadow:0 0 8px var(--pill-glow,transparent)}
.eq-pill.active{background:var(--pill-c,#888);color:#000;box-shadow:0 0 12px var(--pill-glow,transparent)}
.eq-pill-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.eq-card{position:relative;overflow:hidden;border-radius:var(--radius);margin-bottom:14px;background:var(--card);border:1px solid var(--bd-soft);box-shadow:0 2px 16px rgba(0,0,0,.35);scroll-margin-top:12px}
.eq-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.eq-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:repeating-linear-gradient(90deg,#fff 0 5px,#000 5px 10px);opacity:.03}
.eq-card-inner{padding:18px}

.eq-hero{display:flex;align-items:center;gap:14px}
.eq-emblem{width:60px;height:60px;border-radius:50%;flex-shrink:0;object-fit:cover;transition:transform .2s}
.eq-emblem:hover{transform:scale(1.05)}
.eq-emblem-fallback{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.eq-hero-info{flex:1;min-width:0}
.eq-team-name{font-size:17px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:1.2}
.eq-rank-row{display:flex;align-items:center;gap:8px;margin-top:3px;flex-wrap:wrap}
.eq-medal{font-size:15px}
.eq-total-pts{font-size:15px;font-weight:900;color:var(--yellow);line-height:1}
.eq-gap{font-size:11px;font-weight:700;color:var(--danger)}
.eq-saved{font-size:11px;font-weight:700;color:var(--ok)}
.eq-edit-btn{flex-shrink:0;background:rgba(255,255,255,.05);border:1px solid var(--bd);color:inherit;padding:6px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap;transition:all .15s;text-transform:uppercase;letter-spacing:.3px}
.eq-edit-btn:hover{background:var(--yellow);color:#000;border-color:var(--yellow)}

.eq-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:14px}
.eq-stat{background:rgba(255,255,255,.025);border:1px solid var(--bd-soft);border-radius:var(--radius-sm);padding:10px 12px;text-align:center;position:relative;overflow:hidden}
.eq-stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.eq-stat-label{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}
.eq-stat-value{font-size:20px;font-weight:900;color:#fff;line-height:1}
.eq-stat-sub{font-size:10px;color:var(--muted);margin-top:2px}

.eq-roster-section{margin-top:14px}
.eq-tier-label{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;display:flex;align-items:center;gap:6px}
.eq-tier-label::after{content:'';flex:1;height:1px;background:var(--bd-soft)}
.eq-tier-group{display:grid;gap:6px;margin-bottom:8px}
.eq-tier-group.tier-a{grid-template-columns:1fr}
.eq-tier-group.tier-b{grid-template-columns:1fr 1fr}
.eq-tier-group.tier-c{grid-template-columns:1fr 1fr}
.eq-pilot{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(255,255,255,.025);border:1px solid;border-radius:var(--radius-sm);transition:background .15s}
.eq-pilot:hover{background:rgba(255,255,255,.05)}
.eq-pilot-clickable{cursor:pointer;transition:background .15s,transform .1s}
.eq-pilot-clickable:hover{background:rgba(255,255,255,.06);transform:translateY(-1px)}
.eq-pilot-clickable:active{transform:translateY(0)}
.eq-pilot-editing{border-style:solid;padding:10px 12px}
.eq-pilot-empty{opacity:.5}
.eq-pilot-photo{width:40px;height:40px;border-radius:50%;border:2px solid;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.eq-pilot-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.eq-pilot-slot{font-size:9px;font-weight:800;letter-spacing:.5px;text-transform:uppercase}
.eq-pilot-name{font-size:12px;font-weight:700;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eq-pilot-meta{display:flex;align-items:center;gap:6px;font-size:10px;flex-wrap:wrap}

.eq-mvp{display:flex;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;background:linear-gradient(135deg,rgba(255,214,89,.04),rgba(255,214,89,.01));border:1px solid rgba(255,214,89,.12);border-radius:var(--radius-sm);position:relative;overflow:hidden}
.eq-mvp::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--yellow);border-radius:2px 0 0 2px}
.eq-mvp-tag{font-size:9px;font-weight:900;color:var(--yellow);text-transform:uppercase;letter-spacing:1px;flex-shrink:0;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg)}
.eq-mvp-photo{position:relative;width:36px;height:36px;flex-shrink:0;border-radius:50%}
.eq-mvp-info{flex:1;min-width:0}
.eq-mvp-pts{font-size:16px;font-weight:900;color:var(--yellow);flex-shrink:0}

.eq-sparkline-wrap{margin-top:10px;padding:10px 12px;background:rgba(255,255,255,.02);border-radius:var(--radius-sm);border:1px solid var(--bd-soft)}
.eq-season-detail-wrap{padding:0 12px 10px;background:rgba(0,0,0,.15);border-bottom:1px solid var(--bd-soft)}
.eq-sparkline-label{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}
.eq-season-stats{margin-bottom:14px}
.eq-season-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--bd-soft);cursor:pointer;transition:background .12s}
.eq-season-row:hover{background:rgba(255,255,255,.03)}
.eq-season-row:last-child{border-bottom:none}
.eq-expand-detail{margin-top:0;padding:12px 14px;background:rgba(0,0,0,.28);border:1px solid var(--bd-soft);border-radius:var(--radius-sm)}
.eq-detail-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.eq-detail-form-stats{display:flex;gap:6px;flex-wrap:wrap;font-size:10px;color:var(--muted)}
.eq-stat-pill{padding:3px 8px;background:rgba(255,255,255,.04);border:1px solid var(--bd-soft);border-radius:6px;white-space:nowrap}
.eq-stat-pill b{color:#fff;font-weight:800;margin-left:2px}
.eq-expand-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px}
.eq-expand-cell{text-align:center;padding:8px 4px;background:rgba(255,255,255,.03);border-radius:6px;border:1px solid var(--bd-soft)}
.eq-expand-cell .v{font-size:15px;font-weight:900;color:#fff;line-height:1}
.eq-expand-cell .l{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-top:4px;line-height:1.2}
.eq-contrib-section{margin-bottom:12px}
.eq-contrib-title{font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.6px;margin:0 0 6px}
.eq-contrib-list{display:flex;flex-direction:column;background:rgba(255,255,255,.02);border:1px solid var(--bd-soft);border-radius:var(--radius-sm);overflow:hidden}
.eq-contrib-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--bd-soft)}
.eq-contrib-row:last-child{border-bottom:none}
.eq-contrib-name{font-size:12px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eq-contrib-num{font-size:10px;color:var(--muted);font-weight:600}
.eq-contrib-pts{font-size:13px;font-weight:900;color:var(--yellow);text-align:right;white-space:nowrap}
.eq-detail-split{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.eq-detail-table-wrap{min-width:0;overflow-x:auto}
.eq-race-log-wrap{border:1px solid var(--bd-soft);border-radius:var(--radius-sm);overflow:hidden}
.eq-form-badge{font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px;letter-spacing:.3px}
.eq-form-up{color:var(--green);background:rgba(46,204,113,.12)}
.eq-form-down{color:var(--danger);background:rgba(231,76,60,.12)}
.eq-form-flat{color:var(--muted);background:rgba(255,255,255,.06)}
.eq-slot-bars{display:flex;height:6px;border-radius:3px;overflow:hidden;margin:8px 0 4px;background:rgba(255,255,255,.06)}
.eq-slot-bar{height:100%}
.eq-slot-legend{display:flex;gap:10px;flex-wrap:wrap;font-size:9px;color:var(--muted)}
.eq-race-log{width:100%;border-collapse:collapse;font-size:11px;margin:0}
.eq-race-log th,.eq-race-log td{padding:6px 8px;border-bottom:1px solid var(--bd-soft);text-align:left;vertical-align:middle}
.eq-race-log tr:last-child td{border-bottom:none}
.eq-race-log th{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;background:rgba(255,255,255,.03)}
.eq-race-log td:first-child{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eq-race-log td:nth-child(2),.eq-race-log th:nth-child(2){text-align:right;color:var(--yellow);font-weight:800}
.eq-race-log td:nth-child(3),.eq-race-log th:nth-child(3){text-align:center;width:44px}
.eq-race-log .eq-log-best{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--muted)}
.eq-race-log .eq-log-best-pts{color:var(--yellow);font-weight:700}
.eq-sparkline-wrap.eq-sparkline-bottom{margin-top:0;width:100%}
.eq-sparkline-wrap.eq-sparkline-bottom canvas{width:100%;min-height:96px;display:block}
.st-mode-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.st-mode-tab{padding:6px 12px;border-radius:20px;border:1px solid var(--bd);background:transparent;color:var(--muted);font-size:11px;font-weight:700;cursor:pointer}
.st-mode-tab.active{background:var(--yellow);color:#000;border-color:var(--yellow)}
.cup-team-card{background:var(--card);border:1px solid var(--bd-soft);border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer}
.cup-team-card.cup-expanded{border-color:var(--blue)}

.eq-editor{margin-top:14px;padding-top:14px;border-top:1px solid var(--bd)}
.eq-editor-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.eq-editor-slots{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.eq-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}

@media(max-width:768px){
  .eq-stats{grid-template-columns:repeat(3,1fr);gap:4px}
  .eq-stat{padding:8px 6px}
  .eq-stat-value{font-size:16px}
  .eq-stat-label{font-size:8px}
  .eq-tier-group.tier-b,.eq-tier-group.tier-c{grid-template-columns:1fr}
  .eq-hero{gap:10px}
  .eq-emblem,.eq-emblem-fallback{width:50px;height:50px}
  .eq-team-name{font-size:15px}
  .eq-mvp-tag{writing-mode:horizontal-tb;transform:none}
  .eq-cards-grid{grid-template-columns:1fr}
  .eq-liga-grid{grid-template-columns:1fr}
  .eq-draft-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  #app{padding:10px 8px}
  .card{padding:14px 12px;margin-bottom:10px;border-radius:10px}
  .card-motorsport{border-top-width:2px}
  .site-header{padding:12px 14px 10px}
  .site-header::before{content:none}
  .site-header::after{height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}
  .card-motorsport::after{display:none}
  .site-header h1{font-size:20px;letter-spacing:3px}
  h2{font-size:14px}
  h3{font-size:13px}

  nav button{padding:10px 0;font-size:9px;flex:1;text-align:center;letter-spacing:.3px;min-height:44px}

  .stat-tiles{grid-template-columns:1fr 1fr;gap:8px}
  .stat-tile{padding:12px}
  .stat-tile-value{font-size:22px}
  .stat-tile-label{font-size:9px}

  table{font-size:12px}
  table th,table td{padding:7px 5px}

  .pilot-slot{max-width:62px;padding:8px 4px 5px}
  .driver-pic,.driver-pic-wrap{width:46px;height:46px}
  .driver-pic{width:46px;height:46px}
  .car-num-badge{font-size:7px;padding:1px 4px}
  .slot-label{font-size:9px}

  .lb-driver-pic-wrap{width:42px;height:42px}
  .lb-driver-pic{width:42px;height:42px}

  .race-actions{flex-direction:column;gap:5px}
  .race-actions button{width:100%}

  .collapse-toggle{padding:12px}
  .section-header{margin-bottom:10px;padding-bottom:8px}
  .section-header h2{font-size:13px}

  .admin-tab{padding:6px 12px;font-size:11px}

  input,select,textarea{padding:12px;font-size:15px;border-radius:8px}
  button{padding:12px 16px;font-size:12px;min-height:44px}
  button.small{padding:8px 10px;font-size:11px;min-height:36px}

  .standing-row{gap:6px;padding:8px 0}

  .rs-page-header,.eq-page-header,.pi-page-header{
    flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:10px;
  }
  .rs-page-title,.eq-page-title,.pi-page-title{font-size:18px}
  .rs-page-actions{width:100%;justify-content:flex-start;flex-wrap:wrap;gap:6px}
  .rs-page-meta{font-size:10px}
  .rs-page-progress-bar{width:48px}

  .rs-subtabs,.eq-subtabs,.pi-subtabs,.st-subtabs{
    gap:5px;padding:5px;margin-bottom:12px;border-radius:10px;
    margin-left:-2px;margin-right:-2px;width:calc(100% + 4px);
  }
  .rs-subtab,.eq-subtab,.pi-subtab,.st-subtab{
    padding:12px 6px!important;font-size:11px!important;min-height:44px!important;
    border-radius:8px;width:auto;
  }

  .rs-standings-section{padding:12px 10px}
  .rs-standings-head{flex-direction:column;align-items:flex-start;gap:6px}
  .rs-last-race{padding:10px 12px}
  .rs-podium{gap:4px}
  .rs-podium-card{padding:8px 4px}
  .rs-podium-name{font-size:11px}

  .pi-tier-banner{flex-wrap:wrap;gap:8px;padding:10px 12px}
  .pi-tier-banner-title{font-size:14px}
  .pi-tier-banner-count{margin-left:0;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px}
  .pi-tier-banner-count strong{display:inline;font-size:12px}
  .pi-tier-grid{grid-template-columns:repeat(2,1fr);gap:6px;padding:8px}
  .pi-pilot-top{padding:8px}
  .pi-pilot-portrait{width:46px;height:46px}
  .pi-stand-main{padding:8px 10px;gap:8px}
  .pi-stand-pts{font-size:14px}

  .lb-row{border-radius:10px!important}
  .lb-inner{padding:10px 10px!important}
  .lb-main-row{flex-wrap:wrap!important;gap:6px!important;align-items:flex-start!important}
  .lb-rank-badge{width:26px!important;height:26px!important;font-size:12px!important}
  .lb-emblem{width:38px!important;height:38px!important}
  .lb-team-name{font-size:12px!important;max-width:100%}
  .lb-name-meta{width:100%;flex:1 1 100%;order:2}
  .lb-bar-row{display:none!important}
  .lb-score{order:3;margin-left:auto!important}
  .lb-pts{font-size:20px!important}
  .lb-pts-lbl{font-size:7px!important}
  .lb-gap{font-size:8px!important}
  .lb-badges{order:4;flex:1 1 100%;justify-content:flex-start!important;flex-wrap:wrap!important;gap:5px!important;margin-top:2px}
  .lb-badge-mini{min-width:36px!important;padding:5px 8px!important}
  .lb-badge-mini-val{font-size:11px!important}
  .lb-badge-mini-lbl{font-size:7px!important}

  #scrollTopBtn{bottom:18px;right:14px;width:38px;height:38px;font-size:16px}
  footer{padding:6px 10px}
}

@media(max-width:400px){
  #app{padding:8px 6px}
  .card{padding:12px 8px}
  nav button{font-size:8px;padding:8px 0;min-height:44px}
  .site-header h1{font-size:17px;letter-spacing:2px}
  .stat-tiles{grid-template-columns:1fr}
  .pilot-slot{max-width:54px;padding:6px 3px 4px}
  .driver-pic,.driver-pic-wrap,.driver-pic{width:40px;height:40px}
  .lb-driver-pic,.lb-driver-pic-wrap{width:38px;height:38px}
  button{font-size:11px;padding:10px 12px}
  .admin-tab{padding:5px 10px;font-size:10px}

  .rs-subtab,.eq-subtab,.pi-subtab,.st-subtab{font-size:10px;padding:11px 4px;letter-spacing:0}
  .pi-tier-grid{grid-template-columns:1fr}
  .pi-tier-banner-sub{font-size:10px}
  .lb-badges>div{min-width:30px!important}
}

@media(min-width:769px){
  #app{padding:24px 20px}
  .card{padding:22px 24px}
  .stat-tiles{grid-template-columns:repeat(4,1fr)}
  nav button{padding:12px 20px;font-size:11px}
  .eq-card-inner{padding:20px 22px}
  .eq-team-name{font-size:18px}
  .eq-stat-value{font-size:22px}
  .site-header::after{height:4px;background:var(--checkered-subtle)}
  .site-header::before{
    content:'';position:absolute;top:50%;left:50%;width:80px;height:80px;
    transform:translate(-50%,-50%) rotate(45deg);
    border:3px solid rgba(255,255,255,.9);
    border-radius:4px;
    opacity:var(--watermark-opacity);pointer-events:none;z-index:0;
    box-shadow:inset 0 0 0 6px rgba(255,255,255,.4);
  }
}

/* ── Admin tabs ── */
.admin-tab{
  padding:7px 16px;border:none;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;
  flex-shrink:0;font-size:12px;transition:all .15s;
}
.admin-tab.active{font-weight:800;background:var(--yellow);color:#000;box-shadow:0 2px 6px rgba(255,214,89,.12)}
.admin-tab:not(.active){font-weight:500;background:rgba(255,255,255,.05);color:#999}
.admin-tab:not(.active):hover{background:rgba(255,255,255,.08);color:#ddd}

/* ── Calendrier (vue programme TV) ── */
.cal-page{display:flex;flex-direction:column;gap:14px;padding-bottom:28px}
.cal-page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:2px}
.cal-page-title{margin:0;font-size:20px;font-weight:400;font-family:var(--display-font);letter-spacing:1px;text-transform:uppercase}
.cal-page-meta{font-size:11px;color:var(--muted);font-weight:600}
.cal-season-strip{margin-bottom:4px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,rgba(255,214,89,.06),rgba(228,0,43,.04));overflow:hidden}
.cal-season-strip-top{display:flex;flex-wrap:wrap;gap:16px;padding:16px 18px 12px;align-items:flex-start;justify-content:space-between}
.cal-season-strip-kicker{font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase;color:var(--nr-accent,var(--yellow));display:block;margin-bottom:6px}
.cal-season-strip-title{margin:0;font-family:var(--display-font);font-size:20px;font-weight:400;letter-spacing:1px;color:#fff;line-height:1.15}
.cal-season-strip-date{font-size:13px;font-weight:700;color:#ddd;margin-top:6px}
.cal-season-strip-track{font-size:12px;color:var(--muted);margin-top:4px}
.cal-season-strip-actions{display:flex;flex-direction:column;gap:8px;min-width:140px}
.cal-season-strip-btn{border:0;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:800;cursor:pointer;background:var(--nr-accent,var(--yellow));color:#000;text-align:center;text-decoration:none;display:block}
.cal-season-strip-btn--ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.12)}
.cal-season-strip-foot{padding:0 18px 16px;border-top:1px solid rgba(255,255,255,.06);margin-top:0}
.cal-season-strip-stats{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;padding-top:12px;margin-bottom:8px}
.cal-season-strip-count{font-size:13px;color:var(--muted)}
.cal-season-strip-pct{font-size:22px;font-weight:900;color:var(--yellow);flex-shrink:0}
.cal-season-strip-pct span{font-size:13px;font-weight:600;color:var(--muted)}
.cal-legend{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cal-legend-item{display:flex;align-items:center;gap:4px}
.cal-legend-dot{width:7px;height:7px;border-radius:50%;display:inline-block}
.cal-legend-text{font-size:10px;color:var(--muted)}
.cal-season-strip-bar{height:4px;background:rgba(255,255,255,.07);border-radius:4px;overflow:hidden}
.cal-season-strip-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),var(--red));border-radius:4px;transition:width .6s ease}
.cal-schedule{display:flex;flex-direction:column;gap:16px}
.cal-sched-month{background:#0a0a12;border:1px solid rgba(255,255,255,.06);border-radius:12px;overflow:hidden}
.cal-sched-month-hd{display:flex;align-items:center;gap:12px;padding:11px 16px;background:rgba(255,255,255,.03);border-bottom:1px solid rgba(255,255,255,.06);position:relative}
.cal-sched-month-hd::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--checkered-subtle);opacity:.35;pointer-events:none}
.cal-sched-month-label{font-size:13px;font-weight:900;color:#d0d0d0;letter-spacing:1.5px;text-transform:uppercase;flex:1}
.cal-sched-month-count{font-size:11px;font-weight:700;color:var(--muted);background:rgba(255,255,255,.06);padding:2px 8px;border-radius:10px}
.cal-sched-month.cal-month-current{border-color:rgba(228,0,43,.3);background:rgba(228,0,43,.03)}
.cal-sched-month.cal-month-current .cal-sched-month-hd{background:rgba(228,0,43,.06);border-bottom-color:rgba(228,0,43,.15)}
.cal-sched-month.cal-month-current .cal-sched-month-label{color:#ff8a8a}
.cal-sched-month.cal-month-past{opacity:.82}
.cal-sched-month.cal-month-past .cal-sched-month-hd{background:rgba(46,204,113,.03);border-bottom-color:rgba(46,204,113,.08)}
.cal-sched-table{display:flex;flex-direction:column}
.cal-sched-colhead{display:none;grid-template-columns:72px 40px minmax(120px,1fr) 130px 100px 88px minmax(130px,160px);gap:8px;padding:8px 14px;background:rgba(0,0,0,.25);border-bottom:1px solid rgba(255,255,255,.05);font-size:9px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}
@media(min-width:640px){.cal-sched-colhead{display:grid}}
.cal-sched-entry{border-bottom:1px solid rgba(255,255,255,.04)}
.cal-sched-entry:last-child{border-bottom:0}
.cal-sched-row{
  display:grid;grid-template-columns:1fr auto;grid-template-areas:"top status" "name name" "meta meta" "winner winner";
  gap:2px 10px;padding:12px 14px;min-height:44px;cursor:pointer;align-items:center;
  border-left:3px solid transparent;transition:background .15s,border-color .15s;
}
@media(min-width:640px){
  .cal-sched-row{
    grid-template-columns:72px 40px minmax(120px,1fr) 130px 100px 88px minmax(130px,160px);
    grid-template-areas:none;gap:8px;padding:10px 14px;align-items:center;
  }
  .cal-sched-row > .cal-sched-date{grid-area:unset;grid-column:1;grid-row:1}
  .cal-sched-row > .cal-sched-num{grid-area:unset;grid-column:2;grid-row:1}
  .cal-sched-row > .cal-sched-name{grid-area:unset;grid-column:3;grid-row:1}
  .cal-sched-row > .cal-sched-track{grid-area:unset;grid-column:4;grid-row:1}
  .cal-sched-row > .cal-sched-type{grid-area:unset;grid-column:5;grid-row:1}
  .cal-sched-row > .cal-sched-status{grid-area:unset;grid-column:6;grid-row:1;justify-self:start}
  .cal-sched-row > .cal-sched-winner{grid-area:unset;grid-column:7;grid-row:1;margin-top:0}
}
.cal-sched-row:hover{background:rgba(255,255,255,.03)}
.cal-sched-row--done{background:rgba(255,255,255,.015)}
.cal-sched-row--done .cal-sched-name{color:#c8c8c8}
.cal-sched-row--next{border-left-color:var(--red);background:rgba(228,0,43,.06)}
.cal-sched-row--next:hover{background:rgba(228,0,43,.09)}
.cal-sched-row--upcoming{background:transparent}
.cal-sched-row--offpool{opacity:.72}
.cal-sched-row--expanded{background:rgba(255,255,255,.04)}
.cal-sched-cell{min-width:0}
.cal-sched-date{grid-area:top;font-size:11px;font-weight:700;color:var(--muted);letter-spacing:.3px}
@media(min-width:640px){.cal-sched-date{font-size:11px;font-weight:600}}
.cal-sched-num{font-size:10px;font-weight:700;color:rgba(255,255,255,.28);display:none}
.cal-sched-num-inline{font-size:10px;font-weight:700;color:rgba(255,255,255,.28)}
@media(min-width:640px){.cal-sched-num{display:block}.cal-sched-num-inline{display:none}}
.cal-sched-name{grid-area:name;font-size:14px;font-weight:900;color:#f0f0f0;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:640px){.cal-sched-name{font-size:13px}}
.cal-sched-track{grid-area:meta;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
@media(min-width:640px){.cal-sched-track{grid-area:auto}}
.cal-sched-type{display:none}
@media(min-width:640px){.cal-sched-type{display:flex;align-items:center}}
.cal-sched-status{grid-area:status;justify-self:end}
@media(min-width:640px){.cal-sched-status{justify-self:start}}
.cal-sched-status-inner{display:inline-flex;align-items:center;gap:5px}
.cal-sched-winner{grid-area:winner;display:flex;align-items:center;gap:8px;min-width:0;margin-top:4px}
@media(min-width:640px){.cal-sched-winner{margin-top:0}}
.cal-sched-empty{color:rgba(255,255,255,.2);font-size:12px;display:none}
@media(min-width:640px){.cal-sched-empty{display:inline}}
.cal-track-dot{width:6px;height:6px;border-radius:1px;flex-shrink:0;background:var(--cal-track-label,#666)}
.cal-type-tag{font-size:.68rem;font-weight:700;padding:1px 6px;border-radius:3px;color:var(--cal-track-label,#888);background:color-mix(in srgb,var(--cal-track-bar,#2c2c3a) 25%,transparent)}
.cal-badge{font-size:9px;font-weight:900;padding:2px 8px;border-radius:20px;letter-spacing:1px;text-transform:uppercase;white-space:nowrap}
.cal-badge-done{background:rgba(46,204,113,.18);color:#2ecc71;border:1px solid rgba(46,204,113,.4)}
.cal-badge-next{background:rgba(228,0,43,.2);color:#ff4d6d;border:1px solid rgba(228,0,43,.5);animation:pulse-badge 1.8s infinite}
.cal-badge-upcoming{background:rgba(255,255,255,.06);color:var(--muted);border:1px solid rgba(255,255,255,.1);font-weight:700;letter-spacing:.5px}
.cal-imminent-dot{width:7px;height:7px;border-radius:50%;background:var(--red);animation:pulse-badge 1.2s infinite;flex-shrink:0}
.cal-winner-avatar{position:relative;width:28px;height:28px;border-radius:50%;overflow:hidden;border:2px solid rgba(241,196,15,.55);background:#0d0d18;flex-shrink:0}
.cal-winner-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.cal-winner-avatar-fb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.cal-sched-winner-info{min-width:0;flex:1}
.cal-sched-winner-name{display:block;font-size:12px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-sched-winner-team{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.cal-sched-winner-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}
.cal-sched-detail{padding:0 14px 12px 17px;font-size:11px;color:var(--muted);border-top:1px dashed rgba(255,255,255,.06);background:rgba(0,0,0,.15)}
.cal-sched-detail-row{margin-bottom:4px}
.cal-sched-detail-row strong{color:#fff;font-weight:700}
.cal-sched-detail-offpool{color:#fc9;margin-bottom:6px}
.cal-card-expand-btn{margin-top:6px;margin-right:10px;font-size:10px;font-weight:700;color:var(--accent);background:0;border:0;cursor:pointer;padding:0;display:inline-block}
.cal-card-expand-btn:hover{text-decoration:underline}
.cal-vol-marker{display:flex;align-items:center;gap:10px;margin:0;padding:8px 14px;background:rgba(0,0,0,.12);border-bottom:1px solid rgba(255,255,255,.04)}
.cal-vol-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(228,0,43,.35),transparent)}
.cal-vol-badge{font-size:10px;font-weight:900;color:var(--red);letter-spacing:1px;text-transform:uppercase;white-space:nowrap;padding:3px 10px;border:1px solid rgba(228,0,43,.35);border-radius:20px;background:rgba(228,0,43,.1)}
.cal-chase-marker{margin:0;padding:10px 14px;background:linear-gradient(90deg,rgba(155,89,182,.15),rgba(228,0,43,.1));border-bottom:1px solid rgba(155,89,182,.25);font-size:11px;font-weight:800;color:#c084fc;text-align:center;letter-spacing:.3px}
@media(max-width:639px){
  .cal-page-header{flex-direction:column;align-items:flex-start;gap:4px}
  .cal-page-title{font-size:18px}
  .cal-season-strip-top{padding:14px 14px 10px}
  .cal-season-strip-foot{padding:0 14px 14px}
  .cal-season-strip-actions{width:100%;flex-direction:row;flex-wrap:wrap;min-width:0}
  .cal-season-strip-btn{flex:1;min-width:120px;min-height:44px;display:flex;align-items:center;justify-content:center}
}

#app>*{animation:fadeInUp .2s ease-out both}
@media(prefers-reduced-motion:reduce){
  #app>*{animation:none}
  .cal-sched-row,button,.stat-tile,.card{transition:none!important}
}

/* ── Stats page (st-page-*) ── */
.st-page{display:flex;flex-direction:column;gap:12px}
.st-hero{background:var(--card);border:1px solid var(--bd-soft);border-radius:var(--radius);padding:16px 18px;border-top:3px solid var(--yellow)}
.st-hero-title{margin:0;font-family:var(--display-font);font-size:17px;font-weight:400;letter-spacing:1px;text-transform:uppercase}
.st-sub-content{display:flex;flex-direction:column;gap:12px}
.st-hero-sub{margin:4px 0 0;font-size:12px;color:var(--muted);line-height:1.45}
.st-hero-progress{margin-top:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.st-hero-progress-bar{flex:1;min-width:100px;height:5px;background:rgba(255,255,255,.06);border-radius:3px;overflow:hidden}
.st-hero-progress-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--yellow),var(--red));border-radius:3px;transition:width .4s}
.st-hero-progress-txt{font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap}
.st-next-race{margin-top:12px;padding:10px 12px;background:rgba(0,164,228,.08);border:1px solid rgba(0,164,228,.22);border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.st-next-race-label{font-size:10px;font-weight:800;color:var(--accent);text-transform:uppercase;letter-spacing:.8px}
.st-next-race-name{font-size:13px;font-weight:800;color:var(--heading);margin-top:2px}
.st-next-race-track{font-size:11px;color:var(--muted);margin-top:2px}
.st-next-race-btn{padding:6px 12px;font-size:11px;font-weight:700;border-radius:8px;border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--yellow);cursor:pointer;white-space:nowrap;min-height:0;text-transform:none;letter-spacing:0}
.st-next-race-btn:hover{background:var(--accent-soft-md)}
.st-picker{background:var(--card);border:1px solid var(--bd-soft);border-radius:var(--radius);padding:14px 16px}
.st-picker-label{font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}
.st-search{width:100%;padding:10px 12px;background:var(--input-bg);color:var(--fg);border:1px solid var(--bd-soft);border-radius:8px;font-size:14px;margin-bottom:10px}
.st-search:focus{outline:none;border-color:var(--yellow);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.12)}
.st-circuit-grid{display:flex;flex-wrap:wrap;gap:6px;max-height:120px;overflow-y:auto;margin-bottom:10px;padding:2px 0}
.st-circuit-chip{padding:5px 10px;font-size:11px;font-weight:700;border-radius:20px;border:1px solid var(--bd-soft);background:rgba(255,255,255,.03);color:var(--muted);cursor:pointer;transition:all .15s;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-circuit-chip:hover{border-color:rgba(255,214,89,.4);color:var(--fg)}
.st-circuit-chip.active{background:var(--accent-soft-md);border-color:var(--accent-border);color:var(--yellow)}
.st-circuit-chip.next-hl{border-color:rgba(0,164,228,.45);box-shadow:0 0 0 1px rgba(0,164,228,.15)}
.st-select-wrap{margin-top:4px}
.st-select-wrap select{width:100%;padding:10px 12px;background:var(--input-bg);color:var(--fg);border:1px solid var(--bd-soft);border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23888'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.st-select-wrap select:focus{outline:none;border-color:var(--yellow)}
.st-panel{background:var(--card);border:1px solid var(--bd-soft);border-radius:var(--radius);overflow:hidden}
.st-panel-header{padding:14px 16px;border-bottom:1px solid var(--bd-soft);display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap}
.st-panel-header .bar{width:4px;height:22px;background:var(--yellow);border-radius:2px;flex-shrink:0;margin-top:2px}
.st-panel-header h2{margin:0;font-size:15px;font-weight:900;flex:1;min-width:0;line-height:1.3}
.st-panel-meta{font-size:10px;color:var(--muted);margin-top:4px;line-height:1.4}
.st-panel-count{font-size:11px;color:var(--muted);font-weight:600;white-space:nowrap}
.st-race-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.st-race-pill{font-size:10px;font-weight:700;padding:3px 8px;border-radius:6px;background:rgba(255,255,255,.05);color:var(--muted);border:1px solid var(--bd-soft)}
.st-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 16px;border-bottom:1px solid var(--bd-soft)}
.st-podium-card{text-align:center;padding:12px 8px;border-radius:10px;border:1px solid var(--bd-soft);background:rgba(0,0,0,.2)}
.st-podium-card.p1{border-color:var(--accent-border);background:var(--accent-soft)}
.st-podium-card.p2{border-color:rgba(192,192,212,.3)}
.st-podium-card.p3{border-color:rgba(205,127,50,.35)}
.st-podium-medal{font-size:22px;line-height:1}
.st-podium-name{font-size:11px;font-weight:800;color:#fff;margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-podium-num{font-size:10px;color:var(--muted)}
.st-podium-avg{font-size:18px;font-weight:900;margin-top:4px}
.st-podium-card.p1 .st-podium-avg{color:var(--yellow)}
.st-podium-card.p2 .st-podium-avg{color:#C8C8D4}
.st-podium-card.p3 .st-podium-avg{color:#CD7F32}
.st-podium-pos{font-size:10px;color:var(--muted);margin-top:4px}
.st-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--bd-soft);flex-wrap:wrap}
.st-toolbar label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--muted);cursor:pointer;user-select:none}
.st-toolbar label input{accent-color:var(--yellow)}
.st-toolbar select{padding:5px 8px;font-size:11px;font-weight:700;background:#0e0e18;color:var(--fg);border:1px solid var(--bd-soft);border-radius:6px;cursor:pointer}
.st-legend{display:flex;flex-wrap:wrap;gap:10px;padding:8px 16px;font-size:10px;color:var(--muted);background:rgba(0,0,0,.2);border-bottom:1px solid var(--bd-soft)}
.st-legend span{font-weight:700}
.st-table-wrap{overflow-x:auto;max-height:min(55vh,480px);overflow-y:auto}
.st-table{width:100%;border-collapse:collapse}
.st-table thead{position:sticky;top:0;z-index:2}
.st-table thead tr{background:#0c0c14;box-shadow:0 1px 0 var(--bd-soft)}
.st-table th{padding:8px 10px;font-size:9px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.6px;text-align:center;white-space:nowrap}
.st-table th.st-th-left{text-align:left}
.st-table td{padding:9px 10px;border-bottom:1px solid var(--bd-soft);font-size:12px;text-align:center}
.st-table td.st-td-left{text-align:left;font-weight:700}
.st-table tr:last-child td{border-bottom:none}
.st-table tr:hover{background:rgba(255,255,255,.02)}
.st-table tr.st-pool-pilot td{background:rgba(var(--accent-rgb),.04)}
.st-table tr.st-pool-pilot td.st-td-left{border-left:2px solid rgba(var(--accent-rgb),.4)}
.st-rank{font-size:11px;font-weight:800;color:var(--muted)}
.st-avg{font-weight:900;font-size:14px}
.st-gold{color:var(--yellow)}.st-silver{color:#C8C8D4}.st-bronze{color:#CD7F32}
.st-tier{font-size:9px;font-weight:700;padding:1px 5px;border-radius:6px;border:1px solid;margin-left:4px}
.st-pool-badge{font-size:8px;font-weight:900;padding:1px 5px;border-radius:4px;background:var(--accent-soft-md);color:var(--yellow);border:1px solid var(--accent-border);margin-left:4px;vertical-align:middle;letter-spacing:.3px}
.st-pos{font-weight:700}
.st-pos-muted{color:var(--muted)}
.st-delta{font-size:11px;font-weight:800}
.st-delta-good{color:var(--green)}
.st-delta-bad{color:var(--red)}
.st-delta-flat{color:var(--muted)}
.st-spinner{display:none;text-align:center;padding:32px 16px;color:var(--muted);font-size:13px}
.st-spinner.visible{display:block}
.st-spinner::before{content:'';display:block;width:28px;height:28px;margin:0 auto 10px;border:3px solid var(--bd-soft);border-top-color:var(--yellow);border-radius:50%;animation:spin .8s linear infinite}
.st-error{text-align:center;padding:16px;color:var(--red);font-size:13px;font-weight:700}
.st-empty{text-align:center;padding:36px 20px;color:var(--muted);font-size:13px;line-height:1.5}
.st-placeholder{text-align:center;padding:28px 16px;color:var(--muted);font-size:13px;border:1px dashed var(--bd-soft);border-radius:var(--radius);background:rgba(0,0,0,.15)}
@media(max-width:600px){
  .st-podium{grid-template-columns:1fr;gap:6px}
  .st-podium-card{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 12px}
  .st-podium-medal{font-size:18px;flex-shrink:0}
  .st-podium-name{margin-top:0;flex:1}
  .st-table th,.st-table td{padding:6px 8px;font-size:11px}
  .st-avg{font-size:12px}
  .st-circuit-grid{max-height:96px}
}


/* ── Draft Roulette (dr-*) ── */
.dr-section{background:linear-gradient(135deg,#0a0a10 0%,#10101a 100%);border:1px solid rgba(255,214,89,.12);border-radius:16px;padding:24px 20px;margin-top:12px;position:relative;overflow:hidden}
.dr-section::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.015) 4px,rgba(255,255,255,.015) 5px);pointer-events:none}
.dr-title{font-family:var(--display-font);font-size:22px;color:#FFD659;text-align:center;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 4px;text-shadow:0 0 12px rgba(255,214,89,.12)}
.dr-subtitle{text-align:center;font-size:12px;color:#888;margin:0 0 16px}
.dr-stripe{height:3px;background:linear-gradient(90deg,transparent,#E4002B 20%,#FFD659 50%,#007AC2 80%,transparent);border-radius:2px;margin:0 0 18px}
.dr-input-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.dr-input-row input{flex:1;min-width:140px;background:#0d0d18;border:1px solid rgba(255,214,89,.2);border-radius:10px;padding:10px 14px;color:#fff;font-size:14px}
.dr-input-row input:focus{border-color:#FFD659;outline:none;box-shadow:0 0 8px rgba(255,214,89,.15)}
.dr-input-row button{background:#E4002B;color:#fff;border:none;border-radius:10px;padding:10px 18px;font-weight:700;font-size:13px;cursor:pointer;transition:all .2s}
.dr-input-row button:hover{background:#ff1a3d;transform:scale(1.03)}
.dr-input-row button.ghost{background:transparent;border:1px solid rgba(255,255,255,.15);color:#999}
.dr-input-row button.ghost:hover{border-color:#E4002B;color:#E4002B}
.dr-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px;justify-content:center}
.dr-chip{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,rgba(255,214,89,.08),rgba(255,214,89,.03));border:1px solid rgba(255,214,89,.18);padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;color:#eee;transition:all .2s}
.dr-chip:hover{border-color:rgba(255,214,89,.4);background:rgba(255,214,89,.1)}
.dr-chip-x{cursor:pointer;color:#E4002B;font-weight:800;font-size:16px;line-height:1;opacity:.7;transition:opacity .2s}
.dr-chip-x:hover{opacity:1}
.dr-wheel-wrap{display:flex;flex-direction:column;align-items:center;margin:20px 0;position:relative}
.dr-wheel-container{position:relative;display:inline-block}
.dr-pointer{position:absolute;top:-2px;left:50%;transform:translateX(-50%);z-index:5;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-top:28px solid #E4002B;filter:drop-shadow(0 2px 6px rgba(228,0,43,.5));transition:filter .2s}
.dr-pointer::after{content:'';position:absolute;top:-30px;left:-6px;width:12px;height:6px;background:#FFD659;border-radius:0 0 6px 6px}
.dr-spin-btn{background:linear-gradient(180deg,#E4002B 0%,#b30022 100%);color:#fff;border:none;border-radius:14px;padding:14px 40px;font-size:17px;font-weight:800;letter-spacing:1px;cursor:pointer;text-transform:uppercase;transition:all .2s;box-shadow:0 4px 20px rgba(228,0,43,.35);margin-top:16px}
.dr-spin-btn:hover{transform:translateY(-2px);box-shadow:0 6px 28px rgba(228,0,43,.5);background:linear-gradient(180deg,#ff1a3d 0%,#d40029 100%)}
.dr-spin-btn:active{transform:translateY(0)}
.dr-finish-btn{background:linear-gradient(180deg,#007AC2 0%,#005a8e 100%);color:#fff;border:none;border-radius:14px;padding:12px 32px;font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px rgba(0,122,194,.3)}
.dr-finish-btn:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(0,122,194,.45)}
.dr-winner{text-align:center;padding:16px;margin:16px 0;background:linear-gradient(135deg,rgba(255,214,89,.08),rgba(255,214,89,.02));border:1px solid rgba(255,214,89,.25);border-radius:14px;animation:drPulse 2s ease-in-out}
.dr-winner-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#888;margin-bottom:4px}
.dr-winner-name{font-family:var(--display-font);font-size:26px;color:#FFD659;text-shadow:0 0 14px rgba(255,214,89,.15)}
@keyframes drPulse{0%{box-shadow:0 0 0 rgba(255,214,89,0)}50%{box-shadow:0 0 30px rgba(255,214,89,.2)}100%{box-shadow:0 0 0 rgba(255,214,89,0)}}
.dr-done{color:#2ecc71;font-weight:700;text-align:center;margin:14px 0;font-size:15px}
.dr-order{margin-top:18px}
.dr-order-title{font-family:var(--display-font);font-size:18px;color:#FFD659;margin:0 0 10px;letter-spacing:1px}
.dr-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:12px;overflow:hidden;border:1px solid rgba(255,214,89,.1)}
.dr-table thead tr{background:linear-gradient(90deg,#E4002B,#b30022)}
.dr-table th{padding:10px 12px;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.dr-table th:first-child{width:50px;text-align:center}
.dr-table th:last-child{text-align:left}
.dr-table td{padding:10px 12px;font-size:14px;border-bottom:1px solid rgba(255,255,255,.04)}
.dr-table td:first-child{text-align:center;font-weight:800;font-size:15px}
.dr-table tbody tr{transition:background .15s}
.dr-table tbody tr:hover{background:rgba(255,214,89,.04)}
.dr-table tbody tr:nth-child(even){background:rgba(255,255,255,.02)}
.dr-table tbody tr:first-child td:first-child{color:#FFD659;font-size:18px;text-shadow:0 0 10px rgba(255,214,89,.3)}
.dr-table tbody tr:first-child td:last-child{color:#FFD659;font-weight:700}
.dr-table tbody tr:nth-child(2) td:first-child{color:#c0c0c0}
.dr-table tbody tr:nth-child(3) td:first-child{color:#cd7f32}
.dr-last-pick{text-align:center;padding:12px;margin:10px 0;font-size:13px;color:#aaa;border:1px dashed rgba(255,255,255,.1);border-radius:10px}
@media(max-width:480px){
  .dr-section{padding:16px 14px}
  .dr-title{font-size:18px}
  .dr-spin-btn{padding:12px 28px;font-size:15px}
  .dr-winner-name{font-size:22px}
  .dr-table th,.dr-table td{padding:8px 10px;font-size:13px}
}

.coach-panel{display:flex;flex-direction:column;gap:14px}
.coach-card{background:var(--card);border:1px solid var(--bd);border-radius:var(--radius);padding:16px;position:relative;overflow:hidden}
.coach-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--yellow),var(--red))}
.coach-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:800;letter-spacing:.3px;text-transform:uppercase}
.coach-badge.high{background:rgba(46,204,113,.15);color:#2ecc71;border:1px solid rgba(46,204,113,.3)}
.coach-badge.medium{background:rgba(255,214,89,.12);color:var(--yellow);border:1px solid rgba(255,214,89,.25)}
.coach-badge.low{background:rgba(231,76,60,.12);color:var(--red);border:1px solid rgba(231,76,60,.25)}
.coach-swap{display:flex;align-items:center;gap:10px;padding:12px;background:rgba(255,255,255,.03);border-radius:var(--radius-sm);margin:10px 0}
.coach-swap .pilot-out{color:var(--red);font-weight:700}
.coach-swap .pilot-in{color:var(--green);font-weight:700}
.coach-swap .arrow{color:var(--yellow);font-size:18px;font-weight:900}
.coach-reasons{list-style:none;padding:0;margin:8px 0}
.coach-reasons li{padding:4px 0;font-size:13px;color:var(--fg);display:flex;align-items:flex-start;gap:6px}
.coach-reasons li::before{content:'\25B8';color:var(--yellow);font-weight:900;flex-shrink:0}
.coach-risk{padding:8px 12px;background:rgba(231,76,60,.08);border-left:3px solid var(--red);border-radius:0 var(--radius-xs) var(--radius-xs) 0;font-size:12px;color:#e88;margin:6px 0}
.coach-disclaimer{font-size:11px;color:var(--muted);padding:10px 14px;background:rgba(255,255,255,.02);border-radius:var(--radius-xs);border:1px solid var(--bd-soft);margin-top:8px;line-height:1.5}
.coach-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.coach-actions button{background:rgba(255,214,89,.08);border:1px solid rgba(255,214,89,.2);color:var(--yellow);font-size:11px;padding:6px 14px;border-radius:8px;font-weight:700;cursor:pointer;transition:all .2s}
.coach-actions button:hover{background:rgba(255,214,89,.15);border-color:rgba(255,214,89,.4)}
.coach-actions button.secondary{background:rgba(255,255,255,.04);border-color:var(--bd);color:var(--fg)}
.coach-actions button.secondary:hover{background:rgba(255,255,255,.08)}
.coach-chat{background:var(--card);border:1px solid var(--bd);border-radius:var(--radius);overflow:hidden}
.coach-chat-header{padding:12px 16px;border-bottom:1px solid var(--bd-soft);display:flex;align-items:center;justify-content:space-between;gap:8px}
.coach-chat-messages{padding:14px;max-height:480px;overflow-y:auto;display:flex;flex-direction:column;gap:14px;min-height:100px;background:rgba(0,0,0,.18)}
.coach-msg{padding:12px 14px;border-radius:10px;font-size:13px;line-height:1.55;max-width:94%;display:flex;flex-direction:column;gap:6px}
.coach-msg-meta{font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.coach-msg.user{background:rgba(255,214,89,.1);border:1px solid rgba(255,214,89,.22);align-self:flex-end;color:var(--fg)}
.coach-msg.user .coach-msg-meta{color:var(--yellow);text-align:right}
.coach-msg.bot{background:rgba(46,204,113,.07);border:1px solid rgba(46,204,113,.2);border-left:3px solid #2ecc71;align-self:flex-start;color:var(--fg);max-width:100%}
.coach-msg.bot .coach-msg-meta{color:#2ecc71}
.coach-msg-lead{font-size:14px;font-weight:700;color:var(--fg);line-height:1.45;padding-bottom:8px;margin-bottom:2px;border-bottom:1px solid rgba(255,255,255,.08)}
.coach-msg-body{font-size:13px;color:rgba(255,255,255,.78);line-height:1.65}
.coach-msg-body + .coach-msg-body{margin-top:2px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.06)}
.coach-msg.bot strong{color:var(--yellow);font-weight:800}
.coach-msg.bot em{color:rgba(255,255,255,.92);font-style:normal;font-weight:600}
.coach-thinking{display:inline-flex;align-items:center;gap:8px;color:var(--yellow);font-style:italic;font-size:13px}
.coach-thinking-dots{display:inline-block;width:20px;text-align:left}
.coach-thinking-dots::after{content:'...';animation:coachDots 1.2s steps(4,end) infinite}
@keyframes coachDots{0%{content:''}25%{content:'.'}50%{content:'..'}75%{content:'...'}}
.coach-chat-input{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--bd-soft);align-items:center}
.coach-chat-input input{flex:1;background:rgba(255,255,255,.05);border:1px solid var(--bd);border-radius:8px;padding:10px 14px;color:var(--fg);font-size:13px;outline:none}
.coach-chat-input input:focus{border-color:rgba(255,214,89,.3)}
.coach-chat-input button{background:var(--yellow);color:#000;border:none;border-radius:8px;padding:10px 16px;font-weight:800;font-size:13px;cursor:pointer}
.coach-quick-btns{display:flex;gap:6px;flex-wrap:wrap;padding:10px 16px;border-top:1px solid var(--bd-soft);background:rgba(0,0,0,.1)}
.coach-quick-btns button{background:rgba(255,255,255,.04);border:1px solid var(--bd);color:var(--muted);font-size:11px;padding:6px 11px;border-radius:6px;cursor:pointer;transition:all .15s}
.coach-chat-clear{background:transparent;border:1px solid var(--bd);color:var(--muted);font-size:10px;font-weight:700;padding:4px 8px;border-radius:6px;cursor:pointer}
.coach-chat-clear:hover{color:var(--fg);border-color:rgba(255,255,255,.25)}
.coach-swap .arrow{color:var(--yellow);font-size:18px;font-weight:900}
.coach-c-duo{display:flex;align-items:stretch;gap:10px;padding:12px;background:rgba(46,204,113,.04);border:1px solid rgba(46,204,113,.18);border-radius:var(--radius-sm);margin:10px 0}
.coach-c-slot{flex:1;text-align:center;padding:10px 8px;background:rgba(255,255,255,.03);border-radius:var(--radius-xs);border:1px solid var(--bd-soft)}
.coach-c-slot.is-new{border-color:rgba(46,204,113,.45);background:rgba(46,204,113,.06)}
.coach-c-slot.is-keep{opacity:.85}
.coach-c-slot-head{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}
.coach-c-slot-label{font-size:10px;font-weight:800;color:var(--green,#2ecc71);letter-spacing:.4px}
.coach-c-slot-status{font-size:9px;font-weight:700;padding:2px 6px;border-radius:3px;color:var(--muted);background:rgba(255,255,255,.06)}
.coach-c-slot.is-new .coach-c-slot-status{color:var(--green,#2ecc71);background:rgba(46,204,113,.12)}
.coach-quick-btns button:hover{background:rgba(255,214,89,.08);color:var(--yellow);border-color:rgba(255,214,89,.2)}
.coach-alt-card{background:rgba(255,255,255,.03);border:1px solid var(--bd-soft);border-radius:var(--radius-sm);padding:12px;margin:6px 0}
.coach-alt-card .rank{font-size:20px;font-weight:900;color:var(--yellow);margin-right:8px}
.coach-score{display:inline-flex;align-items:center;gap:4px;background:rgba(255,214,89,.1);padding:2px 8px;border-radius:6px;font-size:11px;font-weight:800;color:var(--yellow)}
.coach-select{padding:10px 14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.coach-select select{background:var(--card);border:1px solid var(--bd);color:var(--fg);padding:8px 12px;border-radius:8px;font-size:13px}
@media(max-width:600px){
  .coach-swap{flex-direction:column;gap:6px;text-align:center}
  .coach-c-duo{flex-direction:column}
  .coach-chat-messages{max-height:300px}
  .coach-msg{max-width:98%}
}

