:root{--or: #f7b829;--or-clair: #ffd77b;--marine: #0a1828;--nuit: #04070c;--texte: #eef2f8;--texte-2: #a9b4c6;--texte-3: #6f7c92;--trait: rgba(255, 255, 255, .09);--verre: rgba(10, 18, 30, .72);--rayon: 18px;color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden;background:var(--nuit);color:var(--texte);font-family:Jost,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,select{font:inherit;color:inherit}[hidden]{display:none!important}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab;outline:none}#scene.saisie{cursor:grabbing}.barre{position:fixed;top:0;left:0;display:flex;align-items:center;gap:14px;padding:22px 28px;z-index:5;pointer-events:none}.logo{width:54px;height:41px;background:center / contain no-repeat;pointer-events:auto;filter:drop-shadow(0 2px 12px rgba(0,0,0,.6))}.barre-titre{font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--texte-2);padding-left:14px;border-left:1px solid var(--trait)}.intro{position:fixed;left:clamp(24px,6vw,96px);bottom:clamp(40px,11vh,120px);max-width:520px;z-index:4;transition:opacity .6s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.intro.parti{opacity:0;transform:translateY(24px);pointer-events:none}.surtitre{margin:0 0 14px;font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--or)}.intro h1{margin:0 0 18px;font-size:clamp(38px,5.4vw,68px);font-weight:600;line-height:1.02;letter-spacing:-.015em;text-wrap:balance}.accroche{margin:0 0 30px;font-size:18px;line-height:1.55;color:var(--texte-2);max-width:44ch}.bouton{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;border:1px solid var(--trait);background:#ffffff0a;font-weight:500;font-size:15.5px;letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .18s ease,background .2s ease,border-color .2s ease,box-shadow .25s ease,opacity .2s;white-space:nowrap}.bouton:hover{background:#ffffff17;border-color:#fff3}.bouton:active{transform:scale(.97)}.bouton.or{background:linear-gradient(180deg,#ffcb4d,var(--or));border-color:transparent;color:#17120a;font-weight:600;box-shadow:0 10px 34px -10px #f7b829a6,inset 0 1px #ffffff80}.bouton.or:hover{box-shadow:0 14px 44px -8px #f7b829d9,inset 0 1px #fff9;transform:translateY(-1px)}.bouton.or:disabled{opacity:.35;box-shadow:none;cursor:not-allowed;transform:none}.bouton.grand{min-height:58px;padding:0 32px;font-size:17px}.bouton.fantome{background:transparent}.bouton.large{width:100%}.bouton svg{width:18px;height:18px;fill:currentColor}.lien{background:none;border:0;padding:12px 0 0;color:var(--or-clair);font-size:14.5px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffd77b66}.panneau{position:fixed;z-index:6;top:20px;right:20px;bottom:20px;width:440px;display:flex;flex-direction:column;background:var(--verre);border:1px solid var(--trait);border-radius:26px;backdrop-filter:blur(22px) saturate(140%);-webkit-backdrop-filter:blur(22px) saturate(140%);box-shadow:0 30px 80px -20px #000c,inset 0 1px #ffffff0f;overflow:hidden}.panneau.entre{animation:glisse .7s cubic-bezier(.2,.8,.2,1) both}@keyframes glisse{0%{opacity:0;transform:translate(28px)}}.fil{display:flex;gap:7px;padding:22px 26px 0}.fil button{flex:1;height:4px;padding:0;border:0;border-radius:4px;background:#ffffff1f;cursor:pointer;transition:background .3s}.fil button.fait{background:#f7b82980}.fil button.ici{background:var(--or);box-shadow:0 0 14px #f7b829b3}.fil button:disabled{cursor:default}.panneau-corps{flex:1;overflow-y:auto;padding:22px 26px 18px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.etape-num{margin:0 0 8px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--or)}.panneau h2{margin:0 0 8px;font-size:27px;font-weight:600;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}.panneau h3{margin:22px 0 10px;font-size:13px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--texte-2)}.aide{margin:0 0 20px;font-size:15.5px;line-height:1.5;color:var(--texte-2)}.panneau-pied{display:flex;align-items:center;gap:12px;padding:16px 20px;border-top:1px solid var(--trait);background:#04080e80}.total{flex:1;display:flex;flex-direction:column;align-items:flex-end;line-height:1.15;padding-right:4px}.total span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--texte-3)}.total strong{font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}.choix{position:relative;text-align:left;border:1px solid var(--trait);border-radius:var(--rayon);background:#ffffff09;cursor:pointer;transition:border-color .2s,background .2s,transform .18s,box-shadow .25s}.choix:hover:not(:disabled){border-color:#f7b82973;background:#ffffff0f;transform:translateY(-1px)}.choix.actif{border-color:var(--or);background:linear-gradient(180deg,#f7b82921,#f7b8290a);box-shadow:0 0 0 1px var(--or),0 14px 40px -18px #f7b82999}.choix:disabled{opacity:.4;cursor:not-allowed}.coche{position:absolute;top:10px;right:10px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--or);color:#17120a;transform:scale(0);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}.coche svg{width:13px;height:13px}.choix.actif .coche{transform:scale(1)}.grille.deux{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tuile{display:flex;flex-direction:column;gap:6px;padding:22px 18px 20px}.tuile .icone{width:64px;height:40px;margin-bottom:12px;color:var(--or)}.tuile .icone svg{width:100%;height:100%;fill:currentColor}.tuile b{font-size:18px;font-weight:600}.tuile small{font-size:14px;color:var(--texte-2);line-height:1.35}.pile{display:flex;flex-direction:column;gap:12px}.carte{display:flex;gap:14px;padding:14px;align-items:flex-start}.carte.basse{align-items:center;min-height:64px}.vignette{flex:none;width:96px;height:80px;display:grid;place-items:center;border-radius:12px;background:radial-gradient(circle at 50% 35%,#1b2b44,#0a121e 75%);overflow:hidden}.vignette img{width:86%;height:86%;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}.carte.basse .vignette{width:84px;height:52px}.carte-texte{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}.carte-tete{display:flex;justify-content:space-between;gap:10px;align-items:baseline;padding-right:28px}.carte-tete b{font-size:17px;font-weight:600}.carte-tete strong,.recap strong,.total-ligne strong{font-weight:600;color:var(--or-clair);font-variant-numeric:tabular-nums;white-space:nowrap}.carte ul{margin:2px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px;font-size:13.5px;line-height:1.4;color:var(--texte-2)}.carte ul b{color:var(--texte);font-weight:500}.badge{align-self:flex-start;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;padding:3px 8px;border-radius:999px;border:1px solid var(--trait);color:var(--texte-3)}.badge.reel{color:#7fe3b0;border-color:#7fe3b059;background:#7fe3b014}.rail{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 10px;margin:0 -2px;scrollbar-width:none}.rail::-webkit-scrollbar{display:none}.mini{flex:none;width:112px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 12px;text-align:center}.mini .vignette{width:92px;height:84px}.mini b{font-size:14px;font-weight:500;line-height:1.2}.mini small{font-size:12.5px;color:var(--texte-2);line-height:1.25}.mini.aucun{justify-content:center;width:84px;color:var(--texte-2)}.mini .coche{top:6px;right:6px;width:18px;height:18px}.recap{list-style:none;margin:4px 0 18px;padding:0;display:flex;flex-direction:column}.recap li{display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--trait)}.recap li>span:not(.vignette){flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.recap small{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--texte-3)}.recap b{font-size:15.5px;font-weight:500}.recap .vignette{width:58px;height:50px;border-radius:10px}.recap.compact li{padding:9px 0}.recap em{font-style:normal;font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--trait);color:var(--texte-3);white-space:nowrap}.recap em.ok{color:#7fe3b0;border-color:#7fe3b059}.champ{display:flex;flex-direction:column;gap:7px;margin-bottom:14px;font-size:13.5px;color:var(--texte-2)}.taille{min-height:46px;padding:0 14px;border-radius:12px;border:1px solid var(--trait);background:#ffffff0d;font-size:15px}.note{margin:0 0 16px;font-size:13px;color:var(--texte-3);line-height:1.45}.total-ligne{display:flex;justify-content:space-between;margin:0 0 18px;font-size:19px}#reperes{position:fixed;inset:0;z-index:3;pointer-events:none}.repere{position:absolute;top:0;left:0;width:0;height:0;padding:0;border:0;background:none;pointer-events:auto;cursor:pointer;transition:opacity .3s}.repere i{position:absolute;left:-9px;top:-9px;width:18px;height:18px;border-radius:50%;background:var(--or);border:3px solid rgba(4,7,12,.9);box-shadow:0 0 0 1px var(--or),0 0 18px #f7b829e6;animation:pop .5s var(--d) cubic-bezier(.3,1.6,.5,1) both}.repere i:after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px solid var(--or);animation:onde 2.2s var(--d) ease-out infinite}@keyframes pop{0%{transform:scale(0)}}@keyframes onde{0%{transform:scale(.5);opacity:.9}to{transform:scale(1.7);opacity:0}}.repere-carte{position:absolute;left:20px;top:-22px;width:max-content;max-width:240px;display:flex;flex-direction:column;gap:3px;padding:10px 14px;text-align:left;border-radius:12px;background:#080e18e6;border:1px solid rgba(247,184,41,.35);backdrop-filter:blur(10px);box-shadow:0 14px 40px -10px #000c;opacity:0;transform:translate(-6px);transition:opacity .22s,transform .22s;pointer-events:none}.repere.a-gauche .repere-carte{left:auto;right:20px;transform:translate(6px)}.repere-carte b{font-size:14px;font-weight:600;color:var(--or-clair)}.repere-carte em{font-style:normal;font-size:13px;line-height:1.4;color:var(--texte-2)}.repere:hover .repere-carte,.repere.ouvert .repere-carte,#reperes.tous .repere-carte{opacity:1;transform:none}.repere:hover{z-index:2}.astuce{position:fixed;left:28px;bottom:26px;z-index:4;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:999px;border:1px solid var(--trait);background:#080e188c;backdrop-filter:blur(10px);font-size:13.5px;color:var(--texte-2);transition:opacity 1.2s;animation:glisse-bas .8s 1.4s both}.astuce svg{width:18px;height:18px;color:var(--or)}.astuce.discret{opacity:.45}@keyframes glisse-bas{0%{opacity:0;transform:translateY(12px)}}.legende{position:fixed;left:28px;top:84px;z-index:4;max-width:300px;margin:0;font-size:11.5px;line-height:1.45;color:var(--texte-3)}.chargement{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:var(--nuit);transition:opacity .9s ease,visibility .9s}.chargement.fini{opacity:0;visibility:hidden}.chargement-logo{width:150px;height:114px;background:center / contain no-repeat;animation:respire 2.4s ease-in-out infinite}@keyframes respire{50%{opacity:.6}}.chargement-barre{width:180px;height:2px;background:#ffffff1a;border-radius:2px;overflow:hidden}.chargement-barre i{display:block;height:100%;width:0;background:var(--or);box-shadow:0 0 12px var(--or);transition:width .3s}.voile{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:20px;background:#020408b8;backdrop-filter:blur(8px);animation:fondu .3s both}@keyframes fondu{0%{opacity:0}}.dialogue{width:min(520px,100%);max-height:90vh;overflow-y:auto;padding:30px;border-radius:26px;background:#0b1422;border:1px solid var(--trait);box-shadow:0 40px 120px -20px #000;animation:monte .45s cubic-bezier(.2,.8,.2,1) both}@keyframes monte{0%{opacity:0;transform:translateY(20px) scale(.98)}}.dialogue h2{margin:0 0 10px;font-size:26px;font-weight:600}.dialogue-pied{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.toast{position:fixed;left:50%;bottom:34px;z-index:40;transform:translate(-50%);padding:12px 20px;border-radius:999px;background:#0b1422;border:1px solid rgba(247,184,41,.4);font-size:14.5px;box-shadow:0 20px 60px -10px #000;animation:monte .35s both;max-width:calc(100vw - 32px)}@media(max-width:959px){.barre{padding:14px 16px}.logo{width:42px;height:32px}.barre-titre{font-size:10.5px;letter-spacing:.22em}.intro{left:20px;right:20px;bottom:34px;text-align:center}.intro h1{font-size:clamp(32px,9vw,44px)}.accroche{font-size:16px;margin-inline:auto}.intro .bouton{width:100%}.panneau{inset:auto 0 0;width:auto;height:min(54vh,480px);border-radius:24px 24px 0 0;border-width:1px 0 0}@keyframes glisse{0%{opacity:0;transform:translateY(40px)}}.fil{padding:16px 18px 0}.panneau-corps{padding:16px 18px 12px}.panneau h2{font-size:22px}.aide{font-size:14.5px;margin-bottom:14px}.panneau-pied{padding:12px 14px calc(12px + env(safe-area-inset-bottom));gap:8px}.bouton{min-height:46px;padding:0 16px;font-size:15px}.tuile{padding:16px 14px}.tuile .icone{width:52px;height:32px;margin-bottom:6px}.vignette{width:78px;height:66px}.astuce,.legende{display:none}.repere-carte{max-width:180px}.repere i{left:-7px;top:-7px;width:14px;height:14px;border-width:2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
