/* Four windows into the film: seawater, sunlit metal and the actual characters. */
body.has-arrival-options .veil{opacity:1;background:linear-gradient(180deg,#03101938,transparent 24%,transparent 55%,#04242e66)}
.journey-panel.is-choice-panel{position:absolute;left:50%;right:auto;bottom:max(1.8rem,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(1160px,calc(100% - 8vw));gap:0;padding:9px;background:linear-gradient(125deg,#80bcb856,#16485488 48%,#dcba7255);border:1px solid #bce6dd66;border-radius:9px;box-shadow:0 14px 45px #001d3044,inset 0 1px #fff8;backdrop-filter:blur(20px);}
.journey-panel.is-choice-panel:before{content:'';position:absolute;inset:-1px;z-index:-1;pointer-events:none;border-radius:9px;background:linear-gradient(115deg,#90e2de16,transparent 40%,#f3bd6726)}
/* The film stays still in its frame; only the choices gently settle into view.
   No invisible delay or pointer lock: even the last card can be used at once. */
.journey-panel.is-choice-panel{transition:opacity .45s cubic-bezier(.22,.61,.36,1)}
.journey-panel.is-choice-panel:after{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;border-radius:inherit;box-shadow:0 0 52px 22px #02192355;opacity:0;transition:opacity .6s ease}
body.has-arrival-options:not(.is-travelling) .journey-panel.is-choice-panel:after{opacity:1}
@media(prefers-reduced-motion:no-preference){
 body.has-arrival-options:not(.is-travelling) #scene-choices>:is(.arrival-option,.arrival-continue){animation:arrival-choice-in .46s cubic-bezier(.22,.61,.36,1) backwards}
 body.has-arrival-options:not(.is-travelling) #scene-choices>:nth-child(2){animation-delay:.04s}
 body.has-arrival-options:not(.is-travelling) #scene-choices>:nth-child(3){animation-delay:.08s}
 body.has-arrival-options:not(.is-travelling) #scene-choices>:nth-child(4){animation-delay:.12s}
}
@keyframes arrival-choice-in{from{opacity:.65;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
/* Keyboard users never have to follow a moving focus target. */
#scene-choices:has(:focus-visible)>:is(.arrival-option,.arrival-continue){animation:none!important}
.is-choice-panel .scene-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;align-items:stretch}
.arrival-option,.is-choice-panel .scene-choice.direction-next{--accent:#ffdaa2;position:relative;isolation:isolate;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;width:100%;min-width:0;min-height:208px;padding:22px 18px;gap:0;overflow:hidden;border:1px solid #e7f3e343;border-radius:4px;background:#12495a;color:#fff8e9;font:400 clamp(1.15rem,1.85vw,1.55rem)/1.12 Georgia,'Times New Roman',serif;text-align:left;text-shadow:0 2px 10px #002a36;transition:border-color .25s,box-shadow .25s;}
.arrival-art{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.arrival-art img,.arrival-art video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%;filter:saturate(1.12);transition:filter .25s}
.arrival-art video{opacity:0;transition:opacity .22s,filter .25s;pointer-events:none}
.is-fragment-playing .arrival-art video{opacity:1}
.arrival-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#002d3812 25%,#05364740 48%,#073445e8 76%,#073744 100%)}
.arrival-option:after,.is-choice-panel .scene-choice.arrival-continue:after{content:'';display:block;position:absolute;inset:auto 18px 10px;height:1px;background:linear-gradient(90deg,var(--accent),#dcecd544 46%,transparent);opacity:.8}
.arrival-option[data-open=trailer-dialog] .arrival-art :is(img,video){object-position:42% 38%}
.arrival-option[data-open=trailer-dialog] .arrival-art:after{background:linear-gradient(180deg,#502c0710 24%,#443b3030 45%,#233b40ed 83%,#163b43)}
.arrival-option[data-open=universe-dialog]{--accent:#a7f3e1}
.arrival-option[data-open=universe-dialog] .arrival-art :is(img,video){object-position:50% 45%}
.arrival-option[data-open=social-dialog]{--accent:#edc8a0}
.arrival-option[data-open=social-dialog] .arrival-art :is(img,video){object-position:50% 38%}
.arrival-option[data-open=social-dialog] .arrival-art:after{background:linear-gradient(180deg,transparent 22%,#24524c40 48%,#1a454aef 83%,#15474c)}
.arrival-icon{position:absolute;top:14px;left:14px;display:grid;place-items:center;width:35px;height:35px;border:1px solid #ffedc8b0;border-radius:50%;background:#073949a3;box-shadow:0 2px 15px #00324222;backdrop-filter:blur(5px);color:#fff5de;pointer-events:none;transition:background .25s,color .25s}
.arrival-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.arrival-option[data-open=trailer-dialog] .arrival-icon{background:#ffe1a8;color:#163d49;border-color:#ffe9bb;box-shadow:0 0 24px #ffdb9750}
.arrival-label{position:relative;max-width:10ch;text-wrap:balance;overflow-wrap:break-word}
.is-choice-panel .choice-words{order:0;text-align:left!important;flex:none;max-width:11ch}
.is-choice-panel .choice-label{font:inherit;font-size:inherit;line-height:inherit;text-wrap:balance}
.is-choice-panel .choice-overline,.is-choice-panel .choice-arrow{display:none}
.is-choice-panel .scene-choice.arrival-continue{--accent:#ffdfa1;border-color:#ffe0a099;background:#075062;color:#ffedc8}
.arrival-continue .arrival-art:after{background:linear-gradient(180deg,#064d6210 12%,#07526477 45%,#054252ed 76%,#074958)}
.arrival-continue .arrival-art :is(img,video){object-position:50% 45%}
.arrival-continue .arrival-icon{left:auto;right:14px;background:#f6d595;color:#063949;border-color:#ffe9b8}
@media(hover:hover){
 .arrival-option:hover,.is-choice-panel .scene-choice.arrival-continue:hover{border-color:#fff0ce;box-shadow:inset 0 0 0 1px #fff0ce80}
 .arrival-option:hover .arrival-art :is(img,video),.arrival-continue:hover .arrival-art :is(img,video){filter:saturate(1.2) brightness(1.08)}
 .arrival-option:hover .arrival-icon{background:#ffdfa7;color:#073949}
}
.arrival-option:focus-visible,.is-choice-panel .scene-choice.arrival-continue:focus-visible{outline:3px solid #ffefbf;outline-offset:-5px;border-color:#fff3d5}
.arrival-option:active,.is-choice-panel .scene-choice.arrival-continue:active{box-shadow:inset 0 0 0 2px #ffe3b0}
.film-pause{position:absolute;z-index:7;top:8rem;left:4vw;width:44px;min-height:44px;border:1px solid #eadbb766;border-radius:50%;background:#031219a0;font-size:1rem}
.is-cinema .film-pause{top:max(1rem,env(safe-area-inset-top))}
/* Two final actions, using the same visual language as the journey cards. */
.is-choice-panel:has(.newsletter-panel:not([hidden])){left:auto;right:4vw;transform:none;width:min(560px,92vw);padding:9px}
@media(max-width:760px){
 .journey-panel.is-choice-panel{width:calc(100% - 1.5rem);bottom:max(.8rem,env(safe-area-inset-bottom));padding:6px;border-radius:7px}
 .is-choice-panel .scene-choices{grid-template-columns:1fr 1fr;gap:6px}
 .arrival-option,.is-choice-panel .scene-choice.direction-next{min-height:140px;padding:16px 13px;font-size:1.25rem;line-height:1.12}
 .arrival-icon{width:29px;height:29px;top:9px;left:10px}.arrival-icon svg{width:18px;height:18px}
 .arrival-continue .arrival-icon{right:10px}
 .arrival-option:after,.is-choice-panel .scene-choice.arrival-continue:after{left:13px;right:13px;bottom:7px}
 .arrival-art:after{background:linear-gradient(180deg,#002d380d 5%,#05364740 32%,#073445e8 73%,#073744)}
 .arrival-option[data-open=trailer-dialog] .arrival-art :is(img,video){object-position:50% 36%}
 .arrival-option[data-open=social-dialog] .arrival-art :is(img,video){object-position:50% 36%}
 .is-choice-panel:has(.newsletter-panel:not([hidden])){right:.75rem;width:calc(100% - 1.5rem);padding:6px}
 .film-pause{left:1rem;top:5.5rem}
}
@media(max-width:760px) and (max-height:700px){.arrival-option,.is-choice-panel .scene-choice.direction-next{min-height:116px;font-size:1.125rem}.arrival-icon{width:25px;height:25px;top:7px}}
@media(max-height:540px) and (min-width:651px){
 .journey-panel.is-choice-panel{bottom:.7rem;width:calc(100% - 8vw);padding:6px}
 .is-choice-panel .scene-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
 .arrival-option,.is-choice-panel .scene-choice.direction-next{min-height:118px;padding:14px 12px;font-size:1.125rem}
 .arrival-icon{top:8px;left:10px;width:26px;height:26px}.arrival-continue .arrival-icon{right:10px;left:auto}.arrival-icon svg{width:18px;height:18px}
 .film-pause{top:4.75rem}
}
@media(prefers-reduced-motion:reduce){.arrival-option,.is-choice-panel .scene-choice.direction-next,.arrival-icon,.arrival-art img,.arrival-art video{transition:none}}

.finale-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finale-replay .arrival-art img{object-position:50% 40%}.finale-replay .arrival-icon{background:#ffdfa7;color:#073949}.panel-eyebrow{font-size:.75rem;letter-spacing:.12em;color:var(--amber);margin-bottom:14px}
.panel-primary{display:flex;align-items:center;justify-content:center;min-height:54px;padding:14px 18px;background:var(--amber);color:var(--ink);border-radius:5px;font-size:1rem;text-align:center}.panel-secondary{display:inline-flex;align-items:center;padding:12px 0;margin-top:10px;font-size:.9375rem;min-height:48px;text-decoration:underline;text-underline-offset:5px;color:var(--muted)}
#social-dialog{max-width:380px}.social-content{display:flex;align-items:center;justify-content:center;gap:22px;padding:24px 24px 34px}.social-link{display:grid;place-items:center;flex:0 0 66px;height:66px;border:1px solid var(--rule);border-radius:50%;color:var(--paper);background:#ffffff06;transition:color .18s,border-color .18s,background .18s}.social-link svg{width:28px;height:28px;fill:currentColor}.social-link .instagram-icon{fill:none;stroke:currentColor;stroke-width:1.8}.social-link .instagram-dot{fill:currentColor;stroke:none}.social-link:hover,.social-link:focus-visible{border-color:var(--amber);color:var(--amber);background:#ffffff0d}.social-link:disabled{opacity:.4;cursor:default}
@media(max-width:360px){.social-content{gap:16px;padding:22px 16px 28px}.social-link{flex-basis:60px;height:60px}}
/* Sharing is offered after a film, beneath its existing choices. */
.journey-share{display:flex;flex-direction:column;align-items:center;min-width:0}
.finale-choices>.journey-share{grid-column:1/-1;margin-top:0}
[data-share-journey]{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 12px;color:#f1e3c9;font-size:.9375rem;line-height:1.25;background:transparent;border:0;border-radius:4px;text-align:center}
[data-share-journey] svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
[data-share-journey]:hover{color:#fff5d9;background:#ffffff09}
[data-share-journey]:focus-visible{outline:2px solid #f4dab0;outline-offset:-2px}
[data-share-journey]:disabled{opacity:.65;cursor:wait}
[data-share-journey][data-copied=true]{color:#bfeedd}
.share-manual{width:100%;max-width:350px;padding:4px 8px 8px;font-size:.875rem;color:#e8e9df}
.share-manual label{display:block;margin-bottom:5px}
.share-manual input{width:100%;min-height:44px;padding:9px;border:1px solid #c2d6cd88;border-radius:4px;background:#071c25;color:#fff;font:inherit;user-select:text}
.trailer-end-actions{display:flex;align-items:flex-start;justify-content:center;gap:8px;flex-wrap:wrap;width:100%}
#trailer-end:has(.share-manual:not([hidden])){overflow:auto;justify-content:flex-start}
@media(max-width:380px){.trailer-end-actions{gap:0}.trailer-end-actions #trailer-replay{padding-left:10px;padding-right:10px;font-size:.875rem}.trailer-end-actions [data-share-journey]{font-size:.875rem;padding-left:8px;padding-right:8px}}
@media(max-height:360px) and (orientation:landscape){#trailer-dialog.is-ended{max-height:94dvh}#trailer-end{padding-top:48px;overflow:auto;justify-content:flex-start}.trailer-end-choices button{min-height:100px}}
