/* v5: supplied 2D Operator family. V4 layout/data hierarchy stay authoritative.
   No new settings, fonts, financial widgets or animation engine. */
:root{--character-shadow:0 9px 0 rgba(40,24,52,.08)}
.mascot-cutout{display:block;overflow:visible;transform-origin:50% 92%;pointer-events:none}
.mascot-cutout image{pointer-events:none}
.joy-hero-scene>.joy-scene{height:366px;isolation:isolate}
.joy-hero-scene .operator-button{width:92%;height:310px;left:10%;bottom:30px;z-index:2}
.joy-hero-scene .joy-bubble{top:48px;left:16px;max-width:157px;font-size:27px;padding:15px 22px;z-index:4}
.joy-hero-scene .scene-sticker{right:10px;bottom:70px;z-index:4}
.joy-hero-scene .star-a{top:28px;right:29px}
.joy-hero-scene .star-b{left:22px;bottom:85px}
.joy-hero-scene .scene-toolbar{z-index:6;background:var(--joy-lilac)}
.joy-report .highlight-art{min-height:365px;isolation:isolate}
.highlight-art .operator-button{width:100%;height:314px;left:7%;bottom:3px;z-index:2}
.highlight-art .joy-bubble{top:23px;left:21px;max-width:158px;font-size:30px;padding:17px 21px;z-index:4}
.highlight-art .operator-note{right:14px;bottom:38px;font-size:12px}
.highlight-art .fiction-caption{z-index:5;font-size:11px;bottom:10px;left:18px}
.highlight-art>.scene-star{right:27px;top:28px;z-index:1}
.exit-comic-stamp{height:120px;width:133px;overflow:visible;transform:rotate(3deg);border:0;background:transparent!important;box-shadow:none}
.exit-comic-stamp>span{top:0;font-size:10px;letter-spacing:.03em;z-index:2}
.exit-comic-stamp>.mascot-cutout{width:147px;height:128px;top:3px;left:-8px}
.mood-peak .exit-comic-stamp{transform:rotate(-3deg)}
.mood-route .exit-comic-stamp{transform:rotate(0)}
.exit-card-middle{min-height:134px}
.empty-mascot{width:190px;margin:0 auto 8px}
.empty-mascot>.scene-art{height:155px;width:100%}
.wallet-empty{padding:24px}
.joy-story-page .operator-scene>.mascot-cutout{width:89%;left:14%;height:242px;bottom:-4px}
.joy-story-page .operator-scene .bubble{z-index:4;max-width:144px;top:13px;left:13px;font-size:25px}
.scan-art>.mascot-cutout{height:360px;max-width:100%}
.loading-screen>.mascot-cutout{max-width:260px;height:226px;margin-inline:auto}
.empty-block>div>.mascot-cutout{max-width:270px;height:230px;margin-inline:auto}
.mascot-sticker{object-fit:contain;pointer-events:none}
.operator-button{transition:background-color 150ms var(--ease)}
.operator-button:focus-visible{outline:3px solid var(--focus);outline-offset:-4px;background:#fff4}
@media(hover:hover){.operator-button:hover{background:#ffffff12}.exit-comic-stamp{transition:rotate 150ms var(--ease)}}
@media(max-width:1100px) and (min-width:701px){
 .joy-hero-scene>.joy-scene{height:343px}
 .joy-hero-scene .operator-button{height:280px;left:7%;width:96%}
 .joy-hero-scene .joy-bubble{max-width:142px;font-size:24px;left:12px;top:45px}
 .highlight-art .operator-button{height:280px;width:116%;left:-4%;bottom:10px}
 .highlight-art .joy-bubble{font-size:26px;left:13px;max-width:145px}
 .highlight-art .operator-note{font-size:11px;right:11px;bottom:49px}
}
@media(max-width:700px){
 .joy-hero-scene>.joy-scene{height:336px}
 .joy-hero-scene .operator-button{height:284px;width:96%;left:7%;bottom:27px}
 .joy-hero-scene .joy-bubble{font-size:25px;max-width:145px;top:43px;left:14px;padding:14px 19px}
 .joy-hero-scene .scene-sticker{bottom:67px;right:13px}
 .joy-report .highlight-art{min-height:0;height:202px}
 .highlight-art .operator-button{width:237px;height:206px;left:calc(50% - 97px);bottom:0}
 .highlight-art .joy-bubble{font-size:23px;left:13px;top:21px;max-width:113px;padding:12px 17px}
 .highlight-art .operator-note{font-size:10px;right:12px;bottom:46px;max-width:88px}
 .highlight-art .operator-note em{font-size:12px}
 .highlight-art .fiction-caption{font-size:10px;bottom:12px;left:13px}
 .highlight-art>.scene-star{top:14px;right:21px;width:21px}
 .exit-comic-stamp{width:120px;height:115px}
 .exit-comic-stamp>.mascot-cutout{width:136px;height:121px;left:-6px;top:5px}
 .exit-card-middle{min-height:131px}
 .joy-story-page .operator-scene>.mascot-cutout{height:262px;width:86%;left:16%;bottom:-3px}
 .joy-story-page .operator-scene .bubble{font-size:25px;max-width:142px;left:13px;top:16px}
 .scan-art>.mascot-cutout{height:235px}
}
@media(max-width:359px){
 .joy-hero-scene .operator-button{height:263px;width:100%;left:5%}
 .joy-hero-scene>.joy-scene{height:318px}
 .joy-hero-scene .joy-bubble{font-size:22px;max-width:131px}
 .highlight-art .operator-button{width:217px;left:calc(50% - 83px)}
 .highlight-art .operator-note{display:none}
 .exit-comic-stamp{width:100px;height:109px}
 .exit-comic-stamp>.mascot-cutout{width:122px;left:-10px;height:114px}
}
@media(prefers-reduced-motion:reduce){.mascot-cutout,.mascot-cutout image{animation:none!important;transition:none!important}}
@media(forced-colors:active){.mascot-cutout{forced-color-adjust:none}.operator-button:focus-visible{outline:3px solid Highlight}.operator-button:focus-visible{background:Canvas}}
/* Inspected crop fix: pin only the bottom edge, do not stretch the paper sticker. */
.joy-hero-scene .scene-sticker{top:auto;height:auto;max-width:104px}
/* Keep the full character above the inline animation toolbar. */
.joy-hero-scene .operator-button{bottom:49px;height:297px}
@media(max-width:1100px) and (min-width:701px){.joy-hero-scene .operator-button{height:268px}}
@media(max-width:700px){.joy-hero-scene .operator-button{bottom:44px;height:269px}}
@media(max-width:359px){.joy-hero-scene .operator-button{height:251px}}
