/* Révision 3 : les épisodes partagent une même petite machine de lecture. */
.adventure-deck{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 28px;
  padding:8px 0 14px;
}
.adventure-card{
  --case:#d3e4c9;--case-dark:#70917b;--lean:-.65deg;
  position:relative;top:0;isolation:isolate;grid-column:span 2;
  border:2px solid #826747;border-radius:26px;
  background:var(--case);padding:12px;
  box-shadow:0 7px 0 #826747,0 13px 0 #49373d09;
  transition:top .25s ease,box-shadow .25s;
}
.adventure-2{--case:#c6e2e2;--case-dark:#628e91;--lean:.65deg}
.adventure-3{--case:#f1d49b;--case-dark:#a17a44}
.adventure-4{--case:#e1d6e7;--case-dark:#94829f;--lean:.65deg;grid-column:2/span 2}
.adventure-5{--case:#efd0b8;--case-dark:#b88b68;grid-column:4/span 2}
.adventure-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 7px 12px}
.episode-plaque{display:flex;align-items:center;gap:9px;background:var(--paper);border:1px solid #826747;border-radius:8px;padding:3px 12px;font-size:13px;line-height:1.45;font-weight:700;box-shadow:0 2px 0 #82674735}
.episode-plaque b{font-family:Bricolage,Arial,sans-serif;font-size:21px;letter-spacing:-.04em;color:var(--green)}
.adventure-symbol{width:36px;height:36px;display:grid;place-items:center;color:var(--ink)}
.adventure-symbol svg{width:30px;height:30px;transition:transform .35s cubic-bezier(.2,.8,.3,1.5)}
.adventure-window{position:relative;background:var(--gold);padding:5px;border:2px solid #826747;border-radius:16px;box-shadow:inset 0 2px 0 #fffae9b0;overflow:hidden}
.adventure-window img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:9px}
.window-corner{position:absolute;inset:0;border:5px solid #d7ad60;border-radius:14px;pointer-events:none}
.adventure-copy{background:var(--paper);border:1px solid #8267475c;border-radius:16px;margin-top:11px;padding:21px 19px 13px;display:flex;flex-direction:column;flex:1}
.adventure-card{display:flex;flex-direction:column}
.adventure-top,.adventure-window{flex-shrink:0}
.adventure-topic{color:var(--green);font-size:13px;line-height:1.4;font-weight:700;margin:0 0 9px}
.adventure-copy h3{font-size:29px;line-height:1.1;letter-spacing:-.045em;min-height:64px;margin:0 0 11px}
.adventure-summary{font-size:16px;line-height:1.5;margin:0 0 20px;min-height:72px;text-wrap:pretty}
.adventure-action{display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent;border:0;width:100%;padding:0;min-height:47px;text-align:left;font-size:15px;font-weight:700;color:var(--green);margin-top:auto;outline:none}
.adventure-action:after{content:"";position:absolute;inset:0;border-radius:24px;z-index:2}
.adventure-action:focus-visible{outline:none}
.adventure-card:has(.adventure-action:focus-visible){outline:3px solid #076bb3;outline-offset:6px}
.action-port{display:grid;place-items:center;width:45px;height:45px;flex-shrink:0;border:2px solid var(--green);border-radius:50%;background:var(--green);color:var(--paper);box-shadow:0 3px 0 #173f35;overflow:hidden;transition:background .25s,color .25s,transform .25s}
.action-port svg{width:23px;height:23px}
@media(hover:hover){
  .adventure-card:hover{top:-6px;box-shadow:0 10px 0 #826747,0 22px 25px #49373d15}
  .adventure-card:hover .adventure-symbol svg{transform:rotate(-12deg) scale(1.13)}
  .adventure-card:hover .action-port{background:var(--cream);color:var(--green);transform:rotate(-8deg)}
  .adventure-card:hover .action-port svg{animation:arrow-trip .7s cubic-bezier(.25,.7,.25,1) 1}
}
.adventure-card:focus-within{top:-6px;box-shadow:0 10px 0 #826747,0 22px 25px #49373d15}
.adventure-card:focus-within .action-port svg{animation:arrow-trip .7s ease 1}
.adventure-card:active{top:2px;box-shadow:0 3px 0 #826747}
.adventure-deck[data-entering="true"] .adventure-card{animation:panel-settle .72s cubic-bezier(.15,.8,.3,1.2) backwards;animation-delay:var(--arrival-delay)}
.adventure-deck[data-in-view="true"] .adventure-symbol{animation:curious-sign 15s ease-in-out infinite;animation-delay:-12s}
.adventure-deck[data-in-view="true"] .adventure-2 .adventure-symbol{animation-delay:-9s}
.adventure-deck[data-in-view="true"] .adventure-3 .adventure-symbol{animation-delay:-6s}
.adventure-deck[data-in-view="true"] .adventure-4 .adventure-symbol{animation-delay:-3s}
.adventure-deck[data-in-view="true"] .adventure-5 .adventure-symbol{animation-delay:0s}
@keyframes curious-sign{0%,79%,100%{transform:translateY(0) rotate(0)}84%,94%{transform:translateY(-3px) rotate(-5deg)}89%{transform:translateY(0) rotate(5deg)}}
@keyframes panel-settle{from{top:17px}to{top:0}}
@keyframes arrow-trip{0%{transform:translateX(0)}40%{transform:translateX(25px);opacity:0}41%{transform:translateX(-25px);opacity:0}100%{transform:translateX(0);opacity:1}}
/* Les icônes répondent au geste, avec le même ressort que les cartes. */
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .22s cubic-bezier(.2,.8,.3,1.5),box-shadow .22s,background .22s}
.button:before{content:"";position:absolute;inset:-50% auto -50% -60%;width:28%;background:#fffae922;transform:skewX(-25deg);pointer-events:none}
.button svg{transition:transform .25s cubic-bezier(.2,.8,.25,1.6)}
@media(hover:hover){
  .button:hover{transform:translateY(-4px);box-shadow:0 8px 0 #1c493e}
  .button-yellow:hover{box-shadow:0 8px 0 #b89b65}
  .button:hover:before{animation:button-light .65s ease-out}
  .button:hover svg{animation:icon-hop .55s ease-in-out}
}
.button:focus-visible svg{animation:icon-hop .55s ease-in-out}
.button:active{transform:translateY(3px) scale(.98);box-shadow:0 1px 0 #1c493e}
.button-yellow:active{box-shadow:0 1px 0 #b89b65}
.header nav a{position:relative;padding-inline:8px;border-radius:10px;transition:background .2s,transform .22s}
.header nav{gap:8px}
.header nav a:hover,.header nav a:focus-visible{background:#a8d8bc80;transform:translateY(-2px);text-decoration:none}
.rendezvous a svg,.text-button svg,.footer a svg{transition:transform .25s cubic-bezier(.2,.8,.25,1.6)}
.rendezvous a:is(:hover,:focus-visible) svg,.text-button:is(:hover,:focus-visible) svg,.footer a:is(:hover,:focus-visible) svg{transform:translateX(5px)}
.game-parent-link,.contact-quick,.contact-intro>a,.footer-top>a:last-child{display:inline-block;transition:transform .25s,text-decoration-color .25s}
.game-parent-link:is(:hover,:focus-visible),.contact-quick:is(:hover,:focus-visible),.contact-intro>a:is(:hover,:focus-visible),.footer-top>a:last-child:is(:hover,:focus-visible){transform:translateX(4px)}
.cast-member .portrait{transition:background .25s,box-shadow .25s}
.cast-member:is(:hover,:focus-visible) .portrait{box-shadow:0 7px 0 #49373d16}
.cast-member:is(:hover,:focus-visible) .portrait img{transform:translateY(-6px) rotate(-1deg)}
.cast-plus{transition:transform .35s cubic-bezier(.2,.8,.3,1.5),background .25s}
.cast-member:is(:hover,:focus-visible) .cast-plus{transform:rotate(90deg);background:var(--mint)}
.faq summary span{transition:transform .25s cubic-bezier(.2,.8,.3,1.5)}
.dialog-close svg{transition:transform .3s}
.dialog-close:is(:hover,:focus-visible) svg{transform:rotate(90deg)}
.dialog-close{transition:background .2s}
.dialog-close:hover{background:var(--mint)}
dialog[open]{animation:dialog-arrive .28s cubic-bezier(.2,.8,.25,1.2)}
.hero-copy[data-in-view="true"] .button>svg{animation:invitation 5.2s ease-in-out infinite}
.avatar-showcase[data-in-view="true"] .avatar-ticket{animation:ticket-sway 6s ease-in-out infinite}
.avatar-showcase .memo-peek{transition:transform .35s}
.avatar-showcase:is(:hover,:focus-within) .memo-peek{transform:rotate(1deg) translateY(-5px)}
.welcome-bubble.is-answering{animation:answer-pop .4s cubic-bezier(.2,.8,.25,1.3)}
@keyframes button-light{from{left:-60%}to{left:130%}}
@keyframes icon-hop{0%,100%{transform:translateX(0) rotate(0)}35%{transform:translateX(4px) rotate(-12deg)}70%{transform:translateX(2px) rotate(8deg)}}
@keyframes invitation{0%,65%,100%{transform:translateX(0)}74%{transform:translateX(5px)}82%{transform:translateX(0)}89%{transform:translateX(3px)}}
@keyframes ticket-sway{0%,100%{transform:rotate(5deg) translateY(0)}50%{transform:rotate(2deg) translateY(-5px)}}
@keyframes answer-pop{0%{transform:translateX(-50%) scale(.95)}70%{transform:translateX(-50%) scale(1.025)}100%{transform:translateX(-50%) scale(1)}}
@keyframes dialog-arrive{from{transform:translateY(12px) scale(.98)}to{transform:translateY(0) scale(1)}}
html[data-hidden="true"] *,html[data-hidden="true"] *:before,html[data-hidden="true"] *:after,
[data-in-view="false"] *,[data-in-view="false"] *:before,[data-in-view="false"] *:after{animation-play-state:paused!important}
body:has(dialog[open]) main *,body:has(dialog[open]) main *:before,body:has(dialog[open]) main *:after{animation-play-state:paused!important}
html[data-motion="paused"] *,html[data-motion="paused"] *:before,html[data-motion="paused"] *:after{animation-play-state:paused!important}
html[data-motion="paused"] .adventure-card,html[data-motion="paused"] dialog[open],html[data-motion="paused"] .welcome-bubble{animation:none!important}
html[data-motion="paused"] .adventure-card{top:0!important}
html[data-motion="paused"] .adventure-card,html[data-motion="paused"] .adventure-card img,
html[data-motion="paused"] .adventure-symbol svg,html[data-motion="paused"] .action-port,
html[data-motion="paused"] .button,html[data-motion="paused"] .header nav a{transform:none!important}
@media(prefers-reduced-motion:reduce){
  .adventure-card{top:0!important}
  .adventure-card,.adventure-card img,.adventure-symbol svg,.action-port,.button,.header nav a{transform:none!important}
}
@media(max-width:1100px){.adventure-deck{gap:25px 20px}.adventure-card{padding:10px}.adventure-copy{padding:18px 15px 11px}.adventure-copy h3{font-size:25px;min-height:57px}.adventure-topic{font-size:12px;min-height:34px}.adventure-summary{font-size:15px;min-height:90px}.adventure-action{font-size:13px}.action-port{width:40px;height:40px}.header nav{gap:2px}.header nav a{padding-inline:6px}}
@media(max-width:820px){.adventure-deck{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 22px}.adventure-card{grid-column:span 2}.adventure-5{grid-column:2/span 2}.adventure-copy h3{font-size:27px;min-height:60px}.adventure-topic{min-height:0}.adventure-summary{min-height:72px}.adventure-action{font-size:14px}}
@media(max-width:700px){.header nav{gap:0}.header nav a{padding-inline:12px}.adventure-deck{gap:26px 16px}.adventure-top{padding-inline:2px}.episode-plaque{padding:3px 8px}.adventure-copy{padding:17px 13px 12px}.adventure-copy h3{font-size:25px}.adventure-summary{font-size:15px}.adventure-action{font-size:13px;gap:6px}.action-port{width:36px;height:36px}.adventure-symbol svg{width:27px}.adventure-symbol{width:30px}}
@media(max-width:560px){.adventure-deck{grid-template-columns:minmax(0,1fr);gap:28px;max-width:420px;margin-inline:auto}.adventure-card,.adventure-5{grid-column:auto;padding:12px}.adventure-top{padding:1px 8px 11px}.adventure-copy{padding:20px 20px 13px}.adventure-copy h3{font-size:29px;min-height:0;margin-bottom:13px}.adventure-topic{font-size:13px}.adventure-summary{font-size:16px;min-height:0;margin-bottom:20px}.adventure-action{font-size:15px;min-height:47px}.action-port{width:44px;height:44px}.adventure-symbol svg{width:30px;height:30px}.episode-plaque{padding:3px 12px}}
