.shadow-dialog{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(1160px,97vw);height:min(850px,96dvh);max-width:none;max-height:none;border:1px solid #9a704e;padding:12px 18px 8px;background:#291d32;box-shadow:0 0 0 5px #452d40,0 0 0 7px #a47851,0 18px 80px #090511bd;color:#eed7b1;font:12px/1.5 'Zpix','Microsoft YaHei',sans-serif;overflow:hidden;}
.shadow-dialog[open]{display:flex;flex-direction:column;gap:10px;}.shadow-dialog::backdrop,.arcade-hub::backdrop{background:#10091ddd;backdrop-filter:blur(3px);}
.shadow-header{display:flex;align-items:center;gap:16px;flex-shrink:0;height:70px;}.shadow-title{position:relative;flex:0 0 230px;align-self:stretch;background:url('../ip/playroom/shadow-ui-title-v1.png') center/contain no-repeat;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 22px;box-sizing:border-box;}.shadow-title small{font-size:8px;color:#c7a783;line-height:1.3;}.shadow-title h2{font-size:23px;font-weight:normal;line-height:1.25;margin:1px 0 0;color:#ffe0a0;}.shadow-header>p{color:#bda3c5;font-size:12px;margin:0;flex:1;}.shadow-close{border:0;padding:0;margin-left:auto;flex:0 0 27px;height:47px;align-self:start;background:url('../ip/playroom/pinball-ui-exit.png') center/contain no-repeat;cursor:pointer;}.shadow-close:hover{filter:brightness(1.15);transform:rotate(3deg);}
.shadow-layout{display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:15px;flex:1;min-height:0;}.shadow-table-wrap{container-type:size;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;}.shadow-table{position:relative;width:min(100cqw,calc(100cqh * 800 / 540));aspect-ratio:800/540;max-width:100%;}.shadow-table canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;image-rendering:pixelated;}.shadow-table canvas:active{cursor:grabbing;}.shadow-table canvas:focus-visible{outline:1px dashed #d8af79;outline-offset:3px;}
.shadow-aside{display:flex;flex-direction:column;justify-content:center;gap:14px;min-height:0;} .shadow-score{position:relative;container-type:inline-size;box-sizing:border-box;width:100%;padding-top:42.62%;background:url('../ip/playroom/shadow-ui-score-v1.png') center top/100% auto no-repeat;flex-shrink:0;}.shadow-display{position:absolute;left:14%;right:14%;top:17cqw;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;}.shadow-display>div{display:flex;flex-direction:column;gap:1px;}.shadow-display small{font-size:7px;line-height:1.1;color:#bca38e;white-space:nowrap;}.shadow-display strong{font-size:clamp(18px,10cqw,23px);font-weight:normal;color:#ffe0a0;line-height:1;letter-spacing:1px;font-variant-numeric:tabular-nums;}.shadow-display b{font-size:15px;line-height:1.1;font-weight:normal;color:#e5c6a4;white-space:nowrap;}.shadow-score-extra{display:flex;flex-direction:column;gap:3px;padding:0 8px;margin-top:3px;align-items:center;}.shadow-score-extra span{font-size:9px;line-height:1.3;color:#c8b0be;white-space:nowrap;}.shadow-score-extra b,.shadow-score-extra i{font-weight:normal;font-style:normal;}.shadow-score-extra i{margin:0 5px;}.shadow-score progress{width:100%;height:3px;appearance:none;border:0;background:#59434f;}.shadow-score progress::-webkit-progress-bar{background:#59434f;}.shadow-score progress::-webkit-progress-value{background:#dfb77a;}
.shadow-note{position:relative;width:100%;aspect-ratio:330/430;background:url('../ip/playroom/shadow-ui-note-v1.png') center/contain no-repeat;color:#7b5352;}.shadow-note>div{position:absolute;inset:13% 12% 12% 14%;overflow:auto;scrollbar-width:thin;scrollbar-color:#b28c67 transparent;}.shadow-note h3{font-size:15px;font-weight:normal;margin:0 0 10px;color:#70464d;}.shadow-note ol{padding-left:15px;margin:0;display:grid;gap:10px;font-size:11px;line-height:1.6;}.shadow-note li.is-done{color:#927b4c;}.shadow-note li.is-done::marker{content:'✓ ';}.shadow-note p{font-size:10px;line-height:1.7;margin:12px 0 7px;}.shadow-note small{font-size:9px;line-height:1.5;color:#a08069;}
.shadow-workbench{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0;min-height:104px;border-top:1px solid #73506566;padding-top:5px;}.shadow-tools{display:grid;grid-template-columns:repeat(4,62px);gap:6px;align-items:center;}.shadow-tools button{box-sizing:border-box;height:82px;padding:3px 2px 7px;border:0;background:url('../ip/playroom/shadow-ui-label-v1.png') center bottom/100% auto no-repeat;color:#77504c;font:11px 'Zpix',sans-serif;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:space-between;}.shadow-tools img{display:block;width:48px;height:49px;object-fit:contain;image-rendering:pixelated;}.shadow-tools button[aria-pressed=true] img{filter:drop-shadow(0 0 4px #e7bc75);transform:translateY(-3px);}.shadow-tools button[aria-pressed=true]{color:#4b2d3d;}.shadow-edit{display:grid;grid-template-columns:auto auto;gap:4px 8px;align-items:center;justify-content:center;}.shadow-rotate{display:flex;gap:5px;}.shadow-rotate button{min-width:36px;height:37px;padding:0;border:0;background:none;color:#d6b6d4;font:25px 'Zpix',sans-serif;cursor:pointer;}.shadow-rotate span{display:block;font-size:9px;line-height:1;color:#aa8ba9;}.shadow-stamp{box-sizing:border-box;min-width:153px;min-height:48px;padding:8px 4px 8px 41px;border:0;background:transparent url('../ip/playroom/shadow-prop-seal-v1.png') left center/40px auto no-repeat;color:#f1c88f;font:12px/1.3 'Zpix',sans-serif;cursor:pointer;}.shadow-seals{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:4px;justify-content:center;min-height:25px;}.shadow-seals button{border:0;border-bottom:1px dashed #ad8661;background:none;font:10px 'Zpix',sans-serif;color:#bfa0bd;cursor:pointer;padding:4px;}.shadow-seals:empty::before{content:'盖住影子后，点标签可收回';font-size:9px;color:#987d96;align-self:center;}
.shadow-run{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0;}.shadow-run button{box-sizing:border-box;min-height:44px;width:168px;padding:8px 10px;border:0;background:url('../ip/playroom/shadow-ui-action-v1.png') center/contain no-repeat;font:12px 'Zpix',sans-serif;color:#ffe3ad;cursor:pointer;}.shadow-run [data-shadow-pause]{font-size:10px;min-height:26px;background:none;color:#bda2bc;text-decoration:underline;text-underline-offset:4px;}.shadow-dialog button:disabled{opacity:.5;cursor:default;}.shadow-dialog button:hover:not(:disabled){filter:brightness(1.12);}.shadow-dialog button:focus-visible{outline:1px dashed #dcbb8c;outline-offset:2px;}.shadow-status{font-size:10px;line-height:1.5;min-height:15px;flex-shrink:0;text-align:center;color:#bda1bc;margin:0;overflow-wrap:anywhere;}
.shadow-curtain{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#211328de;text-align:center;padding:12px;box-sizing:border-box;}.shadow-curtain strong{font-size:22px;color:#f8d99b;font-weight:normal;}.shadow-curtain span{font-size:12px;line-height:1.8;white-space:pre-line;color:#d2bbd7;}.shadow-curtain button{border:0;min-height:44px;padding:8px 20px;background:url('../ip/playroom/shadow-ui-action-v1.png') center/contain no-repeat;font:12px 'Zpix',sans-serif;color:#ffe5b5;cursor:pointer;}.shadow-dialog [hidden]{display:none!important;}
.arcade-hub{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(94vw,480px,calc(94dvh * 3 / 4));aspect-ratio:3/4;max-width:none;max-height:none;padding:0;border:0;background:transparent url('../ip/playroom/score-ticket-v1.png') center/contain no-repeat;overflow:visible;color:#77504e;font-family:'Zpix',sans-serif;filter:drop-shadow(0 12px 15px #0b061980);}.arcade-hub-content{position:absolute;inset:25% 16% 16%;overflow:auto;scrollbar-width:thin;scrollbar-color:#ad8262 transparent;}.arcade-hub h2{font-size:20px;line-height:1.4;font-weight:normal;margin:0 0 8px;padding-left:18%;}.arcade-hub-choice{display:grid;grid-template-columns:78px minmax(0,1fr);gap:12px;align-items:center;width:100%;padding:9px 0;border:0;border-bottom:1px dashed #b18b6555;background:none;color:inherit;text-align:left;cursor:pointer;}.arcade-hub-choice>img{display:block;width:78px;height:82px;object-fit:contain;image-rendering:pixelated;}.arcade-hub-choice strong{display:block;font:18px/1.5 'Zpix',sans-serif;color:#73424b;}.arcade-hub-choice small{display:block;font:10px/1.7 'Zpix',sans-serif;color:#a07961;}.arcade-hub-choice em{display:block;font:10px/1.7 'Zpix',sans-serif;color:#9e6d43;font-style:normal;}.arcade-hub-choice:hover img{transform:translateY(-3px);filter:drop-shadow(0 2px 2px #be8b5850);}.arcade-hub .ledger-close{right:8%;top:17%;width:24px;height:43px;}.arcade-hub-choice:focus-visible{outline:1px dashed #9b614e;outline-offset:3px;}.arcade-hub-choice:disabled{opacity:.6;cursor:wait;}
@media(min-width:701px) and (max-height:720px){.shadow-dialog{padding-top:6px;gap:5px;}.shadow-header{height:53px;}.shadow-title{flex-basis:200px;}.shadow-title h2{font-size:20px;}.shadow-layout{grid-template-columns:minmax(0,1fr) 190px;gap:12px;}.shadow-aside{gap:8px;}.shadow-note{aspect-ratio:auto;background:none;}.shadow-note>div{position:static;overflow:visible;padding:0 6px;color:#c2a8c8;}.shadow-note h3{font-size:12px;margin-bottom:4px;color:#e1c598;}.shadow-note ol{font-size:9px;gap:4px;}.shadow-note p{font-size:9px;line-height:1.5;margin:6px 0;}.shadow-note small{font-size:8px;color:#9f859d;}.shadow-workbench{min-height:89px;}.shadow-tools{grid-template-columns:repeat(4,54px);gap:4px;}.shadow-tools button{height:74px;font-size:10px;}.shadow-tools img{width:43px;height:44px;}.shadow-run button{width:145px;}.shadow-stamp{min-width:145px;font-size:11px;}.shadow-status{font-size:9px;}}
@media(max-width:700px){.shadow-dialog{width:97vw;height:97dvh;padding:7px 9px 6px;gap:6px;}.shadow-header{height:56px;gap:6px;}.shadow-title{flex-basis:190px;}.shadow-title h2{font-size:20px;}.shadow-header>p{display:none;}.shadow-close{flex-basis:23px;height:39px;}.shadow-layout{display:contents;}.shadow-table-wrap{flex:1;min-height:0;}.shadow-aside{display:contents;}.shadow-score{order:-1;align-self:center;width:210px;}.shadow-header{order:-2;}.shadow-note{display:none;}.shadow-workbench{display:grid;grid-template-columns:1fr;min-height:0;gap:5px;padding-top:4px;}.shadow-tools{grid-template-columns:repeat(4,1fr);gap:8px;}.shadow-tools button{height:62px;font-size:10px;background-size:60px auto;}.shadow-tools img{width:38px;height:39px;}.shadow-edit{grid-template-columns:auto 1fr;gap:1px 8px;}.shadow-rotate button{height:31px;min-width:33px;font-size:22px;}.shadow-stamp{min-height:42px;min-width:0;justify-self:end;width:174px;}.shadow-seals{min-height:21px;}.shadow-seals button{font-size:9px;padding:3px;}.shadow-run{flex-direction:row;justify-content:center;gap:14px;}.shadow-run button{width:175px;min-height:41px;font-size:11px;}.shadow-run [data-shadow-pause]{width:76px;}.shadow-status{font-size:9px;line-height:1.4;min-height:25px;}.shadow-curtain strong{font-size:17px;}.shadow-curtain span{font-size:10px;}.arcade-hub-choice{gap:9px;grid-template-columns:65px minmax(0,1fr);}.arcade-hub-choice>img{width:65px;height:75px;}.arcade-hub-choice strong{font-size:16px;}.arcade-hub-choice small{font-size:9px;}.arcade-hub h2{font-size:18px;}}
@media(max-width:700px) and (max-height:720px){.shadow-header{height:44px;}.shadow-title{flex-basis:168px;}.shadow-title h2{font-size:18px;}.shadow-score{width:180px;}.shadow-tools button{height:51px;}.shadow-tools img{width:32px;height:32px;}.shadow-run button{min-height:37px;}.shadow-stamp{min-height:35px;}.shadow-status{font-size:8px;min-height:20px;}}
@media(prefers-reduced-motion:reduce){.shadow-dialog::backdrop,.arcade-hub::backdrop{backdrop-filter:none;}}
.shadow-help,[data-shadow-helpclose]{display:none;}
@media(max-width:700px){.shadow-help{display:block;border:0;border-bottom:1px dashed #bd9770;background:none;color:#cfb08a;font:10px 'Zpix',sans-serif;min-height:36px;min-width:38px;margin-left:auto;cursor:pointer;}.shadow-note.is-open{display:block;position:absolute;z-index:10;top:70px;left:50%;transform:translateX(-50%);width:min(280px,83vw);aspect-ratio:330/430;max-height:74dvh;background:url('../ip/playroom/shadow-ui-note-v1.png') center/contain no-repeat;color:#7b5352;filter:drop-shadow(0 5px 25px #0b051dc9);}.shadow-note.is-open>div{position:absolute;inset:13% 12% 12% 14%;overflow:auto;padding:0;}.shadow-note.is-open [data-shadow-helpclose]{display:block;margin:10px auto 0;border:0;border-bottom:1px dashed #9b6a51;padding:5px 8px;background:none;color:#855247;font:11px 'Zpix',sans-serif;min-height:34px;}}
/* Safe text areas follow the actual native crops, not the prompt's approximate sizes. */
.shadow-title small{display:none;}.shadow-title{padding-top:6px;}.shadow-note{aspect-ratio:364/395;}.shadow-note>div{inset:10% 11% 12%;}.shadow-run [data-shadow-start]{height:59px;min-height:59px;}.shadow-curtain button{min-height:57px;min-width:168px;}
@media(min-width:701px) and (max-height:720px){.shadow-note{aspect-ratio:auto;}.shadow-run [data-shadow-start]{height:51px;min-height:51px;font-size:11px;}}
@media(max-width:700px){.shadow-run [data-shadow-start]{height:61px;min-height:61px;}.shadow-note.is-open{aspect-ratio:364/395;}.shadow-note.is-open>div{inset:10% 11% 12%;}}
@media(max-width:700px) and (max-height:720px){.shadow-run [data-shadow-start]{height:49px;min-height:49px;width:145px;font-size:10px;}}
.shadow-dialog{--frame-space:0px;border:0;box-shadow:0 14px 70px #090511bd;padding-inline:21px;}.shadow-dialog>.shadow-border{inset:0;z-index:4;}.shadow-title h2{font-size:21px;}.shadow-note ol{gap:12px;line-height:1.8;}.shadow-note h3{margin-bottom:12px;}
@media(min-width:701px) and (max-height:720px){.shadow-header{height:60px;}.shadow-title h2{font-size:18px;}.shadow-note h3{font-size:13px;margin-bottom:7px;}.shadow-note ol{font-size:10px;gap:7px;line-height:1.8;}.shadow-note p{font-size:10px;line-height:1.7;margin:10px 0 8px;}.shadow-note small{font-size:9px;line-height:1.6;}}
@media(max-width:700px){.shadow-dialog{padding-inline:15px;}.shadow-title{margin-left:8px;}.shadow-title h2{font-size:18px;}.shadow-note.is-open h3{font-size:15px;margin-bottom:12px;}.shadow-note.is-open ol{font-size:11px;gap:10px;}.shadow-note.is-open p{font-size:11px;line-height:1.8;}.shadow-note.is-open small{font-size:10px;line-height:1.6;}}
.shadow-dialog{padding:26px 27px 25px;}.shadow-aside{overflow:auto;justify-content:safe center;scrollbar-width:thin;scrollbar-color:#876175 transparent;}.shadow-note{flex-shrink:0;}
@media(min-width:701px) and (max-height:720px){.shadow-dialog{padding-top:25px;padding-bottom:24px;gap:6px;}.shadow-header{height:50px;}.shadow-workbench{min-height:84px;}}
@media(max-width:700px){.shadow-dialog{padding:25px 25px 24px;gap:5px;}.shadow-aside{overflow:visible;}.shadow-title{margin-left:0;}.shadow-note.is-open{top:86px;}}
/* Percent padding follows the parent width; use a native ratio for the small HUD. */
.shadow-score{padding-top:0;aspect-ratio:523/224;margin-bottom:27px;}.shadow-score-extra{position:absolute;left:0;right:0;top:100%;}
@media(min-width:701px) and (min-height:721px){.shadow-layout{grid-template-columns:minmax(0,1fr) 235px;}.shadow-note ol{gap:10px;}.shadow-note h3{margin-bottom:10px;}.shadow-note p{margin:10px 0 6px;}}
@media(max-width:700px){.shadow-note.is-open{width:min(300px,83vw);}}
@media(max-width:700px) and (max-height:520px){
 .shadow-dialog{gap:4px;}.shadow-header{order:0;height:42px;}.shadow-title{flex-basis:150px;}.shadow-title h2{font-size:16px;}.shadow-close{height:35px;}.shadow-layout{display:grid;grid-template-columns:minmax(0,1fr) 135px;gap:8px;flex:1;min-height:0;}.shadow-aside{display:flex;justify-content:center;}.shadow-score{order:0;width:135px;}.shadow-display strong{font-size:15px;}.shadow-display b{font-size:11px;}.shadow-display small{font-size:6px;}.shadow-score-extra span{font-size:7px;}.shadow-workbench{display:flex;min-height:76px;gap:7px;}.shadow-tools{grid-template-columns:repeat(4,35px);gap:3px;}.shadow-tools button{height:51px;font-size:8px;background-size:35px auto;padding-bottom:2px;}.shadow-tools img{width:30px;height:31px;}.shadow-edit{gap:0 4px;}.shadow-rotate button{min-width:24px;font-size:18px;}.shadow-stamp{width:117px;font-size:9px;padding-left:30px;background-size:29px auto;}.shadow-seals:empty::before{font-size:7px;}.shadow-seals button{font-size:7px;}.shadow-run{flex-direction:column;gap:0;}.shadow-run [data-shadow-start]{width:111px;height:40px;min-height:40px;font-size:8px;}.shadow-run [data-shadow-pause]{min-height:24px;font-size:8px;}.shadow-status{font-size:8px;min-height:12px;}.shadow-note.is-open{top:60px;width:240px;max-height:72dvh;}
}
