:root{--bg:#150f2b;--bg2:#241a4a;--txt:#f4eeff;--mut:#cbbfe6;--or:#f2c14e;--or2:#b8862b;--rose:#ff8fb1;--ok:#7be0b2;--parch:#fbf3dc;--enc:#2a1f12}
*{box-sizing:border-box}
body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--txt);background:radial-gradient(circle at 20% 0,var(--bg2),var(--bg) 60%) fixed;min-height:100vh}
body>header,body>main,body>footer{max-width:62rem;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}
a{color:var(--or)}
.skip{position:absolute;left:-999px;top:0;background:var(--or);color:#000;padding:.5rem 1rem;z-index:10}.skip:focus{left:0}
:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px #7a4dff}
.proto{background:#fff3cd;color:#3a2e00;border:1px solid #e0c36a;border-radius:8px;padding:.5rem;font-weight:600;margin:.75rem 0}
.barre{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}
.marque{font-size:1.25rem;font-weight:700;text-decoration:none;color:var(--or)}.langue{border:1px solid var(--or);border-radius:999px;padding:.2rem .8rem;text-decoration:none}
.onglets{list-style:none;margin:.5rem 0;padding:0;display:flex;gap:.4rem;overflow-x:auto;flex-wrap:wrap}
.onglets a{display:block;padding:.45rem .8rem;border-radius:999px;background:#ffffff14;border:1px solid #ffffff30;color:var(--txt);text-decoration:none;white-space:nowrap}
.onglets a[aria-current=page]{background:var(--or);color:#201500;border-color:var(--or);font-weight:700}
main{padding-bottom:2rem}h1,h2,h3{line-height:1.2}h1,h2{color:var(--or)}
.intro{font-size:1.1rem}.note{font-size:.9em;color:var(--mut)}
.grandes{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;margin:1rem 0}
.grande{display:flex;flex-direction:column;align-items:center;gap:.15rem;text-align:center;padding:1rem .5rem;border-radius:14px;border:2px solid var(--or2);background:linear-gradient(160deg,#3b2a73,#1d1440);color:var(--txt);text-decoration:none;font:inherit;cursor:pointer;min-height:7.5rem;transition:transform .2s,box-shadow .2s}
.grande .ico{font-size:2.2rem}.grande:hover,.grande:focus-visible{transform:translateY(-3px);box-shadow:0 0 18px #f2c14e88}
.bloc{background:#ffffff0d;border:1px solid #ffffff22;border-radius:14px;padding:.75rem 1rem;margin:1rem 0}
.rangee{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}
.tuile{display:flex;align-items:center;gap:.4rem;padding:.55rem .9rem;min-height:2.75rem;border-radius:12px;border:2px solid #ffffff40;background:#ffffff12;color:var(--txt);font:inherit;cursor:pointer}
.tuile .ico{font-size:1.4rem}.tuile[aria-pressed=true]{border-color:var(--or);background:#f2c14e30;box-shadow:0 0 12px #f2c14e88;font-weight:700}
.pastilles{display:inline-flex;gap:.2rem}.grandes-pastilles{margin:.5rem 0;flex-wrap:wrap}
.pip{display:inline-block;width:1.05rem;height:1.05rem;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#ffd6e3 60%,var(--rose));border:1.5px solid #b34a6e}
.carte-qc{width:100%;max-width:26rem;height:auto;display:block;margin:.5rem auto}
.carte-qc .terre{fill:#33275f;stroke:var(--or);stroke-width:3}.carte-qc .fleuve{stroke:#6bb6ff;stroke-width:5;stroke-linecap:round;opacity:.7}
.carte-qc .reg{cursor:pointer}.carte-qc .reg circle{fill:#ffffff25;stroke:#fff;stroke-width:2}
.carte-qc .reg[aria-pressed=true] circle{fill:#f2c14e;stroke:#fff;stroke-width:3}
.carte-qc .pin{font-size:14px}.carte-qc .lbl{font-size:12px;fill:#fff;stroke:#150f2b;stroke-width:3px;paint-order:stroke}
.carte-qc .reg:focus-visible{outline:none}.carte-qc .reg:focus-visible circle{stroke:#7a4dff;stroke-width:5}
.nuages{font-size:16px}
.actions{display:flex;flex-wrap:wrap;gap:.5rem}
button,input,textarea{font:inherit}button{padding:.5rem 1rem;border-radius:10px;border:2px solid var(--or);background:var(--or);color:#201500;font-weight:700;cursor:pointer;min-height:2.75rem}
button.sec{background:transparent;color:var(--txt)}
input,textarea{border-radius:8px;border:2px solid #ffffff55;background:#0e0a20;color:var(--txt);padding:.45rem;max-width:100%}textarea{width:100%}
.total{color:var(--mut)}.retour{display:inline-block;margin-top:1rem}
/* Cartes */
.cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr));gap:1rem;margin:1rem 0}
.carte{--c1:#9aa3b2;--c2:#5b6372;border-radius:16px;padding:6px;background:linear-gradient(145deg,var(--c1),var(--c2));color:var(--enc);position:relative;transition:transform .25s,box-shadow .25s}
.carte:hover,.carte:focus-within{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 8px 22px #000a,0 0 18px var(--c1)}
.carte.rar-rare{--c1:#ffe08a;--c2:#b8862b}.carte.rar-legendaire{--c1:#ff9ad5;--c2:#7a4dff}
.cadre{background:var(--parch);border-radius:11px;padding:.5rem;height:100%;display:flex;flex-direction:column;gap:.35rem;position:relative;overflow:hidden}
.titre{display:flex;justify-content:space-between;gap:.4rem;align-items:flex-start;background:#eadfbd;border-radius:8px;padding:.25rem .45rem}
.titre h3{margin:0;font-size:.98rem;color:var(--enc)}.cout{display:inline-flex;gap:.15rem;flex-shrink:0;padding-top:.15rem}
.art{height:6.5rem;border-radius:8px;display:grid;place-items:center;border:2px solid #0003}.art span{font-size:3.6rem;filter:drop-shadow(0 3px 3px #0006)}
.art-printemps{background:linear-gradient(160deg,#c8f0b0,#6fcf97)}.art-ete{background:linear-gradient(160deg,#ffe7a0,#ffa94d)}.art-automne{background:linear-gradient(160deg,#ffc58a,#c0562a)}.art-hiver{background:linear-gradient(160deg,#d8ecff,#7ea6e0)}
.type{margin:0;font-size:.8rem;font-style:italic;background:#eadfbd;border-radius:6px;padding:.1rem .45rem}
.texte{background:#fffaf0;border:1px solid #d9c9a0;border-radius:6px;padding:.3rem .5rem;font-size:.88rem;flex:1}.texte p{margin:.25rem 0}
.corr{font-weight:700;color:#6a3d00}
.pied{display:flex;align-items:center;gap:.4rem;font-size:.78rem}.gemme{width:.8rem;height:.8rem;transform:rotate(45deg);background:#777;border:1px solid #333}
.rar-rare .gemme{background:var(--or)}.rar-legendaire .gemme{background:linear-gradient(135deg,#ff6ec7,#7a4dff)}.rar{font-weight:700}.ex{margin-left:auto;color:#7a2d00}
.jouer{font-size:.85rem;padding:.35rem .6rem;min-height:2.5rem;background:#2a1f12;color:#fbf3dc;border-color:#2a1f12}
.rar-legendaire .cadre::after,.rar-rare .cadre::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#ffffff66 50%,transparent 65%);background-size:250% 100%;background-position:150% 0;mix-blend-mode:soft-light}
/* Atelier */
.table{min-height:4.5rem;display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;border:2px dashed var(--or2);border-radius:14px;background:#0d3b2a55;align-items:center}
.main-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.5rem;margin:.5rem 0}
.mini{display:flex;align-items:center;gap:.4rem;background:var(--parch);color:var(--enc);border:2px solid #b8a36a;border-radius:10px;padding:.4rem .5rem;font-weight:600;text-align:left}
.mini .ico{font-size:1.4rem}.mini[aria-pressed=true]{background:#f2c14e;border-color:#fff;box-shadow:0 0 10px #f2c14e}.mini .x{margin-left:auto}
.rech{display:block;margin:.5rem 0}
.combo{position:relative;margin:.5rem 0;min-height:1.5rem;font-weight:700}
.combo.actif{padding:.6rem 1rem;border-radius:12px;color:#201500;background:linear-gradient(90deg,#ffe08a,#ff9ad5,#9ad0ff);box-shadow:0 0 22px #ffe08a}
.etincelle{display:none}
footer{color:var(--mut);font-size:.9em;padding-bottom:2rem}
/* Effets : uniquement si le mouvement est permis */
@media (prefers-reduced-motion:no-preference){
 .deal{animation:deal .5s cubic-bezier(.2,.8,.3,1) both}.d1{animation-delay:.07s}.d2{animation-delay:.14s}.d3{animation-delay:.21s}.d4{animation-delay:.28s}.d5{animation-delay:.35s}.d6{animation-delay:.42s}.d7{animation-delay:.49s}
 @keyframes deal{from{opacity:0;transform:translateY(24px) rotate(-6deg) scale(.9)}to{opacity:1;transform:none}}
 .rar-rare .cadre::after,.rar-legendaire .cadre::after{animation:holo 3.5s linear infinite}
 @keyframes holo{to{background-position:-100% 0}}
 .rar-legendaire{animation:lueur 2.4s ease-in-out infinite alternate}
 @keyframes lueur{from{box-shadow:0 0 6px #ff9ad5}to{box-shadow:0 0 22px #7a4dff}}
 .combo.actif{background-size:200% 100%;animation:arc 3s linear infinite}@keyframes arc{to{background-position:200% 0}}
 .combo.boom{animation:pop .5s ease-out,arc 3s linear infinite}@keyframes pop{0%{transform:scale(.8)}60%{transform:scale(1.06)}100%{transform:scale(1)}}
 .combo.boom .etincelle{display:block;position:absolute;left:50%;top:50%;width:.55rem;height:.55rem;border-radius:50%;background:#fff;box-shadow:0 0 8px #ffe08a;animation:fuse .8s ease-out both}
 .etincelle:nth-child(1){--x:-120px;--y:-40px}.etincelle:nth-child(2){--x:-70px;--y:-60px}.etincelle:nth-child(3){--x:-20px;--y:-70px}.etincelle:nth-child(4){--x:40px;--y:-65px}.etincelle:nth-child(5){--x:100px;--y:-45px}.etincelle:nth-child(6){--x:130px;--y:20px}.etincelle:nth-child(7){--x:-110px;--y:30px}.etincelle:nth-child(8){--x:0px;--y:50px}
 @keyframes fuse{from{opacity:1;transform:translate(0,0) scale(1)}to{opacity:0;transform:translate(var(--x),var(--y)) scale(.2)}}
 .mini.jouee{animation:deal .35s both}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-width:30rem){.onglets{flex-wrap:nowrap}}
.guide .tuile{min-width:12rem}.guide h3{color:var(--or);font-size:1.4rem}.guide .actions{margin:1rem 0}.guide .resume{padding-left:1.2rem}.guide .cartes{margin:1rem 0}
.guide .tuile[aria-pressed=true]{outline:3px solid var(--or)}

.avis{background:#fff3cd;color:#3a2e00;border:1px solid #e0c36a;border-radius:8px;padding:.6rem .8rem;margin:.75rem 0;font-weight:600}
.site-bar{display:flex;justify-content:space-between;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;padding:.5rem 0;border-bottom:1px solid #ffffff22}
.site-brand{font-weight:800;font-size:1.15rem;color:var(--txt);text-decoration:none;letter-spacing:-.02em}.site-brand span{color:var(--or)}
.site-end{display:flex;align-items:center;gap:.6rem 1rem;flex-wrap:wrap}
.site-nav{display:flex;gap:.3rem .75rem;flex-wrap:wrap;font-size:.9rem}.site-nav a{color:var(--txt)}
.lang-switch{display:flex;align-items:center;gap:.35rem}.lang-switch a{color:var(--txt);text-decoration:none;padding:.15rem .5rem;border:1px solid #ffffff40;border-radius:6px}.lang-switch a[aria-current=page]{background:var(--or);color:#201500;border-color:var(--or);font-weight:700}.lang-switch-sep{color:var(--mut)}
.titre-page{font-size:1.6rem;margin:.75rem 0 .25rem}
.edito{margin-top:2rem;padding-top:1rem;border-top:1px solid #ffffff22}.edito h3{color:var(--or)}
.liste-noms{columns:12rem;column-gap:1.5rem;padding-left:1.2rem}.liste-repas li{margin:.25rem 0}
