/* Décor public de la traversée : animation de partie, sans donnée persistante. */
.expedition-play .game-container { max-width: 960px; padding-bottom: 6rem; }
.expedition-play .island-info .world-name { color: #d6d0ff; text-shadow: none; }
.expedition-scene {
    --scene-light: #b4a7ff;
    --scene-deep: #302d6e;
    --journey-progress: 0%;
    position: relative;
    overflow: hidden;
    isolation: isolate;
    margin-bottom: 1.2rem;
    padding: 1.2rem 1.6rem .9rem;
    border: 1px solid #ffffff29;
    border-radius: 24px;
    background: linear-gradient(120deg, #151d36, var(--scene-deep));
    box-shadow: 0 18px 50px #070b2440;
    color: #fff;
}
.expedition-scene[data-theme="forest"] { --scene-light: #a0e8bb; --scene-deep: #1c544a; }
.expedition-scene[data-theme="aurora"] { --scene-light: #88e9e8; --scene-deep: #254271; }
.expedition-scene[data-theme="sands"] { --scene-light: #ffda99; --scene-deep: #60455b; }
.expedition-scene[data-theme="ocean"] { --scene-light: #8ce4f0; --scene-deep: #15537d; }
.expedition-landscape { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.expedition-moon { position: absolute; right: 8%; top: 15%; width: 56px; height: 56px; border-radius: 50%; background: #fff3cb; box-shadow: 0 0 55px #fff3cb30; opacity: .8; }
.expedition-ridge { position: absolute; inset: 25% 0 0 38%; background: var(--scene-light); opacity: .17; clip-path: polygon(0 100%, 18% 40%, 28% 62%, 49% 0, 75% 65%, 89% 35%, 100% 72%, 100% 100%); }
.expedition-ridge.ridge-front { inset: 42% -10% 0 45%; opacity: .15; transform: scaleX(-1); }
.expedition-landmark { position: absolute; right: 13%; bottom: 42%; font-size: 2.2rem; filter: drop-shadow(0 4px 10px #0005); }
.expedition-caption { max-width: 78%; }
.expedition-kicker { color: var(--scene-light); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.expedition-caption h2 { font-size: clamp(1.1rem, 2.2vw, 1.5rem); line-height: 1.3; margin: .35rem 0; }
.expedition-caption p { font-size: .88rem; line-height: 1.5; color: #eff2ff; margin: 0; min-height: 2.65em; }
.expedition-trail { position: relative; height: 45px; margin: 13px 20px 0; }
.expedition-track { position: absolute; inset: 23px 0 auto; border-top: 2px dashed #ffffff50; }
.expedition-track::before { content: ""; position: absolute; top: -2px; left: 0; width: var(--journey-progress); height: 3px; background: #ffe49b; box-shadow: 0 0 10px #ffd96e66; transition: width .7s ease; }
.expedition-traveler { position: absolute; z-index: 2; left: var(--journey-progress); top: -2px; transform: translateX(-50%); font-size: 1.75rem; transition: left .7s cubic-bezier(.25,.8,.25,1); filter: drop-shadow(0 3px 5px #0008); }
.expedition-destination { position: absolute; right: -10px; top: -7px; font-size: 1.9rem; color: #ffe49b; }
.expedition-beacons { position: absolute; inset: 18px 0 auto; display: flex; justify-content: space-between; gap: 3px; }
.expedition-beacon { display: block; height: 10px; flex: 0 1 10px; min-width: 3px; border-radius: 50%; background: #425071; border: 1px solid #bac7dd; transition: background .3s, box-shadow .3s; }
.expedition-beacon.lit { background: #ffe49b; border-color: #ffe49b; box-shadow: 0 0 9px #ffe49b88; }
.expedition-progress { font-size: .74rem; font-weight: 700; letter-spacing: .02em; text-align: right; color: #e5e9ff; }
.expedition-scene[data-phase="complete"] { border-color: #ffe49b90; }
.expedition-play .start-screen { padding: 1.7rem; }
.expedition-play .start-screen h2 { margin-bottom: .35rem; }
.expedition-play .start-screen > p { margin-bottom: 1.2rem; }
.expedition-play .difficulty-selector { margin: 1.2rem 0; }
.expedition-mixed-intro { max-width: 38rem; margin: 0 auto; color: #e1e8ff; line-height: 1.6; }
.expedition-subject { width: fit-content; max-width: 100%; margin: 0 0 1rem; padding: .4rem .85rem; border: 1px solid #ffe49b70; border-radius: 999px; background: #111a36; color: #ffe49b; font-size: .9rem; font-weight: 700; }
.expedition-subject[hidden] { display: none; }
.expedition-play .action-buttons { flex-wrap: wrap; }
.expedition-play .expedition-next { display: flex; flex-basis: 100%; background: #f9d887; color: #1b2542; border: 1px solid #ffe7aa; flex-direction: column; gap: .3rem; box-shadow: 0 5px 24px #f9d88725; }
.expedition-play .score-display { color: #f9d887; }
.expedition-next span { font-size: .84rem; font-weight: 500; }
.expedition-play .expedition-result { max-width: 34rem; margin: .8rem auto 1.4rem; line-height: 1.65; color: #e1e8ff; }
.adventure-review { margin: 1.2rem 0; padding: 1rem; border: 1px solid #b4a7ff70; border-radius: 18px; background: #111a36dd; color: #f4f5ff; text-align: left; }
.adventure-review[hidden] { display: none; }
.adventure-review summary { padding: .4rem; color: #ffe49b; font-weight: 700; cursor: pointer; }
.adventure-review summary:focus-visible { outline: 3px solid #ffe49b; outline-offset: 4px; border-radius: 6px; }
.adventure-review-intro { margin: .75rem 0; font-size: .88rem; line-height: 1.5; }
.adventure-review ol { list-style: none; margin: 0; padding: 0; }
.adventure-review li { padding: 1rem 0; border-top: 1px solid #ffffff25; overflow-wrap: anywhere; }
.adventure-review h3 { margin: 0 0 .6rem; color: #c7bbff; font-size: .88rem; }
.adventure-review-question { white-space: pre-line; line-height: 1.5; margin: 0 0 .8rem; }
.adventure-review-answer { color: #a7f3c9; font-weight: 700; line-height: 1.5; margin: 0; }
.adventure-review-figure svg { display: block; width: min(100%, 200px); margin: .5rem auto 1rem; fill: #8071cf55; stroke: #d1c7ff; stroke-width: 4px; }
.expedition-play a:focus-visible, .expedition-play button:focus-visible { outline: 3px solid #ffe49b; outline-offset: 4px; }
@media (max-width: 600px) {
    .expedition-play .game-container { padding: .8rem .65rem 5rem; }
    .expedition-scene { border-radius: 18px; padding: .9rem 1rem .65rem; }
    .expedition-caption { max-width: 86%; }
    .expedition-caption h2 { font-size: 1.06rem; }
    .expedition-caption p { font-size: .78rem; min-height: 3em; }
    .expedition-landmark { right: 4%; font-size: 1.65rem; bottom: 48%; }
    .expedition-moon { width: 35px; height: 35px; right: 5%; }
    .expedition-play .start-screen { padding: 1.2rem .8rem; }
    .expedition-play .game-header { flex-wrap: wrap; gap: .6rem; padding: .8rem; }
    .expedition-play .island-info { flex: 1; min-width: 130px; }
    .expedition-play .island-info h1 { font-size: 1.05rem; }
    .expedition-play .rewards-preview { display: none; }
    .expedition-play .diff-option { min-width: 0; }
    .expedition-play .difficulty-options { display: grid; grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    .expedition-play *, .expedition-play *::before, .expedition-play *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
