:root{--texte:oklch(94% .012 220);--texte-doux:oklch(78% .015 220);--texte-pale:oklch(74% .015 220);--sombre:oklch(17% .02 230);--panneau:oklch(22% .015 230/.92);--bord:oklch(58% .015 230/.55);--bouton:oklch(17% .012 230);--bord-bouton:oklch(58% .015 230/.7);--runique:oklch(85% .11 215);--or:oklch(86% .13 85);--or-prix:oklch(86% .11 85);--eteint:oklch(36% .015 230);--degrade-principal:linear-gradient(oklch(84% .1 215), oklch(70% .12 225));--titre:"Alegreya SC", Georgia, serif}*{box-sizing:border-box}html,body{height:100%;color:var(--texte);font-variant-numeric:tabular-nums lining-nums;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#151b1f;margin:0;font-family:Alegreya,Georgia,serif;overflow:hidden}button{font-family:inherit}[hidden]{display:none!important}#app{background:radial-gradient(oklch(22% .02 200),oklch(13% .015 230));grid-template-rows:56px minmax(0,1fr) 68px;gap:4px;height:100dvh;padding:4px 6px;display:grid;position:relative}.barre{background:var(--panneau);border:1px solid var(--bord);border-radius:12px;align-items:center;min-width:0;display:flex;position:relative}#hud-haut{gap:12px;padding:0 4px}#hud-bas{gap:8px;padding:0 6px}.compteurs{flex:1;align-items:center;gap:20px;min-width:0;display:flex;overflow:hidden}.compteur{white-space:nowrap;align-items:center;gap:8px;display:flex}.etiquette{font-family:var(--titre);color:var(--texte-doux);font-size:14px}.valeur{font-size:18px;font-weight:800}.bloc-or{transform-origin:0;align-items:center;gap:7px;display:flex}.piece-or{background:radial-gradient(circle at 35% 30%,oklch(92% .1 90),oklch(72% .13 75));border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 1.5px oklch(40% .06 70)}.valeur-or{font-size:20px;font-weight:800}.bloc-or.eclat .valeur-or{color:oklch(90% .13 88)}.jauge{background:oklch(14% .01 230);border-radius:5px;width:80px;height:9px;overflow:hidden;box-shadow:inset 0 0 0 1px oklch(45% .015 230)}.jauge-remplie{background:linear-gradient(oklch(66% .17 28),oklch(50% .16 25));height:100%}.actions{gap:6px;display:flex}.bouton{border:1px solid var(--bord-bouton);background:var(--bouton);min-width:48px;height:48px;color:var(--texte);white-space:nowrap;cursor:pointer;touch-action:manipulation;border-radius:9px;padding:0 14px;font-size:16px;font-weight:700}.bouton.carre{flex:none;justify-content:center;align-items:center;width:48px;padding:0;display:flex}.bouton.fort{font-size:17px;font-weight:800}.bouton.runique{color:oklch(90% .08 215);background:oklch(85% .11 215/.12);border-color:oklch(85% .11 215/.8)}.bouton.dore{color:oklch(90% .1 85);background:oklch(86% .13 85/.12);border-color:oklch(86% .13 85/.8)}.bouton.principal{background:var(--degrade-principal);color:var(--sombre);border-color:oklch(92% .08 215);font-size:17px;font-weight:800}.bouton.actif{background:oklch(32% .04 220)}.bouton.allume{color:var(--sombre);background:oklch(80% .11 215)}.bouton.large{width:260px}.estompe{opacity:.4}.bouton.lancer{height:50px;font-family:var(--titre);flex:none;padding:0 18px}.bouton.lancer.estompe{opacity:.5}.bouton.lancer.pret,.article.actif,.article.guide{animation:1.57s ease-in-out infinite lueur}@keyframes lueur{0%,to{box-shadow:0 0 10px oklch(75% .13 220/.55)}50%{box-shadow:0 0 20px oklch(75% .13 220/.55)}}.icone{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.icone .plein{fill:currentColor}.boutique{flex:1;gap:6px;min-width:0;display:flex}.article{background:var(--bouton);width:58px;height:58px;color:var(--texte);cursor:pointer;-webkit-touch-callout:none;touch-action:manipulation;border:1.5px solid oklch(58% .015 230/.6);border-radius:9px;flex-direction:column;flex:none;justify-content:flex-end;align-items:center;padding:0 0 2px;display:flex;position:relative;overflow:hidden}.article.actif{background:oklch(32% .04 220);border-color:oklch(88% .1 215)}.article.actif .image{animation:.8s ease-in-out infinite sautille}@keyframes sautille{0%,to{transform:translateY(-1.5px)}50%{transform:translateY(-3px)}}.article .image{pointer-events:none;background:bottom/contain no-repeat;width:54px;height:38px}.prix{color:var(--or-prix);font-size:14px;font-weight:800}#zone-plateau{touch-action:none;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}#cadre{aspect-ratio:1266/615;border-radius:10px;width:min(100%,205.85dvh - 279.956px);position:relative;overflow:hidden;box-shadow:0 0 0 1px oklch(58% .015 230/.5),0 14px 40px oklch(8% .01 230/.7);container-type:size}#cadre canvas{-webkit-touch-callout:none;display:block;position:absolute;inset:0}#calques{pointer-events:none;position:absolute;inset:0}.panneau{background:oklch(20% .015 230/.9);border:1px solid oklch(58% .015 230/.6);border-radius:10px}.fort{font-weight:800}.colonne{flex-direction:column;display:flex}.colonne.centre{text-align:center;align-items:center;gap:10px}.banniere{opacity:0;background:linear-gradient(90deg,oklch(14% .015 230/0),oklch(14% .015 230/.8) 30% 70%,oklch(14% .015 230/0));flex-direction:column;align-items:center;gap:.6cqh;padding:2.4cqh 0;display:flex;position:absolute;top:34%;left:0;right:0}.banniere.joue{animation:2.4s linear forwards banniere}@keyframes banniere{0%{opacity:0;transform:scale(1.25)}10.4%{opacity:1;transform:scale(1)}79%{opacity:1;transform:scale(1.033)}to{opacity:0;transform:scale(1.043)}}.banniere .titre{font-family:var(--titre);letter-spacing:.1em;color:oklch(95% .03 215);text-shadow:0 0 3cqh oklch(75% .13 220/.8);font-size:10cqh;font-weight:800;line-height:1}.banniere .sous{color:oklch(86% .04 220);font-size:3.4cqh;font-weight:700}.astuce{text-align:center;text-wrap:pretty;background:oklch(20% .015 230/.94);border:1px solid oklch(58% .015 230/.6);border-radius:10px;max-width:70%;padding:8px 16px;font-size:16px;font-weight:500;position:absolute;bottom:3%;left:50%;transform:translate(-50%)}.voile-pause{font-family:var(--titre);letter-spacing:.12em;background:oklch(14% .015 230/.5);justify-content:center;align-items:center;font-size:30px;font-weight:800;display:flex;position:absolute;inset:0}.apercu-vague{align-items:center;gap:10px;padding:6px 12px 6px 10px;line-height:1.1;display:flex;position:absolute;top:3%;left:1.5%}.apercu-vague .etiquette{font-size:12px}.apercu-vague .fort{font-size:15px}.puces{gap:10px;display:flex}.puce{align-items:center;gap:3px;display:flex}.puce .image{filter:drop-shadow(0 2px 2px oklch(0% 0 0/.6));background:bottom/contain no-repeat;width:30px;height:30px}.tuto{border:1.5px solid var(--runique);pointer-events:auto;background:oklch(20% .02 225/.96);border-radius:12px;align-items:center;gap:12px;width:min(580px,88%);padding:8px 8px 8px 16px;animation:1.57s ease-in-out infinite lueur-tuto;display:flex;position:absolute;bottom:3%;left:50%;transform:translate(-50%)}@keyframes lueur-tuto{0%,to{box-shadow:0 0 8px oklch(80% .12 215/.55)}50%{box-shadow:0 0 18px oklch(80% .12 215/.55)}}.tuto .etape{font-family:var(--titre);color:var(--runique);flex:none;font-size:14px;font-weight:800}.tuto .texte{text-wrap:pretty;flex:1;min-width:0;font-size:16px;font-weight:500}.bouton-tuto{height:48px;color:var(--sombre);cursor:pointer;background:oklch(80% .11 215);border:none;border-radius:9px;flex:none;padding:0 16px;font-size:15px;font-weight:800}.passer{height:48px;color:var(--texte-doux);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:none;padding:0 10px;font-size:14px;font-weight:700}.voile{pointer-events:auto;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.fiche{background:oklch(12% .015 230/.45)}.carte-fiche{border:1px solid var(--bord-bouton);background:oklch(21% .015 230/.97);border-radius:14px;align-items:center;gap:16px;width:min(600px,94%);padding:14px 56px 14px 16px;display:flex;position:relative;box-shadow:0 18px 40px oklch(8% .01 230/.7)}.carte-fiche.apparait{animation:.18s ease-out apparait}@keyframes apparait{0%{transform:scale(.9)}}.carte-fiche .image{filter:drop-shadow(0 4px 4px oklch(0% 0 0/.6));background:bottom/contain no-repeat;flex:none;width:80px;height:100px}.carte-fiche .corps{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.carte-fiche .entete{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.carte-fiche .nom{font-family:var(--titre);font-size:22px;font-weight:800;line-height:1}.carte-fiche .cout{color:var(--or-prix);font-size:16px;font-weight:800}.carte-fiche .description{color:oklch(84% .015 220);text-wrap:pretty;font-size:15px}.chiffres{grid-template-columns:repeat(3,auto);justify-content:start;gap:0 18px;margin-top:2px;display:grid}.chiffres .etiquette{color:var(--texte-pale);font-family:inherit;font-size:12px}.chiffres .fort{font-size:19px}.grille{flex:none;grid-template-columns:repeat(9,10px);grid-auto-rows:10px;gap:2px;display:grid}.grille div{background:oklch(28% .015 230);border-radius:2px}.grille .centre{background:var(--or)}.grille .frappee{background:oklch(75% .12 220)}.grille .voisine{background:oklch(72% .11 85)}.carte-fiche .fermer{color:oklch(85% .015 220);cursor:pointer;background:0 0;border:none;border-radius:9px;width:48px;height:48px;font-size:26px;line-height:1;position:absolute;top:4px;right:4px}.menu{background:oklch(12% .015 230/.78)}.titre-menu{font-family:var(--titre);letter-spacing:.05em;font-size:28px;font-weight:800}.note{color:var(--texte-doux);margin-bottom:6px;font-size:15px}.fin{text-align:center;pointer-events:auto;background:radial-gradient(oklch(16% .02 230/.78),oklch(10% .015 230/.94));flex-direction:column;justify-content:center;align-items:center;gap:1.4cqh;animation:.45s ease-out backwards fondu;display:flex;position:absolute;inset:0}@keyframes fondu{0%{opacity:0}}.titre-fin{font-family:var(--titre);letter-spacing:.05em;font-size:clamp(30px,12cqh,76px);font-weight:800;line-height:1}.fin.gagne .titre-fin{color:oklch(94% .08 85);text-shadow:0 0 4cqh oklch(80% .13 85/.7);animation:.36s .1s backwards pop}.fin.perdu .titre-fin{color:oklch(90% .04 30);text-shadow:0 0 4cqh oklch(55% .2 28/.7);animation:.6s cubic-bezier(.33,1,.68,1) backwards tombe}@keyframes pop{0%{transform:scale(0)}61%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes tombe{0%{transform:translateY(-60px)}}.etoiles{gap:2cqh;display:flex}.etoile{color:var(--eteint);font-size:12cqh;line-height:1;animation:.36s backwards pop}.etoile.allumee{color:var(--or);text-shadow:0 0 3cqh oklch(80% .13 85/.8)}.score-fin{color:oklch(88% .13 85);font-size:10cqh;font-weight:800;line-height:1}.record{font-family:var(--titre);color:oklch(80% .015 220);font-size:3.6cqh;font-weight:800}.record.nouveau{color:var(--or);animation:.36s 1.2s backwards pop}.sous-fin{color:oklch(82% .015 220);font-size:17px}.boutons-fin{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:1cqh;animation:.4s backwards fondu;display:flex}.boutons-fin .bouton{padding:0 22px}.ecran{z-index:50;background:#11171b;position:absolute;inset:0;overflow:hidden}#ecran-titre{flex-direction:column;justify-content:center;align-items:center;gap:2.4vh;display:flex}.fond-titre{background:50%/cover no-repeat;animation:60s ease-in-out infinite alternate derive;position:absolute;inset:-5%}@keyframes derive{0%{transform:scale(1.06)translate(-1.2%,.8%)}to{transform:scale(1.1)translate(1.2%,-.8%)}}.voile-titre{background:radial-gradient(oklch(16% .02 230/.4),oklch(10% .015 230/.93) 78%);position:absolute;inset:0}.logo{font-family:var(--titre);letter-spacing:.12em;color:oklch(95% .03 215);text-shadow:0 0 5vh oklch(70% .13 220/.7),0 4px oklch(15% .02 230);font-size:clamp(52px,17vh,140px);font-weight:800;line-height:.9;animation:7s ease-in-out infinite flotte;position:relative}@keyframes flotte{0%,to{transform:translateY(-3px)}50%{transform:translateY(3px)}}.devise{text-align:center;color:oklch(88% .03 220);text-shadow:0 2px 6px oklch(10% .015 230);padding:0 16px;font-size:clamp(15px,3.6vh,22px);font-weight:500;position:relative}.pieces-titre{align-items:flex-end;gap:1.6vh;height:15vh;display:flex;position:relative}.piece-titre{filter:drop-shadow(0 6px 6px oklch(0% 0 0/.6));background:bottom/contain no-repeat;width:9vh;height:14vh;animation:3.9s ease-in-out infinite balance}@keyframes balance{0%,to{transform:translateY(-5px)}50%{transform:translateY(5px)}}.boutons-titre{flex-wrap:wrap;justify-content:center;gap:10px;padding:0 16px;display:flex;position:relative}.bouton.haut-titre{min-height:52px;font-family:var(--titre);padding:0 22px;font-size:19px}.bouton.continuer{color:oklch(95% .04 85);background:oklch(20% .03 85/.9);border:1.5px solid oklch(86% .11 85);flex-direction:column;justify-content:center;align-items:center;gap:1px;height:auto;min-height:52px;padding:4px 22px;font-size:13px;font-weight:600;display:flex}.bouton.continuer .grand{font-family:var(--titre);font-size:18px;font-weight:800}.credits{text-align:center;color:oklch(72% .015 220);font-size:12px;position:absolute;bottom:8px;left:0;right:0}#ecran-niveaux{flex-direction:column;display:flex}.fond-niveaux{opacity:.25;filter:blur(8px);background:50%/cover no-repeat;position:absolute;inset:-20px}.entete-niveaux{align-items:center;gap:12px;padding:8px 12px;display:flex;position:relative}.titre-niveaux{min-width:0;font-family:var(--titre);flex:1;font-size:26px;font-weight:800}.total-etoiles{align-items:center;gap:6px;font-size:18px;font-weight:800;display:flex}.or{color:var(--or)}.eteinte{color:var(--eteint)}.defile-niveaux{flex:1;min-height:0;padding:4px 12px 16px;position:relative;overflow:auto}.grille-niveaux{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.carte-niveau{text-align:left;color:inherit;cursor:pointer;background:oklch(20% .015 230/.95);border:1px solid oklch(58% .015 230/.6);border-radius:12px;flex-direction:column;gap:8px;padding:0 0 12px;display:flex;position:relative;overflow:hidden}.carte-niveau.verrou{opacity:.6;cursor:default}.carte-niveau.infini{border-color:oklch(86% .11 85/.8)}.carte-niveau .vignette{background-repeat:no-repeat;background-size:240%;height:80px;position:relative}.carte-niveau.infini .vignette{background-size:170%}.numero{border:1.5px solid var(--runique);background:oklch(17% .012 230/.92);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:800;display:flex;position:absolute;top:10px;left:10px}.carte-niveau.infini .numero{border-color:var(--or-prix);font-size:20px}.cadenas{text-align:center;background:oklch(12% .015 230/.65);justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:700;display:flex;position:absolute;inset:0}.texte-carte{flex-direction:column;gap:3px;padding:0 12px;display:flex}.texte-carte .nom{font-family:var(--titre);font-size:18px;font-weight:800;line-height:1.1}.texte-carte .sous{color:oklch(80% .015 220);text-wrap:pretty;font-size:14px}.pied-carte{justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.info{color:var(--texte-pale);font-size:13px}.rangee-etoiles{gap:2px;font-size:18px;line-height:1;display:flex}.scores{flex-direction:column;gap:2px;margin-top:4px;display:flex}.ligne-score{justify-content:space-between;gap:8px;font-size:14px;display:flex}#transition{z-index:100;opacity:0;pointer-events:none;background:#0b0f12;transition:opacity .28s linear;position:absolute;inset:0}#transition.noir{opacity:1;pointer-events:auto}#tourner{display:none}@media (orientation:portrait) and (width<=600px){#tourner{z-index:200;text-align:center;font-family:var(--titre);background:#11171b;justify-content:center;align-items:center;padding:32px;font-size:22px;font-weight:800;display:flex;position:absolute;inset:0}}@media (width<=760px){.compteurs .etiquette{display:none}.compteurs{gap:12px}.jauge{width:48px}.actions .bouton{padding:0 10px;font-size:15px}#hud-bas{gap:6px}.boutique{gap:4px}.article{width:46px}.article .image{width:42px}.bouton.lancer{padding:0 10px;font-size:15px}}
