/* En-tête commun (extrait de site.css) — pages légales */
.top{font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}.top a{color:inherit}.legalpg .theme{display:none}.top *,.top *::before,.top *::after{box-sizing:border-box}
@font-face{font-family:'Jakarta';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/pjs-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Jakarta';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/pjs-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--cream:#F0EBE2;--night:#171716;--ink:#12110E;--dim:#5F5A51;--line:rgba(18,17,14,.1);
  --paper:#EDE9E2;--paper-dim:rgba(237,233,226,.62);--line-n:rgba(255,255,255,.1);
  --sport:#C4FF00;--sport-txt:#5F7F00;--sport-txt-l:#5F7F00;--tint-a:#465023;--tint-b:#181A0E;
  --sans:'Jakarta',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --serif:Georgia,'Times New Roman',serif;
  --top-bg:rgba(240,235,226,.9);--pop:#fff;--chip:rgba(255,255,255,.88);--card:rgba(255,255,255,.6);--later:rgba(18,17,14,.42);--dash:rgba(18,17,14,.25);
  --hero-trame:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 5'%3E%3Crect x='1.5' y='1.5' width='1.6' height='1.6' fill='%23171716' fill-opacity='0.05'/%3E%3C/svg%3E");color-scheme:light}
:root[data-theme=dark]{--cream:#11110F;--night:#1B1B19;--ink:#EDE9E2;--dim:#A7A196;--line:rgba(255,255,255,.1);
  --top-bg:rgba(17,17,15,.88);--pop:#22221F;--chip:rgba(255,255,255,.08);--card:rgba(255,255,255,.04);--later:rgba(237,233,226,.38);--dash:rgba(255,255,255,.22);
  --hero-trame:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 5'%3E%3Crect x='1.5' y='1.5' width='1.6' height='1.6' fill='%23FFFFFF' fill-opacity='0.045'/%3E%3C/svg%3E");color-scheme:dark}
:root[data-theme=dark] body{--sport-txt:var(--sport)}
.in{max-width:72rem;margin:0 auto;padding-inline:clamp(1.25rem,4vw,2.5rem)}
/* En-tête */
.top{position:sticky;top:0;z-index:10;background:var(--top-bg);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.top .in{display:flex;align-items:center;gap:1.5rem;height:64px}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;font-weight:800;letter-spacing:-.01em}
.brand b{font-weight:500}
/* La tuile = l'icône « nuit teintée » : fond teinté du sport, trame, symbole. */
.tile{width:34px;height:34px;border-radius:26%;background-color:var(--tint-b);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 5'%3E%3Crect x='1.5' y='1.5' width='1.6' height='1.6' fill='%23FFFFFF' fill-opacity='0.06'/%3E%3C/svg%3E"),linear-gradient(180deg,var(--tint-a),var(--tint-b));background-size:1.7px 1.7px,100% 100%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tile .mark{width:50%;height:50%;overflow:visible}
.tile.fam{background-color:#121211;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 5'%3E%3Crect x='1.5' y='1.5' width='1.6' height='1.6' fill='%23FFFFFF' fill-opacity='0.06'/%3E%3C/svg%3E"),linear-gradient(180deg,#2A2A27,#121211)}
.tile.fam .mark{width:66%;height:66%}
:root[data-theme=dark] .tile.fam{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .tile.fam{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}}
.top .in{gap:.75rem}
.top .in>nav{display:flex;gap:.2rem;margin-inline-start:auto;margin-inline-end:.4rem;font-size:.92rem;font-weight:600}
.top .in>nav a{text-decoration:none;color:var(--dim);display:flex;align-items:center;min-height:44px;padding-inline:.7rem}
.top .in>nav a:hover{color:var(--ink)}
/* Les onglets : l'actif prend l'encre et un trait à la couleur du sport. */
.top .in>nav a{position:relative}
.top .in>nav a[aria-current]{color:var(--ink)}
.top .in>nav a[aria-current]::after{content:"";position:absolute;inset-inline:.7rem;bottom:8px;height:2px;border-radius:2px;background:var(--sport)}
.lang{position:relative;font-size:.8rem;font-weight:700}
.lang summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:999px;min-height:40px;min-width:44px;display:grid;place-items:center;padding:0 .8rem;text-transform:uppercase;letter-spacing:.04em}
.theme{flex:none;position:relative;width:62px;height:34px;border-radius:999px;border:1px solid var(--line);background:var(--line);color:var(--ink);cursor:pointer;padding:0;margin-inline-start:.4rem;transition:background-color .3s ease,border-color .3s ease}
/* L'interrupteur clair / sombre : la pastille glisse, l'icône voyage avec elle ; allumé, la piste prend la couleur du sport. */
.theme::before{content:"";position:absolute;top:3px;inset-inline-start:3px;width:26px;height:26px;border-radius:50%;background:var(--pop);box-shadow:0 1px 4px rgba(0,0,0,.18);transition:transform .38s cubic-bezier(.3,1.3,.5,1)}
.theme svg{position:absolute;top:50%;width:15px;height:15px;margin-top:-7.5px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;transition:inset-inline-start .38s cubic-bezier(.3,1.3,.5,1)}
.theme .sun{inset-inline-start:8.5px}
.theme .moon{display:none;inset-inline-start:36.5px;color:#0A0A0A}
.theme:focus-visible{outline:2px solid var(--sport);outline-offset:3px}
:root[data-theme=dark] .theme{background:var(--sport);border-color:transparent}
:root[data-theme=dark] .theme::before{transform:translateX(28px);background:#F5F2EC}
[dir=rtl]:root[data-theme=dark] .theme::before,:root[data-theme=dark] [dir=rtl] .theme::before{transform:translateX(-28px)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme{background:var(--sport);border-color:transparent}:root:not([data-theme=light]) .theme::before{transform:translateX(28px);background:#F5F2EC}:root:not([data-theme=light]) [dir=rtl] .theme::before{transform:translateX(-28px)}}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme .sun{display:none}:root:not([data-theme=light]) .theme .moon{display:block}}
:root[data-theme=dark] .theme .sun{display:none}
:root[data-theme=dark] .theme .moon{display:block}
.lang summary::-webkit-details-marker{display:none}
.lang ul{position:absolute;inset-inline-end:0;top:calc(100% + .4rem);margin:0;padding:.35rem;list-style:none;background:var(--pop);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 30px rgba(0,0,0,.12);min-width:9rem}
.lang li a{display:block;padding:.55rem .8rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.95rem}
.lang li a:hover{background:var(--cream)}
.lang li a[aria-current]{color:var(--sport-txt)}
.top .store{padding:.55rem 1rem;font-size:.82rem}
.hero .in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2.2rem 3rem;align-items:center;padding-block:1.6rem 4.5rem}
/* Clôture et pied */
.close .in{display:grid;justify-items:center;text-align:center;gap:2rem}
.close .tile{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);width:84px;height:84px;border-radius:19px;background-size:4.2px 4.2px,100% 100%}
.close .tile .mark{width:46px;height:46px}
footer .in{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2rem}
.tile.sm{width:26px;height:26px;border-radius:7px;background-size:1.3px 1.3px,100% 100%}
.tile.sm .mark{width:15px;height:15px}
.fam .tile.sm{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
footer .tile.sm.run{width:22px;height:22px;border-radius:6px}
footer .tile.sm.run .mark{width:13px;height:13px}
/* Menu (sous 1180 px, quand la barre de navigation ne tient plus) */
.menu{display:none;margin-inline-start:auto}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-items:center;border-radius:12px;-webkit-tap-highlight-color:transparent;margin-inline-end:-.5rem}
.menu summary::-webkit-details-marker{display:none}
.menu summary svg{width:24px;height:24px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}
.menu summary path{transform-box:view-box;transform-origin:12px 12px;transition:transform .22s ease}
.menu[open] summary path:first-child{transform:translateY(3.5px) rotate(45deg)}
.menu[open] summary path:last-child{transform:translateY(-3.5px) rotate(-45deg)}
/* La feuille : plein écran sous l'en-tête, sections puis langues. */
/* position:fixed dans l'en-tête : son backdrop-filter en fait le bloc
   conteneur, d'où top:100% et une hauteur explicite. */
.sheet{position:fixed;top:100%;inset-inline:0;height:calc(100vh - 60px);height:calc(100lvh - 60px);z-index:30;overflow-y:auto;overscroll-behavior:contain;background:var(--cream);padding:.5rem clamp(1.25rem,4vw,2.5rem) calc(6rem + env(safe-area-inset-bottom));animation:sheet .22s cubic-bezier(.2,.7,.3,1) both}
.sheet nav{display:grid}
.sheet nav a{display:flex;align-items:center;min-height:54px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:700;font-size:1.15rem;letter-spacing:-.01em}
.sheet nav a:active{color:var(--sport-txt)}
.sheet h4{margin:1.8rem 0 .4rem;font-size:.85rem;font-weight:700;color:var(--dim)}
.langs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}
.langs a{display:flex;align-items:center;min-height:44px;padding-inline:.7rem;border-radius:10px;text-decoration:none;font-weight:600;font-size:.95rem;color:var(--dim)}
.langs a[aria-current]{color:var(--sport-txt);background:var(--chip)}
html:has(.menu[open]){overflow:hidden}
html:has(.menu[open]) .bar{transform:translateY(calc(100% + 24px))!important;visibility:hidden!important;pointer-events:none}
@media (min-width:761px) and (max-width:1000px){.top .in>nav{font-size:.84rem;gap:0}.top .in>nav a{padding-inline:.45rem}.top .in>nav a[aria-current]::after{inset-inline:.45rem}}
@media (max-width:760px){.top .in>nav,.top .lang,.top .in>.theme{display:none}.menu{display:block}.top .in{height:60px}}
@media (max-width:900px){.hero .in{grid-template-columns:1fr;padding-block:2.5rem 3.5rem}footer .in{grid-template-columns:1fr 1fr;gap:2rem 1.2rem}footer .in>div:first-child{grid-column:1/-1}}
/* Deviens testeur Android : page claire */
.tabs .tabtest{color:var(--sport-txt)!important;font-weight:750}
.dprefs .in>p{color:var(--dim);max-width:44rem;margin:1rem 0 0}
@media (max-width:560px){.top .in{height:60px}/* Héros : le choix, la promesse, l'action, sans détour */
  .hero .in{padding-block:1.1rem 3rem;gap:1.6rem}.close .in{gap:1.5rem}.close .tile{width:68px;height:68px;border-radius:16px;background-size:3.4px 3.4px,100% 100%}footer .in{gap:1.6rem}}