/* Shared 3x cutouts bake button corners, glyph strokes and shadows offline. */
.game-shell{--result-scale:1}
.wash-result-ui{position:absolute;inset:0;z-index:12;isolation:isolate;pointer-events:auto;overflow:hidden}
.wash-result-ui[hidden]{display:none}
.wash-result-ui:focus{outline:none}
.result-scrim{position:absolute;inset:0;background:rgba(0,0,0,.6)}
.result-frame-slot{position:absolute;left:50%;top:50%;width:calc(932px * var(--result-scale));height:calc(430px * var(--result-scale));transform:translate(-50%,-50%);pointer-events:none;overflow:visible}
.result-design{position:relative;width:932px;height:430px;zoom:var(--result-scale);pointer-events:none;overflow:visible;font-family:'PingFang SC','Microsoft YaHei',sans-serif}
.result-design img{display:block;max-width:none;pointer-events:none;user-select:none;-webkit-user-drag:none}
.result-vector{position:absolute}
.result-rays{transform-origin:50% 50%;animation:none;will-change:auto}
/* Rotate only this 264px artwork; the existing hidden/collecting lifecycle stops it. */
.wash-result-ui:not([hidden]):not(.collecting) .result-rays{animation:result-rays-spin 18s linear infinite;will-change:transform}
@keyframes result-rays-spin{to{transform:rotate(360deg)}}
[data-landscape-blocked="true"] .wash-result-ui:not([hidden]):not(.collecting) .result-rays{animation:none;will-change:auto}
@media(prefers-reduced-motion:reduce){.wash-result-ui:not([hidden]):not(.collecting) .result-rays{animation:none;will-change:auto}}
.result-reward{position:absolute;left:379px;top:158px;width:175px;height:123px}
.result-reward-card{position:absolute;inset:0;width:175px;height:123px;object-fit:cover;transform:scaleX(-1)}
.result-coin-stack{position:absolute;left:47px;top:15px;width:84px;height:67px;object-fit:cover}
.result-reward-value{position:absolute;left:50px;top:82px;min-width:75px;isolation:isolate;overflow:visible;font-family:system-ui,-apple-system,sans-serif;font-weight:900;font-synthesis:weight;font-size:20px;line-height:24px;white-space:nowrap;text-align:right;color:white;-webkit-text-stroke:0;text-shadow:none}
/* Figma outside stroke 1.5200715px: draw a 2x centre stroke behind the fill.
   Separate back layers keep the white face intact without HTML paint-order. */
.result-reward-outline,.result-reward-shadow{position:absolute;inset:0;color:#621606;-webkit-text-stroke:3.040143px #621606;text-shadow:none;pointer-events:none}
.result-reward-outline{z-index:-1}
.result-reward-shadow{z-index:-2;transform:translateY(1px)}
.result-reward-glyph{position:absolute;left:.27679443px;top:2.99707031px;width:76px;height:19px;display:none!important}
.result-reward-value.baked .result-reward-glyph{display:block!important}
.result-reward-value.baked .result-reward-layer{visibility:hidden}
/* Transparent bitmap padding retains the entire rounded edge and drop shadow. */
.result-button-slot{position:absolute;width:154.995px;height:58px;overflow:visible;isolation:isolate;pointer-events:none}
.result-button-artwork{position:absolute;left:-4px;top:-4px;width:163px;height:66px}
.result-double-slot{left:279px;top:307px}
.result-confirm-slot{left:497.1px;top:308px}
.result-button{position:absolute;inset:0;display:block;appearance:none;-webkit-appearance:none;width:154.995px;height:58px;margin:0;border:0;padding:0;border-radius:14px;background:none;box-shadow:none;overflow:visible;pointer-events:auto;cursor:pointer;z-index:1}
.result-button:active,.result-button:hover{transform:none;filter:none}
.wash-result-ui:not(.collecting) .result-button-slot:hover{filter:brightness(1.04)}
.wash-result-ui:not(.collecting) .result-button-slot:active{filter:brightness(.94)}
.result-button:disabled,.result-add:disabled{cursor:default}
.result-button:focus-visible,.result-add:focus-visible{outline:2px solid white;outline-offset:4px}
.result-resource{position:absolute;left:771.852px;top:18px;width:139.354px;height:40.134px}
.result-resource-plate{position:absolute;left:13.935px;top:4.459px;width:123.746px;height:31.215px;border:1.672px solid #263b5c;border-radius:10.033px;background:linear-gradient(#f5faff,#abbad1);box-shadow:0 2.787px 5.574px rgba(0,0,0,.45)}
.result-resource-value{position:absolute;left:41.249px;top:5.279px;width:62.431px;height:30.1px;display:flex;align-items:center;justify-content:center;font-family:Inter,system-ui,sans-serif;font-weight:800;font-size:17.28px;line-height:20.624px;color:#0a121f}
.result-resource-coin,.result-flight-coin{position:absolute;left:0;top:0;width:40.134px;height:40.134px;object-fit:contain;filter:drop-shadow(0 var(--coin-shadow-y,2.23px) rgba(0,0,0,.25))}
.result-add{position:absolute;left:107.581px;top:5.017px;width:30.1px;height:30.1px;border:0;border-radius:8px;padding:0;background:none;box-shadow:none;pointer-events:auto}
.result-add:active{transform:none;filter:brightness(.94)}
.result-add img{width:30.1px;height:30.1px;object-fit:contain}
.result-water{position:absolute;left:328px;top:20px;width:256px;height:102px;object-fit:cover}
.result-title{position:absolute;left:326px;top:61px;width:281px;height:96px;object-fit:contain}
.result-bubble{position:absolute;display:block;overflow:hidden}
.result-bubble img{position:absolute;left:-277.27%;top:-61.9%;width:750%;height:314.29%;max-width:none}
.result-coin-flight{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.result-flight-coin{display:block;max-width:none;pointer-events:none;user-select:none;-webkit-user-drag:none;transform-origin:50% 50%;will-change:transform,opacity}
.result-flight-glow{position:absolute;left:0;top:0;pointer-events:none;background:radial-gradient(circle,rgba(255,237,112,.32) 0 46.67%,rgba(255,221,80,0) 100%);will-change:opacity}
.result-collection-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.game-shell.result-visible>#joystick{visibility:hidden;pointer-events:none}
.game-shell.result-visible>#toast{z-index:16;top:calc(380px * var(--result-scale));max-width:calc(500px * var(--result-scale))}
body.capture-mode .wash-result-ui,body.entrance-playing .wash-result-ui{display:none!important}
