/* The existing case stage contains one tactile, pixel-rasterized 3D reveal. */
.story-game .reward-smash{position:relative;margin:0;padding:0;border:0;background:#000;color:#dfdfdf;overflow:hidden}
.reward-smash [data-crack-target]{position:relative;display:block;width:100%;min-height:0;aspect-ratio:3/2;padding:0;border:0;background:#000;color:inherit;cursor:crosshair;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}
.reward-smash [data-crack-target]:hover{text-decoration:none}.reward-smash [data-crack-target]:focus-visible{outline:2px solid #cfcfcf;outline-offset:-5px}.reward-smash [data-crack-target]:disabled{cursor:default;opacity:1}
.reward-smash canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none}
.reward-smash .crack-tool{position:absolute;top:10px;left:13px;padding:0 4px;background:#000;color:#a9a9a9;font:9px/1.4 'Courier New',monospace;letter-spacing:.035em;pointer-events:none}
.crack-touch{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);font:10px/1.5 'Courier New',monospace;white-space:nowrap;color:#c6c6c6;background:#000;padding:3px 9px;pointer-events:none}.crack-touch:empty{display:none}
.crack-footer{position:relative;display:flex;align-items:center;justify-content:center;min-height:26px;padding:3px 16px 11px}
.crack-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.crack-ticks{display:flex;gap:5px}.crack-ticks i{display:block;width:27px;height:5px;border:1px solid #4d4d4d;background:#121212}.crack-ticks i.is-hit{background:var(--crack-colour,#cecece);border-color:var(--crack-colour,#cecece)}
.crack-fallback{display:none;width:100%;height:auto;aspect-ratio:3/2;color:#c6c6c6}.crack-no-canvas canvas{display:none}.crack-no-canvas .crack-fallback{display:block}.crack-fallback-damage{opacity:0;color:var(--crack-colour)}
.crack-no-canvas[data-hits="1"] .crack-fallback-damage{opacity:.5}.crack-no-canvas[data-hits="2"] .crack-fallback-damage{opacity:.7}.crack-no-canvas[data-hits="3"] .crack-fallback-damage{opacity:.9;filter:drop-shadow(0 0 3px var(--crack-colour))}.crack-no-canvas[data-hits="4"] .crack-fallback-damage{opacity:1;stroke-width:4;filter:drop-shadow(0 0 6px var(--crack-colour))}
.story-game.case-cracking .case-end-details{display:none}.story-game .reward-drop.find-opened:focus{outline:none}.story-game .reward-drop[hidden]{display:none!important}

/* The object becomes the award inside the same space; the floor and debris
   remain as a still frame after the finite reveal has finished. */
.story-game .brawl-reward>.case-reveal-stage{display:grid;grid-template-columns:minmax(0,1fr);isolation:isolate}
.story-game .brawl-reward>.case-reveal-stage>.case-clear-title{grid-area:1/1}
.story-game .brawl-reward>.case-reveal-stage>:is(.reward-smash,.reward-remains,.reward-drop){grid-area:2/1;min-width:0;min-height:260px;min-height:max(260px,calc(66.666cqw + 30px))}
.reward-remains{position:relative;margin:0;padding:0;border:0;background:#000;overflow:hidden;pointer-events:none;align-self:stretch}
.reward-remains canvas{display:block;width:100%;height:auto;aspect-ratio:3/2;image-rendering:pixelated;image-rendering:crisp-edges}
.story-game .brawl-reward>.case-reveal-stage>.reward-drop.find-from-crack{position:relative;z-index:1;background:transparent;box-shadow:none;animation:none;align-self:stretch;justify-content:center;gap:14px}
.story-game .reward-drop.find-from-crack>.crack-award-visual{position:relative;z-index:1;filter:drop-shadow(0 2px 0 #000) drop-shadow(0 0 9px var(--crack-colour,#cecece))}
.story-game .reward-drop.find-from-crack>div{position:relative;max-width:100%;padding:8px 14px;background:#080808;box-shadow:0 0 0 1px #282828}
.story-game .reward-drop.find-from-crack>div>b{display:block;overflow-wrap:anywhere}
.story-game .reward-drop.is-emerging{pointer-events:none}
.story-game .reward-drop.is-emerging>.crack-award-visual{animation:crack-award-emerge .65s cubic-bezier(.16,1,.3,1) both}
.story-game .reward-drop.is-emerging>div{animation:crack-award-name .22s cubic-bezier(.16,1,.3,1) .52s both}
.reward-smash[data-phase=emerge] .crack-footer,.reward-smash[data-phase=emerge] .crack-tool{visibility:hidden}
@keyframes crack-award-emerge{0%{transform:translate(var(--award-from-x,0px),var(--award-from-y,0px)) scale(.18);clip-path:inset(45% 0 0);filter:drop-shadow(0 0 2px var(--crack-colour,#cecece))}18%{clip-path:inset(0)}100%{transform:translate(0,0) scale(1);clip-path:inset(0)}}
@keyframes crack-award-name{from{clip-path:inset(0 0 100%);transform:translateY(5px)}to{clip-path:inset(0);transform:none}}
.world-is-quiet .story-game .reward-drop.is-emerging>*,.clash-still .story-game .reward-drop.is-emerging>*,.motion-off .story-game .reward-drop.is-emerging>*{animation:none!important}
@media(prefers-reduced-motion:reduce){.story-game .reward-drop.is-emerging>*{animation:none!important}}

@media(max-width:600px){.reward-smash [data-crack-target]{min-height:0}.reward-smash .crack-tool{top:8px;left:9px;font-size:8px}.crack-touch{font-size:9px;bottom:8px}.crack-footer{min-height:24px;padding-bottom:9px}.crack-ticks i{width:23px}}
