/* Keep each atlas tile inside its own cell, excluding neighbouring edge pixels. */
.sprite{clip-path:inset(3% 2%)}
.map-entity:disabled{cursor:default;opacity:.65;pointer-events:none}
.journey{min-height:100svh;background-position:center;background-size:cover;display:flex;align-items:flex-end;padding:6vh 7vw;color:#fff8dd;animation:arrive .5s ease-out}.journey-copy{max-width:700px}.journey h1{font-size:clamp(32px,5vw,58px);margin:12px 0}.journey p{font-size:19px;line-height:1.6;max-width:620px}.journey button{margin:15px 10px 10px 0}.journey .eyebrow{color:#ffdd87;font-size:14px}.brief-character .sprite{width:125px;height:125px;background-color:#fff9e5;border-radius:50%}.video-memory{min-height:100svh;background:#0b1917;color:#fff7de;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:15px}.video-memory header{width:min(100%,1000px);display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:18px}.video-memory video{width:min(100%,1000px);max-height:74svh;display:block;background:#000;object-fit:contain}.video-memory p{margin:0;font-size:16px}.runoff-on-scene{position:absolute;inset:0;pointer-events:none;line-height:1.3}.runoff-on-scene button{pointer-events:auto;color:#173d32;background:#ffefb2;border:3px solid #936923;border-radius:10px;font-weight:700;box-shadow:0 3px 0 #12332566}.runoff-on-scene .source-tap{position:absolute;left:28%;top:13%;width:44%;min-height:50px;padding:8px;font-size:clamp(12px,2vw,18px)}.runoff-on-scene .scene-gate{position:absolute;top:40%;transform:translateX(-50%);width:17%;height:14%;font-size:clamp(12px,2vw,20px)}.runoff-on-scene button:disabled{background:#d7ecc9;border-color:#548557;opacity:1}.gate-controls[hidden]{display:none}.hop-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;padding:16px}.hop-controls button{touch-action:manipulation}.hop-result{display:flex;gap:20px;align-items:center}.hop-result .sprite{width:110px;height:110px}.hop-shell .activity-stage{width:min(100%,1000px);min-width:0}.hop-shell .activity-instructions p{max-width:760px}.hop-shell .activity-instructions strong{font-size:20px}.hop-shell canvas{outline-offset:-4px}@keyframes arrive{from{opacity:0}to{opacity:1}}@media(max-width:600px){.journey{padding:30px 6vw}.journey p{font-size:17px}.video-memory{padding:12px}.video-memory header{font-size:15px}.video-memory header button{padding:10px;font-size:13px}.hop-controls{gap:8px;padding:12px}.hop-controls button{font-size:14px;padding:10px}.hop-result{align-items:flex-start;gap:12px}.hop-result .sprite{width:75px;height:75px}.hop-shell .activity-instructions{flex-direction:column;gap:8px}.runoff-on-scene .source-tap{min-height:36px;border-width:2px}.runoff-on-scene .scene-gate{border-width:2px;width:20%;height:17%}}

/* Full-viewport story memory: no player chrome or surrounding card. */
.video-memory.cinematic-memory{position:fixed;inset:0;width:100%;height:100svh;min-height:0;padding:0;gap:0;overflow:hidden;background:#08120f;z-index:50}
.cinematic-memory #memoryVideo{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover;cursor:pointer}
.memory-skip{position:absolute;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));z-index:2;width:48px;height:48px;border:1px solid #ffffff80;border-radius:50%;background:#10251f66;color:white;font-size:24px;display:grid;place-items:center;backdrop-filter:blur(8px)}
.memory-skip:hover,.memory-skip:focus-visible{background:#10251fcc;outline:2px solid #fff}
.cinematic-memory .memory-help{position:absolute;bottom:8%;padding:12px 20px;background:#10251fcc;color:white;border-radius:10px;text-align:center;margin:0 20px;font-size:16px}
.cinematic-memory .memory-help[hidden]{display:none}

.cinematic-memory #memoryVideo{object-fit:contain;background:#000}
.video-memory.cinematic-memory{background:#000}
.runoff-on-scene .scene-gate{top:39%;height:15%;width:21%;font-size:clamp(12px,1.8vw,18px);padding:4px;white-space:normal;line-height:1.3}
.runoff-on-scene .scene-gate[data-directed="true"]{background:#d7ecc9;border-color:#36754d}
.runoff-on-scene .scene-gate:disabled{background:#eee8d2;border-color:#9c987f;color:#5b6154}

.sprite.cropped-sprite{clip-path:none;background-image:none!important;overflow:hidden}.cropped-sprite>svg{display:block;width:100%;height:100%;overflow:hidden}
