/* Large illustrated worlds: quiet behind the content, clear in the collection. */
body.mlw-clear[data-story-world]{background:var(--sw-sky,#edf2e6)}
body[data-story-world] #mlwAmbient{background:none!important;opacity:.44}
body[data-story-world] #mlwAmbient>.sw-illustration{position:absolute;inset:auto 0 0;width:100%;height:100%;min-width:640px;max-width:none;max-height:none;stroke:none;opacity:1}
html[data-mlw-mode=dark] body[data-story-world]{background:var(--mlw-page)}
html[data-mlw-mode=dark] body[data-story-world] #mlwAmbient{opacity:.16}
.sw-illustration{display:block;width:100%;height:100%;overflow:hidden;stroke:none}
.sw-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.mlw-background-options.sw-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sw-gallery .sw-world{position:relative;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;border:2px solid var(--mlw-border,#dfdfd4);border-radius:18px;background:var(--mlw-surface,#fffdf7);color:var(--mlw-text,#334756);padding:0 0 13px;text-align:left;min-width:0;min-height:150px;box-shadow:0 5px 0 #4e65560b;transition:transform .2s,border-color .2s}
.sw-gallery .sw-world:hover,.sw-gallery .sw-world:focus-visible{transform:translateY(-3px);border-color:#9c88b4;outline-offset:3px}
.sw-gallery .sw-world[aria-pressed=true]{border-color:#78609c;box-shadow:0 0 0 2px #b8a2d044,0 5px 0 #6a537d18}
.sw-preview{position:relative;display:block;aspect-ratio:1.875;overflow:hidden;width:100%;background:#e8efdf}
.sw-gallery .sw-preview svg{width:100%;height:100%;max-height:none;stroke:none}
.sw-gallery .sw-world>strong{font-size:17px;line-height:1.3;padding:12px 14px 0}
.sw-gallery .sw-world>small{font-size:13px;line-height:1.5;color:var(--mlw-muted,#687767);padding:5px 14px 0}
.sw-gallery .sw-world.sw-locked>small{color:#866b38;font-weight:750}
.sw-gallery .sw-world.sw-locked>small:before{content:'★ ';color:#b28c37}
.sw-selected{position:absolute;right:7px;bottom:7px;font-size:10px;line-height:1.4;color:#fff;background:#776199;border:1px solid #ffffff80;box-shadow:0 2px 5px #29384e22;border-radius:8px;padding:4px 7px}
.sw-description{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.mlw-settings:has(.sw-gallery){width:min(760px,calc(100vw - 26px))}
.mlw-background-options.sw-gallery .sw-world{padding-bottom:12px;min-height:145px;border-radius:14px}
.mlw-background-options.sw-gallery .sw-world>strong{font-size:13px;padding:9px 10px 0}
.mlw-background-options.sw-gallery .sw-world>small{font-size:11px;padding-inline:10px}
.sw-status{font-size:13px;line-height:1.6;color:var(--mlw-muted,#687767);margin:13px 0 0;min-height:1.6em}
.sw-world-heading h3{font-size:26px;margin:3px 0 7px}.sw-world-heading>p{font-size:15px;line-height:1.6;color:var(--mlw-muted,#687767);margin:0 0 13px}
.sw-world-heading .sw-status{margin:0 0 20px;font-size:12px}
.sw-reward{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:24px;padding:18px;border:1px solid var(--mlw-border,#dfdfd4);border-radius:24px;background:var(--mlw-surface,#fffdf7);margin:22px 0;overflow:hidden}
.sw-reward-art{aspect-ratio:1.875;display:block;min-width:0;border-radius:15px;overflow:hidden;box-shadow:0 6px 0 #57705b12}
.sw-eyebrow{font-size:10px;font-weight:800;letter-spacing:1.3px;color:var(--mlw-muted,#687767)}
.sw-reward h3{font-size:23px;line-height:1.25;margin:8px 0 9px}.sw-reward p{font-size:14px;color:var(--mlw-muted,#687767);line-height:1.6;margin:0}
.sw-reward button{margin-top:14px;background:#705792;color:#fff;min-height:48px;padding:11px 17px;border-radius:12px;font-size:14px;font-weight:750}
.sw-reward button:focus-visible{outline:3px solid #bdaa72;outline-offset:3px}
.sw-reward-dots{display:flex;flex-wrap:wrap;gap:4px;margin:12px 0 0}.sw-reward-dots i{width:13px;height:7px;display:block;border-radius:5px;background:var(--mlw-border,#dfdfd4)}.sw-reward-dots .is-open{background:#a7ba87}
#mlwAmbient .sw-cloud{animation:swCloud 31s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
#mlwAmbient .sw-cloud:nth-of-type(2n){animation-delay:-11s;animation-duration:38s}
#mlwAmbient .sw-flutter{animation:swFlutter 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
#mlwAmbient .sw-boat{animation:swBoat 4.5s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 80%}
#mlwAmbient .sw-swim{animation:swSwim 14s ease-in-out infinite alternate;transform-box:fill-box}
#mlwAmbient .sw-firefly{animation:swFirefly 5s ease-in-out infinite alternate;transform-box:fill-box}
#mlwAmbient .sw-firefly:nth-of-type(2n){animation-delay:-2s;animation-duration:7s}
#mlwAmbient .sw-balloon{animation:swBalloon 11s ease-in-out infinite alternate;transform-box:fill-box}
#mlwAmbient .sw-duck{animation:swBoat 5s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 80%}
#mlwAmbient .sw-bee{animation:swBee 8s ease-in-out infinite;transform-box:fill-box}
#mlwAmbient .sw-dino{animation:swDino 7s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 90%}
#mlwAmbient .sw-rocket{animation:swBalloon 9s ease-in-out infinite alternate;transform-box:fill-box}
#mlwAmbient .sw-snow{animation:swSnow 9s ease-in-out infinite;transform-box:fill-box}
#mlwAmbient .sw-bubble{animation:swBubble 8s ease-in-out infinite;transform-box:fill-box}
body.motion-off #mlwAmbient .sw-illustration *,body.sw-background-paused #mlwAmbient .sw-illustration *,body:has(dialog[open]) #mlwAmbient .sw-illustration *{animation-play-state:paused!important}
@keyframes swCloud{to{translate:25px 0}}
@keyframes swFlutter{0%,100%{translate:0 0;scale:1 1}35%{translate:12px -14px;scale:.85 1}70%{translate:-5px -7px;scale:1 1}}
@keyframes swBoat{0%,100%{rotate:-3deg;translate:0 0}50%{rotate:3deg;translate:0 -3px}}
@keyframes swSwim{to{translate:35px -8px}}
@keyframes swFirefly{0%{opacity:.55;translate:-4px 2px}to{opacity:1;translate:7px -11px}}
@keyframes swBalloon{to{translate:9px -12px;rotate:2deg}}
@keyframes swBee{0%,100%{translate:0 0}30%{translate:-17px 10px}70%{translate:14px -4px}}
@keyframes swDino{0%,70%,100%{rotate:0deg}80%{rotate:-2deg}90%{rotate:1deg}}
@keyframes swSnow{0%,100%{translate:0 -3px;opacity:.6}50%{translate:4px 8px;opacity:1}}
@keyframes swBubble{0%,100%{translate:0 5px;opacity:.5}70%{translate:4px -12px;opacity:1}}
@media(min-width:1700px){.sw-treasure-gallery{grid-template-columns:repeat(4,minmax(0,1fr))}.sw-treasure-gallery .sw-world>strong{font-size:18px}}
@media(max-width:680px){.sw-gallery,.mlw-background-options.sw-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sw-gallery .sw-world>strong{font-size:14px;padding-inline:10px}.sw-gallery .sw-world>small{font-size:12px;padding-inline:10px}.sw-reward{gap:14px;padding:13px;border-radius:18px}.sw-reward h3{font-size:18px}.sw-reward p{font-size:12px}.sw-reward button{font-size:12px;padding:10px 12px}.sw-eyebrow{font-size:9px;letter-spacing:.7px}.sw-selected{font-size:8px;padding:3px 5px}}
@media(max-width:450px){.sw-reward{grid-template-columns:1fr}.sw-reward-art{aspect-ratio:2.05}.sw-reward>div{padding:0 3px 4px}.sw-reward h3{font-size:21px}.sw-reward-dots{margin-top:10px}.mlw-background-options.sw-gallery .sw-world{min-height:132px}.mlw-background-options.sw-gallery .sw-world>strong{font-size:12px}.mlw-settings:has(.sw-gallery){padding:20px}}
@media(prefers-reduced-motion:reduce){#mlwAmbient .sw-illustration *{animation:none!important;transition:none!important}.sw-gallery .sw-world{transition:none;transform:none!important}}
