:root{--tpd-nuit:#101c3a;--tpd-nuit-claire:#172852;--tpd-or:#d98c4a;--tpd-or-clair:#e8a96c;--tpd-texte:#eef0f7;--tpd-lavande:#bcc5e0;--tpd-sourdine:#8c98bd;--tpd-brume:#a3adcc;--tpd-filet:#2b3f7a;--tpd-jeton:#3a5199;--tpd-cave:#0a1126}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Nunito Sans',sans-serif;background:var(--tpd-nuit);color:var(--tpd-texte);font-size:16px;line-height:1.6}
h1,h2,h3{font-family:'Poppins',sans-serif}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.piste{max-width:1140px;margin:0 auto;padding:0 20px}
.gradins{display:grid;gap:24px;grid-template-columns:repeat(3,minmax(0,1fr))}
.gradins.deux-couloirs{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.portique-age{background:var(--tpd-cave);color:var(--tpd-brume);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:7px 0}
.tribune-haute{background:rgba(0,0,0,.22);padding:14px 0}
.tribune-haute-dedans{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}
.fanion{font-family:'Poppins',sans-serif;font-weight:700;font-size:1.25rem;color:#fff}
.fanion em{color:var(--tpd-or);font-style:normal}
.tribune-liens a{color:var(--tpd-lavande);font-size:.9rem;margin-left:22px}
.tribune-liens a:hover{color:var(--tpd-or)}
.avant-course{padding:56px 0 40px;text-align:center;position:relative;overflow:hidden}
.fond-de-piste{position:absolute;inset:0;z-index:0}
img.fond-de-piste-vue{width:100%;height:100%;object-fit:cover;opacity:.30}
.fond-de-piste:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,28,58,.55),rgba(16,28,58,.92))}
.avant-course .piste{position:relative;z-index:2}
.annonce-epreuve{font-size:2.25rem;font-weight:600;margin-bottom:14px;line-height:1.2}
.annonce-epreuve em{color:var(--tpd-or);font-style:normal}
.presentation-epreuve{color:var(--tpd-sourdine);max-width:40rem;margin:0 auto;font-size:1.05rem}
.couloirs{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:26px}
.couloir{background:transparent;border:1px solid var(--tpd-filet);color:var(--tpd-lavande);border-radius:20px;padding:6px 17px;font-size:.87rem}
.couloir:hover,.couloir.couloir-en-cours{background:var(--tpd-or);border-color:var(--tpd-or);color:var(--tpd-nuit);font-weight:600}
.plateau{padding:12px 0 50px}
.gradin{background:var(--tpd-nuit-claire);border:1px solid var(--tpd-filet);border-radius:12px;padding:22px;height:100%;display:flex;flex-direction:column;transition:transform .16s,border-color .16s}
.gradin:hover{transform:translateY(-3px);border-color:var(--tpd-or)}
.gradin-tete{display:flex;align-items:center;gap:13px;margin-bottom:14px}
.dossard{width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--tpd-filet),var(--tpd-jeton));display:flex;align-items:center;justify-content:center;font-family:'Poppins',sans-serif;font-size:1.15rem;color:var(--tpd-or);flex:0 0 52px;overflow:hidden}
img.dossard-vue{width:100%;height:100%;object-fit:cover;object-position:top center}
.nom-concurrent{font-family:'Poppins',sans-serif;font-weight:600;font-size:1.05rem;color:#fff;margin:0}
.discipline{font-size:.8rem;color:var(--tpd-sourdine);margin:0}
.medaille{display:inline-block;background:rgba(217,140,74,.14);color:var(--tpd-or);font-size:.72rem;font-weight:600;letter-spacing:.6px;text-transform:uppercase;padding:3px 10px;border-radius:4px;margin-bottom:12px;align-self:flex-start}
.commentaire-course{font-size:.92rem;color:var(--tpd-lavande);line-height:1.65;flex:1;margin-bottom:16px}
.temps-releves{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.temps-releves span{background:rgba(255,255,255,.06);color:var(--tpd-brume);font-size:.75rem;padding:3px 9px;border-radius:3px}
.jeton-sortie{display:block;text-align:center;background:var(--tpd-or);color:var(--tpd-nuit);font-weight:700;font-family:'Poppins',sans-serif;font-size:.9rem;padding:11px;border-radius:7px}
.jeton-sortie:hover{background:var(--tpd-or-clair);color:var(--tpd-nuit)}
.debrief{background:var(--tpd-nuit-claire);border:1px solid var(--tpd-filet);border-radius:12px;padding:26px 28px}
.debrief h2{font-size:1.25rem;font-weight:600;margin:1.6rem 0 .6rem;color:#fff}
.debrief h3{font-size:1.05rem;font-weight:600;margin:1.2rem 0 .5rem;color:#fff}
.debrief p{color:var(--tpd-lavande);margin-bottom:1rem}
.photo-finish{border-radius:10px;overflow:hidden;border:1px solid var(--tpd-filet);margin-bottom:18px}
img.photo-finish-vue{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:top center}
.photo-finish figcaption{font-size:.78rem;color:var(--tpd-sourdine);padding:8px 12px;background:rgba(0,0,0,.18)}
.reste-du-plateau-titre{font-size:1.15rem;font-weight:600;color:#fff;margin:40px 0 18px;text-align:center}
.ligne-arrivee{background:var(--tpd-nuit-claire);border-top:1px solid var(--tpd-filet);padding:38px 0;text-align:center}
.ligne-arrivee h2{font-size:1.4rem;font-weight:600;margin-bottom:10px}
.ligne-arrivee p{color:var(--tpd-sourdine);margin-bottom:0;max-width:44rem;margin-left:auto;margin-right:auto}
.ligne-arrivee .jeton-sortie{display:inline-block;margin-top:18px;padding:11px 26px}
.sortie-de-stade{background:var(--tpd-cave);color:var(--tpd-sourdine);font-size:.86rem;padding:30px 0}
.sortie-de-stade-dedans{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.sortie-de-stade a{color:var(--tpd-lavande)}
.marches-absentes{list-style:none;margin:20px 0 30px}
.marches-absentes li{padding:8px 0;border-bottom:1px solid var(--tpd-filet)}
@media(max-width:900px){.gradins,.gradins.deux-couloirs{grid-template-columns:1fr}.tribune-liens a{margin-left:0;margin-right:16px}}