:root{--violet-950:#120d24;--violet-900:#1d1437;--violet-800:#2b1a4d;--pink:#e73f76;--pink-dark:#b92758;--lime:#c8dc22;--yellow:#f5b82e;--orange:#ef842b;--cream:#f5e8c4;--paper:#e5c98f;--ink:#231b22;--danger:#c93145;--shadow:rgba(12,8,22,.38);--title:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;--body:"Trebuchet MS",Arial,sans-serif}

*{box-sizing:border-box}
html{min-height:100%;background:var(--violet-950)}
body{min-height:100vh;margin:0;color:var(--ink);font-family:var(--body);background-color:#3a2b24;background-image:radial-gradient(circle at 15% 8%,rgba(231,63,118,.18),transparent 22rem),radial-gradient(circle at 90% 12%,rgba(200,220,34,.12),transparent 20rem),repeating-linear-gradient(88deg,rgba(255,255,255,.025) 0 2px,transparent 2px 8px),linear-gradient(135deg,#30241f,#4a382c 50%,#281d21)}
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.25;background-image:repeating-radial-gradient(circle at 30% 20%,transparent 0 3px,rgba(0,0,0,.12) 4px 5px);background-size:180px 160px}
a{color:inherit}
button,input,select,textarea{font:inherit}
button,.btn,a{-webkit-tap-highlight-color:transparent}
h1,h2,h3,legend,.display-title{margin-top:0;font-family:var(--title);font-weight:900;letter-spacing:.045em;line-height:1.02;text-transform:uppercase}
h1{font-size:clamp(2.1rem,6vw,4.2rem)}
h2{font-size:clamp(1.45rem,3vw,2.2rem)}

.topbar{position:sticky;top:0;z-index:1000;min-height:52px;display:grid;grid-template-columns:minmax(115px,155px) 1fr auto;align-items:center;gap:.8rem;padding:.3rem clamp(.75rem,2vw,2rem);color:var(--cream);background:linear-gradient(rgba(255,255,255,.025),transparent),var(--violet-950);border-bottom:4px solid var(--pink);box-shadow:0 7px 18px rgba(0,0,0,.38)}
.brand{display:block;text-decoration:none;transform:rotate(-1deg)}
.brand img{display:block;width:min(100%,143px);height:auto;filter:drop-shadow(0 3px 0 rgba(0,0,0,.35))}
.nav{display:flex;justify-content:center;align-items:stretch;gap:.2rem}
.nav a{position:relative;min-width:70px;padding:.62rem .62rem;color:var(--cream);text-align:center;text-decoration:none;font-family:var(--title);font-size:.96rem;letter-spacing:.055em;text-transform:uppercase;border-radius:7px 7px 0 0;transition:.18s ease}
.nav a:hover,.nav a:focus-visible{color:var(--yellow);background:rgba(255,255,255,.06);transform:translateY(-2px)}
.nav a.is-active{color:var(--yellow)}
.nav a.is-active::after{content:"";position:absolute;right:.65rem;bottom:-.45rem;left:.65rem;height:5px;background:var(--pink);transform:rotate(-2deg);clip-path:polygon(1% 30%,100% 0,96% 100%,0 70%)}
.account{display:flex;align-items:center;justify-content:flex-end;gap:.55rem}
.account-name{max-width:170px;overflow:hidden;color:var(--cream);font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.account form{margin:0}

.container{width:min(1180px,calc(100% - 2rem));margin:2rem auto 3rem}
.paper,.card{position:relative;margin-bottom:1.3rem;padding:clamp(1rem,2.5vw,1.6rem);color:var(--ink);background-color:var(--cream);background-image:radial-gradient(circle at 12% 17%,rgba(112,72,32,.08) 0 1px,transparent 2px),repeating-linear-gradient(0deg,transparent 0 26px,rgba(112,72,32,.035) 27px 28px);border:2px solid #7c5a31;border-radius:4px 8px 5px 3px;box-shadow:0 12px 28px var(--shadow),inset 0 0 28px rgba(118,77,36,.12)}
.card::before,.paper::before{content:"";position:absolute;inset:5px;pointer-events:none;border:1px dashed rgba(80,52,31,.2)}
.card>*,.paper>*{position:relative;z-index:1}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1rem}
.grid>.card{height:100%;transition:.18s ease}
a.card{display:block;text-decoration:none}
a.card:hover{transform:translateY(-5px) rotate(-.5deg);box-shadow:0 17px 30px rgba(0,0,0,.42)}

.btn,button{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1.15rem;color:var(--ink);font-family:var(--title);font-size:1.05rem;letter-spacing:.045em;text-decoration:none;text-transform:uppercase;background:var(--lime);border:2px solid var(--ink);border-radius:5px;box-shadow:4px 4px 0 var(--ink);cursor:pointer;transform:rotate(-.45deg);transition:.12s ease}
.btn:hover,button:hover{filter:brightness(1.07);transform:translate(2px,2px) rotate(.2deg);box-shadow:2px 2px 0 var(--ink)}
.btn:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:4px solid var(--yellow);outline-offset:3px}
.btn.pink{color:#fff;background:var(--pink)}
.btn.cream{background:var(--cream)}
.btn.danger,.btn.admin{color:#fff;background:var(--danger)}
.topbar button,.topbar .btn{min-height:38px;padding:.5rem .75rem;font-size:.88rem;box-shadow:3px 3px 0 #07040d}
.install-app{background:var(--yellow)}

label{display:block;margin:.8rem 0 .28rem;font-weight:900}
input,select,textarea{width:100%;padding:.72rem .8rem;color:var(--ink);background:rgba(255,255,255,.75);border:2px solid #82633e;border-radius:4px;box-shadow:inset 2px 2px 0 rgba(58,38,25,.1)}
input[type=checkbox]{width:auto;accent-color:var(--pink)}
fieldset{min-width:0}
legend{padding:.15rem .55rem;color:var(--violet-900);font-size:1.4rem}
.flash{position:relative;padding:.9rem 1rem;margin-bottom:1rem;font-weight:900;background:var(--lime);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);transform:rotate(-.3deg)}
.flash.error,.error{background:#f5a8a3}
.muted{color:#705e50}
.stamp{display:inline-block;padding:.25rem .55rem;color:var(--pink-dark);font-family:var(--title);font-size:.92rem;letter-spacing:.12em;text-transform:uppercase;border:3px double currentColor;transform:rotate(-2deg)}

.visitor-hero{display:grid;grid-template-columns:minmax(230px,.68fr) minmax(0,1.55fr);gap:clamp(1rem,3vw,2rem);align-items:stretch;margin:1rem 0 1.5rem}
.join-note{transform:rotate(-1deg)}
.join-note h1{font-size:clamp(2rem,4vw,3.25rem)}
.join-actions{display:grid;gap:.8rem;margin-top:1.4rem}
.join-actions .btn{width:100%}
.specimen-board{position:relative;overflow:hidden;min-height:430px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(1.3rem,4vw,3rem);color:var(--cream);text-align:left;background-image:linear-gradient(90deg,rgba(18,13,36,.94) 0,rgba(18,13,36,.76) 38%,rgba(18,13,36,.12) 72%),url('/assets/social/facebook-cover-1640x624.jpg');background-size:cover;background-position:center;border:8px solid #6b4c2e;box-shadow:inset 0 0 0 3px #17100c,0 16px 30px rgba(0,0,0,.42);transform:rotate(.35deg)}
.specimen-board::before{content:"TOP SECRET";position:absolute;top:1rem;right:-2rem;padding:.4rem 2.5rem;color:var(--pink);font-family:var(--title);font-size:1.15rem;letter-spacing:.14em;border:3px solid currentColor;transform:rotate(12deg);opacity:.9}
.specimen-board .display-title{max-width:60%;margin:.35rem 0;font-size:clamp(3rem,7vw,6.4rem);text-shadow:4px 4px 0 #09070d}
.specimen-board .tagline{margin:0 0 1.5rem;color:var(--pink);font-family:var(--title);font-size:clamp(1.7rem,4vw,3rem);letter-spacing:.045em;text-transform:uppercase}
.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;width:min(72%,720px);margin-top:1rem}
.feature-strip div{padding:.8rem .55rem;color:var(--cream);border-top:2px dashed rgba(245,232,196,.35)}
.feature-strip strong{display:block;color:var(--yellow);font-family:var(--title);font-size:1.2rem;letter-spacing:.04em;text-transform:uppercase}
.section-ribbon{display:inline-block;margin:0 0 .9rem -.4rem;padding:.45rem 1.2rem;color:#fff;font-family:var(--title);font-size:1.35rem;letter-spacing:.06em;text-transform:uppercase;background:var(--pink);clip-path:polygon(0 12%,100% 0,97% 90%,2% 100%)}

table{width:100%;border-collapse:collapse}
th,td{padding:.65rem;text-align:left;border-bottom:1px solid rgba(61,43,28,.2)}
th{color:var(--violet-900);font-family:var(--title);letter-spacing:.045em;text-transform:uppercase}
.footer{padding:2rem 1rem calc(2rem + env(safe-area-inset-bottom));color:var(--cream);text-align:center;background:var(--violet-950);border-top:5px solid var(--lime)}
.footer::before{content:"BUREAU DES ANOMALIES";display:block;margin-bottom:.8rem;color:var(--yellow);font-family:var(--title);font-size:1.15rem;letter-spacing:.12em}
.footer a{display:inline-block;margin:.25rem .55rem;color:var(--cream)}
.footer a:hover{color:var(--yellow)}
.debug-panel{margin-top:0;color:#d7f3d5;background:#0d0c12;border-top:6px solid var(--pink);font:12px/1.45 ui-monospace,monospace}
.debug-panel summary{padding:.8rem;font-weight:800;cursor:pointer}
.debug-panel details details{border-top:1px solid #35313d}
.debug-panel pre{max-height:420px;padding:1rem;overflow:auto;white-space:pre-wrap;word-break:break-word}
body.mode-admin .topbar{border-bottom-color:var(--yellow)}
body.mode-admin .nav a.is-active::after{background:var(--yellow)}
body.mode-member .topbar{border-bottom-color:var(--lime)}
body.mode-member .nav a.is-active::after{background:var(--lime)}

@media(max-width:920px){.topbar{grid-template-columns:minmax(160px,220px) 1fr}
.nav{grid-column:1/-1;order:3;overflow-x:auto;justify-content:flex-start;scrollbar-width:thin}
.account{justify-self:end}
.visitor-hero{grid-template-columns:1fr}
.join-note{transform:none}
}

@media(max-width:680px){body{padding-bottom:calc(68px + env(safe-area-inset-bottom))}
.topbar{min-height:72px;grid-template-columns:minmax(135px,190px) 1fr;padding:.35rem .55rem;border-bottom-width:3px}
.brand img{max-height:62px;width:auto;max-width:100%}
.account-name{display:none}
.account{gap:.3rem}
.topbar .btn,.topbar button{min-height:34px;padding:.35rem .48rem;font-size:.72rem;box-shadow:2px 2px 0 #07040d}
.nav{position:fixed;right:0;bottom:0;left:0;z-index:1100;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(76px,1fr);gap:0;padding-bottom:env(safe-area-inset-bottom);background:var(--violet-950);border-top:3px solid var(--pink);box-shadow:0 -6px 16px rgba(0,0,0,.35)}
.nav a{min-width:0;padding:.78rem .25rem;font-size:.78rem;border-right:1px solid rgba(255,255,255,.08);border-radius:0}
.nav a.is-active::after{right:20%;bottom:auto;left:20%;top:0;height:4px}
.container{width:min(100% - .75rem,1180px);margin:.75rem auto 1.5rem}
.visitor-hero{gap:.7rem;margin-top:.25rem}
.specimen-board{min-height:430px;align-items:center;text-align:center;border-width:5px;transform:none;background-image:linear-gradient(0deg,rgba(18,13,36,.92),rgba(18,13,36,.38)),url('/assets/social/facebook-cover-1640x624.jpg');background-position:62% center}
.specimen-board::before{font-size:.8rem}
.specimen-board .display-title{max-width:100%}
.feature-strip{grid-template-columns:1fr;width:100%}
.feature-strip div{padding:.5rem}
.footer{padding-bottom:1.5rem}
table{min-width:680px}
}

@media(display-mode:standalone){.topbar{padding-top:calc(.55rem + env(safe-area-inset-top))}
.install-app{display:none!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}
}


/* Profil joueur */
.profile-hero{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:1.35rem;align-items:center;overflow:hidden}
.profile-avatar{aspect-ratio:1;overflow:hidden;padding:.35rem;background:var(--yellow);border:4px solid var(--ink);border-radius:50% 44% 48% 46%;box-shadow:7px 7px 0 var(--pink);transform:rotate(-2deg)}
.profile-avatar img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit;background:var(--violet-900)}
.profile-identity h1{margin:.35rem 0;font-size:clamp(2.4rem,6vw,4.8rem)}
.profile-identity p{margin:.4rem 0}
.profile-actions,.reaction-form{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:1rem}
.reaction-form{margin-top:0}
.reaction-form .pink{color:#fff;background:var(--pink)}
.reaction-form .is-selected{outline:4px solid var(--yellow);outline-offset:3px}
.profile-reputation{display:grid;grid-template-columns:auto auto;gap:.2rem .55rem;align-items:baseline;padding:1rem;color:var(--cream);background:var(--violet-900);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--pink);transform:rotate(1deg)}
.profile-reputation strong{color:var(--yellow);font:2rem/1 var(--title)}
.profile-reputation span{font-weight:900}
.profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.3rem}
.profile-stats>.card{height:100%;margin:0}
.big-stat{display:block;color:var(--violet-900);font:clamp(3rem,8vw,5.2rem)/.95 var(--title)}
.progress-track{height:18px;overflow:hidden;background:#aa8d5c;border:2px solid var(--ink);transform:rotate(-.4deg)}
.progress-track span{display:block;height:100%;min-width:0;background:linear-gradient(90deg,var(--pink),var(--yellow),var(--lime))}
.currency-stat{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;padding:.7rem 0;border-bottom:2px dashed rgba(35,27,34,.25)}
.currency-stat strong{color:var(--violet-900);font:2rem/1 var(--title)}
.copy-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}
.copy-field button{padding:.55rem .75rem}
.score-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.8rem}
.score-list article{padding:1rem;color:var(--cream);background:var(--violet-900);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--pink)}
.score-list h2{margin-bottom:.55rem;font-size:1.35rem}
.score-list strong,.score-list span{display:block}
.score-list strong{color:var(--yellow);font:1.8rem/1.1 var(--title)}
.score-list span{margin-top:.35rem;color:var(--cream)}
.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:.8rem}
.avatar-choice{position:relative;margin:0;padding:.55rem;text-align:center;background:rgba(255,255,255,.45);border:3px solid transparent;cursor:pointer}
.avatar-choice:has(input:checked){border-color:var(--pink);box-shadow:4px 4px 0 var(--ink)}
.avatar-choice input{position:absolute;width:1px;height:1px;opacity:0}
.avatar-choice img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--violet-900);border:2px solid var(--ink)}
.avatar-choice span{display:block;margin-top:.4rem;font-weight:900}
.changelog-entry>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.changelog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.changelog-section{padding:1rem;border:2px solid var(--ink);background:rgba(255,255,255,.38)}
.changelog-section h3{margin-bottom:.6rem}
.changelog-section.added{border-left:9px solid var(--lime)}
.changelog-section.changed{border-left:9px solid var(--yellow)}
.changelog-section.fixed{border-left:9px solid #62b6ff}
.changelog-section.removed{border-left:9px solid var(--pink)}
.changelog-section li+li{margin-top:.4rem}


@media(max-width:920px){.profile-hero{grid-template-columns:125px minmax(0,1fr)}
.profile-reputation{grid-column:1/-1;display:flex;justify-content:center}
.profile-stats{grid-template-columns:1fr 1fr}
.profile-stats>:last-child{grid-column:1/-1}
.topbar{grid-template-columns:minmax(100px,130px) 1fr}
}

@media(max-width:680px){.topbar{min-height:44px;grid-template-columns:minmax(72px,100px) 1fr;padding:.2rem .55rem}
.brand img{max-height:31px;width:auto;max-width:100%}
.nav{grid-auto-columns:minmax(65px,1fr)}
.profile-hero{grid-template-columns:88px minmax(0,1fr);gap:.8rem}
.profile-avatar{box-shadow:4px 4px 0 var(--pink)}
.profile-identity h1{font-size:2.25rem}
.profile-reputation{grid-column:1/-1}
.profile-actions,.reaction-form{align-items:stretch}
.profile-actions>.btn,.reaction-form button{flex:1}
.profile-stats{grid-template-columns:1fr}
.profile-stats>:last-child{grid-column:auto}
.copy-field{grid-template-columns:1fr}
.changelog-grid{grid-template-columns:1fr}
.avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* Bureau interactif */
.bureau-intro{margin-bottom:.7rem;color:var(--cream)}
.bureau-intro h1{margin:.35rem 0 .15rem;font-size:clamp(2rem,4vw,3.8rem)}
.bureau-intro p{margin:0}
.bureau-scene{position:relative;isolation:isolate;overflow:hidden;background:#17101d;border:5px solid var(--cream);border-radius:12px;box-shadow:0 25px 65px rgba(0,0,0,.45);user-select:none}
.bureau-scene>img{display:block;width:100%;height:auto;pointer-events:none}
.bureau-hotspots{position:absolute;z-index:4;inset:0;width:100%;height:100%}
.bureau-hotspot{cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}
.hotspot-hit{fill:rgba(255,255,255,.001);stroke:rgba(255,255,255,.001);stroke-width:24;vector-effect:non-scaling-stroke;pointer-events:all}
.hotspot-aura{fill:transparent;stroke:var(--lime);stroke-width:3.2;vector-effect:non-scaling-stroke;filter:url(#bureau-glow);opacity:0;pointer-events:none}
.bureau-hotspot:hover .hotspot-aura,.bureau-hotspot:focus .hotspot-aura,.bureau-hotspot.is-active .hotspot-aura{opacity:1;animation:bureau-aura 1.25s ease-in-out infinite}
.bureau-hotspot.is-locked{cursor:not-allowed}
.bureau-hotspot.is-locked .hotspot-aura{stroke:var(--pink)}
.bureau-popover{position:absolute;z-index:20;width:min(310px,calc(100% - 24px));padding:14px 16px;color:var(--ink);background:var(--cream);border:3px solid var(--ink);border-radius:12px 5px;box-shadow:7px 7px 0 var(--pink),0 14px 36px rgba(0,0,0,.34);transform:translate(-50%,calc(-100% - 18px));pointer-events:none}
.bureau-popover.is-below{transform:translate(-50%,18px)}
.bureau-popover small{display:block;color:var(--pink-dark);font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.bureau-popover strong{display:block;margin:.2rem 0;font:1.7rem/1 var(--title);text-transform:uppercase}
.bureau-popover p{margin:.35rem 0}
.bureau-popover span{font-weight:900;text-transform:uppercase}
.bureau-touch-note{display:none;color:var(--cream);text-align:center}
@keyframes bureau-aura{0%,100%{opacity:.7;stroke-width:2.6}
50%{opacity:1;stroke-width:4.4}
}


/* Album de collection */
.album-toolbar{display:grid;grid-template-columns:1fr minmax(220px,34%);align-items:end;gap:1rem}
.album-toolbar h1{margin:.35rem 0;font-size:clamp(2.2rem,5vw,4.5rem)}
.album-progress{height:28px;overflow:hidden;background:#92734b;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--pink);transform:rotate(-1deg)}
.album-progress span{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--yellow),var(--lime))}
.collector-album{position:relative}
.album-pages{position:relative;min-height:min(760px,78vh)}
.album-sheet{position:absolute;inset:0;display:none;overflow:auto;padding:clamp(1rem,3vw,2rem);background-color:#e5c98f;background-image:radial-gradient(circle at 20% 30%,rgba(80,44,12,.09) 0 1px,transparent 2px),repeating-linear-gradient(88deg,transparent 0 32px,rgba(82,50,20,.035) 33px 34px);border:6px solid #65421f;box-shadow:inset 0 0 45px rgba(74,39,10,.22),0 20px 45px rgba(0,0,0,.45)}
.album-sheet.is-current{display:grid;animation:album-open .25s ease-out}
.album-cover{place-items:center;padding:0;background:#17101d}
.album-cover>img{width:100%;height:100%;object-fit:cover}
.album-cover>div{position:absolute;right:6%;bottom:7%;left:6%;padding:1rem;color:var(--cream);text-align:center;background:rgba(18,13,36,.9);border:4px solid var(--yellow)}
.album-cover strong,.album-cover span,.album-cover small{display:block}
.album-cover strong{font:clamp(2.2rem,6vw,5rem)/1 var(--title);text-transform:uppercase}
.album-cover span,.album-cover small{font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.page-stamp{position:absolute;right:1rem;top:1rem;color:var(--pink-dark);font:1rem var(--title);letter-spacing:.12em;transform:rotate(4deg)}
.album-sheet:not(.album-cover){grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(180px,1fr);gap:1rem}
.album-card{position:relative;min-width:0;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:#f3e2b8;border:3px solid var(--ink);box-shadow:6px 7px 0 rgba(35,27,34,.75);transform:rotate(-1deg)}
.album-card:nth-of-type(even){transform:rotate(1.2deg)}
.layout-2 .album-card{grid-column:span 3}
.layout-3 .album-card{grid-column:span 2}
.layout-4 .album-card{grid-column:span 3}
.layout-5 .album-card{grid-column:span 2}
.layout-5 .album-card:nth-of-type(4),.layout-5 .album-card:nth-of-type(5){grid-column:span 3}
.card-visual{position:relative;min-height:0;overflow:hidden;background:var(--violet-900)}
.card-visual img{display:block;width:100%;height:100%;object-fit:cover}
.format-landscape .card-visual{aspect-ratio:1.45}
.format-square .card-visual{aspect-ratio:1}
.format-portrait .card-visual{aspect-ratio:.76}
.card-number,.duplicate-badge{position:absolute;padding:.28rem .45rem;color:var(--cream);font:1rem var(--title);background:var(--violet-950);border:2px solid var(--cream)}
.card-number{left:.35rem;top:.35rem}
.duplicate-badge{right:.35rem;top:.35rem;color:var(--ink);background:var(--yellow);border-color:var(--ink)}
.card-clue{height:100%;min-height:180px;display:grid;place-content:center;gap:.5rem;padding:1rem;color:var(--cream);text-align:center;background:radial-gradient(circle,var(--violet-800),var(--violet-950))}
.card-clue b{font:5rem/1 var(--title);color:var(--pink)}
.card-clue span{font-weight:900}
.album-card figcaption{display:grid;gap:.3rem;padding:.65rem}
.album-card figcaption strong{font:1.25rem/1 var(--title);text-transform:uppercase}
.album-card figcaption span{font-size:.85rem}
.album-card figcaption a{color:var(--pink-dark);font-weight:900}
.album-controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;color:var(--cream);background:var(--violet-950);border:4px solid #65421f}
.album-controls strong{font:1.4rem var(--title)}
.poster-sheet,.sticker-sheet{display:none!important;grid-template-columns:1fr!important;grid-template-rows:auto 1fr auto!important}
.poster-sheet.is-current,.sticker-sheet.is-current{display:grid!important}
.poster-sheet h2,.sticker-sheet h2{font-size:clamp(2rem,5vw,4rem)}
.hubert-poster{align-self:start;display:grid;grid-template-columns:repeat(3,1fr);max-width:680px;margin:auto;border:5px solid var(--ink)}
.poster-piece{aspect-ratio:1.22;display:grid;place-items:center;overflow:hidden;background:var(--violet-900)}
.poster-piece img{width:100%;height:100%;display:block}
.poster-piece.is-missing span,.sticker-slot.is-missing span{color:var(--pink);font:3rem var(--title)}
.sticker-showcase{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;align-items:center}
.sticker-slot{aspect-ratio:1;display:grid;place-items:center;overflow:hidden}
.sticker-slot img{max-width:100%;max-height:100%;filter:drop-shadow(5px 5px 2px rgba(0,0,0,.35))}
@keyframes album-open{from{opacity:.3;transform:perspective(1000px) rotateY(-8deg)}
to{opacity:1;transform:none}
}


/* Administration */
.admin-filter{display:grid;grid-template-columns:1fr 220px auto;gap:.7rem;align-items:end}
.admin-table-wrap{overflow:auto}
.admin-table{min-width:1050px}
.admin-table td{vertical-align:top}
.admin-table small{display:block;margin-top:.3rem}
.moderation-form{display:grid;gap:.35rem;min-width:220px}
.moderation-form button{font-size:.78rem}
.status-badge{display:inline-block;padding:.25rem .45rem;font-weight:900;text-transform:uppercase;border:2px solid var(--ink)}
.status-active{background:var(--lime)}
.status-pending{background:var(--yellow)}
.status-suspended{background:#f0a45c}
.status-banned{color:#fff;background:var(--danger)}
.admin-reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.admin-reward-grid>.card{height:100%}
.admin-submit{grid-column:1/-1;text-align:center}
.rarity-summary{display:flex;flex-wrap:wrap;gap:.6rem}
.rarity{display:grid;min-width:120px;padding:.6rem;color:var(--cream);background:var(--violet-900);border:2px solid var(--ink);text-align:center}
.rarity b{color:var(--yellow);font:2rem var(--title)}
.rarity-collector,.rarity-hyper_rare{background:var(--pink-dark)}


@media(max-width:850px){.bureau-popover{position:fixed;left:12px!important;right:12px;top:auto!important;bottom:max(82px,calc(12px + env(safe-area-inset-bottom)));width:auto;transform:none!important}
.bureau-touch-note{display:block}
.hotspot-hit{stroke-width:42}
.album-toolbar{grid-template-columns:1fr}
.album-pages{min-height:72vh}
.album-sheet:not(.album-cover){grid-template-columns:1fr;grid-auto-rows:auto}
.layout-2 .album-card,.layout-3 .album-card,.layout-4 .album-card,.layout-5 .album-card,.layout-5 .album-card:nth-of-type(4),.layout-5 .album-card:nth-of-type(5){grid-column:auto}
.album-card{grid-template-columns:minmax(110px,42%) 1fr;grid-template-rows:1fr;min-height:210px;transform:none!important}
.album-card .card-visual{height:100%;aspect-ratio:auto}
.album-card figcaption{align-content:center}
.sticker-showcase{grid-template-columns:repeat(3,1fr)}
.admin-filter{grid-template-columns:1fr}
.admin-reward-grid{grid-template-columns:1fr}
.admin-submit{grid-column:auto}
}


/* Salle des jeux et mini-jeux */
.game-hub-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.game-hub-head aside{display:grid;gap:.3rem;min-width:150px;padding:1rem;color:var(--cream);text-align:center;background:var(--violet-900);border:3px solid var(--ink);box-shadow:5px 5px 0 var(--pink)}
.game-hub-head aside strong{color:var(--yellow);font:2rem var(--title)}
.game-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.game-hub-card{overflow:hidden}
.game-hub-card .game-icon{float:right;font-size:3rem}
.game-hub-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}
.game-hub-card dl div{padding:.5rem;text-align:center;background:rgba(35,27,34,.08);border:1px dashed var(--ink)}
.game-hub-card dt{font-size:.75rem;font-weight:900;text-transform:uppercase}
.game-hub-card dd{margin:.2rem 0 0;font-weight:900}
.game-page{color:var(--cream)}
.game-titlebar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
.game-titlebar h1{margin:.35rem 0}
.game-wallet{display:flex;gap:.5rem}
.game-wallet span{min-width:110px;padding:.65rem;text-align:center;background:var(--violet-900);border:2px solid var(--cream)}
.game-wallet b,.game-wallet small{display:block}
.game-wallet b{color:var(--yellow);font:1.6rem var(--title)}
.game-hud{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:.35rem;padding:.55rem;background:var(--violet-950);border:3px solid var(--cream)}
.game-hud>div{display:grid;gap:.2rem;min-height:62px;padding:.45rem;text-align:center;background:var(--violet-800);border:1px solid rgba(255,255,255,.2)}
.game-hud small{text-transform:uppercase}
.game-hud b{color:var(--yellow);font:1.55rem var(--title)}
.game-hud i,.jet-meter div{height:9px;overflow:hidden;background:#120d24;border:1px solid var(--cream)}
.game-hud i span,.jet-meter i{display:block;height:100%;background:var(--lime)}
.game-canvas-wrap{position:relative;overflow:hidden;width:100%;margin-bottom:1rem;background:#080611;border:5px solid var(--cream);box-shadow:0 18px 40px rgba(0,0,0,.45)}
.game-canvas-wrap.square{max-width:760px;margin-inline:auto}
.game-canvas-wrap canvas{display:block;width:100%;height:auto;touch-action:none}
.sound{position:absolute;z-index:5;right:.6rem;top:.6rem;min-height:32px;padding:.3rem .55rem;font-size:.72rem}
.game-overlay{position:absolute;z-index:4;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(18,13,36,.82)}
.game-overlay[hidden],.game-result[hidden]{display:none}
.game-panel{max-width:620px;padding:clamp(1rem,4vw,2rem);color:var(--ink);text-align:center;background:var(--cream);border:4px solid var(--ink);box-shadow:8px 8px 0 var(--pink);transform:rotate(-.5deg)}
.game-panel>strong,.game-result>strong{display:block;color:var(--pink-dark);font:clamp(3rem,9vw,6rem)/1 var(--title)}
.key-help,.machine-controls,.mobile-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem 0}
.key-help span{padding:.45rem;background:rgba(35,27,34,.1);font-weight:900}
.machine-controls button{flex:1;min-width:130px}
.machine-controls button kbd,.machine-controls button span{display:block}
.ice-stage{display:grid;grid-template-columns:220px minmax(0,760px);justify-content:center;gap:1rem}
.game-side{padding:1rem;color:var(--ink);background:var(--cream);border:3px solid var(--ink)}
.thermo{height:160px;width:28px;margin:auto;background:#a6d9f0;border:3px solid var(--ink)}
.thermo span{display:block;width:100%;height:30%;margin-top:112px;background:var(--pink)}
.coffee-machine{position:relative;max-width:840px;margin:auto;padding:1rem;background:#573a27;border:6px solid var(--cream)}
.coffee-stage{display:grid;place-items:center;min-height:580px}
.coffee-machine-body{position:relative;width:min(100%,520px);min-height:500px;padding:2rem;text-align:center;background:#8c273d;border:8px solid var(--ink);border-radius:35px}
.coffee-logo{font:2rem var(--title)}
.coffee-nozzle{width:70px;height:60px;margin:1rem auto 0;background:#222;border:5px solid #111}
.coffee-stream{width:16px;height:120px;margin:auto;background:transparent}
.coffee-stream.is-on{background:#54260e}
.cup-wrap{position:relative;width:170px;height:180px;margin:-2px auto 1rem}
.cup{position:absolute;inset:0;overflow:hidden;background:#f5e8c4;border:7px solid var(--ink);border-radius:8px 8px 42px 42px}
.coffee-fill{position:absolute;right:0;bottom:0;left:0;height:0;background:#54260e}
.target-line{position:absolute;z-index:2;right:0;bottom:92%;left:0;border-top:5px dashed var(--yellow)}
.cup-label{position:absolute;z-index:3;inset:42% 0 auto;font:2rem var(--title)}
.jet-meter{display:grid;grid-template-columns:auto 1fr auto;gap:.5rem;align-items:center}
.coffee-feedback{min-height:2.2rem;margin:.6rem;font-weight:900}
.coffee-button{display:grid;margin:auto}
.game-result{padding:1rem;text-align:center;background:var(--cream);color:var(--ink)}
.game-modal{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:1rem;background:rgba(18,13,36,.9)}
.game-modal[hidden]{display:none}
.game-modal>div{max-width:520px;padding:2rem;text-align:center;background:var(--cream);color:var(--ink);border:5px solid var(--ink);box-shadow:9px 9px 0 var(--pink)}
.ranking-strip{display:flex;gap:.5rem;overflow:auto;margin:1rem 0;padding:.6rem}
.rank-player{min-width:145px;padding:.6rem;background:var(--cream);color:var(--ink);border:2px solid var(--ink)}
.mobile-controls{display:none}

@media(max-width:760px){.game-hub-grid{grid-template-columns:1fr}
.game-hub-head,.game-titlebar{align-items:stretch;flex-direction:column}
.game-wallet span{flex:1}
.game-hud{grid-template-columns:repeat(3,1fr)}
.ice-stage{grid-template-columns:1fr}
.game-side{order:2}
.machine-controls button{min-width:45%}
.mobile-controls{display:flex;position:sticky;bottom:78px;z-index:10}
.mobile-controls button{flex:1;min-height:58px}
.coffee-stage{min-height:510px}
.coffee-machine-body{min-height:460px;padding:1rem}
.game-page .btn{width:100%}
}


/* Album papier grand format — série 1 */
.album-mode .container{width:calc(100% - 1rem);max-width:none;margin:.55rem auto 1.2rem}
.album-app{color:var(--ink)}
.album-stage{display:grid;grid-template-columns:clamp(40px,4.5vw,72px) minmax(0,1fr) clamp(40px,4.5vw,72px);align-items:center;gap:.35rem}
.album-book{position:relative;isolation:isolate;overflow:hidden;width:100%;height:clamp(610px,calc(100vh - 145px),920px);background:#c69a5f;border:7px solid #4d2e18;border-radius:12px 9px 11px 8px;box-shadow:0 24px 60px rgba(0,0,0,.55),inset 0 0 40px rgba(50,24,8,.3)}
.album-book::before{content:"";position:absolute;z-index:8;inset:0;pointer-events:none;box-shadow:inset 0 0 28px rgba(65,31,11,.38)}
.album-spine{position:absolute;z-index:9;top:0;bottom:0;left:50%;width:18px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(50,25,10,.25),rgba(255,244,205,.4) 42%,rgba(48,23,8,.34));box-shadow:0 0 12px rgba(45,20,7,.45);pointer-events:none}
.album-spread{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;animation:album-open .24s ease-out}
.album-spread[hidden]{display:none}
.album-half{position:relative;min-width:0;overflow:hidden;padding:clamp(.75rem,1.5vw,1.45rem);background-color:#ead49e}
.album-half:first-child{border-right:1px solid rgba(87,48,19,.35)}
.album-paper{background-image:radial-gradient(circle at 18% 23%,rgba(77,42,17,.16) 0 1px,transparent 2px),repeating-linear-gradient(87deg,transparent 0 31px,rgba(89,52,21,.035) 32px 33px),linear-gradient(128deg,rgba(255,255,255,.16),transparent 45%)}
.album-paper.theme-2{background-color:#d8c890}
.album-paper.theme-3{background-color:#e4b985}
.album-paper.theme-4{background-color:#c8d0a0}
.album-paper.theme-5{background-color:#d5b18e}
.album-paper.theme-6{background-color:#d9ceac}
.album-paper.theme-7{background-color:#c8b28b}
.album-paper.theme-8{background-color:#e3c993}
.album-watermark{position:absolute;inset:15% 9% 18%;opacity:.055;background-image:var(--watermark);background-repeat:no-repeat;background-position:center;background-size:contain;filter:grayscale(1) sepia(1);transform:rotate(-9deg)}
.album-page-head{position:relative;z-index:3;max-width:82%;padding-left:.5rem}
.album-page-head span{position:absolute;right:-17%;top:-.3rem;padding:.22rem .42rem;color:#a32836;font:clamp(.58rem,.8vw,.78rem) var(--title);letter-spacing:.1em;border:3px double currentColor;transform:rotate(5deg)}
.album-page-head h2{margin:0;font-size:clamp(1.1rem,1.65vw,1.75rem)}
.album-page-head p{margin:.2rem 0;font-size:clamp(.65rem,.9vw,.9rem);font-style:italic}
.album-card-grid{position:absolute;z-index:4;top:18%;right:5%;bottom:20%;left:5%;display:grid;gap:clamp(.35rem,.7vw,.7rem);align-items:stretch}
.album-card-grid.count-3{grid-template-columns:1fr 1fr}
.album-card-grid.count-3 .collector-card:first-child{grid-row:span 2}
.album-card-grid.count-4{grid-template-columns:1fr 1fr}
.album-card-grid.count-5{grid-template-columns:repeat(6,1fr)}
.album-card-grid.count-5 .collector-card{grid-column:span 2}
.album-card-grid.count-5 .collector-card:nth-child(4),.album-card-grid.count-5 .collector-card:nth-child(5){grid-column:span 3}
.album-card-grid.count-6{grid-template-columns:repeat(3,1fr)}
.collector-card{position:relative;min-width:0;min-height:0;padding:0;overflow:hidden;background:#d6bc85;border:2px solid #3b2818;border-radius:2px;box-shadow:3px 4px 0 rgba(49,29,16,.52);transform:rotate(-.8deg)}
.collector-card:nth-child(even){transform:rotate(.75deg)}
.collector-card:hover{z-index:7;filter:none;transform:scale(1.035) rotate(0);box-shadow:5px 7px 0 rgba(49,29,16,.62)}
.collector-card img{display:block;width:100%;height:100%;object-fit:contain;background:#22152f}
.collector-card.is-missing{background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 9px,transparent 9px 18px),#37244b}
.album-mystery{height:100%;display:grid;place-content:center;gap:.25rem;padding:.45rem;color:var(--cream);text-align:center}
.album-mystery b{color:var(--pink);font:clamp(2.5rem,5vw,6rem)/.8 var(--title)}
.album-mystery small{font-family:var(--body);font-size:clamp(.55rem,.75vw,.75rem);text-transform:none}
.card-slot-number,.card-rarity,.card-condition,.card-copies,.card-like-count{position:absolute;z-index:2;padding:.18rem .32rem;line-height:1;color:#fff;background:rgba(18,13,36,.92);border:1px solid rgba(255,255,255,.6);box-shadow:none}
.card-slot-number{left:.22rem;top:.22rem;font:.68rem var(--title)}
.card-rarity{right:.22rem;top:.22rem;font:.6rem var(--title);text-transform:uppercase}
.card-condition{left:.22rem;bottom:.22rem;font:700 .56rem var(--body)}
.card-copies{right:.22rem;bottom:1.35rem;color:var(--ink);background:var(--yellow);border-color:var(--ink);font:1rem var(--title)}
.card-like-count{right:.22rem;bottom:.22rem;font:700 .62rem var(--body)}
.card-rarity.rarity-uncommon{background:#327452}
.card-rarity.rarity-rare{background:#235ba5}
.card-rarity.rarity-epic{background:#7e359f}
.card-rarity.rarity-legendary{color:#28190d;background:#e0a526}
.card-rarity.rarity-hyper_rare,.card-rarity.rarity-collector{background:#b92758}
.album-doodle{position:absolute;z-index:2;right:5%;bottom:17.5%;font:clamp(.55rem,.8vw,.78rem) cursive;transform:rotate(-3deg)}
.half-reward{position:absolute;z-index:5;right:4%;bottom:2.2%;left:4%;height:14.5%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:.2rem .55rem;padding:.35rem .55rem;background:rgba(248,232,190,.86);border:2px dashed #6a4428;transform:rotate(.25deg)}
.half-reward header{display:flex;gap:.55rem;align-items:center}
.half-reward header b{font:.78rem var(--title)}
.half-reward p,.half-reward small,.half-reward em{margin:0;font-size:.66rem}
.half-reward p strong{color:var(--pink-dark)}
.half-reward form{grid-column:2;grid-row:1/3}
.half-reward button{min-height:28px;padding:.25rem .45rem;font-size:.62rem;box-shadow:2px 2px 0 var(--ink)}
.half-reward.is-claimed{opacity:.76;background:rgba(200,220,34,.45)}
.half-reward.is-locked{filter:saturate(.55)}
.album-arrow{z-index:10;width:clamp(38px,4.2vw,64px);height:clamp(72px,12vh,125px);padding:0;color:var(--cream);font:clamp(3rem,6vw,5rem)/1 var(--title);background:var(--pink);border-color:var(--cream);border-radius:50%;box-shadow:5px 5px 0 var(--violet-950);transform:none}
.album-arrow:hover{transform:scale(1.05);box-shadow:5px 5px 0 var(--violet-950)}
.album-arrow:disabled{visibility:hidden}
.album-pagination{display:grid;grid-template-columns:minmax(130px,1fr) auto minmax(80px,1fr);align-items:center;gap:1rem;width:min(900px,95%);margin:.65rem auto;color:var(--cream)}
.album-pagination>strong{font-family:var(--title);text-transform:uppercase}
.album-pagination>span{text-align:right}
.album-pagination>div{display:flex;flex-wrap:wrap;justify-content:center;gap:.38rem}
.album-dot{width:13px;height:13px;min-height:0;padding:0;background:var(--cream);border:2px solid var(--cream);border-radius:50%;box-shadow:none;transform:none}
.album-dot.is-current{background:var(--pink)}
.album-bottom-progress{display:grid;grid-template-columns:auto minmax(160px,1fr) auto;align-items:center;gap:1rem;width:min(1000px,95%);margin:.4rem auto;padding:.55rem .8rem;color:var(--cream);background:var(--violet-950);border:3px solid var(--cream);box-shadow:5px 5px 0 var(--pink)}
.album-bottom-progress div:first-child{display:grid}
.album-bottom-progress strong,.album-bottom-progress>b{color:var(--yellow);font-family:var(--title)}
.album-progress-track{height:14px;overflow:hidden;background:#3d2d50;border:2px solid var(--cream)}
.album-progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--pink),var(--yellow),var(--lime))}
.album-cover-copy,.poster-copy,.sticker-copy{display:grid;align-content:center;justify-items:start;color:var(--cream);background:radial-gradient(circle at 20% 18%,#51306c,transparent 36%),var(--violet-950)}
.album-cover-copy h1{margin:.6rem 0;color:var(--yellow);font-size:clamp(2.3rem,5.1vw,5.6rem);text-shadow:4px 4px 0 var(--pink-dark)}
.album-cover-copy p,.poster-copy p,.sticker-copy p{max-width:36rem;font-weight:800}
.comic-burst{display:inline-block;padding:.35rem .7rem;color:var(--ink);font-family:var(--title);letter-spacing:.06em;background:var(--lime);clip-path:polygon(7% 0,100% 12%,94% 100%,0 82%);transform:rotate(-2deg)}
.cover-stats,.poster-note{display:flex;align-items:center;gap:.75rem;margin:1rem 0;padding:.5rem;border-block:2px dashed rgba(245,232,196,.4)}
.cover-stats b,.poster-note b{color:var(--pink);font:2.8rem var(--title)}
.album-cover-art{display:grid;padding:0;background:var(--violet-900)}
.album-cover-art img{width:100%;height:100%;object-fit:cover}
.album-cover-art span{position:absolute;right:1rem;bottom:1rem;left:1rem;padding:.45rem;color:var(--cream);font:clamp(.65rem,1vw,1rem) var(--title);text-align:center;letter-spacing:.08em;background:rgba(18,13,36,.87)}
.poster-copy h2,.sticker-copy h2{margin:.5rem 0;color:var(--yellow);font-size:clamp(2.8rem,5.8vw,6rem);text-shadow:4px 4px 0 var(--pink)}
.rubber-note{padding:.55rem;color:var(--pink);font:1.1rem var(--title);letter-spacing:.1em;border:4px double currentColor;transform:rotate(-5deg)}
.poster-board{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);gap:0;padding:clamp(.55rem,1vw,1rem);background:#7b4c2d}
.poster-fragment{position:relative;min-width:0;min-height:0;overflow:hidden}
.poster-fragment img{display:block;width:100%;height:100%;object-fit:fill}
.poster-fragment.is-locked img{opacity:.22;filter:grayscale(1)}
.poster-fragment span{position:absolute;inset:0;display:grid;place-items:center;color:var(--cream);font-size:1.2rem}
.sticker-board{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;gap:.3rem;background:radial-gradient(circle,#f1db9e,#c69a60)}
.sticker-board img{max-width:100%;max-height:100%;filter:drop-shadow(3px 4px 2px rgba(0,0,0,.35))}
.final-dossier{height:100%;display:grid;place-content:center;padding:2rem;text-align:center}
.card-viewer,.market-viewer{position:fixed;z-index:3000;inset:0;display:grid;place-items:center;padding:1rem}
.card-viewer[hidden],.market-viewer[hidden]{display:none}
.card-viewer-backdrop,.market-viewer-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;background:rgba(11,7,18,.9);border:0;border-radius:0;box-shadow:none;transform:none}
.card-viewer>section{position:relative;z-index:1;width:min(940px,96vw);max-height:94vh;display:grid;grid-template-columns:minmax(250px,1fr) minmax(280px,.85fr);overflow:auto;color:var(--ink);background:var(--cream);border:5px solid var(--ink);box-shadow:10px 10px 0 var(--pink)}
.card-viewer-close,.market-viewer-close{position:absolute;z-index:4;right:.6rem;top:.6rem;width:42px;height:42px;min-height:0;padding:0;font-size:2rem;border-radius:50%;box-shadow:2px 2px 0 var(--ink)}
.card-viewer-visual{min-height:460px;display:grid;place-items:center;padding:1rem;background:var(--violet-950)}
.card-viewer-visual img{max-width:100%;max-height:78vh}
.card-viewer-visual .album-mystery{min-height:360px}
.card-viewer-info{display:grid;align-content:center;gap:.65rem;padding:clamp(1rem,3vw,2rem)}
.card-viewer-info h2,.card-viewer-info p{margin:0}
.modal-badges{display:flex;gap:.45rem}
.modal-badges span{padding:.3rem .5rem;font-weight:900;background:#d7c192;border:2px solid var(--ink)}
.card-modal-box{padding:.65rem;background:rgba(35,27,34,.07);border:2px dashed #755231}
.card-modal-box p{margin:.25rem 0}
.card-modal-box form{display:grid;grid-template-columns:1fr auto;gap:.4rem}
.card-modal-message{padding:.5rem;font-weight:900;background:var(--lime)}


/* Marché */
.market-mode .container{width:min(1500px,calc(100% - 1.5rem));margin:1rem auto 2rem}
.market-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:var(--cream)}
.market-head h1{margin:.35rem 0}
.market-head p{margin:0}
.market-head aside{min-width:190px;padding:.75rem;text-align:center;background:var(--violet-900);border:3px solid var(--cream);box-shadow:5px 5px 0 var(--pink)}
.market-head aside>*{display:block}
.market-head aside strong{color:var(--yellow);font:2rem var(--title)}
.market-search,.market-panel{margin-top:1rem;padding:1rem;background:var(--cream);border:3px solid var(--ink);box-shadow:7px 8px 0 rgba(18,13,36,.72)}
.market-search>div{display:grid;grid-template-columns:1fr auto auto;gap:.55rem}
.market-search label{margin-top:0}
.market-panel>header{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.market-panel>header h2{margin:.25rem 0}
.market-list{display:grid}
.market-row{display:grid;grid-template-columns:58px minmax(180px,1.4fr) minmax(110px,.75fr) minmax(155px,1fr) minmax(110px,.7fr) minmax(130px,.7fr);align-items:center;gap:.75rem;padding:.6rem .2rem;border-top:1px dashed #7e6242}
.market-thumb{width:52px;height:64px;min-height:0;padding:2px;overflow:hidden;background:var(--violet-950);border:2px solid var(--ink);border-radius:2px;box-shadow:2px 2px 0 var(--pink);transform:none}
.market-thumb img{width:100%;height:100%;object-fit:contain}
.market-card-id,.market-condition,.market-demand,.market-seller,.market-price{display:grid;gap:.15rem}
.market-row small,.duplicate-list small{color:#765d46}
.market-card-id strong{font-family:var(--title);text-transform:uppercase}
.rarity-tag{justify-self:start;padding:.15rem .35rem;color:#fff;background:var(--violet-800);font-size:.65rem;font-weight:900;text-transform:uppercase}
.market-price{justify-items:end}
.market-price>strong{color:var(--pink-dark);font:1.55rem var(--title)}
.market-price form{margin:0}
.market-price button{min-height:34px;padding:.35rem .55rem;font-size:.78rem}
.market-columns{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem}
.duplicate-list,.wanted-list{display:grid;gap:.5rem}
.duplicate-list article{display:grid;grid-template-columns:52px 1fr minmax(255px,.8fr);align-items:center;gap:.6rem;padding:.5rem;border-top:1px dashed #7e6242}
.duplicate-list article>div,.wanted-list article>div{display:grid}
.duplicate-list form{display:grid;grid-template-columns:1fr auto;gap:.4rem}
.duplicate-list input{min-width:0}
.duplicate-list button{min-height:36px;padding:.35rem .55rem;font-size:.78rem}
.wanted-list article{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:.6rem;padding:.5rem;border-top:1px dashed #7e6242}
.market-viewer>section{position:relative;z-index:1;width:min(580px,92vw);max-height:92vh;display:grid;justify-items:center;padding:1rem;overflow:auto;text-align:center;background:var(--cream);border:5px solid var(--ink);box-shadow:9px 9px 0 var(--pink)}
.market-viewer img{max-width:100%;max-height:72vh;object-fit:contain}
.market-viewer h2{margin:.7rem 0 .2rem}
.market-viewer p{margin:0}


@media(max-width:1050px){.album-book{height:clamp(560px,72vw,760px)}
.album-page-head p{display:none}
.album-card-grid{top:16%;bottom:22%}
.half-reward{height:17%}
.market-row{grid-template-columns:52px minmax(150px,1.4fr) minmax(100px,.7fr) minmax(130px,1fr) minmax(120px,.7fr)}
.market-seller{display:none}
.market-columns{grid-template-columns:1fr}
}

@media(max-width:760px){.album-mode .container{width:100%;margin:.25rem 0 1rem}
.album-stage{grid-template-columns:1fr}
.album-book{height:min(1190px,152vh);border-width:4px;border-radius:0}
.album-spread{grid-template-columns:1fr;overflow-y:auto}
.album-spine{display:none}
.album-half{min-height:50%;border-bottom:5px solid #6c4928}
.album-cover-copy,.poster-copy,.sticker-copy{min-height:44vh}
.album-cover-art{min-height:72vh}
.poster-board{min-height:88vh}
.album-card-grid{top:18%;bottom:21%;gap:.35rem}
.album-page-head h2{font-size:1.1rem}
.album-page-head span{right:-20%;font-size:.53rem}
.album-doodle{display:none}
.half-reward{height:17%;grid-template-columns:1fr auto}
.album-arrow{position:fixed;z-index:1200;top:48vh;width:42px;height:70px;font-size:3rem;opacity:.9}
.album-arrow-left{left:2px}
.album-arrow-right{right:2px}
.album-pagination{grid-template-columns:1fr auto;width:94%}
.album-pagination>strong{display:none}
.album-pagination>div{justify-content:flex-start}
.album-bottom-progress{grid-template-columns:1fr auto;gap:.5rem}
.album-bottom-progress div:first-child{grid-column:1/-1}
.card-viewer>section{grid-template-columns:1fr;max-height:96vh}
.card-viewer-visual{min-height:260px}
.card-viewer-visual img{max-height:50vh}
.card-modal-box form{grid-template-columns:1fr}
.market-head{align-items:stretch;flex-direction:column}
.market-search>div{grid-template-columns:1fr}
.market-row{grid-template-columns:50px minmax(0,1fr) auto;gap:.45rem}
.market-condition,.market-demand,.market-seller{display:none}
.market-price{justify-items:end}
.duplicate-list article{grid-template-columns:48px 1fr}
.duplicate-list form{grid-column:1/-1}
.market-panel{padding:.65rem}
}


/* Classements et réseau d'amis */
.ranking-mode .container{width:min(1450px,calc(100% - 1.5rem));margin:1rem auto 2rem}
.ranking-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--cream)}
.ranking-hero h1{margin:.35rem 0}
.ranking-hero p{margin:0}
.ranking-podium{height:90px;display:flex;align-items:end;gap:.3rem}
.ranking-podium span,.ranking-podium strong{width:62px;display:grid;place-items:center;color:var(--ink);font:2rem var(--title);border:3px solid var(--cream)}
.ranking-podium span:first-child{height:62px;background:#c4ccd5}
.ranking-podium strong{height:88px;background:var(--yellow)}
.ranking-podium span:last-child{height:48px;background:#c47d46}
.ranking-filters{display:grid;grid-template-columns:1.35fr repeat(3,minmax(150px,1fr)) auto;align-items:end;gap:.7rem;padding:1rem}
.ranking-filters fieldset{display:flex;align-items:center;gap:.7rem;margin:0;padding:.45rem;border:2px dashed #795a39}
.ranking-filters fieldset legend{font-size:1rem}
.ranking-filters fieldset label{display:flex;align-items:center;gap:.3rem;margin:0}
.ranking-filters fieldset input{width:auto}
.ranking-filters>label{margin:0}
.ranking-board{padding:1rem}
.ranking-board>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ranking-board h2{margin:.3rem 0}
.ranking-board>header>strong{color:var(--pink-dark);font:2rem var(--title);transform:rotate(4deg)}
.ranking-table-wrap{overflow:auto}
.ranking-table{min-width:900px}
.ranking-table tr{transition:.12s ease}
.ranking-table tbody tr:hover{background:rgba(200,220,34,.2)}
.ranking-table tr.is-viewer{background:rgba(231,63,118,.17);outline:3px solid var(--pink)}
.rank-number{width:42px;height:42px;display:grid;place-items:center;color:var(--cream);font:1.35rem var(--title);background:var(--violet-900);border-radius:50%}
.rank-1 .rank-number{color:var(--ink);background:var(--yellow);box-shadow:0 0 0 4px #c89417}
.rank-2 .rank-number{color:var(--ink);background:#c4ccd5}
.rank-3 .rank-number{background:#a96336}
.rank-player-link{display:flex;align-items:center;gap:.6rem;font-weight:900;text-decoration:none}
.rank-player-link img{width:48px;height:48px;object-fit:cover;background:var(--violet-900);border:2px solid var(--ink);border-radius:50%}
.ranking-empty{padding:2rem;text-align:center}
.friend-requests{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem}
.friend-requests>div{margin-right:auto}
.friend-requests article{display:flex;align-items:center;gap:.45rem;padding:.45rem;background:rgba(35,27,34,.08);border:2px dashed #755231}
.friend-requests article a{font-weight:900}
.friend-requests form{margin:0}
.friend-requests button,.friend-list button{min-height:32px;padding:.3rem .5rem;font-size:.72rem}
.friend-list header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.friend-list>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.5rem}
.friend-list article{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem;background:rgba(35,27,34,.07);border:1px dashed #755231}
.friend-list article a{font-weight:900}
.friend-status{display:inline-flex;align-items:center;padding:.45rem .6rem;font-weight:900;background:var(--yellow);border:2px solid var(--ink)}

@media(max-width:1000px){.ranking-filters{grid-template-columns:1fr 1fr}
.ranking-filters button{grid-column:1/-1}
.ranking-hero{align-items:flex-start}
.ranking-podium{transform:scale(.8);transform-origin:right top}
}

@media(max-width:640px){.ranking-mode .container{width:calc(100% - .75rem)}
.ranking-hero{display:block}
.ranking-podium{display:none}
.ranking-filters{grid-template-columns:1fr}
.ranking-filters button{grid-column:auto}
.ranking-filters fieldset{flex-wrap:wrap}
.ranking-board{padding:.55rem}
.friend-requests{display:grid}
.friend-requests article{flex-wrap:wrap}
.friend-list header{align-items:flex-start;flex-direction:column}
}


/* Cartouches de récompense et planche complète de 25 stickers */
.half-reward{height:16.5%;grid-template-columns:clamp(32px,4vw,50px) minmax(0,1fr) auto;gap:.35rem .55rem;padding:.42rem .65rem;background:linear-gradient(105deg,color-mix(in srgb,var(--reward-accent) 24%,#f8e8be),rgba(255,248,222,.96) 58%,color-mix(in srgb,var(--reward-accent) 15%,#f8e8be));border:0;border-left:7px solid var(--reward-accent);border-radius:5px 15px 6px 12px;box-shadow:3px 4px 0 rgba(55,32,18,.55),inset 0 0 0 2px rgba(255,255,255,.55);clip-path:polygon(0 5%,97% 0,100% 18%,98% 37%,100% 55%,98% 74%,100% 92%,96% 100%,2% 96%)}
.reward-seal{width:clamp(31px,3.8vw,48px);height:clamp(31px,3.8vw,48px);display:grid;place-items:center;align-self:center;color:#fff;font:clamp(1rem,1.7vw,1.55rem) var(--title);background:var(--reward-accent);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 2px var(--reward-accent);transform:rotate(-7deg)}
.reward-story{min-width:0}
.half-reward .reward-story header{display:flex;align-items:center;gap:.45rem;margin:0}
.half-reward .reward-story header b{overflow:hidden;color:var(--reward-accent);font:clamp(.68rem,1vw,.94rem)/1 var(--title);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}
.half-reward .reward-story header span{padding:.12rem .3rem;color:#fff;font:700 .6rem var(--body);background:var(--reward-accent);border-radius:10px}
.half-reward .reward-story p{max-width:42ch;margin:.18rem 0 0;font-size:clamp(.52rem,.75vw,.7rem);font-style:italic;line-height:1.15}
.reward-prize{display:grid;grid-template-columns:auto auto;align-items:center;align-content:center;gap:.12rem .4rem;text-align:right}
.reward-prize strong{color:var(--reward-accent);font:clamp(.9rem,1.35vw,1.25rem) var(--title)}
.reward-prize>span{font:700 .7rem var(--body)}
.reward-prize form,.reward-prize em,.reward-prize small{grid-column:1/-1;justify-self:end}
.reward-prize em{padding:.12rem .3rem;color:#fff;font-size:.58rem;background:var(--reward-accent);transform:rotate(-2deg)}
.reward-prize small{font-size:.58rem;font-weight:900;text-transform:uppercase}
.reward-prize button{min-height:25px;padding:.2rem .4rem;color:#fff;font-size:.56rem;background:var(--reward-accent);border-color:#352016}
.half-reward.is-ready{animation:reward-ready 1.8s ease-in-out infinite}
.half-reward.is-claimed{opacity:.78;filter:none}
.half-reward.is-locked{filter:none}
@keyframes reward-ready{0%,100%{box-shadow:3px 4px 0 rgba(55,32,18,.55),0 0 0 0 color-mix(in srgb,var(--reward-accent) 35%,transparent)}
50%{box-shadow:3px 4px 0 rgba(55,32,18,.55),0 0 0 6px color-mix(in srgb,var(--reward-accent) 0%,transparent)}
}

.sticker-progress{display:flex;align-items:center;gap:.65rem;margin:.7rem 0;padding:.45rem .65rem;border-block:2px dashed rgba(245,232,196,.38)}
.sticker-progress strong{color:var(--yellow);font:2.4rem var(--title)}
.sticker-progress span{font-weight:900;text-transform:uppercase}
.sticker-board{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:.12rem;padding:clamp(.45rem,.8vw,.8rem);overflow:hidden}
.sticker-board .sticker-slot{position:relative;min-width:0;min-height:0;margin:0;display:grid;place-items:center;overflow:visible}
.sticker-board .sticker-slot img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(2px 3px 1px rgba(0,0,0,.35))}
.sticker-board .sticker-slot.is-missing img{opacity:.24;filter:brightness(0) drop-shadow(0 0 2px rgba(255,255,255,.72));transform:scale(.91)}
.sticker-board .sticker-slot>span{position:absolute;right:5%;bottom:4%;padding:.12rem .25rem;color:var(--cream);font:.55rem var(--title);background:rgba(18,13,36,.82);border-radius:8px}
.sticker-board .sticker-slot>b{position:absolute;right:4%;top:4%;padding:.12rem .3rem;color:var(--ink);font:.72rem var(--title);background:var(--yellow);border:1px solid var(--ink);border-radius:50%}

@media(max-width:760px){.half-reward{grid-template-columns:34px minmax(0,1fr) auto;height:18.5%;padding:.35rem .45rem}
.reward-seal{width:31px;height:31px}
.half-reward .reward-story p{font-size:.5rem}
.reward-prize strong{font-size:.82rem}
.poster-spread .sticker-board{min-height:0}
.sticker-board{min-height:72vh;grid-template-rows:repeat(5,minmax(0,1fr))}
}


/* Album public, pages de stickers et boutique — couche unique */
.album-owner-banner{display:flex;align-items:center;justify-content:center;gap:.65rem;margin:0 auto .5rem;padding:.45rem .8rem;color:var(--cream);background:var(--violet-950);border:2px solid var(--pink)}
.album-owner-banner span{text-transform:uppercase}
.album-owner-banner strong{color:var(--yellow);font-family:var(--title)}
.album-owner-banner a{color:var(--cream);font-weight:900}
.sticker-page{padding:clamp(.7rem,1.25vw,1.2rem);background:radial-gradient(circle at 82% 15%,rgba(231,63,118,.17),transparent 30%),radial-gradient(circle at 12% 82%,rgba(200,220,34,.22),transparent 28%),#e4c88d}
.sticker-page>header{position:relative;z-index:2;height:22%}
.sticker-page h2{margin:.35rem 0 .1rem;font-size:clamp(1.35rem,2.1vw,2.4rem)}
.sticker-page header p{margin:.15rem 0;font-size:clamp(.65rem,.86vw,.9rem);font-weight:800}
.sticker-page .sticker-progress{position:absolute;right:0;top:0;display:grid;margin:0;padding:.25rem .45rem;color:var(--ink);border:2px dashed var(--pink-dark)}
.sticker-page .sticker-progress strong{color:var(--pink-dark);font-size:1.25rem}
.sticker-page .sticker-progress span{font-size:.5rem}
.sticker-page .sticker-board{position:absolute;inset:24% 5% 5%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:2.5%;padding:0;background:none;overflow:visible}
.sticker-page .sticker-board.count-7{grid-template-rows:repeat(3,minmax(0,1fr))}
.sticker-page .sticker-board.count-7 .sticker-slot:nth-child(7){grid-column:2}
.sticker-page .sticker-slot{position:relative;min-width:0;min-height:0;margin:0;display:grid;place-items:center;overflow:hidden}
.sticker-page .sticker-slot img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(3px 4px 2px rgba(0,0,0,.34))}
.sticker-page .sticker-slot.is-missing img{opacity:.28;filter:brightness(0) drop-shadow(0 0 2px rgba(255,255,255,.95));transform:scale(.88)}
.sticker-page .sticker-slot>span{position:absolute;right:7%;bottom:4%;padding:.15rem .3rem;color:var(--cream);font:.62rem var(--title);background:rgba(18,13,36,.88);border-radius:10px}
.sticker-page .sticker-slot>b{position:absolute;right:5%;top:4%;padding:.15rem .3rem;color:var(--ink);font:.75rem var(--title);background:var(--yellow);border:1px solid var(--ink);border-radius:50%}
.sticker-theme-2{background-color:#d4cf9b}
.sticker-theme-3{background-color:#d8b79a}
.sticker-theme-4{background-color:#c8cf9e}

.shop-mode .container{width:min(1450px,calc(100% - 1.5rem));margin:1rem auto 2rem}
.shop-app{display:grid;gap:1rem}
.shop-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--cream)}
.shop-hero h1{margin:.35rem 0}
.shop-hero aside{min-width:190px;display:grid;padding:.65rem 1rem;text-align:right;color:var(--ink);background:var(--yellow);border:3px solid var(--cream);box-shadow:5px 5px 0 var(--pink)}
.shop-hero aside strong{font:1.7rem var(--title)}
.shop-notice,.shop-odds{padding:.8rem 1rem;background:var(--lime);border:3px solid var(--ink)}
.shop-notice.is-warning{background:var(--yellow)}
.shop-section{padding:1rem;background:#e8d3a0;border:5px solid #684321;box-shadow:8px 9px 0 rgba(0,0,0,.35)}
.shop-section>header h2{margin:.4rem 0}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:.8rem}
.shop-product{min-width:0;display:grid;grid-template-columns:minmax(95px,42%) 1fr;align-items:center;overflow:hidden;background:var(--cream);border:3px solid var(--ink);box-shadow:4px 5px 0 rgba(35,27,34,.65)}
.shop-product>img{width:100%;height:190px;object-fit:contain;background:radial-gradient(circle,#5a3578,var(--violet-950))}
.shop-product>div{display:grid;align-content:center;gap:.35rem;padding:.65rem}
.shop-product h3,.shop-product p{margin:0}
.shop-product h3{font-size:1.25rem}
.shop-product p{font-size:.78rem}
.shop-product strong{color:var(--pink-dark);font:1.4rem var(--title)}
.shop-product form{margin:0}
.shop-product button{width:100%;min-height:38px;padding:.4rem;font-size:.72rem}
.shop-product button:disabled{filter:grayscale(1);opacity:.65}
.shop-odds{background:var(--cream)}
.shop-odds summary{cursor:pointer;font-family:var(--title)}

@media(max-width:760px){.album-owner-banner{flex-wrap:wrap}
.sticker-page{min-height:70vh}
.sticker-page .sticker-board{min-height:0;grid-template-rows:repeat(2,minmax(0,1fr))}
.sticker-page .sticker-board.count-7{grid-template-rows:repeat(3,minmax(0,1fr))}
.shop-hero{align-items:stretch;flex-direction:column}
.shop-hero aside{text-align:left}
.shop-product{grid-template-columns:110px 1fr}
.shop-product>img{height:170px}
}

.ranking-tabs{display:flex;align-items:stretch;gap:.25rem;padding:.55rem;overflow-x:auto}
.ranking-tabs a{min-width:max-content;padding:.65rem .8rem;color:var(--ink);font-family:var(--title);text-decoration:none;background:#d8c294;border:2px solid transparent}
.ranking-tabs a.is-active{color:var(--cream);background:var(--pink-dark);border-color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
.ranking-tab-options{display:flex;justify-content:space-between;gap:.75rem;margin:.55rem 0 1rem}
.ranking-tab-options nav{display:flex;flex-wrap:wrap;gap:.3rem}
.ranking-tab-options a{padding:.4rem .65rem;color:var(--cream);font-weight:900;text-decoration:none;background:var(--violet-800);border:2px solid var(--cream);border-radius:20px}
.ranking-tab-options a.is-active{color:var(--ink);background:var(--yellow);border-color:var(--ink)}
@media(max-width:640px){.ranking-tab-options{align-items:stretch;flex-direction:column}
.ranking-tab-options nav{overflow-x:auto;flex-wrap:nowrap}
.ranking-tab-options a{min-width:max-content}
}

.header-wallet{display:flex;align-items:center;gap:.35rem;padding:.3rem .45rem;color:var(--ink);font-weight:900;text-decoration:none;background:var(--yellow);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--pink)}
.header-wallet span{white-space:nowrap}
.header-wallet b{font-family:var(--title)}
@media(max-width:920px){.header-wallet{order:-1;width:100%;justify-content:center}
.topbar .account{flex-wrap:wrap}
}

.challenges-mode .container{width:min(1450px,calc(100% - 1.5rem));margin:1rem auto 2rem}
.challenges-app{display:grid;gap:1rem}
.challenges-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--cream)}
.challenges-hero h1{margin:.35rem 0}
.challenges-hero p{max-width:780px;margin:0}
.challenges-hero aside{min-width:170px;display:grid;padding:.65rem;text-align:center;color:var(--ink);background:var(--lime);border:3px solid var(--cream);box-shadow:5px 5px 0 var(--pink)}
.challenges-hero aside strong{font:2.2rem var(--title)}
.challenge-create{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem}
.challenge-create h2,.challenge-create p{margin:.3rem 0}
.challenge-create>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}
.challenge-create form{margin:0}
.challenge-create button{min-height:38px;padding:.4rem .6rem;font-size:.68rem}
.challenge-game-picker{display:grid!important;grid-template-columns:repeat(2,minmax(230px,1fr));gap:.55rem!important;width:min(720px,100%)}
.challenge-game-picker article{display:grid;gap:.35rem;padding:.55rem;background:#ead8ad;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--pink)}
.challenge-game-picker article>b{font-family:var(--title);font-size:.9rem}
.challenge-game-picker article>div{display:flex;gap:.35rem}
.challenge-game-picker article form{flex:1}
.challenge-game-picker article button{width:100%}
.challenge-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(390px,1fr));gap:1rem}
.challenge-card{padding:.8rem;border-top:8px solid var(--pink)}
.challenge-card.status-running{border-top-color:var(--lime)}
.challenge-card.status-completed{border-top-color:#6f6380}
.challenge-card>header{display:flex;align-items:start;justify-content:space-between;gap:.6rem}
.challenge-card>header span{color:var(--pink-dark);font:700 .7rem var(--title)}
.challenge-card>header h2{margin:.2rem 0}
.challenge-card>header>strong{width:54px;height:54px;display:grid;place-items:center;color:var(--cream);font:1.2rem var(--title);background:var(--violet-900);border-radius:50%}
.challenge-roster{display:grid;gap:.35rem;margin:.75rem 0}
.challenge-player{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:.5rem;padding:.35rem;background:rgba(35,27,34,.07);border:1px dashed #80613f}
.challenge-player.is-bot{background:rgba(200,220,34,.16)}
.challenge-player img{width:44px;height:44px;object-fit:contain;background:var(--violet-900);border-radius:50%}
.challenge-player>span,.challenge-player>strong{display:grid}
.challenge-player small{font-size:.62rem}
.challenge-player em{font-size:.7rem}
.challenge-card>footer{display:flex;flex-wrap:wrap;gap:.4rem}
.challenge-card>footer form{margin:0}
.challenge-done{padding:.45rem .65rem;font-weight:900;background:var(--lime);border:2px solid var(--ink)}
.challenge-empty{padding:2rem;text-align:center}
.admin-challenge-formats>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.admin-challenge-formats article{padding:.75rem;background:#ead8ad;border:3px solid var(--ink);box-shadow:4px 4px 0 var(--pink)}
.admin-challenge-formats article>span{display:inline-block;padding:.2rem .4rem;color:var(--ink);font:.65rem var(--title);background:var(--lime);transform:rotate(-2deg)}
.admin-challenge-formats h3{margin:.45rem 0 .2rem}.admin-challenge-formats p{margin:.55rem 0 0;font-size:.78rem}
@media(max-width:720px){.challenges-hero,.challenge-create{align-items:stretch;flex-direction:column}
.challenge-game-picker{grid-template-columns:1fr}
.admin-challenge-formats>div{grid-template-columns:1fr}
.challenge-create>div:last-child{justify-content:stretch}
.challenge-create form,.challenge-create button{width:100%}
.challenge-list{grid-template-columns:1fr}
}

/* Centre des événements 2.5.0 */
.events-mode{background:#100b20}.event-center-hero{min-height:360px;margin:-18px calc(50% - 50vw) 24px;padding:clamp(30px,6vw,80px) max(5vw,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:30px;color:#fff;background:linear-gradient(90deg,rgba(15,8,31,.2),rgba(15,8,31,.88) 48%,rgba(15,8,31,.25)),url('/assets/challenges/event-center.webp') center/cover;border-bottom:8px solid #d5ff00}
.event-center-hero h1{margin:.15em 0;font-size:clamp(2.8rem,7vw,6.5rem);line-height:.82;text-transform:uppercase;letter-spacing:-.06em;max-width:850px;text-shadow:5px 5px 0 #e62979}.event-center-hero p{max-width:700px;font-size:1.12rem;font-weight:700}.event-center-hero aside{min-width:180px;padding:22px;transform:rotate(3deg);text-align:center;background:#d5ff00;color:#160d2d;clip-path:polygon(5% 0,100% 4%,96% 100%,0 94%)}.event-center-hero aside strong{display:block;font-size:4rem;line-height:1}.event-center-hero aside span{font-weight:900;text-transform:uppercase}
.event-inbox{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:20px 0;padding:20px 24px;background:#ffcc37;color:#271331;border:4px solid #271331;box-shadow:7px 7px 0 #e62979}.event-inbox div span{display:block}.event-inbox button,.event-copy button{background:#e62979;color:#fff}.event-tabs{display:flex;gap:8px;overflow:auto;margin:25px 0;padding:4px}.event-tabs button{white-space:nowrap;background:#271c3d;color:#fff;border:2px solid #6d5a86}.event-tabs button.is-active{background:#d5ff00;color:#1b102d;border-color:#d5ff00}
.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.event-tile{overflow:hidden;background:#f6ebcf;color:#261a32;border:4px solid #140c22;border-radius:20px;box-shadow:8px 8px 0 #e62979}.event-tile[hidden]{display:none}.event-visual{position:relative;min-height:210px;padding:18px;background:linear-gradient(0deg,rgba(18,10,35,.85),rgba(18,10,35,.04)),var(--event-visual) center/cover;display:flex;align-items:flex-start;justify-content:space-between}.event-visual>span{font-size:3rem;filter:drop-shadow(3px 4px 0 #140c22)}.event-visual>b{padding:8px 13px;background:#d5ff00;color:#1a0f2e;transform:rotate(2deg);font-size:.8rem}
.event-copy{padding:22px}.event-copy>small{text-transform:uppercase;color:#7b567b;font-weight:900}.event-copy h2{font-size:clamp(1.65rem,3vw,2.6rem);line-height:.95;margin:.3em 0}.event-timer,.event-my-score{display:flex;align-items:end;justify-content:space-between;margin:15px 0;padding:12px 15px;background:#201532;color:#fff;border-left:6px solid #d5ff00}.event-timer strong,.event-my-score b{font-size:1.4rem}.event-my-score small{opacity:.7}.event-mini-ranking{margin:12px 0;padding:0;list-style:none}.event-mini-ranking li{display:flex;justify-content:space-between;padding:7px 10px;border-bottom:1px dashed #a89291}.event-mini-ranking em{padding:2px 5px;background:#d5ff00;color:#1d1230;font-size:.62rem;font-style:normal}.event-copy footer{display:flex;align-items:center;min-height:45px;margin-top:15px}.event-joined{font-weight:900;color:#317251}.event-empty{grid-column:1/-1;text-align:center;padding:80px}.event-empty>span{font-size:5rem}
.admin-event-hero{display:flex;justify-content:space-between;align-items:center}.admin-event-hero aside{text-align:center;padding:18px;background:#d5ff00;transform:rotate(2deg)}.admin-event-hero aside b{display:block;font-size:3rem}.admin-event-nav{position:sticky;top:0;z-index:10;display:flex;gap:8px;overflow:auto;padding:10px;background:#160e25}.admin-event-nav a{padding:8px 14px;color:#fff;text-decoration:none;border:1px solid #6a587f;border-radius:99px}.admin-event-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:22px 0}.admin-event-card{overflow:hidden;background:#f6ebcf;border:4px solid #2b1b3b;border-radius:18px;opacity:.78}.admin-event-card.is-enabled{opacity:1;box-shadow:7px 7px 0 #d5ff00}
.admin-event-visual{height:160px;padding:15px;background:linear-gradient(0deg,rgba(18,10,35,.8),transparent),var(--event-visual) center/cover;display:flex;justify-content:space-between;align-items:flex-start;color:#fff}.admin-event-visual span{font-size:2.6rem}.admin-event-visual em{padding:5px 9px;background:#e62979;font-style:normal;text-transform:uppercase;font-weight:900}.admin-event-card>div:last-child{padding:18px}.admin-event-card h2{margin:0;font-size:1.6rem}.admin-event-switches{display:grid;gap:8px;margin:14px 0}.admin-event-switches label{display:flex;align-items:center;gap:8px;font-weight:800}.admin-event-switches input{width:auto}.admin-event-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.admin-event-fields label{font-size:.75rem;font-weight:900}.admin-event-fields input{width:100%}.admin-event-actions{display:flex;gap:8px;margin-top:14px}.admin-sticky-save{position:sticky;bottom:15px;z-index:9;text-align:center}.admin-sticky-save button{font-size:1.1rem;box-shadow:5px 5px 0 #e62979}.event-simulation ol{columns:2;padding:0;list-style:none}.event-simulation li{display:flex;justify-content:space-between;padding:8px;border-bottom:1px dashed #9f8b7b;break-inside:avoid}
@media(max-width:900px){.event-grid,.admin-event-catalog{grid-template-columns:1fr}.event-center-hero{min-height:300px}.event-center-hero aside{display:none}.admin-event-fields{grid-template-columns:1fr}.event-simulation ol{columns:1}}
@media(max-width:600px){.event-center-hero{margin-top:-12px;padding:35px 18px;background-position:63% center}.event-center-hero h1{font-size:2.8rem}.event-inbox{align-items:stretch;flex-direction:column}.event-visual{min-height:170px}.event-copy{padding:17px}.admin-event-hero{display:block}.admin-event-nav{margin-left:-12px;margin-right:-12px}}

/* Arcade 2026 — moteur Canvas commun, dix mécaniques distinctes */
.arcade-card{position:relative;isolation:isolate;min-height:290px;background:linear-gradient(145deg,#f7e9c5 0 62%,#e8cf91)}
.arcade-card:before{content:"";position:absolute;inset:auto -40px -70px auto;z-index:-1;width:180px;height:180px;background:radial-gradient(circle,var(--pink),transparent 68%);opacity:.3}
.arcade-card .game-icon{filter:drop-shadow(4px 5px 0 rgba(29,15,48,.28));transform:rotate(6deg);transition:.2s ease}
.arcade-card:hover .game-icon{transform:rotate(-5deg) scale(1.18)}
.arcade-page{--arcade-a:#cbff1a;--arcade-b:#ec2d7c}.arcade-page .game-titlebar{padding:1rem;background:linear-gradient(115deg,rgba(30,15,55,.96),rgba(61,24,75,.82));border:3px solid var(--cream);box-shadow:7px 7px 0 var(--pink)}
.arcade-page .game-titlebar h1{margin:.25rem 0;font-size:clamp(2rem,5vw,4.7rem);line-height:.85;text-shadow:4px 4px 0 var(--pink)}
.arcade-hud{position:relative;z-index:4;display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin:1rem 0 -.5rem;padding:0 clamp(.4rem,2vw,1.2rem)}
.arcade-hud>div{display:grid;padding:.55rem .8rem;text-align:center;color:#fff;background:linear-gradient(155deg,#392351,#130b23);border:2px solid #8870a1;box-shadow:0 7px 18px rgba(0,0,0,.28);clip-path:polygon(5% 0,100% 0,95% 100%,0 100%)}
.arcade-hud small{font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.arcade-hud b{color:var(--lime);font:1.5rem var(--title)}
.arcade-stage{position:relative;overflow:hidden;background:#05030c;border:5px solid var(--cream);border-radius:8px;box-shadow:0 25px 60px rgba(0,0,0,.55),0 0 40px rgba(212,255,29,.12)}
.arcade-stage canvas{display:block;width:100%;height:auto;max-height:76vh;object-fit:contain;touch-action:none;cursor:crosshair}
.arcade-scanlines{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px);mix-blend-mode:overlay}
.arcade-stage .sound{position:absolute;right:12px;top:12px;z-index:6;min-height:32px;padding:.3rem .55rem;font-size:.62rem;background:#1e1231;color:#fff;border-color:var(--lime)}
.arcade-stage .game-overlay{background:radial-gradient(circle at 50% 35%,rgba(93,42,126,.58),rgba(5,3,12,.92) 70%);backdrop-filter:blur(8px)}
.arcade-stage .game-panel{max-width:620px;color:var(--cream);background:linear-gradient(145deg,#26153d,#10091f);border:4px solid var(--lime);box-shadow:11px 12px 0 var(--pink),0 0 80px rgba(203,255,26,.24)}
.arcade-stage .game-panel h2{font-size:clamp(2rem,4vw,3.8rem);line-height:.9}.arcade-stage .game-panel>strong{display:block;color:var(--lime);font:clamp(2.6rem,8vw,6rem) var(--title)}
.arcade-mark{display:inline-block;padding:.25rem .55rem;color:#160d29;font:.72rem var(--title);background:var(--lime);transform:rotate(-2deg)}
.arcade-help{margin:1rem 0;padding:.75rem;color:var(--lime);font-weight:900;background:rgba(255,255,255,.07);border:1px dashed #8e7aa6}
.arcade-controls{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:.6rem;margin:.8rem 0}.arcade-controls button{min-height:58px;color:#fff;background:linear-gradient(#4a296c,#211036);border-color:var(--cream);box-shadow:0 6px 0 #0b0612}.arcade-controls button[data-control=action]{color:#1b102b;background:var(--lime);border-color:#1b102b}
.arcade-controls button:active{transform:translateY(5px);box-shadow:0 1px 0 #0b0612}.live-challenges>header{display:flex;align-items:center;gap:1rem;margin-top:1rem;color:#fff}.live-challenges>header h2{margin:0}
@media(max-width:720px){.arcade-hud{grid-template-columns:repeat(2,1fr)}.arcade-stage{margin-inline:-.35rem;border-width:3px}.arcade-stage canvas{min-height:55vh;object-fit:cover}.arcade-controls button{min-height:64px}.arcade-page .game-titlebar{display:block}.arcade-page .game-wallet{margin-top:.7rem}}
/* Objectifs des 23 défis — 2.8.0 */
.live-challenges>header{flex-wrap:wrap}.live-challenges>header p{width:100%;margin:.2rem 0 1rem;color:#d8cde3}.event-objective{position:relative;margin:18px 0;padding:18px;background:#fff8df;border:3px solid #241532;box-shadow:5px 5px 0 #ffcc37}.event-objective>span{display:inline-block;margin-top:-31px;padding:5px 11px;background:#d5ff00;color:#21142f;transform:rotate(-2deg);font-size:.72rem;font-weight:1000;letter-spacing:.08em}.event-objective h3{margin:9px 0 5px;font-size:1.28rem}.event-objective>p{margin:0 0 12px}.event-objective ol{display:grid;gap:7px;margin:0;padding:0;list-style:none}.event-objective li{display:flex;align-items:center;gap:9px;font-size:.9rem;font-weight:800}.event-objective li>b{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#261834;color:#fff}.event-assignment{display:grid;grid-template-columns:1fr auto;align-items:center;margin:13px 0;padding:10px 12px;background:#271936;color:#fff;border-left:6px solid #e62979}.event-assignment small{grid-column:1/-1;color:#d5ff00;font-weight:1000}.event-assignment b{font-size:1.08rem}.event-assignment em{font-size:.76rem;font-style:normal;color:#ffcc37}.event-progress{margin:15px 0}.event-progress header{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:.8rem;font-weight:1000;text-transform:uppercase}.event-progress>div{overflow:hidden;height:15px;background:#cbbeb4;border:2px solid #261834;border-radius:99px}.event-progress i{display:block;height:100%;background:linear-gradient(90deg,#e62979,#ffcc37,#d5ff00)}.event-progress>small{display:block;margin-top:5px;color:#6a4c6d;font-weight:800}.admin-objective-preview{margin:13px 0;padding:13px;background:#fff9df;border:2px dashed #e62979}.admin-objective-preview small{display:block;color:#e62979;font-weight:1000}.admin-objective-preview>b{display:block;margin:4px 0}.admin-objective-preview p{font-size:.88rem}.admin-objective-preview ol{margin:.5em 0;padding-left:1.3em;font-size:.82rem}
@media(max-width:600px){.event-assignment{grid-template-columns:1fr}.event-assignment em{margin-top:3px}.event-progress header{display:grid}.event-objective{padding:15px}.event-objective li{align-items:flex-start}}

/* Patch 2.9.0 — sélecteur de défi et Arcade 2026 */
.challenge-builder{overflow:hidden;padding:0}.challenge-builder fieldset{min-width:0}.challenge-builder-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem;background:linear-gradient(105deg,#f7eac9 0 72%,#e4d09e 72%)}.challenge-builder-head h2,.challenge-builder-head p{margin:.3rem 0}.challenge-cost{flex:none;padding:.65rem .8rem;font:900 .8rem var(--title);background:var(--yellow);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--pink);transform:rotate(1deg)}
.challenge-step{margin:0;padding:1.2rem 1.4rem;border:0;border-top:2px dashed #9c7950}.challenge-step legend{width:100%;display:flex;align-items:center;gap:.7rem;padding:0}.challenge-step legend>b{width:38px;height:38px;display:grid;place-items:center;flex:none;color:var(--cream);font:1.2rem var(--title);background:var(--violet-900);border-radius:50%}.challenge-step legend>span{display:grid}.challenge-step legend strong{font:1.05rem var(--title)}.challenge-step legend small{font-size:.75rem;color:#6b5749}
.challenge-game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-top:.9rem}.challenge-game-option{position:relative;min-height:145px;display:flex;align-items:flex-start;flex-direction:column;gap:.45rem;padding:.8rem;cursor:pointer;background:#e8d6ac;border:3px solid transparent;box-shadow:3px 3px 0 #af9367;transition:.15s}.challenge-game-option:hover{transform:translateY(-2px)}.challenge-game-option input,.challenge-mode-option input{position:absolute;opacity:0;pointer-events:none}.challenge-game-option:has(input:checked){border-color:var(--ink);box-shadow:5px 5px 0 var(--pink);transform:translateY(-3px)}.challenge-game-option>span:nth-of-type(2){display:grid;gap:.25rem}.challenge-game-option strong{font:1rem var(--title);line-height:1}.challenge-game-option small{font-size:.7rem;line-height:1.25}.challenge-game-option i{margin-top:auto;padding:.22rem .42rem;font-size:.62rem;font-style:normal;font-weight:900;background:#ffffffa6;border:1px solid var(--ink)}.challenge-game-option:has(input:checked) i{color:var(--cream);background:var(--pink-dark)}.challenge-game-icon{font-size:2rem}.tone-yellow{background:#f6dc70}.tone-orange{background:#f6b76c}.tone-pink{background:#ef9ebd}.tone-cyan{background:#99dfe2}.tone-violet{background:#c8ace8}
.challenge-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.9rem}.challenge-mode-option{position:relative;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:.75rem;padding:1rem;cursor:pointer;background:#e3d0a7;border:3px solid transparent}.challenge-mode-option:has(input:checked){border-color:var(--ink);box-shadow:5px 5px 0 var(--lime)}.challenge-mode-mark{width:54px;height:54px;display:grid;place-items:center;font-size:1.7rem;background:var(--cream);border:2px solid var(--ink);border-radius:50%}.challenge-mode-option>span:last-child{display:grid;gap:.2rem}.challenge-mode-option strong{font:1rem var(--title)}.challenge-mode-option small{font-size:.75rem}.challenge-mode-option em{width:max-content;margin-top:.3rem;padding:.2rem .4rem;font-size:.62rem;font-style:normal;font-weight:900;background:var(--lime);border:1px solid var(--ink)}.challenge-mode-option.is-open em{background:var(--yellow)}.challenge-builder-action{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.4rem;color:var(--cream);background:var(--violet-900)}.challenge-builder-action p{display:grid;margin:0}.challenge-builder-action small{font-size:.7rem;opacity:.75}.challenge-builder-action button{min-width:220px;background:var(--pink);box-shadow:4px 4px 0 var(--lime)}
.game-hub-card-2026{overflow:hidden;padding:0!important;display:grid!important;grid-template-rows:180px 1fr;background:#f5e8c7!important}.game-card-visual{position:relative;display:flex;align-items:flex-start;justify-content:space-between;padding:14px;color:#fff;background:linear-gradient(0deg,#140923e6,#14092314),var(--game-visual) center/cover}.game-card-visual:after{content:'';position:absolute;inset:auto 0 0;height:7px;background:linear-gradient(90deg,#e93279,#d8ff22,#3ae1dc)}.game-card-visual .game-icon{font-size:3rem;font-style:normal;filter:drop-shadow(4px 5px 0 #1d102c)}.game-card-visual small{padding:6px 9px;font-weight:900;background:#241334;border:2px solid #fff3cf}.game-card-copy{display:grid;align-content:start;padding:17px}.game-card-copy h2{margin:.1em 0;font-size:1.55rem}.game-card-copy p{min-height:42px}.game-card-copy>strong{margin-top:12px;color:#e93279;font-family:var(--title)}
.elevator-page,.quantum-page,.arcade26-page{max-width:1500px}.elevator-titlebar,.quantum-titlebar,.arcade26-titlebar{overflow:hidden;padding:18px 22px;color:#fff;background:radial-gradient(circle at 72% 45%,#8e25bd,#21112f 62%);border:4px solid #f5e8c7;box-shadow:8px 8px 0 #ef347e}.elevator-titlebar h1,.quantum-titlebar h1,.arcade26-titlebar h1{margin:.15em 0;font-size:clamp(2.1rem,5vw,5rem);line-height:.85;color:#fff3cf;text-shadow:4px 4px 0 #ef347e}.elevator-titlebar p,.quantum-titlebar p,.arcade26-titlebar p{margin:0}
.elevator-hud,.quantum-hud,.arcade26-hud{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:18px 0 8px}.elevator-hud>div,.quantum-hud>div,.arcade26-hud>div{display:grid;padding:9px 13px;text-align:center;color:#fff3cf;background:#21112f;border:2px solid #43deda;box-shadow:3px 3px 0 #ef347e}.elevator-hud small,.quantum-hud small,.arcade26-hud small{font-size:.62rem;font-weight:900;text-transform:uppercase;opacity:.72}.elevator-hud b,.quantum-hud b,.arcade26-hud b{font:1.25rem var(--title);white-space:nowrap}
.elevator-stage,.quantum-stage,.arcade26-stage{position:relative;overflow:hidden;aspect-ratio:16/9;background:#140922;border:5px solid #39ddd7;border-radius:22px;box-shadow:0 20px 55px #0008,9px 9px 0 #ef347e;touch-action:none}.elevator-stage canvas,.quantum-stage canvas,.arcade26-stage canvas{width:100%;height:100%;display:block}.elevator-start,.quantum-start,.arcade26-start{background:linear-gradient(90deg,#11071ef2,#11071eb8)}.elevator-panel,.quantum-panel,.arcade26-panel{width:min(950px,94%);padding:clamp(20px,4vw,42px);color:#281532;background:#f5e8c5;border:5px solid #45ded8;box-shadow:10px 10px 0 #ef347e}.elevator-panel h2,.quantum-panel h2,.arcade26-panel h2{margin:.25em 0;font-size:clamp(2rem,5vw,4rem);line-height:.9}.elevator-rules,.quantum-rules,.arcade26-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.elevator-rules article,.quantum-rules article,.arcade26-rules article{padding:15px;background:#ead5a8;border:3px solid #271431;box-shadow:4px 4px 0 #d7ff25}.quantum-rules article,.arcade26-rules article{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:8px}.quantum-rules article>b,.arcade26-rules article>b{grid-row:1/3;width:44px;height:44px;display:grid;place-items:center;color:#fff;background:#8e25bd;border:3px solid #271431;border-radius:50%}.elevator-panel button,.quantum-panel button,.arcade26-panel button{background:#ef347e;box-shadow:5px 5px 0 #d7ff25}.elevator-panel.result,.quantum-panel.result,.arcade26-panel.result{text-align:center}.elevator-panel.result>strong,.quantum-panel.result>strong,.arcade26-panel.result>strong{display:block;font:clamp(2.2rem,8vw,6rem) var(--title);color:#8e25bd}.elevator-mobile-help,.quantum-help,.arcade26-help{margin:14px 0;color:#fff3cf;text-align:center;font-weight:800}
.elevator-callout{position:absolute;left:50%;top:4%;z-index:4;max-width:76%;padding:10px 18px;transform:translateX(-50%) rotate(-1deg);color:#24122f;font:1rem var(--title);text-align:center;background:#fff0bc;border:4px solid #24122f;box-shadow:5px 5px 0 #ef2c79;pointer-events:none}.elevator-callout.watch{background:#ffd33f}.elevator-callout.play,.elevator-callout.good{background:#d8ff20}.elevator-callout.bad{color:#fff;background:#ef2c79}
@media(max-width:980px){.challenge-game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.challenge-builder-head,.challenge-builder-action{align-items:stretch;flex-direction:column}.challenge-mode-grid{grid-template-columns:1fr}.challenge-builder-action button{width:100%}.elevator-hud,.quantum-hud,.arcade26-hud{grid-template-columns:repeat(5,minmax(82px,1fr));overflow-x:auto}.elevator-stage,.quantum-stage,.arcade26-stage{margin-left:calc(50% - 50vw);width:100vw;border-left:0;border-right:0;border-radius:0}.elevator-rules,.quantum-rules,.arcade26-rules{grid-template-columns:1fr;gap:7px;margin:12px 0}.elevator-panel button,.quantum-panel button,.arcade26-panel button{width:100%}}
@media(max-width:460px){.challenge-builder-head,.challenge-step,.challenge-builder-action{padding:1rem}.challenge-game-grid{grid-template-columns:1fr}.challenge-game-option{min-height:112px;display:grid;grid-template-columns:45px 1fr auto;align-items:center}.challenge-game-option i{margin:0}.challenge-mode-option{grid-template-columns:46px 1fr}.challenge-mode-mark{width:44px;height:44px;font-size:1.35rem}}

/* 2.10.0 — La Machine à Classer, refonte 3D dédiée */
.machine3d-page{max-width:1540px;--m-red:#ff315f;--m-blue:#23d2ef;--m-yellow:#ffca2b;--m-purple:#c541ff}
.machine3d-titlebar{position:relative;overflow:hidden;min-height:250px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:14px;padding:clamp(24px,4vw,54px);color:#fff;background:linear-gradient(90deg,#12091df2 0 43%,#12091d7d 70%,#12091d33),url('/assets/games/machine/hall-3d.webp') center 46%/cover;border:5px solid #f5e8c7;box-shadow:9px 9px 0 var(--m-red)}
.machine3d-titlebar:after{content:"";position:absolute;inset:auto 0 0;height:9px;background:linear-gradient(90deg,var(--m-red),var(--m-yellow),var(--m-blue),var(--m-purple))}.machine3d-titlebar h1{margin:.12em 0;font-size:clamp(3rem,7.2vw,7rem);line-height:.72;letter-spacing:-.045em;color:#fff4d5;text-transform:uppercase;text-shadow:5px 6px 0 #7b1748}.machine3d-titlebar p{max-width:650px;margin:.8rem 0 0;font-size:clamp(.9rem,1.5vw,1.15rem);font-weight:900}.machine3d-stamp,.machine3d-mark{display:inline-block;padding:.35rem .65rem;color:#1b1128;font:.72rem var(--title);background:#d7ff26;border:2px solid #1b1128;box-shadow:3px 3px 0 var(--m-red);transform:rotate(-2deg)}
.machine3d-hud{position:relative;z-index:5;display:grid;grid-template-columns:repeat(5,minmax(95px,1fr)) minmax(150px,1.4fr);gap:6px;margin:0 12px -17px}.machine3d-hud>div{display:grid;align-content:center;min-height:65px;padding:7px 12px;text-align:center;color:#fff4d5;background:linear-gradient(150deg,#3d2450,#140b20);border:2px solid #8c7396;box-shadow:0 9px 20px #09040f88;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}.machine3d-hud small{font-size:.6rem;font-weight:1000;letter-spacing:.12em;text-transform:uppercase;opacity:.74}.machine3d-hud b{color:#d8ff27;font:1.45rem var(--title)}.machine3d-fever i{overflow:hidden;height:14px;margin-top:5px;background:#09050e;border:2px solid #7c6786;border-radius:20px}.machine3d-fever i span{display:block;width:0;height:100%;background:linear-gradient(90deg,#ffcf2b,#ff315f,#d43cff);box-shadow:0 0 12px #ff3f9d;transition:width .12s}
.machine3d-stage{position:relative;overflow:hidden;aspect-ratio:16/9;background:#09040e;border:6px solid #ead9b5;border-radius:22px;box-shadow:0 28px 70px #0009,10px 11px 0 #4d1d5a;touch-action:none}.machine3d-stage canvas{display:block;width:100%;height:100%}.machine3d-vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 75px #07030bc7;background:linear-gradient(0deg,#1008173d,transparent 28%)}.machine3d-stage .sound{position:absolute;z-index:7;right:13px;top:13px;padding:.35rem .6rem;color:#fff;background:#160d24d9;border-color:#d8ff27;font-size:.65rem}.machine3d-stage .game-overlay{background:radial-gradient(circle at 70% 38%,#441e5bab,#09040ef2 72%);backdrop-filter:blur(7px)}
.machine3d-panel{width:min(980px,94%);max-height:94%;overflow:auto;padding:clamp(18px,3vw,38px);color:#24142e;background:linear-gradient(145deg,#fff4d4,#e3c88d);border:5px solid #25142f;box-shadow:10px 11px 0 #ef347d,17px 19px 0 #d7ff26}.machine3d-panel h2{margin:.28em 0;font-size:clamp(2rem,4.6vw,4.3rem);line-height:.84;text-transform:uppercase}.machine3d-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.machine3d-rules article{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:9px;padding:13px;background:#ead5a5;border:3px solid #281631;box-shadow:4px 4px 0 #cf3eff}.machine3d-rules article>b{width:43px;height:43px;display:grid;place-items:center;color:#fff;background:#281631;border-radius:50%;font:1.3rem var(--title)}.machine3d-rules article span{display:grid}.machine3d-rules strong{font:1rem var(--title)}.machine3d-rules small{font-size:.68rem}.machine3d-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.machine3d-legend span{display:flex;align-items:center;justify-content:space-between;padding:9px;color:#1c1026;font-weight:1000;border:2px solid #26152f}.machine3d-legend .urgent{background:#ff7390}.machine3d-legend .archives{background:#75e8f7}.machine3d-legend .compta{background:#ffd86d}.machine3d-legend .anomalies{background:#df8cff}.machine3d-panel>button{background:#ef347d;box-shadow:5px 5px 0 #d7ff26}.machine3d-panel>small{display:block;margin-top:10px;font-weight:900}.machine3d-result{text-align:center}.machine3d-result>strong{display:block;color:#7c229c;font:clamp(3rem,8vw,7rem) var(--title)}.machine3d-rewards{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.machine3d-rewards span{padding:8px 13px;background:#d7ff26;border:2px solid #24142e;font-weight:1000}.machine3d-ranking{max-width:470px;margin:14px auto;padding:0;list-style:none;text-align:left}.machine3d-ranking li{display:flex;justify-content:space-between;padding:7px 10px;border-bottom:1px dashed #7f6876}.machine3d-ranking li:first-child{background:#ffd543}
.machine3d-flow{display:flex;align-items:center;justify-content:center;gap:10px;margin:21px 0 8px;color:#fff4d5;font:.7rem var(--title)}.machine3d-flow i{width:clamp(40px,9vw,140px);height:5px;background:repeating-linear-gradient(90deg,#d8ff27 0 13px,transparent 13px 20px)}
.machine3d-controls{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.machine3d-controls button{position:relative;display:grid;grid-template-columns:35px 1fr;align-items:center;min-height:82px;padding:10px;color:#21132b;background:#ead5a5;border:4px solid #24142e;box-shadow:0 8px 0 #160b20;transition:transform .09s,filter .09s}.machine3d-controls button:active,.machine3d-controls button.pressed{transform:translateY(7px) scale(.98);box-shadow:0 1px 0 #160b20;filter:brightness(1.25)}.machine3d-controls button>kbd{position:absolute;left:7px;top:7px;color:#fff;background:#24142e}.machine3d-controls button>span{grid-column:1/-1;display:grid;grid-template-columns:48px 1fr;align-items:center;text-align:left}.machine3d-controls button b{grid-row:1/3;width:42px;height:42px;display:grid;place-items:center;font:1.35rem var(--title);background:#fff8df;border:2px solid #25142f;border-radius:50%}.machine3d-controls button strong{font:clamp(.78rem,1.5vw,1.1rem) var(--title)}.machine3d-controls button small{font-size:.65rem}.machine3d-controls .urgent{background:#ff6d89}.machine3d-controls .archives{background:#69deef}.machine3d-controls .compta{background:#ffd15a}.machine3d-controls .anomalies{background:#d879ff}.machine3d-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#e8dced}.machine3d-footer p{font-size:.78rem}
@media(max-width:820px){.machine3d-titlebar{min-height:190px;padding:24px;background-position:57% center}.machine3d-titlebar .game-wallet{align-self:flex-start}.machine3d-hud{grid-template-columns:repeat(3,1fr);margin:0 0 -10px;overflow:visible}.machine3d-hud>div{min-height:52px}.machine3d-stage{width:100vw;margin-left:calc(50% - 50vw);border-left:0;border-right:0;border-radius:0}.machine3d-rules{grid-template-columns:1fr;gap:5px;margin:10px 0}.machine3d-rules article{padding:7px}.machine3d-legend{grid-template-columns:1fr 1fr}.machine3d-controls{grid-template-columns:1fr 1fr}.machine3d-controls button{min-height:68px}.machine3d-footer{align-items:stretch;flex-direction:column}.machine3d-footer a{text-align:center}}
@media(max-width:520px){.machine3d-titlebar{display:block}.machine3d-titlebar h1{font-size:3rem}.machine3d-titlebar p{font-size:.8rem}.machine3d-titlebar .game-wallet{margin-top:14px}.machine3d-hud b{font-size:1rem}.machine3d-stage{aspect-ratio:4/3}.machine3d-stage canvas{width:133.333%;height:100%;transform:translateX(-12.5%)}.machine3d-panel{padding:15px}.machine3d-panel h2{font-size:1.8rem}.machine3d-rules small{display:none}.machine3d-legend{font-size:.68rem}.machine3d-controls button>span{grid-template-columns:38px 1fr}.machine3d-controls button b{width:34px;height:34px}.machine3d-controls button small{font-size:.57rem}.machine3d-flow{font-size:.55rem}}

/* 2.11.0 — Café d’Urgence, usine 3D et service sans limite */
.cafe3d-page{max-width:1540px;--coffee:#7a321e;--steam:#55e8f4;--hot:#ff3d72;--gold:#ffd23e}
.cafe3d-titlebar{position:relative;overflow:hidden;min-height:250px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:14px;padding:clamp(24px,4vw,54px);color:#fff;background:linear-gradient(90deg,#130a1ff2 0 42%,#130a1f72 72%,#130a1f22),url('/assets/games/cafe/factory-3d.webp') center 46%/cover;border:5px solid #f5e8c7;box-shadow:9px 9px 0 var(--hot)}.cafe3d-titlebar:after{content:"";position:absolute;inset:auto 0 0;height:9px;background:linear-gradient(90deg,#ff3d72,#ffd23e,#55e8f4,#c63cff)}.cafe3d-titlebar h1{margin:.12em 0;font-size:clamp(3rem,7.2vw,7rem);line-height:.72;letter-spacing:-.045em;color:#fff4d5;text-transform:uppercase;text-shadow:5px 6px 0 #7a251f}.cafe3d-titlebar p{max-width:700px;margin:.8rem 0 0;font-size:clamp(.9rem,1.5vw,1.15rem);font-weight:900}.cafe3d-stamp,.cafe3d-mark{display:inline-block;padding:.35rem .65rem;color:#1b1128;font:.72rem var(--title);background:#55e8f4;border:2px solid #1b1128;box-shadow:3px 3px 0 var(--hot);transform:rotate(-2deg)}
.cafe3d-hud{position:relative;z-index:6;display:grid;grid-template-columns:repeat(5,minmax(100px,1fr)) minmax(160px,1.4fr);gap:6px;margin:0 12px -17px}.cafe3d-hud>div{display:grid;align-content:center;min-height:66px;padding:7px 12px;text-align:center;color:#fff4d5;background:linear-gradient(150deg,#46243c,#150a1d);border:2px solid #98738c;box-shadow:0 9px 20px #09040f88;clip-path:polygon(6% 0,100% 0,94% 100%,0 100%)}.cafe3d-hud small{font-size:.58rem;font-weight:1000;letter-spacing:.09em;text-transform:uppercase;opacity:.75}.cafe3d-hud b{color:#ffd83e;font:1.38rem var(--title)}.cafe3d-pressure i{overflow:hidden;height:12px;margin-top:3px;background:#09050e;border:2px solid #796178;border-radius:20px}.cafe3d-pressure i span{display:block;width:45%;height:100%;background:linear-gradient(90deg,#55e8f4,#ffd23e,#ff3d72);box-shadow:0 0 12px #ff4b75;transition:width .12s}.cafe3d-pressure>b{font-size:.64rem}
.cafe3d-stage{position:relative;overflow:hidden;aspect-ratio:16/9;background:#09040e;border:6px solid #ead9b5;border-radius:22px;box-shadow:0 28px 70px #0009,10px 11px 0 #5c203d;touch-action:none}.cafe3d-stage canvas{display:block;width:100%;height:100%}.cafe3d-vignette{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #07030bc9;background:linear-gradient(0deg,#1008174d,transparent 32%)}.cafe3d-stage .sound{position:absolute;z-index:9;right:13px;top:13px;padding:.35rem .6rem;color:#fff;background:#160d24d9;border-color:#55e8f4;font-size:.65rem}.cafe3d-stage .game-overlay{background:radial-gradient(circle at 72% 38%,#5f271eb3,#09040ef3 72%);backdrop-filter:blur(7px)}.cafe3d-callout{position:absolute;z-index:7;left:50%;top:8%;max-width:75%;padding:9px 17px;transform:translateX(-50%) rotate(-1deg);color:#21122b;font:.8rem var(--title);text-align:center;background:#55e8f4;border:3px solid #21122b;box-shadow:4px 4px 0 #ff3d72;pointer-events:none}.cafe3d-callout.good{background:#d9ff29}.cafe3d-callout.bad{color:#fff;background:#ff3d72}
.cafe3d-panel{width:min(980px,94%);max-height:94%;overflow:auto;padding:clamp(18px,3vw,38px);color:#24142e;background:linear-gradient(145deg,#fff4d4,#e3c88d);border:5px solid #25142f;box-shadow:10px 11px 0 #ff3d72,17px 19px 0 #55e8f4}.cafe3d-panel h2{margin:.28em 0;font-size:clamp(2rem,4.8vw,4.5rem);line-height:.84;text-transform:uppercase}.cafe3d-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.cafe3d-rules article{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:9px;padding:13px;background:#ead5a5;border:3px solid #281631;box-shadow:4px 4px 0 #ffd23e}.cafe3d-rules article>b{width:43px;height:43px;display:grid;place-items:center;color:#fff;background:#281631;border-radius:50%;font:1.3rem var(--title)}.cafe3d-rules article span{display:grid}.cafe3d-rules strong{font:1rem var(--title)}.cafe3d-rules small{font-size:.68rem}.cafe3d-law{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:12px 0;padding:9px;background:#291630;color:#fff}.cafe3d-law strong{color:#55e8f4}.cafe3d-law b{padding:4px 8px;color:#24142e;background:#ff667f}.cafe3d-panel>button{background:#ff3d72;box-shadow:5px 5px 0 #55e8f4}.cafe3d-panel>small{display:block;margin-top:10px;font-weight:900}.cafe3d-result{text-align:center}.cafe3d-result>strong{display:block;color:#8d321d;font:clamp(3rem,8vw,7rem) var(--title)}.cafe3d-rewards{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.cafe3d-rewards span{padding:8px 13px;background:#d9ff26;border:2px solid #24142e;font-weight:1000}.cafe3d-ranking{max-width:470px;margin:14px auto;padding:0;list-style:none;text-align:left}.cafe3d-ranking li{display:flex;justify-content:space-between;padding:7px 10px;border-bottom:1px dashed #7f6876}.cafe3d-ranking li:first-child{background:#ffd543}
.cafe3d-controls{display:grid;grid-template-columns:repeat(3,1fr) 1.35fr;gap:9px;margin:18px 0 14px}.cafe3d-controls button{min-height:76px;padding:10px;color:#fff;background:linear-gradient(#3d274b,#1b0d25);border:4px solid #ead9b5;box-shadow:0 8px 0 #0d0612;transition:.1s}.cafe3d-controls button.selected{color:#201229;background:#55e8f4;border-color:#201229;box-shadow:0 8px 0 #ff3d72}.cafe3d-controls button:active,.cafe3d-controls button.pressed{transform:translateY(7px);box-shadow:0 1px 0 #0d0612}.cafe3d-controls button kbd{margin-right:7px}.cafe3d-pour{display:grid!important;place-items:center;background:linear-gradient(#ff587d,#a2194a)!important;border-color:#ffd23e!important}.cafe3d-pour b{font:1.15rem var(--title)}.cafe3d-pour small{font-size:.65rem}.cafe3d-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#e8dced}.cafe3d-footer p{font-size:.78rem}
@media(max-width:820px){.cafe3d-titlebar{min-height:190px;padding:24px;background-position:55% center}.cafe3d-titlebar .game-wallet{align-self:flex-start}.cafe3d-hud{grid-template-columns:repeat(3,1fr);margin:0 0 -10px}.cafe3d-hud>div{min-height:52px}.cafe3d-stage{width:100vw;margin-left:calc(50% - 50vw);border-left:0;border-right:0;border-radius:0}.cafe3d-rules{grid-template-columns:1fr;gap:5px;margin:10px 0}.cafe3d-rules article{padding:7px}.cafe3d-controls{grid-template-columns:repeat(3,1fr)}.cafe3d-pour{grid-column:1/-1;min-height:68px}.cafe3d-footer{align-items:stretch;flex-direction:column}.cafe3d-footer a{text-align:center}}
@media(max-width:520px){.cafe3d-titlebar{display:block}.cafe3d-titlebar h1{font-size:3rem}.cafe3d-titlebar p{font-size:.78rem}.cafe3d-titlebar .game-wallet{margin-top:14px}.cafe3d-hud b{font-size:.96rem}.cafe3d-stage{aspect-ratio:4/3}.cafe3d-stage canvas{width:133.333%;height:100%;transform:translateX(-12.5%)}.cafe3d-panel{padding:14px}.cafe3d-panel h2{font-size:1.8rem}.cafe3d-rules small{display:none}.cafe3d-law{font-size:.65rem}.cafe3d-callout{top:5%;font-size:.58rem}.cafe3d-controls button{min-height:58px;padding:5px;font-size:.62rem}.cafe3d-controls button kbd{display:block;margin:0 auto 3px}.cafe3d-pour b{font-size:1rem}}

/* 2.12.0 — Café simplifié, jauge des Crans et Coffres de la chance */
.cafe3d-simple-hud{grid-template-columns:repeat(4,minmax(105px,1fr)) minmax(180px,1.5fr)}.cafe3d-simple-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.cafe3d-simple-rules article{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:9px;padding:13px;background:#ead5a5;border:3px solid #281631;box-shadow:4px 4px 0 #55e8f4}.cafe3d-simple-rules article>b{width:43px;height:43px;display:grid;place-items:center;color:#fff;background:#281631;border-radius:50%;font:1.3rem var(--title)}.cafe3d-simple-rules article span{display:grid}.cafe3d-simple-rules strong{font:1rem var(--title)}.cafe3d-simple-rules small{font-size:.7rem}.cafe3d-big-pour{width:100%;min-height:92px;display:grid;place-items:center;margin:18px 0;padding:12px;color:#fff;background:linear-gradient(135deg,#ff5a7e,#9b1748);border:5px solid #ffd23e;box-shadow:0 9px 0 #160a20,0 0 35px #ff3d7255;touch-action:none}.cafe3d-big-pour b{font:clamp(1rem,2.4vw,1.6rem) var(--title)}.cafe3d-big-pour small{font-size:.7rem}.cafe3d-big-pour.pressed{transform:translateY(8px);box-shadow:0 1px 0 #160a20;filter:brightness(1.25)}
.header-wallet{align-items:stretch}.header-crans{min-width:112px;display:grid!important;gap:2px}.header-crans>span{text-align:center}.header-crans>i{overflow:hidden;height:6px;background:#2a1734;border:1px solid #2a1734;border-radius:10px}.header-crans>i em{display:block;height:100%;background:linear-gradient(90deg,#e9367b,#d8ff22);transition:width .4s}.header-crans>small{font-size:.5rem;text-align:center;line-height:1;color:#5a304a}.header-crans.is-full>small{font-weight:1000;color:#245e39}
.game-chest-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:18px;background:#0d0616e8;backdrop-filter:blur(8px)}.game-chest-modal[hidden]{display:none}.game-chest-panel{width:min(960px,96vw);padding:clamp(18px,4vw,40px);text-align:center;color:#271431;background:linear-gradient(145deg,#fff4d4,#dcbf7f);border:5px solid #271431;box-shadow:11px 12px 0 #ed347b}.game-chest-panel h2{margin:.2em 0;font-size:clamp(2rem,5vw,4.5rem);line-height:.86}.game-chest-panel>p{font-weight:900}.game-chest-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:24px 0}.game-chest{min-height:145px;display:grid;place-items:center;padding:8px;color:#fff;background:radial-gradient(circle at 50% 30%,#9a42bd,#24132f 70%);border:4px solid #ffd23e;box-shadow:0 8px 0 #25132e;transition:.15s}.game-chest:hover{transform:translateY(-6px) rotate(-2deg);filter:brightness(1.18)}.game-chest span{font-size:4rem;filter:drop-shadow(4px 5px 0 #14091d)}.game-chest b{font:.72rem var(--title)}.game-chest.is-open{color:#25142e;background:#d8ff27}.game-chest.is-disabled{opacity:.3;pointer-events:none}.game-chest-reveal{min-height:75px;padding:12px;font:1.1rem var(--title);background:#fff4d4;border:3px dashed #e9347a}.game-chest-card{display:inline-grid;gap:4px;margin:5px;padding:5px;background:#271431;color:#fff}.game-chest-card img{width:80px;height:105px;object-fit:cover}.game-card-copy dl>div:last-child dd{font-size:0}.game-card-copy dl>div:last-child dd:after{content:"Selon tes Crans";font-size:.72rem}
@media(max-width:760px){.cafe3d-simple-hud{grid-template-columns:repeat(2,1fr)}.cafe3d-simple-rules{grid-template-columns:1fr;gap:5px}.game-chest-grid{grid-template-columns:repeat(5,minmax(88px,1fr));overflow-x:auto;padding:8px}.game-chest{min-height:120px}.game-chest span{font-size:3rem}}
@media(max-width:520px){.cafe3d-simple-rules small{display:none}.cafe3d-big-pour{min-height:78px}.game-chest-panel{padding:14px}.game-chest-grid{margin:14px -6px}.game-chest{min-height:105px}.game-chest span{font-size:2.6rem}}

/* 2.13.0 — Paquets quotidiens, registre des réceptions et Crans entiers */
.packs-page{max-width:1500px;margin-inline:auto;--pack-pink:#f0397d;--pack-lime:#d9ff27;--pack-ink:#211329;--pack-paper:#f3dfae}.packs-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:260px;padding:clamp(26px,5vw,65px);color:#fff6dc;background:radial-gradient(circle at 76% 25%,#8643a8 0,transparent 31%),linear-gradient(120deg,#180d24,#3c1747 62%,#14101f);border:5px solid #f2dfb7;box-shadow:10px 11px 0 var(--pack-pink)}.packs-hero:before{content:"ARRIVAGES · CADEAUX · ÉCHANGES · BONUS · COFFRES";position:absolute;left:-30px;bottom:14px;color:#ffffff10;font:clamp(1.6rem,5vw,5rem) var(--title);white-space:nowrap;transform:rotate(-3deg)}.packs-hero h1{position:relative;margin:.1em 0;font-size:clamp(4rem,9vw,9rem);line-height:.72;text-transform:uppercase;text-shadow:6px 6px 0 #831b55}.packs-hero p{position:relative;max-width:680px;font-weight:900}.packs-kicker{position:relative;display:inline-block;padding:.35rem .65rem;color:#211329;background:var(--pack-lime);border:2px solid #211329;box-shadow:4px 4px 0 var(--pack-pink);font:.7rem var(--title);transform:rotate(-2deg)}.packs-date-stamp{position:relative;min-width:210px;padding:24px;text-align:center;color:#211329;background:#f7e6bd;border:5px double #211329;box-shadow:8px 8px 0 var(--pack-lime);transform:rotate(2deg)}.packs-date-stamp small,.packs-date-stamp span{display:block;font-weight:1000}.packs-date-stamp b{display:block;margin:.25em 0;color:#e72e74;font:1.7rem var(--title)}.packs-day-nav{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:24px 0}.daily-pack{display:grid;grid-template-columns:minmax(260px,520px) 1fr;align-items:center;gap:clamp(20px,5vw,80px);margin:30px 0;padding:clamp(22px,5vw,64px);color:var(--pack-ink);background:linear-gradient(135deg,#f6e9c8,#d9b96f);border:5px solid var(--pack-ink);box-shadow:10px 12px 0 #6b2f83}.daily-pack-visual{position:relative;display:grid;place-items:center;min-height:320px;background:radial-gradient(circle,#d9ff2766,transparent 62%)}.daily-pack-visual img{width:min(100%,440px);filter:drop-shadow(15px 21px 10px #1a0c2066);transform:rotate(-5deg);transition:.25s}.daily-pack.is-ready .daily-pack-visual img{animation:daily-pack-float 2.4s ease-in-out infinite}.daily-pack-visual>span{position:absolute;right:5%;top:4%;width:80px;height:80px;display:grid;place-items:center;color:#fff;background:var(--pack-pink);border:5px solid var(--pack-ink);border-radius:50%;box-shadow:5px 5px 0 var(--pack-lime);font:2.4rem var(--title)}@keyframes daily-pack-float{50%{transform:translateY(-12px) rotate(2deg)}}.daily-pack-copy h2{margin:.25em 0;font-size:clamp(2.4rem,5vw,5rem);line-height:.82;text-transform:uppercase}.daily-pack-copy p{max-width:700px;font-weight:800}.daily-pack-copy .btn{margin-top:14px;font-size:1rem}.daily-pack-status{display:inline-block;margin-top:14px;padding:12px 16px;color:#214322;background:var(--pack-lime);border:3px solid var(--pack-ink);box-shadow:4px 4px 0 #45a564}.packs-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0}.packs-summary article{display:grid;place-items:center;min-height:115px;padding:16px;color:#fff;background:linear-gradient(145deg,#42234d,#180d22);border:3px solid #80638b;box-shadow:5px 6px 0 var(--pack-pink);text-align:center}.packs-summary small{font-size:.63rem;font-weight:1000;letter-spacing:.08em}.packs-summary b{color:var(--pack-lime);font:2.3rem var(--title)}.packs-log-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:50px 0 18px}.packs-log-title h2{margin:.18em 0;font-size:clamp(2.3rem,5vw,5rem);line-height:.82}.packs-log-title p{font-weight:900}.packs-ledger{display:grid;gap:16px}.pack-receipt{display:grid;grid-template-columns:150px 1fr;gap:22px;padding:15px;color:var(--pack-ink);background:linear-gradient(105deg,#f9ebc9,#d7ba76);border:4px solid var(--pack-ink);box-shadow:7px 8px 0 #573267}.pack-receipt-card{position:relative;overflow:hidden;min-height:190px;padding:0;background:#211329;border:3px solid #211329;box-shadow:none}.pack-receipt-card img{width:100%;height:100%;min-height:190px;object-fit:cover;transition:.2s}.pack-receipt-card:hover img{transform:scale(1.07)}.pack-receipt-card>span{display:grid;place-items:center;min-height:190px;color:#fff;font:5rem var(--title)}.pack-receipt-card em{position:absolute;right:7px;bottom:7px;padding:4px 8px;color:#211329;background:var(--pack-lime);border:2px solid #211329;font-style:normal;font-weight:1000}.pack-receipt-main{min-width:0}.pack-receipt-head{display:flex;justify-content:space-between;gap:12px}.pack-receipt-head span{padding:5px 9px;color:#fff;background:#e93478;border:2px solid #211329;font:.65rem var(--title)}.pack-receipt-head time{font-weight:1000}.pack-receipt h3{margin:.28em 0;font-size:clamp(1.7rem,3vw,3rem);line-height:.9}.pack-receipt-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pack-receipt-tags b,.pack-receipt-tags small{padding:4px 8px;background:#f8e8be;border:2px solid #211329;font-size:.67rem}.pack-receipt-tags .rarity-legendary,.pack-receipt-tags .rarity-hyper_rare{background:#ffd23d}.pack-receipt-tags .rarity-rare,.pack-receipt-tags .rarity-epic{color:#fff;background:#973ecc}.pack-receipt dl{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0}.pack-receipt dl>div{padding:8px;background:#ffffff5c;border-left:5px solid #e93478}.pack-receipt dt{font:.56rem var(--title);letter-spacing:.08em}.pack-receipt dd{margin:2px 0 0;font-size:.78rem;font-weight:850}.pack-receipt-ref{display:block;overflow:hidden;color:#6d5365;text-overflow:ellipsis;white-space:nowrap}.packs-empty{padding:65px;text-align:center;color:#f5e7c3;background:#1a0e23;border:4px dashed #d9ff27}.packs-empty b{font:2rem var(--title)}.card-preview-dialog{max-width:min(92vw,900px);max-height:94vh;padding:0;background:transparent;border:0}.card-preview-dialog::backdrop{background:#0d0711e8;backdrop-filter:blur(8px)}.card-preview-dialog img{display:block;max-width:88vw;max-height:90vh;object-fit:contain;filter:drop-shadow(0 20px 50px #000)}.card-preview-dialog button{position:fixed;right:22px;top:18px;width:48px;height:48px;padding:0;color:#fff;background:#e93478;border:3px solid #fff;border-radius:50%;font-size:2rem;z-index:2}.cafe3d-rewards .cost{color:#fff;background:#7f2850}.cafe3d-callout.order-court{background:#ffd23e}.cafe3d-callout.order-long{background:#55e8f4}.header-crans>span{white-space:nowrap}
@media(max-width:850px){.packs-hero{align-items:flex-start;flex-direction:column}.packs-date-stamp{min-width:0}.daily-pack{grid-template-columns:1fr}.daily-pack-visual{min-height:240px}.packs-summary{grid-template-columns:1fr 1fr}.pack-receipt{grid-template-columns:105px 1fr}.pack-receipt-card,.pack-receipt-card img,.pack-receipt-card>span{min-height:145px}.pack-receipt dl{grid-template-columns:1fr}.packs-log-title{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.packs-hero{width:100vw;margin-left:calc(50% - 50vw);border-left:0;border-right:0}.packs-hero h1{font-size:4rem}.daily-pack{width:100vw;margin-left:calc(50% - 50vw);border-left:0;border-right:0}.daily-pack-visual{min-height:190px}.daily-pack-visual img{max-width:280px}.packs-summary article{min-height:90px}.pack-receipt{grid-template-columns:82px 1fr;gap:11px;padding:9px}.pack-receipt-card,.pack-receipt-card img,.pack-receipt-card>span{min-height:118px}.pack-receipt h3{font-size:1.45rem}.pack-receipt-head time{display:none}.pack-receipt dl>div{padding:6px}.pack-receipt dd{font-size:.7rem}}

/* 2.14.0 — Réception universelle des images */
.card-reveal-overlay{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px;overflow:auto;color:#fff6d8;background:radial-gradient(circle at 50% 40%,#73337ed9,#100918f5 60%),repeating-linear-gradient(125deg,#ffffff05 0 2px,transparent 2px 11px);backdrop-filter:blur(14px);animation:reveal-overlay-in .35s both}.card-reveal-stage{position:relative;width:min(1180px,96vw);min-height:min(760px,94vh);display:flex;align-items:center;flex-direction:column;padding:clamp(20px,4vw,48px);overflow:hidden;text-align:center;background:radial-gradient(circle at 50% 60%,#6c306b99,transparent 42%),linear-gradient(145deg,#291031,#120b1b);border:5px solid #f6e4b8;box-shadow:0 0 0 8px #e9357d,0 28px 90px #000c}.card-reveal-stage:before,.card-reveal-stage:after{content:"";position:absolute;width:380px;height:380px;border:40px solid #d8ff2860;border-radius:50%;filter:blur(3px);animation:reveal-orbit 8s linear infinite}.card-reveal-stage:before{left:-240px;top:-180px}.card-reveal-stage:after{right:-250px;bottom:-220px;animation-direction:reverse}.card-reveal-stage>header{position:relative;z-index:2}.reveal-kicker{display:inline-block;padding:7px 13px;color:#201128;background:#d8ff28;border:3px solid #201128;box-shadow:5px 5px 0 #ea347c;font:clamp(.65rem,1.4vw,.9rem) var(--title);letter-spacing:.08em;transform:rotate(-2deg)}.card-reveal-stage h2{max-width:900px;margin:.25em 0 .12em;font-size:clamp(2.2rem,6vw,6rem);line-height:.82;text-transform:uppercase;text-shadow:5px 5px 0 #8c1c5c}.card-reveal-stage header p{margin:0;font-weight:900}.reveal-pack{position:relative;z-index:3;width:min(420px,66vw);aspect-ratio:1;margin:auto;filter:drop-shadow(0 26px 22px #0009);animation:reveal-pack-float 2s ease-in-out infinite}.pack-half{position:absolute;inset:0;background:center/contain no-repeat;transition:transform .7s cubic-bezier(.2,.9,.3,1),opacity .7s}.pack-half-left{clip-path:polygon(0 0,54% 0,47% 15%,55% 28%,46% 41%,54% 55%,45% 69%,52% 84%,47% 100%,0 100%)}.pack-half-right{clip-path:polygon(54% 0,100% 0,100% 100%,47% 100%,52% 84%,45% 69%,54% 55%,46% 41%,55% 28%,47% 15%)}.pack-tear-line{position:absolute;left:50%;top:3%;bottom:3%;width:8px;background:#fff;filter:drop-shadow(0 0 10px #d9ff2b);transform:rotate(2deg);opacity:0}.reveal-pack>button,.card-reveal-stage>footer button{position:absolute;left:50%;bottom:3%;translate:-50% 0;min-width:230px;padding:14px 20px;color:#201128;background:#d8ff28;border:4px solid #201128;box-shadow:7px 7px 0 #ec347c;font:1rem var(--title);cursor:pointer}.reveal-pack.is-torn{animation:reveal-pack-shake .7s both}.reveal-pack.is-torn .pack-half-left{transform:translate(-70%,-12%) rotate(-20deg);opacity:0}.reveal-pack.is-torn .pack-half-right{transform:translate(70%,12%) rotate(22deg);opacity:0}.reveal-pack.is-torn .pack-tear-line{animation:tear-flash .45s both}.reveal-pack.is-torn>button{opacity:0}.reveal-cards{position:relative;z-index:5;width:100%;min-height:390px;display:flex;align-items:center;justify-content:center;gap:clamp(8px,2vw,22px);flex-wrap:wrap;margin:25px 0}.reveal-card{position:relative;width:clamp(135px,16vw,215px);aspect-ratio:.69;transform-style:preserve-3d;transform:translateY(70px) rotateY(0) rotate(calc((var(--i) - 2)*2deg));opacity:0;transition:transform .75s cubic-bezier(.2,.8,.2,1),opacity .4s;perspective:1200px}.reveal-cards:not([hidden]) .reveal-card{opacity:1;transform:translateY(0) rotateY(0) rotate(calc((var(--i) - 2)*2deg))}.reveal-card.is-flipped{transform:translateY(-10px) rotateY(180deg) rotate(0);z-index:6}.reveal-card-back,.reveal-card-front{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;border:5px solid #f4e4ba;border-radius:12px;box-shadow:0 18px 30px #0009}.reveal-card-back{display:grid;place-items:center;padding:20px;color:#d8ff28;background:repeating-radial-gradient(circle,#562265 0 10px,#24102e 11px 23px);box-shadow:inset 0 0 0 7px #e9367c,0 18px 30px #0009}.reveal-card-back span{font:6rem var(--title);text-shadow:5px 5px 0 #e9367c}.reveal-card-back small{font:.5rem var(--title)}.reveal-card-front{display:flex;flex-direction:column;color:#211128;background:#f7e9c8;transform:rotateY(180deg)}.reveal-card-front img{width:100%;height:75%;object-fit:cover;background:#2c1634}.reveal-card-front>div{display:grid;gap:2px;padding:8px;text-align:left}.reveal-card-front small{font:.52rem var(--title);color:#a72c66}.reveal-card-front b{overflow:hidden;font:clamp(.65rem,1.2vw,.9rem) var(--title);text-overflow:ellipsis;white-space:nowrap}.reveal-card-front span{font-size:.58rem;font-weight:1000;text-transform:uppercase}.reveal-card.rarity-legendary .reveal-card-front,.reveal-card.rarity-hyper_rare .reveal-card-front,.reveal-card.rarity-collector .reveal-card-front{box-shadow:inset 0 0 28px #ffd42b,0 0 35px #ffd42b99}.reveal-card.is-super-gift{width:clamp(190px,24vw,300px);aspect-ratio:1}.reveal-card.is-super-gift .reveal-card-front{overflow:visible;color:#fff;background:radial-gradient(circle,#ffe85c55,transparent 68%);border-color:#ffdc2b;box-shadow:0 0 30px #fff,0 0 80px #ffd42b}.reveal-card.is-super-gift .reveal-card-front img{height:82%;object-fit:contain;filter:drop-shadow(0 15px 18px #0008)}.card-reveal-stage>footer{position:relative;z-index:8;min-height:66px;width:100%;display:flex;align-items:center;justify-content:center;gap:12px}.card-reveal-stage>footer button{position:static;translate:none}.card-reveal-stage>footer small{position:absolute;right:0;bottom:-8px;opacity:.7}.reveal-confetti{position:fixed;z-index:7;left:var(--x);top:-20px;width:10px;height:18px;animation:reveal-confetti-fall var(--d) linear forwards}.card-reveal-overlay.is-super .card-reveal-stage{background:radial-gradient(circle,#e4b72555,#5e1e63 45%,#100918);box-shadow:0 0 0 8px #ffd42b,0 0 100px #ffd42b88}.card-reveal-overlay.is-leaving{animation:reveal-overlay-out .35s both}.card-arrival-beacon{position:fixed;z-index:99999;right:18px;top:120px;display:flex;align-items:center;gap:10px;padding:12px 16px;color:#201128;background:#d8ff28;border:4px solid #201128;box-shadow:7px 7px 0 #e9367c;animation:arrival-beacon .7s infinite alternate}.card-arrival-beacon>b{display:grid;place-items:center;width:35px;height:35px;color:#fff;background:#e9367c;border-radius:50%;font:1.4rem var(--title)}.card-arrival-beacon span,.card-arrival-beacon small{display:block;font:700 .7rem var(--title)}.card-arrival-beacon small{font-size:.5rem}.poster-copy.is-complete{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 55%,#ffe23e88,transparent 45%),linear-gradient(140deg,#411845,#190d23)!important}.poster-super-gift{position:relative;display:grid;grid-template-columns:minmax(130px,220px) 1fr;align-items:center;gap:10px;margin:18px 0;padding:12px;color:#25112b;background:#f8e5ad;border:5px solid #25112b;box-shadow:7px 8px 0 #ffd727}.poster-super-gift img{position:relative;z-index:2;width:100%;max-height:230px;object-fit:contain;filter:drop-shadow(0 12px 10px #0007);animation:poster-sticker-pop 2s ease-in-out infinite}.poster-super-gift small,.poster-super-gift strong,.poster-super-gift span{display:block}.poster-super-gift small{color:#e32972;font:.62rem var(--title)}.poster-super-gift strong{font:clamp(1.2rem,2.5vw,2.4rem) var(--title)}.poster-super-gift span{font-weight:1000}.poster-sticker-rays{position:absolute;left:14%;top:50%;width:180px;height:180px;background:repeating-conic-gradient(#ffd82e 0 8deg,transparent 8deg 18deg);border-radius:50%;translate:-50% -50%;animation:reveal-orbit 8s linear infinite}.poster-note.is-complete{background:#d8ff28!important;box-shadow:5px 5px 0 #e9367c}.poster-locked-gift{display:flex;align-items:center;gap:12px;margin-top:20px;padding:10px;color:#f7e7bc;background:#24102e;border:3px dashed #d8ff28}.poster-locked-gift img{width:90px;filter:brightness(0) opacity(.35)}.poster-locked-gift b,.poster-locked-gift span{display:block}
@keyframes reveal-overlay-in{from{opacity:0;transform:scale(.96)}}@keyframes reveal-overlay-out{to{opacity:0;transform:scale(1.04)}}@keyframes reveal-pack-float{50%{transform:translateY(-12px) rotate(2deg)}}@keyframes reveal-pack-shake{15%,45%{transform:translateX(-10px) rotate(-3deg)}30%,60%{transform:translateX(10px) rotate(3deg)}100%{transform:scale(1.08)}}@keyframes tear-flash{40%{opacity:1;filter:drop-shadow(0 0 30px #fff)}to{opacity:0;transform:scaleX(8)}}@keyframes reveal-orbit{to{transform:rotate(360deg)}}@keyframes reveal-confetti-fall{to{top:105vh;transform:rotate(var(--r)) translateX(80px)}}@keyframes arrival-beacon{to{transform:translateY(-7px)}}@keyframes poster-sticker-pop{50%{transform:translateY(-7px) rotate(3deg) scale(1.04)}}

/* 2.14.0 — Histoires de cartes et éditeur riche */
.stories-page,.story-detail,.story-admin{max-width:1500px;margin-inline:auto;--story-pink:#e9367c;--story-lime:#d8ff28;--story-ink:#211128;--story-paper:#f5e4b8}.stories-hero{position:relative;min-height:330px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding:clamp(28px,5vw,70px);overflow:hidden;color:#fff4d5;background:radial-gradient(circle at 75% 25%,#8648a4,transparent 28%),linear-gradient(125deg,#160b20,#421c4b);border:5px solid #f5e4b8;box-shadow:10px 11px 0 var(--story-pink)}.stories-hero:after{content:"IL ÉTAIT UNE FOIS DE TRAVERS";position:absolute;left:-20px;bottom:-15px;color:#ffffff0c;font:clamp(2rem,7vw,7rem) var(--title);white-space:nowrap;transform:rotate(-3deg)}.stories-kicker{display:inline-block;padding:6px 10px;color:#211128;background:var(--story-lime);border:3px solid #211128;box-shadow:4px 4px 0 var(--story-pink);font:.66rem var(--title)}.stories-hero h1,.story-detail h1,.story-admin h1{position:relative;margin:.2em 0;font-size:clamp(3.5rem,8vw,8rem);line-height:.75;text-transform:uppercase}.stories-hero p{position:relative;max-width:700px;font-weight:900}.stories-hero-stamp{position:relative;padding:25px;color:#211128;background:#f6e2aa;border:7px double #211128;box-shadow:8px 8px 0 var(--story-lime);font:2rem/1.1 var(--title);text-align:center;transform:rotate(4deg)}.stories-admin-link{margin:28px 0}.story-topic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:36px 0}.story-topic-card{display:grid;grid-template-columns:minmax(180px,40%) 1fr;min-height:330px;color:var(--story-ink);background:var(--story-paper);border:5px solid var(--story-ink);box-shadow:9px 10px 0 #6c3976}.story-topic-visual{position:relative;overflow:hidden;background:#211128}.story-topic-visual img{width:100%;height:100%;object-fit:cover;transition:.3s}.story-topic-visual:hover img{transform:scale(1.06)}.story-topic-visual span{position:absolute;left:10px;bottom:10px;padding:6px 9px;color:#fff;background:var(--story-pink);border:2px solid #211128;font:.58rem var(--title)}.story-topic-card>div{padding:22px}.story-topic-card small{font:.58rem var(--title);color:#a82a68}.story-topic-card h2{margin:.3em 0;font-size:clamp(1.8rem,3vw,3.3rem);line-height:.85}.story-topic-card p{font-weight:750}.story-topic-card footer{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}.story-topic-card footer>*{padding:5px 8px;background:#fff3cd;border:2px solid #211128;font-size:.65rem}.story-topic-card footer em{background:var(--story-lime);font-style:normal}.stories-empty{margin:35px 0;padding:70px;color:#fff;text-align:center;background:#1c0e25;border:4px dashed var(--story-lime)}.stories-empty b{font:2rem var(--title)}.story-back{display:inline-block;margin:16px 0;font-weight:1000}.story-case{display:grid;grid-template-columns:minmax(270px,430px) 1fr;gap:clamp(25px,5vw,70px);padding:clamp(20px,4vw,50px);color:#fff5d8;background:linear-gradient(135deg,#1a0c23,#4c2054);border:5px solid #f5e4b8;box-shadow:10px 10px 0 var(--story-pink)}.story-case-image{position:relative;min-height:430px;background:#211128;border:5px solid #f5e4b8;transform:rotate(-2deg)}.story-case-image img{width:100%;height:100%;object-fit:cover}.story-case-image span{position:absolute;left:10px;bottom:10px;padding:6px 10px;color:#211128;background:var(--story-lime);font:.65rem var(--title)}.story-detail h1{font-size:clamp(3rem,6vw,6rem)}.prose{font-size:1rem;line-height:1.7}.prose h2,.prose h3{font-family:var(--title);line-height:1}.prose blockquote{margin:1em 0;padding:12px 18px;background:#e9367c18;border-left:6px solid var(--story-pink)}.prose img{display:block;max-width:100%;max-height:650px;margin:18px auto;object-fit:contain;border:4px solid #211128}.story-rules{padding:12px;background:#d8ff2820;border-left:6px solid var(--story-lime);font-weight:850}.story-workshop{display:grid;grid-template-columns:minmax(230px,360px) 1fr;gap:30px;margin:42px 0;padding:clamp(20px,4vw,45px);color:var(--story-ink);background:#f3dfae;border:5px solid var(--story-ink);box-shadow:9px 10px 0 #743b7d}.story-workshop h2,.story-gallery h2,.story-admin h2{font-size:clamp(2rem,4vw,4rem);line-height:.85}.story-editor-form label,.story-admin-publish label{display:grid;gap:6px;font-weight:1000}.story-editor-form>label input,.story-admin-publish input,.story-admin-publish select{width:100%;padding:12px;border:3px solid #211128;background:#fff8df}.rich-editor{margin:12px 0;background:#fff8df;border:4px solid #211128}.rich-toolbar{display:flex;gap:5px;flex-wrap:wrap;padding:8px;background:#2b1533;border-bottom:4px solid #211128}.rich-toolbar button{min-width:38px;padding:7px 9px;color:#211128;background:#f5e4b8;border:2px solid #211128;font-weight:1000}.rich-toolbar button:hover{background:var(--story-lime)}.rich-canvas{min-height:360px;padding:20px;color:#211128;outline:0}.rich-editor.compact .rich-canvas{min-height:160px}.rich-editor>small{display:block;padding:8px;color:#6b5368;background:#ead7aa}.story-own-status{margin:15px 0;padding:12px;background:#fff3cd;border:3px solid #211128}.story-own-status small{display:block;margin-top:6px}.story-gallery{margin:55px 0}.story-submissions{columns:2;column-gap:24px}.story-submission{position:relative;break-inside:avoid;margin:0 0 24px;padding:clamp(18px,3vw,34px);color:var(--story-ink);background:#f6e5b9;border:4px solid var(--story-ink);box-shadow:7px 8px 0 #713b79}.story-submission>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.story-submission>header small,.story-submission>header b{display:block}.story-vote-count{display:grid;place-items:center;min-width:70px;padding:8px;background:var(--story-lime);border:3px solid #211128}.story-vote-count b{font:1.8rem var(--title)}.story-submission h3{font-size:clamp(1.6rem,3vw,2.8rem);line-height:.9}.story-submission form button{width:100%;padding:12px;color:#fff;background:var(--story-pink);border:3px solid #211128;font:clamp(.65rem,1.5vw,.9rem) var(--title)}.story-submission form button.is-voted{color:#211128;background:var(--story-lime)}.story-submission.is-winner{background:linear-gradient(145deg,#fff3b7,#e8bd48);box-shadow:8px 9px 0 #ffd323,0 0 30px #ffd323}.winner-ribbon{display:block;margin:-18px -18px 15px;padding:10px;color:#211128;background:#ffd323;font:.8rem var(--title);text-align:center}.own-story-label{display:block;padding:10px;background:#e5cfa0;text-align:center}.story-admin>header{margin-bottom:30px;padding:35px;color:#fff;background:#24102e;border:5px solid #f5e4b8;box-shadow:8px 9px 0 var(--story-pink)}.story-admin-publish,.story-admin-topics,.story-moderation{margin:28px 0;padding:clamp(20px,4vw,40px);color:#211128;background:#f1ddad;border:4px solid #211128}.story-source-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin:12px 0}.admin-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-topic-grid article{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:10px;background:#fff3ce;border:3px solid #211128}.admin-topic-grid img{width:100%;height:120px;object-fit:cover}.admin-topic-grid h3{margin:.2em 0}.moderation-list{display:grid;gap:18px}.moderation-list>article{padding:18px;background:#fff4d0;border:4px solid #211128}.moderation-list>article>header{display:flex;gap:12px;flex-wrap:wrap}.moderation-list>article>header span{padding:5px;color:#fff;background:#8d3e8f}.moderation-list form{display:grid;grid-template-columns:1fr auto auto auto;gap:7px}.moderation-list form input{padding:9px;border:2px solid #211128}.moderation-list form button{padding:8px;background:#d8ff28;border:2px solid #211128;font-weight:1000}.moderation-list form .winner{background:#ffd323}
@media(max-width:900px){.card-reveal-stage{min-height:90vh}.reveal-cards{min-height:310px}.story-topic-grid{grid-template-columns:1fr}.story-case,.story-workshop{grid-template-columns:1fr}.story-case-image{min-height:350px}.story-submissions{columns:1}.story-source-fields,.admin-topic-grid{grid-template-columns:1fr}.moderation-list form{grid-template-columns:1fr 1fr}.moderation-list form input{grid-column:1/-1}}
@media(max-width:560px){.card-reveal-overlay{padding:0}.card-reveal-stage{width:100vw;min-height:100vh;border-left:0;border-right:0}.card-reveal-stage h2{font-size:2.6rem}.reveal-pack{width:78vw}.reveal-cards{align-content:center;gap:7px}.reveal-card{width:42vw}.reveal-card.is-super-gift{width:72vw}.card-reveal-stage>footer{padding-bottom:35px}.card-reveal-stage>footer small{right:auto;bottom:0}.poster-super-gift{grid-template-columns:120px 1fr}.story-topic-card{grid-template-columns:1fr}.story-topic-visual{min-height:280px}.stories-hero{align-items:flex-start;flex-direction:column}.stories-hero-stamp{font-size:1.2rem}.story-case-image{min-height:300px}.rich-toolbar button{font-size:.72rem}.rich-canvas{min-height:300px;padding:12px}}
@media(prefers-reduced-motion:reduce){.card-reveal-overlay *,.poster-super-gift img{animation:none!important;transition-duration:.01ms!important}}
.card-arrival-beacon.is-error{color:#fff;background:#a8184d;border-color:#fff3ce;box-shadow:7px 7px 0 #ffd42b}.card-arrival-beacon.is-error>b{color:#a8184d;background:#ffd42b}

/* 2.16.0 — la règle d'affichage avait une spécificité supérieure à is-flipped. */
.reveal-cards{perspective:1200px}
.reveal-cards:not([hidden]) .reveal-card.is-flipped{transform:translateY(-10px) rotateY(180deg) rotate(0deg);z-index:6}
.reveal-card-back,.reveal-card-front{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}
.reveal-card-back{transform:rotateY(0deg)}

/* 2.17.0 — thermomètre cartoon des Archives Givrées */
.ice-stage .game-side{position:relative;overflow:hidden;padding:1.25rem 1.15rem 1.6rem;background:radial-gradient(circle at 18% 8%,#fff 0 3px,transparent 4px),radial-gradient(circle at 82% 18%,#fff 0 2px,transparent 3px),linear-gradient(155deg,#eefcff 0%,#c8eff8 48%,#91d4e8 100%);border:5px solid #211329;border-radius:24px;box-shadow:8px 9px 0 #e9367c,14px 15px 0 #d8ff28,inset 0 0 0 4px #ffffffaa;color:#211329}.ice-stage .game-side:before{content:"❄";position:absolute;right:-12px;top:-24px;color:#ffffff80;font-size:7rem;line-height:1;transform:rotate(18deg);pointer-events:none}.ice-stage .game-side h2{position:relative;margin:.1em 0 .7em;color:#211329;text-shadow:3px 3px 0 #fff;font-size:clamp(1.8rem,3vw,2.8rem)}
.ice-stage .thermo{--thermo-fluid:#e9367c;position:relative;box-sizing:border-box;width:70px;height:230px;margin:25px auto 54px;padding:10px;background:linear-gradient(90deg,#77c5dc 0%,#e8fbff 22%,#fff 43%,#a9e5f2 68%,#62b7d1 100%);border:5px solid #211329;border-radius:38px 38px 24px 24px;box-shadow:inset 8px 0 10px #ffffffcc,inset -8px 0 12px #267f9b55,0 12px 22px #245f7855,5px 6px 0 #fff;isolation:isolate}
.ice-stage .thermo:before{content:"";position:absolute;z-index:4;inset:17px 7px 22px 7px;border-radius:25px;background:repeating-linear-gradient(to bottom,transparent 0 17px,#21132999 18px 20px,transparent 21px 35px),linear-gradient(90deg,#ffffffaa,transparent 32%);mask:linear-gradient(90deg,transparent 0 54%,#000 55% 100%);pointer-events:none}
.ice-stage .thermo:after{content:"";position:absolute;z-index:5;left:50%;bottom:-44px;width:88px;height:88px;translate:-50% 0;background:radial-gradient(circle at 34% 28%,#fff 0 7%,#ff9bc0 8% 14%,var(--thermo-fluid) 34% 66%,#9d174d 100%);border:5px solid #211329;border-radius:50%;box-shadow:inset -10px -12px 14px #69113788,0 10px 0 #21132933,0 0 25px #e9367c88;pointer-events:none}
.ice-stage .thermo span{position:absolute;z-index:3;left:17px;right:17px;bottom:10px;width:auto;min-height:22px;max-height:calc(100% - 20px);margin:0!important;background:linear-gradient(90deg,#a81750 0%,var(--thermo-fluid) 30%,#ff77ab 54%,#e9367c 78%,#9d174d 100%);border-radius:18px 18px 9px 9px;box-shadow:inset 5px 0 7px #ffb0ce88,inset -4px 0 7px #6e103688,0 0 16px #e9367c;transition:height .45s cubic-bezier(.2,.8,.2,1),background .3s;animation:thermo-liquid-pulse 1.5s ease-in-out infinite alternate}
.ice-stage .game-side>p,.ice-stage .game-side>strong{position:relative;z-index:6}.ice-stage .game-side>strong{display:block;margin-top:.45rem;padding:.5rem .65rem;background:#211329;color:#fff;border-radius:8px;box-shadow:4px 4px 0 #e9367c;font-family:var(--title)}
@keyframes thermo-liquid-pulse{to{filter:brightness(1.18);box-shadow:inset 5px 0 7px #ffb0ceaa,inset -4px 0 7px #6e103688,0 0 24px #e9367ccc}}
@media(max-width:760px){.ice-stage .game-side{display:grid;grid-template-columns:1fr 105px;align-items:center;gap:5px;padding:1rem}.ice-stage .game-side h2{grid-column:1/-1}.ice-stage .thermo{grid-column:2;grid-row:2/7;width:60px;height:180px;margin:8px auto 42px}.ice-stage .thermo:after{width:74px;height:74px;bottom:-37px}.ice-stage .game-side>p,.ice-stage .game-side>strong{grid-column:1;margin:.25rem 0}}

/* 2.18.0 — Panique au Bureau, runner cartoon 3D */
.panic3d-page{max-width:1500px;margin-inline:auto;--panic-pink:#ef347d;--panic-cyan:#55e8f4;--panic-lime:#d9ff29;--panic-ink:#21122b}.panic3d-titlebar{position:relative;overflow:hidden;display:flex;align-items:end;justify-content:space-between;gap:24px;min-height:250px;margin-bottom:14px;padding:clamp(25px,5vw,62px);color:#fff4d5;background:radial-gradient(circle at 80% 30%,#1fc7d955,transparent 26%),linear-gradient(115deg,#190b23,#602158 67%,#142f43);border:5px solid #f2dfb6;box-shadow:10px 11px 0 var(--panic-pink)}.panic3d-titlebar:after{content:"COURS · ESQUIVE · SURVIS · COURS · ESQUIVE · SURVIS";position:absolute;left:-25px;bottom:-20px;color:#ffffff0e;font:clamp(2.2rem,7vw,7rem) var(--title);white-space:nowrap;transform:rotate(-3deg)}.panic3d-titlebar>div{position:relative;z-index:2}.panic3d-titlebar h1{margin:.12em 0;font-size:clamp(4rem,9vw,9rem);line-height:.7;text-transform:uppercase;text-shadow:7px 7px 0 #7d174f}.panic3d-titlebar p{margin:0;font-weight:1000}.panic3d-stamp,.panic3d-mark{display:inline-block;padding:6px 11px;color:var(--panic-ink);background:var(--panic-lime);border:3px solid var(--panic-ink);box-shadow:4px 4px 0 var(--panic-pink);font:.67rem var(--title);transform:rotate(-2deg)}
.panic3d-hud{position:relative;z-index:6;display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) minmax(230px,1.6fr);gap:7px;margin:0 0 -12px;padding:9px;color:#fff;background:#160a20;border:4px solid #f2dfb6;box-shadow:7px 8px 0 #55e8f4}.panic3d-hud>div{min-height:68px;display:grid;place-items:center;padding:7px;background:linear-gradient(#43234d,#22102c);border:2px solid #74567d;text-align:center}.panic3d-hud small{font-size:.58rem;font-weight:1000;letter-spacing:.08em;text-transform:uppercase}.panic3d-hud b{color:var(--panic-lime);font:clamp(1.05rem,2vw,1.65rem) var(--title)}.panic3d-speed i{width:100%;height:11px;overflow:hidden;background:#100719;border:2px solid #f2dfb6}.panic3d-speed i span{display:block;height:100%;width:0;background:linear-gradient(90deg,#55e8f4,#d9ff29 42%,#ffd128 68%,#ef347d);box-shadow:0 0 15px #ef347d;transition:width .25s}.panic3d-speed>b{font-size:.72rem}
.panic3d-stage{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;background:#080510;border:6px solid #f2dfb6;border-radius:22px;box-shadow:0 28px 75px #000a,10px 11px 0 #ef347d;touch-action:none}.panic3d-stage canvas{display:block;width:100%;height:100%}.panic3d-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#10061688,transparent 20% 80%,#10061688),linear-gradient(0deg,#10061688,transparent 25%);box-shadow:inset 0 0 80px #080510}.panic3d-stage .sound{right:13px;top:13px;color:#fff;background:#160a20df;border-color:#55e8f4}.panic3d-callout{position:absolute;z-index:7;left:50%;top:7%;max-width:78%;padding:9px 17px;translate:-50% 0;color:#21122b;background:#55e8f4;border:3px solid #21122b;box-shadow:5px 5px 0 #ef347d;font:.72rem var(--title);text-align:center;pointer-events:none;transform:rotate(-1deg)}
.panic3d-stage .game-overlay{background:radial-gradient(circle at 72% 34%,#642957c0,#0c0713f2 70%);backdrop-filter:blur(8px)}.panic3d-panel{width:min(980px,94%);max-height:94%;overflow:auto;padding:clamp(18px,3vw,38px);color:#21122b;background:linear-gradient(145deg,#fff4d5,#dfbd75);border:5px solid #21122b;box-shadow:10px 11px 0 #ef347d,17px 19px 0 #55e8f4;text-align:center}.panic3d-panel h2{margin:.28em 0;font-size:clamp(2rem,4.8vw,4.5rem);line-height:.83;text-transform:uppercase}.panic3d-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.panic3d-rules article{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:10px;padding:13px;background:#ecd69f;border:3px solid #21122b;box-shadow:4px 4px 0 #55e8f4;text-align:left}.panic3d-rules article>b{width:49px;height:49px;display:grid;place-items:center;color:#fff;background:#21122b;border-radius:50%;font:1.45rem var(--title)}.panic3d-rules article span{display:grid}.panic3d-rules strong{font:.92rem var(--title)}.panic3d-rules small{font-size:.67rem}.panic3d-law{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:15px 0;padding:10px;color:#fff;background:#21122b}.panic3d-law strong{color:#55e8f4}.panic3d-law b{padding:4px 8px;color:#21122b;background:#ef347d}.panic3d-law em{color:#d9ff29;font-style:normal;font-weight:1000}.panic3d-panel>button{background:#ef347d;box-shadow:5px 5px 0 #55e8f4}.panic3d-panel>small{display:block;margin-top:10px;font-weight:900}
.panic3d-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.panic3d-controls button{min-height:76px;display:flex;align-items:center;justify-content:center;gap:15px;padding:12px;color:#fff;background:linear-gradient(#472551,#190c22);border:4px solid #f2dfb6;box-shadow:0 8px 0 #0c0611;font:clamp(.75rem,1.7vw,1.1rem) var(--title);transition:.1s}.panic3d-controls button:hover{color:#21122b;background:#55e8f4}.panic3d-controls button:active,.panic3d-controls button.pressed{transform:translateY(7px);box-shadow:0 1px 0 #0c0611;background:#d9ff29;color:#21122b}.panic3d-controls kbd{padding:7px;background:#f2dfb6;color:#21122b;border:2px solid #21122b}.panic3d-footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.panic3d-footer p{font-size:.78rem}.panic3d-result>strong{display:block;color:#8b2062;font:clamp(3rem,8vw,7rem) var(--title)}.panic3d-rewards{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.panic3d-rewards span{padding:8px 13px;background:#d9ff29;border:2px solid #21122b;font-weight:1000}.panic3d-rewards .cost{color:#fff;background:#7f2850}.panic3d-ranking{max-width:500px;margin:15px auto;padding:0;list-style:none;text-align:left}.panic3d-ranking li{display:flex;justify-content:space-between;padding:8px 11px;border-bottom:1px dashed #72596b}.panic3d-ranking li:first-child{background:#ffd543}
@media(max-width:820px){.panic3d-titlebar{min-height:200px;padding:28px}.panic3d-hud{grid-template-columns:repeat(2,1fr);margin-bottom:-8px}.panic3d-speed{grid-column:1/-1}.panic3d-stage{width:100vw;margin-left:calc(50% - 50vw);border-left:0;border-right:0;border-radius:0}.panic3d-rules{grid-template-columns:1fr;gap:6px;margin:10px 0}.panic3d-controls{position:sticky;bottom:8px;z-index:20}.panic3d-footer{align-items:stretch;flex-direction:column}.panic3d-footer a{text-align:center}}
@media(max-width:520px){.panic3d-titlebar{display:block}.panic3d-titlebar h1{font-size:3.5rem}.panic3d-titlebar .game-wallet{margin-top:14px}.panic3d-stage{aspect-ratio:4/3}.panic3d-stage canvas{width:133.333%;height:100%;transform:translateX(-12.5%)}.panic3d-callout{top:4%;font-size:.55rem}.panic3d-panel{padding:14px}.panic3d-panel h2{font-size:2rem}.panic3d-rules small{display:none}.panic3d-controls button{min-height:65px;padding:7px}.panic3d-controls button b{font-size:.7rem}.panic3d-controls kbd{font-size:.62rem}}

/* 2.20.0 — la révélation reste entièrement visible, quelle que soit la hauteur utile. */
html.has-card-reveal,html.has-card-reveal body{overflow:hidden}
.card-reveal-overlay{
  box-sizing:border-box;
  place-items:start center;
  padding:clamp(8px,2vh,18px);
  overscroll-behavior:contain;
}
.card-reveal-stage{
  box-sizing:border-box;
  width:min(1180px,calc(100vw - 36px));
  height:calc(100dvh - clamp(16px,4vh,36px));
  min-height:0;
  max-height:none;
  padding:clamp(10px,2.4vh,30px) clamp(12px,3vw,42px);
  overflow:hidden;
}
.card-reveal-stage h2{
  margin:.16em 0 .08em;
  font-size:clamp(1.65rem,min(5.8vw,7.5vh),5rem);
}
.reveal-kicker{padding:5px 10px}
.reveal-pack{
  flex:0 1 auto;
  width:min(420px,62vw,calc(100dvh - 205px));
  min-width:190px;
  min-height:0;
  margin:auto;
}
.card-reveal-stage>footer{flex:0 0 58px;min-height:58px}
.card-reveal-overlay.has-opened .card-reveal-stage>header{display:none}
.card-reveal-overlay.has-opened .reveal-cards{
  flex:1 1 auto;
  min-height:0;
  margin:clamp(5px,1.5vh,16px) 0;
  overflow:auto;
}
.card-reveal-overlay.has-opened .reveal-card{
  width:min(clamp(112px,16vw,205px),calc((100dvh - 130px)*.69));
}
@media(max-height:620px){
  .card-reveal-stage{border-width:3px}
  .card-reveal-stage header p{font-size:.78rem}
  .reveal-pack>button,.card-reveal-stage>footer button{min-width:205px;padding:10px 15px;font-size:.8rem}
  .card-reveal-stage>footer{flex-basis:48px;min-height:48px}
  .card-reveal-stage>footer small{bottom:0;font-size:.62rem}
}
@media(max-width:560px){
  .card-reveal-overlay{padding:0}
  .card-reveal-stage{width:100vw;height:100dvh;min-height:0;padding:10px;border-top:0;border-bottom:0}
  .reveal-pack{width:min(78vw,calc(100dvh - 200px));min-width:170px}
  .card-reveal-overlay.has-opened .reveal-card{width:min(42vw,calc((100dvh - 150px)*.69))}
}

/* 2.21.0 — album persistant, accès direct et cinq demi-pages de stickers. */
.album-jumpbar{display:flex;align-items:center;justify-content:center;gap:.45rem;flex-wrap:wrap;width:min(1180px,96%);margin:0 auto .7rem;padding:.55rem .7rem;color:var(--cream);background:linear-gradient(105deg,#201128,#4e2456);border:3px solid var(--cream);box-shadow:5px 5px 0 var(--pink)}
.album-jumpbar>div{display:flex;align-items:center;gap:.45rem;margin-right:.35rem}.album-jumpbar strong{color:var(--yellow);font:.68rem var(--title)}.album-jumpbar select{min-width:min(340px,55vw);padding:.48rem .65rem;color:var(--ink);font-weight:900;background:var(--cream);border:2px solid var(--ink)}.album-jumpbar button{min-height:36px;padding:.35rem .6rem;color:var(--ink);font:.62rem var(--title);background:var(--lime);border:2px solid var(--cream);box-shadow:3px 3px 0 var(--pink)}.album-jumpbar button:last-child{background:var(--yellow)}
.reward-prize strong{font-size:clamp(.72rem,1.12vw,1.05rem)}
.sticker-page .sticker-board{inset:27% 4% 4%;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:3% 1.5%;overflow:visible}
.sticker-page .sticker-slot{box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0;margin:0;padding:23px 5px 5px;overflow:visible;color:inherit;background:transparent;border:0;border-radius:0;box-shadow:none;transform:none;cursor:pointer}
.sticker-page .sticker-slot:hover{z-index:4;transform:translateY(-4px) scale(1.025);filter:brightness(1.08)}
.sticker-page .sticker-slot img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;filter:drop-shadow(3px 5px 2px rgba(0,0,0,.35));transform:none}
.sticker-page .sticker-slot.is-missing img{opacity:.26;filter:brightness(0) drop-shadow(0 0 2px rgba(255,255,255,.95));transform:scale(.9)}
.sticker-page .sticker-slot>.sticker-number{position:absolute;z-index:5;left:50%;right:auto;top:0;bottom:auto;translate:-50% 0;min-width:52px;padding:.2rem .35rem;color:var(--cream);font:.62rem var(--title);text-align:center;background:#211329;border:2px solid var(--cream);border-radius:12px;box-shadow:2px 2px 0 var(--pink);white-space:nowrap}
.sticker-page .sticker-slot>b{z-index:6;right:3%;top:auto;bottom:2%;font-size:.72rem}
.sticker-layout-left .sticker-slot:nth-child(1){grid-column:1/span 2;grid-row:1}.sticker-layout-left .sticker-slot:nth-child(2){grid-column:3/span 2;grid-row:1}.sticker-layout-left .sticker-slot:nth-child(3){grid-column:5/span 2;grid-row:1}.sticker-layout-left .sticker-slot:nth-child(4){grid-column:2/span 2;grid-row:2}.sticker-layout-left .sticker-slot:nth-child(5){grid-column:4/span 2;grid-row:2}
.sticker-layout-right .sticker-slot:nth-child(1){grid-column:2/span 2;grid-row:1}.sticker-layout-right .sticker-slot:nth-child(2){grid-column:4/span 2;grid-row:1}.sticker-layout-right .sticker-slot:nth-child(3){grid-column:1/span 2;grid-row:2}.sticker-layout-right .sticker-slot:nth-child(4){grid-column:3/span 2;grid-row:2}.sticker-layout-right .sticker-slot:nth-child(5){grid-column:5/span 2;grid-row:2}
.sticker-page-end{display:grid;align-content:center;justify-items:center;text-align:center;color:var(--cream);background:radial-gradient(circle,#6b316f,#1c1027 65%)}.sticker-page-end h2{max-width:500px;margin:.35em 0;color:var(--yellow);font-size:clamp(2.5rem,5vw,5.5rem);line-height:.82;text-shadow:4px 4px 0 var(--pink)}.sticker-page-end p{font-weight:900}
@media(max-width:760px){.album-jumpbar{position:sticky;z-index:1100;top:0;width:100%;margin:0;padding:.4rem;border-inline:0}.album-jumpbar>div{width:100%;margin:0}.album-jumpbar select{min-width:0;flex:1}.album-jumpbar button{flex:1;min-width:90px}.sticker-page .sticker-board{min-height:0;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));inset:27% 4% 4%}.sticker-page .sticker-slot{padding-top:21px}}
@media(max-width:480px){.album-jumpbar strong{display:none}.album-jumpbar button{font-size:.54rem}.sticker-page>header p{display:none}.sticker-page .sticker-board{inset:24% 2% 3%;gap:2% .5%}.sticker-page .sticker-slot{padding:20px 1px 2px}.sticker-page .sticker-slot>.sticker-number{min-width:45px;font-size:.53rem}}

/* 2.22.0 — grille remontée et zone de sécurité stricte : aucun sticker ne sort du papier. */
.sticker-page .sticker-board{inset:18.5% 7% 8%;gap:3% 2%;overflow:hidden}
.sticker-page .sticker-slot{padding:24px 8px 12px;overflow:hidden;transform:none!important}
.sticker-page .sticker-slot:hover{transform:none!important;filter:brightness(1.08)}
.sticker-page .sticker-slot img{width:84%;height:84%;max-width:84%;max-height:84%;margin:auto;object-fit:contain;object-position:center}
.sticker-page .sticker-slot.is-missing img{transform:scale(.86)}
.sticker-page .sticker-slot>.sticker-number{top:1px}
.sticker-page .sticker-slot>b{right:7%;bottom:5%}
@media(max-width:760px){.sticker-page .sticker-board{inset:18.5% 6% 8%;gap:2.5% 1.5%}.sticker-page .sticker-slot{padding:22px 5px 10px}.sticker-page .sticker-slot img{width:82%;height:82%;max-width:82%;max-height:82%}}
@media(max-width:480px){.sticker-page .sticker-board{inset:17% 5% 7%;gap:2% 1%}.sticker-page .sticker-slot{padding:20px 3px 8px}.sticker-page .sticker-slot img{width:80%;height:80%;max-width:80%;max-height:80%}}

/* 2.22.0 — L'Ascenseur 13½ devient un jeu de routage et de gestion. */
.elevator-dispatch .elevator-hud{grid-template-columns:repeat(6,minmax(96px,1fr))}
.elevator-dispatch .elevator-stage{background:#130b20}
.elevator-dispatch .dispatch-panel{width:min(880px,94%);max-height:94%;overflow:auto}
.elevator-dispatch .elevator-rules{grid-template-columns:repeat(3,1fr)}
.elevator-dispatch .elevator-rules article{display:grid;grid-template-columns:46px 1fr;align-items:center;gap:.2rem .65rem;padding:.8rem;color:var(--cream);text-align:left;background:#251431;border:2px solid #55e8f4;box-shadow:4px 4px 0 #ef347d}
.elevator-dispatch .elevator-rules article>b{grid-row:1/span 2;display:grid;width:42px;aspect-ratio:1;place-items:center;color:var(--ink);font:1.35rem var(--title);background:var(--yellow);border-radius:50%}
.elevator-dispatch .elevator-rules article>span{color:var(--lime);font:.82rem var(--title)}
.elevator-dispatch .elevator-rules article>small{font-size:.72rem;line-height:1.3}
.elevator-legend{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap;margin:.8rem 0}
.elevator-legend span{padding:.35rem .55rem;color:#160b21;font:.7rem var(--title);border:2px solid #160b21}
.elevator-legend .destination{background:#d8ff28}.elevator-legend .call{background:#55e8f4}.elevator-legend .fault{color:#fff;background:#ef347d}
.elevator-help{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:1rem 0;padding:.75rem;color:var(--cream);background:#21112f;border:3px solid #d3ab48;box-shadow:5px 5px 0 #ef347d}
.elevator-help b{color:var(--yellow);font:.82rem var(--title)}.elevator-help span{flex:1 1 220px;font-size:.76rem;line-height:1.35}
.elevator-result-rewards{display:flex;justify-content:center;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.elevator-result-rewards span{padding:.45rem .6rem;color:var(--ink);font:.72rem var(--title);background:var(--lime);border:2px solid var(--cream)}.elevator-result-rewards .cost{color:var(--cream);background:#9e2456}
@media(max-width:760px){.elevator-dispatch .elevator-hud{grid-template-columns:repeat(6,minmax(82px,1fr));overflow-x:auto}.elevator-dispatch .elevator-rules{grid-template-columns:1fr}.elevator-dispatch .dispatch-panel{width:96%;padding:.8rem}.elevator-help{align-items:flex-start;flex-direction:column}.elevator-help span{flex-basis:auto}}

/* 2.23.0 — pagination serveur du marché. */
.market-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;margin:1rem;padding:1rem;color:var(--cream);background:#21112f;border:3px solid var(--yellow)}
.market-pagination strong{font:.75rem var(--title)}


/* 2.28.0 — cartes de sélection : aucune collision verticale */
.challenge-game-option{min-height:178px;gap:.55rem}
.challenge-game-option>span:nth-of-type(2){display:grid;align-content:start;gap:.38rem;min-height:76px}
.challenge-game-option strong{line-height:1.12;margin:0}
.challenge-game-option small{display:block;line-height:1.38;margin:0;overflow-wrap:anywhere}
.challenge-game-option i{margin-top:auto;line-height:1.2}
@media(max-width:460px){.challenge-game-option{min-height:132px}.challenge-game-option>span:nth-of-type(2){min-height:0}}

/* 2.29.0 — titres géants Histoires : lignes distinctes, jamais superposées */
.stories-hero h1,
.story-detail h1,
.story-admin h1{
  line-height:.94;
  margin:.22em 0 .34em;
  text-wrap:balance;
}
.story-case .stories-kicker + h1,
.story-case h1{
  line-height:.94;
  margin-top:.18em;
  margin-bottom:.28em;
}
.stories-hero h1 + p,
.story-case h1 + p,
.story-detail h1 + p{
  margin-top:.55rem;
}
@media(max-width:760px){
  .stories-hero h1,.story-detail h1,.story-admin h1,.story-case h1{
    line-height:.98;
  }
}

/* 2.33.0 — Ascenseur 13½ : jeu d'adresse à un bouton */
.elevator-stop .elevator-hud{grid-template-columns:repeat(5,minmax(96px,1fr))}
.elevator-stop .elevator-stage{background:#160b22;cursor:pointer}
.elevator-stop .stop-panel{width:min(760px,94%);text-align:center}
.elevator-two-rules{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:22px 0}
.elevator-two-rules article{display:grid;grid-template-columns:56px 1fr;align-items:center;gap:.15rem .75rem;padding:1rem;color:var(--cream);text-align:left;background:#251431;border:3px solid #55e8f4;box-shadow:5px 5px 0 #d8ff28}
.elevator-two-rules article>b{grid-row:1/span 2;display:grid;width:50px;aspect-ratio:1;place-items:center;color:var(--ink);font:1.6rem var(--title);background:var(--yellow);border:3px solid var(--ink);border-radius:50%}
.elevator-two-rules article>span{color:var(--lime);font:.88rem var(--title)}
.elevator-two-rules article>small{font-size:.78rem;line-height:1.35}
.elevator-stop-button{position:absolute;right:9%;bottom:8%;z-index:5;width:clamp(90px,14vw,155px);aspect-ratio:1;padding:0;color:#fff;font:clamp(1.35rem,3.6vw,2.7rem) var(--title);background:#ef347d;border:8px solid #fff3cf;border-radius:50%;box-shadow:0 0 0 6px #21112f,0 12px 0 #821b49,0 20px 35px #0009;animation:elevatorStopPulse .7s ease-in-out infinite alternate;touch-action:manipulation}
.elevator-stop-button:active{transform:translateY(8px);box-shadow:0 0 0 6px #21112f,0 4px 0 #821b49,0 10px 20px #0009}
@keyframes elevatorStopPulse{from{filter:brightness(.95);scale:.98}to{filter:brightness(1.16);scale:1.03}}
@media(max-width:760px){.elevator-stop .elevator-hud{grid-template-columns:repeat(5,minmax(82px,1fr));overflow-x:auto}.elevator-two-rules{grid-template-columns:1fr;gap:8px;margin:12px 0}.elevator-stop-button{right:4%;bottom:4%;border-width:5px}.elevator-stop .elevator-help{align-items:flex-start;flex-direction:column}.elevator-stop .elevator-help span{flex-basis:auto}}

/* 2.34.0 — Centre de pilotage */
.admin-control-center{background:linear-gradient(135deg,#8e25bd,#ef347d)!important;color:#fff!important;border-color:#d8ff28!important;box-shadow:8px 8px 0 #55e8f4!important}.admin-control-center h2{color:#fff3cf}.admin-control-center strong{color:#d8ff28;font-family:var(--title)}
.studio-hero{display:flex;align-items:center;justify-content:space-between;gap:2rem;color:var(--cream);background:radial-gradient(circle at 80% 30%,#8e25bd,#21112f 60%);border:5px solid #55e8f4;box-shadow:10px 10px 0 #ef347d}.studio-hero h1{margin:.15em 0;color:#fff3cf;font-size:clamp(2.4rem,6vw,5.6rem);line-height:.88}.studio-hero-meter{display:grid;min-width:170px;aspect-ratio:1;place-items:center;align-content:center;color:#21112f;background:#d8ff28;border:7px solid #fff3cf;border-radius:50%;box-shadow:0 0 45px #d8ff2866;transform:rotate(4deg)}.studio-hero-meter b{font:3.2rem var(--title)}.studio-hero-meter span{font:.7rem var(--title)}
.studio-tabs{position:sticky;top:0;z-index:20;display:flex;gap:.35rem;overflow-x:auto;margin:1rem 0;padding:.55rem;background:#21112f;border:3px solid #d3aa45}.studio-tabs a{padding:.65rem .8rem;color:#fff3cf;font:.72rem var(--title);white-space:nowrap;border:2px solid transparent}.studio-tabs a:hover,.studio-tabs a.is-active{color:#21112f;background:#d8ff28;border-color:#fff3cf}
.studio-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.studio-kpis article{display:grid;gap:.25rem;padding:1.25rem;color:#fff3cf;background:#21112f;border:4px solid #55e8f4;box-shadow:6px 6px 0 #ef347d}.studio-kpis article>span{font-size:2rem}.studio-kpis b{font:3rem var(--title);color:#d8ff28}.studio-kpis small{font:.75rem var(--title)}.studio-kpis a{margin-top:.5rem;color:#ffd338;font-weight:900}.studio-guide>div{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.studio-guide article{position:relative;padding:1rem;background:#ead6a9;border:3px solid #21112f}.studio-guide article>b{display:grid;width:42px;aspect-ratio:1;place-items:center;color:#fff;background:#8e25bd;border-radius:50%;font:1.3rem var(--title)}
.studio-workspace{display:grid;grid-template-columns:minmax(350px,.82fr) minmax(0,1.4fr);gap:1rem;align-items:start}.studio-editor{position:sticky;top:64px;border:4px solid #55e8f4;box-shadow:7px 7px 0 #ef347d}.studio-editor.is-editing{animation:studioEdit .8s ease}.studio-editor header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.studio-editor h2{margin:.25em 0}.studio-editor label,.album-build-grid label{display:grid;gap:.3rem;font-size:.72rem;font-weight:900;text-transform:uppercase}.studio-editor input,.studio-editor select,.studio-editor textarea,.album-build-grid input,.album-build-grid select{width:100%}.studio-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.studio-fields .wide{grid-column:1/-1}.studio-editor fieldset,.album-build-grid fieldset{grid-column:1/-1;margin:.8rem 0;padding:1rem;border:3px solid #8e25bd}.studio-editor legend,.album-build-grid legend{padding:0 .4rem;font-family:var(--title)}@keyframes studioEdit{50%{box-shadow:0 0 0 12px #d8ff2877,7px 7px 0 #ef347d}}
.studio-list{min-width:0}.studio-search{width:100%;margin:.5rem 0 1rem}.studio-list td small{display:block}.studio-card-list{display:grid;gap:.75rem}.studio-record{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;color:#fff3cf;background:#21112f;border:3px solid #55e8f4;box-shadow:4px 4px 0 #d3aa45}.studio-record>div:nth-child(2){flex:1}.studio-record h3{margin:.2rem 0;color:#fff3cf}.studio-record p{margin:.25rem 0}.studio-record>div:last-child{display:flex;gap:.4rem;flex-wrap:wrap}.studio-record-icon{display:grid;width:64px;aspect-ratio:1;place-items:center;font-size:2.2rem;background:var(--c,#8e25bd);border:3px solid #fff3cf;border-radius:18px}.studio-status{display:inline-block;padding:.25rem .45rem;color:#21112f;font:.62rem var(--title);text-transform:uppercase;background:#ffd338;border:2px solid #21112f}.studio-status.published,.studio-status.active{background:#d8ff28}.studio-status.archived,.studio-status.completed{background:#aaa}.studio-status.banned,.studio-status.suspended{color:#fff;background:#ef347d}.studio-status.draft,.studio-status.pending,.studio-status.paused{background:#ffd338}
.studio-template-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin:1rem 0}.studio-template-picker label{display:grid;place-items:center;padding:.55rem;text-align:center;background:#ead6a9;border:3px solid #21112f;cursor:pointer}.studio-template-picker input{width:auto}.studio-template-picker span{font-size:1.8rem}.studio-template-picker label:has(input:checked){background:#d8ff28;box-shadow:4px 4px 0 #8e25bd}.studio-reward-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}
.albums-workspace{margin-bottom:1rem}.album-construction{border:5px solid #8e25bd}.album-construction>header{padding:1rem;color:#fff3cf;background:#21112f}.album-construction>header h2{color:#d8ff28}.album-build-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.album-build-grid>form{display:grid;align-content:start;gap:.65rem;padding:1rem;background:#ead6a9;border:3px solid #21112f;box-shadow:5px 5px 0 #55e8f4}.studio-position{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem}.album-build-list{margin-top:1.5rem}.album-build-list details{margin:.5rem 0;background:#fff3cf;border:3px solid #21112f}.album-build-list summary{display:flex;align-items:center;gap:1rem;padding:.75rem;cursor:pointer}.album-build-list summary span{margin-left:auto}.album-build-list details>div{display:grid;gap:.3rem;padding:.6rem}.album-build-list article{display:flex;align-items:center;gap:.6rem;padding:.55rem;background:#ead6a9;border:2px solid #8e25bd}.album-build-list article button{margin-left:auto}
/* Jeux créés */
.studio-game-card{border-color:var(--studio-secondary)!important;box-shadow:7px 7px 0 var(--studio-primary)!important}.studio-games-heading{margin-top:2rem;color:#fff3cf;background:#21112f;border:4px solid #d8ff28}.studio-player-game{max-width:1500px}.studio-game-title{background:radial-gradient(circle at 75% 40%,var(--p),#21112f 65%)}.studio-game-title>i{font-size:5rem}.studio-game-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin:1rem 0}.studio-game-hud span{display:grid;padding:.65rem;text-align:center;color:#fff3cf;background:#21112f;border:3px solid #55e8f4}.studio-game-hud small{font:.62rem var(--title)}.studio-game-hud b{font:1.35rem var(--title);color:#d8ff28}.studio-game-stage{position:relative;overflow:hidden;aspect-ratio:16/9;background:#160b22;border:6px solid var(--s);border-radius:24px;box-shadow:10px 10px 0 var(--p)}.studio-game-stage canvas{display:block;width:100%;height:100%;touch-action:none}.studio-game-panel{text-align:center;border-color:var(--s);box-shadow:9px 9px 0 var(--p)}.studio-game-panel>span{display:block;font-size:4rem}.studio-game-panel>strong{display:block;margin:1rem}.studio-game-panel>button{background:var(--p);box-shadow:5px 5px 0 var(--s)}
/* Albums construits */
.studio-album-hero{display:flex;align-items:center;justify-content:space-between;color:#fff3cf;background:linear-gradient(135deg,#21112f,#8e25bd);border:5px solid #55e8f4}.studio-album-hero h1{color:#d8ff28;font-size:clamp(2.5rem,6vw,5rem)}.studio-album-hero>span{font-size:6rem}.studio-album-selector{display:flex;gap:1rem;overflow-x:auto;margin:1rem 0;padding:.5rem}.studio-album-selector a{position:relative;flex:0 0 240px;overflow:hidden;aspect-ratio:1.6;color:#fff;background:#21112f;border:4px solid #d3aa45;box-shadow:6px 6px 0 #ef347d}.studio-album-selector a::before{position:absolute;inset:0;content:"";background:linear-gradient(#0002,#000c),var(--cover) center/cover}.studio-album-selector a>span{position:absolute;inset:auto 0 0;z-index:1;padding:.75rem}.studio-album-selector a b,.studio-album-selector a small{display:block}.studio-album-selector a.is-active{border-color:#d8ff28;transform:translateY(-4px)}.studio-album-book{padding:1rem;background:#2a1634;border:7px solid #d3aa45;box-shadow:0 25px 70px #0008}.studio-album-book>header{min-height:260px;padding:2rem;color:#fff;background:linear-gradient(90deg,#160b22ed,#160b2277),var(--cover) center/cover;border:4px solid #55e8f4}.studio-album-book>header h2{margin:.2em 0;color:#d8ff28;font-size:clamp(2.4rem,6vw,5rem)}.studio-album-book>header dl{display:flex;gap:1rem}.studio-album-book>header dl div{padding:.5rem;background:#21112f;border:2px solid #fff3cf}.studio-album-spread{position:relative;display:grid;grid-template-columns:repeat(2,1fr);min-height:670px;margin:1rem 0;background:#d8c18f;border:7px solid #180d20;box-shadow:inset 0 0 60px #5a3b2b66}.studio-album-binding{position:absolute;left:50%;top:0;bottom:0;z-index:3;width:24px;transform:translateX(-50%);background:linear-gradient(90deg,#573824,#d3aa45,#573824);box-shadow:0 0 20px #0008}.studio-mini-page{position:relative;display:flex;flex-direction:column;padding:1.1rem;background:linear-gradient(#f5e8c5e8,#f5e8c5e8),var(--page-bg) center/cover;border:2px solid #8c714b}.studio-mini-page>header span{font:.65rem var(--title);color:#8e25bd}.studio-mini-page>header h3{margin:.2rem 0}.studio-album-items{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;align-content:start;flex:1;margin:1rem 0}.studio-album-item{position:relative;overflow:hidden;min-height:170px;padding:.5rem;color:#fff3cf;background:#21112f;border:4px solid #8e25bd;transform:rotate(-1deg)}.studio-album-item:nth-child(even){transform:rotate(1.5deg)}.studio-album-item.is-owned::before{position:absolute;inset:0;content:"";background:var(--item) center/cover}.studio-album-item>*{position:relative;z-index:1}.studio-album-item b,.studio-album-item small{display:block;padding:.2rem;background:#21112fdd}.studio-album-item>span{font:4rem var(--title);color:#d8ff28}.studio-mini-page>footer{padding:.7rem;color:#fff3cf;background:#21112f;border:3px solid #d3aa45}.studio-mini-page>footer>div{display:flex;justify-content:space-between}.studio-mini-page>footer>strong{display:block;margin-top:.45rem;color:#d8ff28}.studio-album-controls{display:flex;align-items:center;justify-content:center;gap:1rem;color:#fff3cf}.studio-album-controls span{font:1rem var(--title)}
/* Cadeau éclair */
.live-gift-overlay{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1rem;background:#11071ed9;animation:giftIn .25s ease}.live-gift{position:relative;width:min(580px,94vw);padding:2rem;text-align:center;color:#fff3cf;background:radial-gradient(circle at 50% 20%,#8e25bd,#21112f 65%);border:7px solid #d8ff28;box-shadow:0 0 0 8px #ef347d,0 30px 90px #000}.live-gift-icon{font-size:7rem;animation:giftBounce .5s ease-in-out infinite alternate}.live-gift h2{color:#d8ff28;font-size:clamp(2rem,7vw,4.5rem)}.live-gift-claim{font-size:1.4rem;background:#ef347d;box-shadow:6px 6px 0 #55e8f4}.live-gift-close{position:absolute;right:.5rem;top:.5rem;background:transparent;box-shadow:none}.live-gift.is-won .live-gift{border-color:#55e8f4}@keyframes giftIn{from{opacity:0;scale:.85}}@keyframes giftBounce{to{transform:translateY(-12px) rotate(5deg)}}
@media(max-width:1050px){.studio-kpis,.studio-guide>div{grid-template-columns:repeat(2,1fr)}.studio-workspace{grid-template-columns:1fr}.studio-editor{position:static}.album-build-grid{grid-template-columns:1fr}}
@media(max-width:760px){.studio-hero{align-items:flex-start;flex-direction:column}.studio-hero-meter{min-width:115px}.studio-kpis,.studio-guide>div,.studio-fields,.studio-reward-grid{grid-template-columns:1fr}.studio-template-picker{grid-template-columns:repeat(2,1fr)}.studio-record{align-items:flex-start;flex-direction:column}.studio-position{grid-template-columns:repeat(2,1fr)}.studio-game-hud{grid-template-columns:repeat(4,minmax(80px,1fr));overflow-x:auto}.studio-game-stage{margin-left:calc(50% - 50vw);width:100vw;border-left:0;border-right:0;border-radius:0}.studio-album-spread{grid-template-columns:1fr}.studio-album-binding{display:none}.studio-mini-page{min-height:600px}.studio-album-items{grid-template-columns:repeat(2,1fr)}.studio-album-book{padding:.35rem}.studio-album-book>header dl{flex-wrap:wrap}}
