.modalbox.r04-rest{position:absolute;display:block;border:0;max-height:none;padding:0;background:none;isolation:isolate;overflow:visible;animation:modal-in .28s ease-out;color:#08263f;font-weight:900}
.r04-rest:before{content:'';position:absolute;inset:0;z-index:-1;border:76px solid transparent;border-image: url('../assets/ui/r04/rest/panel-frame.png') 160 fill / 76px stretch;pointer-events:none}
.r04-rest .r04-rest-ornament{position:absolute;display:block;object-fit:contain;pointer-events:none;z-index:2}
.r04-rest p{margin:0}.r04-rest .r04-rest-button{min-height:0;padding:0;width:100%;flex:none;border-radius:28px;background:none}
.r04-rest .button-art{width:100%;height:100%;object-fit:fill}
.r04-rest-close{position:absolute;width:102px;height:102px;border:0;border-radius:50%;padding:0;background:none;right:18px;top:37px;z-index:3;overflow:hidden}
.r04-rest-close img{display:block;width:100%;height:100%;object-fit:contain}
.r04-rest-close:active{transform:scale(.94);filter:brightness(.78)}
.r04-settings{left:120px;top:558px;width:844px;height:1198px}
.r04-settings>.r04-rest-ornament{left:3px;top:-270px;width:832px;height:453px}
.r04-setting{position:absolute;display:block;left:34px;right:34px;height:130px;margin:0;border:0;padding:0}
.r04-setting:before,.r04-confirm-data:before{content:'';position:absolute;inset:0;z-index:-1;border:22px solid transparent;border-image:url('../assets/ui/r04/rest/panel-frame.png') 160 fill / 22px stretch;opacity:.14;pointer-events:none}
.r04-setting-music{top:202px}.r04-setting-sfx{top:344px}.r04-setting-reduced{top:486px}.r04-setting-tips{top:628px}
.r04-label-art{position:absolute;left:13px;top:16px;width:295px;height:100px;object-fit:contain;pointer-events:none}
.r04-setting-tips>.r04-label-art{width:340px;left:10px}.r04-setting-reduced>.r04-label-art{width:303px}
.r04-range-visual{position:absolute;left:344px;top:53px;width:310px;height:28px;border-radius:20px;background:url('../assets/ui/r04/rest/slider-track.png') center/100% 100% no-repeat;pointer-events:none}
.r04-range-fill{position:absolute;display:block;left:0;top:3px;height:22px;border-radius:14px;background:#ffe047;box-shadow:inset 0 0 0 3px #0e2b43}
.r04-setting-sfx .r04-range-fill{background:#12bcb0}
.r04-range-knob{position:absolute;right:-26px;top:-15px;width:53px;height:55px;object-fit:contain}
.r04-volume-input{position:absolute;left:319px;top:20px;width:357px;height:91px;margin:0;opacity:0;cursor:pointer}
.r04-setting-value{position:absolute;left:674px;top:32px;width:100px;font-size:41px;line-height:60px;text-align:center}
.r04-toggle{position:absolute;right:22px;top:22px;width:180px;height:88px}
.r04-toggle input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:2;cursor:pointer}
.r04-toggle-pictures{position:absolute;inset:0;border-radius:44px;overflow:hidden}
.r04-toggle-pictures img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.r04-toggle input:not(:checked)+.r04-toggle-pictures .r04-switch-on,.r04-toggle input:checked+.r04-toggle-pictures .r04-switch-off{display:none}
.r04-toggle input:focus-visible+.r04-toggle-pictures{outline:6px solid #edb728;outline-offset:5px}
.r04-settings .r04-pause-note{position:absolute;top:783px;left:46px;right:46px;font-size:27px;line-height:36px;text-align:center;color:#8b939a;font-weight:700}
.r04-settings-actions{position:absolute;top:834px;left:43px;right:43px;display:flex;flex-direction:column;gap:17px}
.r04-settings-actions>.btn{height:129px}
.r04-save-cue{position:absolute;top:1114px;left:45px;right:45px;display:flex;justify-content:center;align-items:center;gap:15px;font-size:26px;color:#8b939a;font-weight:700;line-height:42px}
.r04-save-cue img{width:42px;height:42px;object-fit:contain}
.r04-replay-link{position:absolute;left:240px;right:240px;top:1155px;height:30px;border:0;padding:0;background:none;font-weight:700;font-size:23px;color:#657c8b;text-decoration:underline}
.r04-save-failure{position:absolute;left:43px;right:43px;top:781px;height:160px;background:url('../assets/card.png') center/100% 100% no-repeat;padding:16px 20px;z-index:3}
.r04-save-failure-art{position:absolute;left:10px;top:15px;width:245px;height:130px;object-fit:contain}
.r04-save-failure p{position:absolute;left:265px;top:15px;right:20px;font-size:25px;line-height:1.4;color:#a13a30}
.r04-save-failure>.r04-rest-button{position:absolute;left:290px;top:72px;width:360px;height:80px;border-radius:17px}
.r04-settings.has-save-error{height:1335px}
.r04-settings.has-save-error .r04-pause-note{display:none}
.r04-settings.has-save-error .r04-settings-actions{top:965px}
.r04-settings.has-save-error .r04-save-cue{top:1245px}
.r04-settings.has-save-error .r04-replay-link{top:1286px}
.r04-exit{left:132px;top:758px;width:820px;height:849px}
.r04-exit>.r04-rest-ornament{left:-3px;top:-397px;width:826px;height:568px}
.r04-confirm-copy{position:absolute;left:38px;right:38px;top:197px;text-align:center;font-size:50px;line-height:1.42}
.r04-confirm-copy p{white-space:nowrap}
.r04-confirm-data{position:absolute;left:43px;right:43px;top:394px;height:111px;display:flex;align-items:center;justify-content:center;gap:13px;font-size:33px;white-space:nowrap;isolation:isolate}
.r04-confirm-data:after{content:'';position:absolute;left:0;right:0;top:-26px;border-top:3px solid #bfc0b4}
.r04-confirm-data i{font-size:32px;color:#8d8d83;font-style:normal}
.r04-data-calendar{width:60px;height:72px;object-fit:contain}.r04-data-cash{width:74px;height:70px;object-fit:contain}
.r04-confirm-data b{font-size:37px;letter-spacing:-1px}
.r04-confirm-actions{position:absolute;top:533px;left:43px;right:43px;display:flex;flex-direction:column;gap:17px}
.r04-confirm-actions>.btn{height:127px}
.r04-restart{left:132px;top:761px;width:820px;height:888px}
.r04-restart>.r04-rest-ornament{left:0;top:-325px;width:820px;height:482px}
.r04-restart .r04-confirm-copy{top:194px;font-size:47px;line-height:1.5}
.r04-restart .r04-confirm-copy p+p{font-size:39px;letter-spacing:-.5px;margin-top:5px}
.r04-restart .r04-confirm-data{top:386px;height:115px;gap:24px;font-size:39px}
.r04-restart .r04-confirm-data .r04-data-cash{width:105px;height:93px}
.r04-restart .r04-confirm-data b{font-size:48px;margin-left:25px}
.r04-restart .r04-confirm-actions{top:526px;gap:17px}
.r04-restart .r04-confirm-actions>.btn{height:132px}
.r04-calendar-number{position:absolute;left:286px;top:-100px;width:158px;height:104px;display:flex;justify-content:center;align-items:center;font-size:40px;line-height:1;z-index:3;transform:rotate(-2deg);pointer-events:none}
.r04-calendar-number strong{font-size:63px;color:#f36c45;margin:0 3px}
.r04-calendar-long{font-size:34px}.r04-calendar-long strong{font-size:52px}
.r04-restart-cue{position:absolute;left:35px;right:35px;top:817px;text-align:center;font-size:25px;line-height:36px;color:#547085;font-weight:500}
.r04-loaderror{left:150px;top:640px;width:780px;height:800px;padding:55px 50px!important;text-align:center}
.r04-loaderror h2{margin:0;font-size:55px;line-height:1.3}
.r04-load-failure-art{display:block;margin:24px auto 18px;width:530px;height:286px;object-fit:contain}
.r04-loaderror p{font-size:33px;line-height:1.6;font-weight:700}
.r04-loaderror>.r04-rest-button{position:absolute;left:75px;right:75px;bottom:57px;width:630px;height:160px;border-radius:27px}
@media(prefers-reduced-motion:reduce){.modalbox.r04-rest{animation:none}}
/* 修1：paper image contains near-opaque pixels; a matching paper backing avoids
   dark street bleed at nine-slice boundaries without replacing its ink frame. */
.r04-rest:before{background-color:#fffbed;background-clip:padding-box}
.r04-replay-link,.r04-settings.has-save-error .r04-replay-link{left:410px;right:auto;top:650px;width:180px;height:88px;font-size:27px;line-height:1.4}
/* 修2：explicit 2px-overlap tiles replace browser border-image resampling. */
.r04-rest:before,.r04-setting:before,.r04-confirm-data:before{display:none}
.r04-frame-nine{--c:76px;--o:2px;position:absolute;inset:0;z-index:-1;pointer-events:none;background:#fffbed;border-radius:70px}
.r04-frame-nine>img{position:absolute;display:block;object-fit:fill}
.r04-nine-nw,.r04-nine-ne,.r04-nine-sw,.r04-nine-se{width:calc(var(--c) + var(--o));height:calc(var(--c) + var(--o))}
.r04-nine-nw{left:0;top:0}.r04-nine-ne{right:0;top:0}.r04-nine-sw{left:0;bottom:0}.r04-nine-se{right:0;bottom:0}
.r04-nine-n,.r04-nine-s{left:var(--c);width:calc(100% - var(--c) - var(--c) + var(--o));height:calc(var(--c) + var(--o))}
.r04-nine-n{top:0}.r04-nine-s{bottom:0}
.r04-nine-w,.r04-nine-e{top:var(--c);height:calc(100% - var(--c) - var(--c) + var(--o));width:calc(var(--c) + var(--o))}
.r04-nine-w{left:0}.r04-nine-e{right:0}
.r04-nine-c{left:var(--c);top:var(--c);width:calc(100% - var(--c) - var(--c) + var(--o));height:calc(100% - var(--c) - var(--c) + var(--o))}
.r04-setting,.r04-confirm-data{isolation:isolate}
.r04-row-frame{--c:18px;opacity:.14;border-radius:16px}

/* Page-specific original typography and rules remain image pixels. */
.r04-settings .r04-pause-note{top:775px;left:47px;right:47px;height:52px}
.r04-pause-note>img{display:block;width:100%;height:52px;object-fit:contain}
.r04-save-cue img{display:block;width:365px;height:53px;object-fit:contain}
.r04-exit .r04-confirm-copy{top:198px;height:126px}
.r04-exit .r04-confirm-copy>img{display:block;margin:auto;width:469px;height:123px;object-fit:contain}
.r04-restart .r04-confirm-copy p+p{height:55px;margin-top:5px}
.r04-restart .r04-confirm-copy p+p img{display:block;width:695px;height:55px;object-fit:contain;margin:auto}
.r04-restart-cue img{display:block;width:703px;height:41px;object-fit:contain;margin:auto}
.r04-replay-link,.r04-settings.has-save-error .r04-replay-link{left:300px;top:auto;bottom:-45px;width:244px;height:35px;font-size:25px;line-height:35px;color:#fffdf2;text-shadow:0 2px 3px #092a43}
.r04-range-visual{height:31px;top:51px}
.r04-range-fill{top:2px;height:27px;box-shadow:inset 0 0 0 2px #0e2b43}
.r04-range-knob{top:-13px}
.r04-confirm-data{gap:16px}
.r04-confirm-data b{font-size:41px}
/* The replay action uses the same cream art and stays inside the paper footer. */
.r04-replay-link,.r04-settings.has-save-error .r04-replay-link{left:auto;right:43px;top:auto;bottom:24px;width:236px;height:65px;padding:6px 12px;background:transparent url('../assets/button-cream.png') center/100% 100% no-repeat;border:0;border-radius:17px;font-size:31px;line-height:1.3;font-weight:900;color:#082b46;text-shadow:0 1px #fff9e8;text-decoration:none}
.r04-replay-link:active{transform:scale(.965);filter:brightness(.79)}
.r04-settings .r04-save-cue{left:43px;right:285px;justify-content:flex-start}

.r04-exit .r04-confirm-copy>img{width:486px;height:134px}

.r04-exit-asset-word{display:block;width:104px;height:48px;object-fit:contain}
.r04-restart-asset-word{display:block;width:210px;height:56px;object-fit:contain}
