body{margin:0}
*,*::before,*::after{box-sizing:border-box}
.dark{--bg:#080B10;--bg2:#0D121A;--surface:#111823;--surface2:#182130;--line:#2A374D;--line2:#18212F;--text:#EAEEF5;--muted:#9BA7BA;--faint:#7C899E;--cta:#FFB224;--cta-ink:#0A0D12;--ok:#3DD6A0;--redir:#6BA8FF;--park:#E8C547;--exp:#E8904F;--rupt:#B590FF;--spam:#FF5C7A;--gap:#46556E;--shadow:0 40px 90px -40px #000}
.light{--bg:#F5F6F9;--bg2:#ECEEF3;--surface:#FFFFFF;--surface2:#F1F3F8;--line:#CBD2DF;--line2:#E2E6EE;--text:#0E1521;--muted:#4A5873;--faint:#5F6C85;--cta:#0E1521;--cta-ink:#FFFFFF;--ok:#0F9F72;--redir:#2F6CDC;--park:#B88A00;--exp:#C4601B;--rupt:#7447D6;--spam:#D42E52;--gap:#8B97AD;--shadow:0 30px 70px -40px rgba(14,21,33,.35)}
html.dark,html.light{background:var(--bg)}
.pg{background:var(--bg);color:var(--text);font-family:'Instrument Sans',system-ui,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
.pg h1,.pg h2,.pg h3{font-family:'Bricolage Grotesque','Instrument Sans',sans-serif;margin:0;font-weight:800;letter-spacing:-0.03em}
.pg p{margin:0}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.pg a{color:inherit;text-decoration:none}
.navlink{color:var(--muted);font-size:15px;padding:10px 4px;transition:color .16s ease-out}
.navlink:hover{color:var(--text)}
.btn-cta{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border-radius:12px;background:var(--cta);color:var(--cta-ink);font-weight:600;font-size:16px;cursor:pointer;border:0;transition:filter .16s ease-out,transform .16s ease-out}
.btn-cta:hover{filter:brightness(1.1)}
.btn-cta:active{transform:translateY(1px)}
.btn-ghost{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:10px;border:1px solid var(--line);color:var(--text);font-size:15px;font-weight:500;transition:border-color .16s ease-out,background .16s ease-out}
.btn-ghost:hover{border-color:var(--muted);background:var(--surface)}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:14px;cursor:pointer;transition:border-color .16s ease-out,background .16s ease-out}
.chip:hover{border-color:var(--cta);background:var(--surface)}
.field{flex:1 1 240px;min-width:0;min-height:56px;border:0;background:transparent;color:var(--text);font-family:'JetBrains Mono',ui-monospace,monospace;font-size:18px;outline:none;padding:0 6px}
.field::placeholder{color:var(--faint)}
.formbox{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:8px;box-shadow:var(--shadow);transition:border-color .16s ease-out}
.formbox:focus-within{border-color:var(--cta)}
.win{background:var(--surface);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:18px}
.seg{flex:1 1 0;min-width:0;height:56px;border:0;padding:0;border-radius:3px;cursor:pointer;position:relative;transform-origin:bottom;animation:segIn .55s cubic-bezier(.2,.7,.2,1) both}
@keyframes segIn{from{transform:scaleY(.15)}to{transform:none}}
.hcard{position:absolute;bottom:34px;width:min(300px,100%);background:var(--surface2);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);z-index:3;pointer-events:none}
.thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;transition:opacity .18s ease-out}
.scrub{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:transparent;cursor:pointer;margin:0;display:block}
.scrub::-webkit-slider-runnable-track{height:4px;background:var(--line);border-radius:2px}
.scrub::-moz-range-track{height:4px;background:var(--line);border-radius:2px}
.scrub::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--cta);border:3px solid var(--surface);margin-top:-10px;box-shadow:0 0 0 1px var(--cta)}
.scrub::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--cta);border:3px solid var(--surface);box-shadow:0 0 0 1px var(--cta)}
.shot{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--bg2);transition:border-color .16s ease-out}
.shot:hover{border-color:var(--cta)}
.shot img{display:block;width:100%;aspect-ratio:1280/860;object-fit:cover;object-position:top}
.period{display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:start}
.sig{padding:24px;border-radius:18px;border:1px solid var(--line);background:var(--surface);transition:border-color .16s ease-out}
.sig:hover{border-color:var(--muted)}
.skip{position:absolute;left:-9999px;top:8px;background:var(--cta);color:var(--cta-ink);padding:10px 16px;border-radius:8px;z-index:20}
.skip:focus{left:8px}
a:focus-visible,button:focus-visible,.field:focus-visible,.scrub:focus-visible{outline:2px solid var(--cta);outline-offset:3px}
.field:focus-visible{outline:none}
@media (max-width:820px){.navlinks{display:none !important}.period{grid-template-columns:1fr}}
/* le hero reste sombre dans les deux thèmes : la vidéo est sombre, un voile clair la délaverait */
.hero{--bg:#080B10;--bg2:#0D121A;--surface:#111823;--surface2:#182130;--line:#2A374D;--line2:#18212F;--text:#EAEEF5;--muted:#C9D1DE;--faint:#A9B4C6;--cta:#FFB224;--cta-ink:#0A0D12;color:var(--text);background:var(--bg)}
.hero h1{overflow-wrap:anywhere}
a.chip{text-decoration:none}
.hero-media{position:absolute;inset:0;z-index:0;background:#05090d url(/static/hero.jpg) center/cover no-repeat}
.hero-media video{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .8s ease-out}
.hero-media video.on{opacity:1}
/* voile : le texte du hero reste lisible (plus sombre à gauche, où il se trouve) */
.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--bg) 96%,transparent) 0%,color-mix(in srgb,var(--bg) 92%,transparent) 45%,color-mix(in srgb,var(--bg) 72%,transparent) 70%,color-mix(in srgb,var(--bg) 50%,transparent) 100%),linear-gradient(180deg,transparent 60%,var(--bg) 100%)}
.hero>*:not(.hero-media){position:relative;z-index:1}
@media (max-width:719px){.hero-media{background-image:url(/static/hero-m.jpg)}.hero-media::after{background:color-mix(in srgb,var(--bg) 86%,transparent)}}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}

.barre{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:10px}
.barre i{display:block;height:100%;background:var(--cta);transition:width .4s ease-out}
[hidden]{display:none !important}
.ts{margin-top:12px;min-height:0}

/* liste des analyses (accueil et /analyses) */
.recents{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px}
.voir-tout{font-size:14px;color:var(--cta);text-decoration:none;white-space:nowrap}
.voir-tout:hover{text-decoration:underline}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.tuile{display:flex;flex-direction:column;gap:10px;padding:18px 20px;border-radius:16px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-decoration:none;transition:border-color .16s ease-out,transform .16s ease-out}
.tuile:hover,.tuile:focus-visible{border-color:var(--cta);transform:translateY(-2px)}
.tuile b{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:15px;overflow-wrap:anywhere}
.tuile p{font-size:14px;color:var(--muted);line-height:1.45;margin:0}
.tuile small{font-size:12px;color:var(--faint)}
.mini{display:flex;height:8px;border-radius:4px;overflow:hidden;gap:2px}
.mini i{display:block;min-width:3px}
.pager{display:flex;gap:12px;justify-content:center;margin-top:36px}
@media (prefers-reduced-motion:reduce){.tuile{transition:none}}
