:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog){container-type:inline-size;width:min(1040px,94vw);max-height:92vh;background:#f4cfa4;color:#4a2511;border:4px solid #2b1408;border-radius:0;box-shadow:0 0 0 4px #d98f4e,0 0 0 8px #7a401c}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog),:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) *{font-family:'Fusion Pixel',monospace;image-rendering:pixelated;-webkit-font-smoothing:none;border-radius:0;animation-timing-function:steps(4);transition-timing-function:steps(3);text-shadow:none;box-sizing:border-box}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) .workbench-head{background:#8c5230;border-bottom:4px solid #2b1408;color:#ffdf9d;padding:20px;gap:16px;align-items:flex-start}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) h2{font-size:24px;line-height:1.5;text-shadow:2px 2px 0 #3a1c0d;margin:10px 0 0}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) .eyebrow{font-size:14px;letter-spacing:1px;color:#ffdf9d}
:is(#measurementBody,#compilerBody,#hardwareBody,#pulseBody,#finaleBody){padding:24px;font-size:16px;line-height:1.7}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) button{background:#e69c55;border:2px solid #381a08;border-top:4px solid #f7be7c;border-bottom:4px solid #a86024;box-shadow:0 2px 0 #381a08;color:#381a08;font-size:16px;line-height:1.6;padding:8px 14px;min-height:44px;cursor:pointer}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) button:hover:not(:disabled){outline:2px solid #fff3cd;outline-offset:2px}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) button:focus-visible{outline:3px solid #4deeea;outline-offset:3px}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) button:active:not(:disabled){transform:translateY(2px);box-shadow:none}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) button:disabled{opacity:.5;cursor:default}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog).pixel-workshop button{text-shadow:none!important}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) button.primary,:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) button.mp-correct{background:#5ab552;border-top-color:#99e550;border-bottom-color:#37946e}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog).pixel-workshop button.selected{background:#665ca2!important;color:#fff4d4!important;border-top-color:#ad98df!important;border-bottom-color:#443763!important}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) .qat-line{font-size:16px;line-height:1.6;color:#4a2511}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) .qat-speech{max-width:90%;width:fit-content;background:#f4cfa4}
.mp-toolbar,.mp-actions,.mp-records,.mp-conditions{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;align-items:center}
.mp-page{font-size:14px}.mp-goal,.mp-note{padding:14px;background:#e8b982;border-left:4px solid #b86f35}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog).pixel-workshop .mp-board p{color:#f4e3be!important}
.mp-board{padding:24px;color:#f4e3be;background:#282332;border:4px solid;border-color:#191521 #463f54 #463f54 #191521;position:relative;min-height:220px;text-align:center}
.mp-board:before,.mp-board:after{content:'';position:absolute;top:6px;width:6px;height:6px;background:#f5c542;box-shadow:2px 2px 0 #9e6b1b}.mp-board:before{left:6px}.mp-board:after{right:6px}
.mp-board .mp-actions{justify-content:center}.mp-flow{display:flex;gap:20px;align-items:center;justify-content:center;flex-wrap:wrap;margin:24px 0}
.mp-arrow{color:#ffd84d;font-size:24px;font-style:normal}.mp-ticket{display:inline-block;background:#f4cfa4;color:#4a2511;border:3px solid #94613b;box-shadow:3px 3px 0 #191521;padding:10px 14px;min-width:70px}
.mp-lamp{display:inline-flex;flex-direction:column;align-items:center;gap:12px;min-width:64px}.mp-lamp i{width:40px;height:48px;background:#466078;border:6px solid #a87540;border-top:8px solid #e9bd74;box-shadow:0 4px 0 #291b18,inset 4px 4px 0 #222939;clip-path:polygon(8px 0,32px 0,32px 4px,40px 4px,40px 44px,32px 44px,32px 48px,8px 48px,8px 44px,0 44px,0 4px,8px 4px)}
.mp-lamp.on i{background:#ffd84d;box-shadow:0 4px 0 #291b18,inset 4px 4px 0 #fff394}.mp-lamp b{font-size:16px;font-weight:normal}
.mp-collectors{display:flex;gap:48px;justify-content:center}.mp-jar{width:88px;height:100px;border:6px solid #b98c52;border-top:10px solid #ecc285;background:#18374a;color:#7ed6ee;font-size:40px;box-shadow:4px 4px 0 #191521;display:flex;flex-direction:column;align-items:center}.mp-jar.gold{color:#ffd84d;background:#4b3925}.mp-jar small{font-size:14px;color:#f4e3be}
.mp-samples{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.mp-sample{background:#352d42;border:3px solid #191521;padding:12px;text-align:left;min-width:0}.mp-sample h4{margin:0 0 16px;font-size:16px}.mp-sample small{display:block;font-size:14px;line-height:1.7}.mp-count{margin-bottom:16px}.mp-track{height:18px;background:#17131e;box-shadow:inset 2px 2px 0 #09070c,2px 2px 0 #544763;position:relative;margin-top:6px}.mp-track i{display:block;height:100%;background:#8fc76a;animation:mpFill .6s steps(8);transform-origin:left}.mp-track b{position:absolute;left:calc(50% - 1px);top:-2px;bottom:-2px;width:3px;background:#ffd84d}.mp-sample.empty{display:grid;place-items:center;color:#bcb4c9}
.mp-feedback{padding:14px;background:#ffe1a1;border:3px solid #b88737;margin:18px 0;min-height:56px}.mp-review{border:3px solid #b86f35;background:#e8b982;padding:16px}.mp-review button{margin:6px 12px 6px 0}.mp-success{background:#d4e8a0;border:3px solid #66864c;padding:14px;margin:18px 0}.mp-branch{margin:18px 0;padding:18px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center;border:3px solid #655375;background:#352d42}.mp-branch p{flex-basis:100%}.mp-source{cursor:grab}.mp-source small{display:block;margin-top:10px}.mp-targets{display:flex;flex-direction:column;gap:20px}
:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) details{margin:18px 0;background:#edbd85;padding:12px;border-bottom:3px dashed #b86f35}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) summary{cursor:pointer}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) summary:hover{transform:translateX(4px)}.mp-upgrade{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;align-items:center;background:#282332;padding:32px}.mp-chip{font-size:64px;color:#7ed6ee;background:#264652;border:8px solid #b18b48;box-shadow:4px 4px 0 #191521;width:100px;text-align:center;cursor:grab}.mp-journal{border-bottom:2px solid #b86f35;padding:12px}
.mp-demo-stars{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;max-width:400px;margin:20px auto}.mp-demo-stars i{font-size:32px;color:#7ed6ee;font-style:normal;animation:mpPop .4s steps(2) both;animation-delay:var(--delay)}.mp-demo-stars .gold{color:#ffd84d}.mp-wrong{animation:mpShake .3s steps(4)}
@keyframes mpFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes mpPop{from{transform:translateY(-8px) scale(.5)}to{transform:translateY(0) scale(1)}}@keyframes mpShake{25%,75%{transform:translateX(-4px)}50%{transform:translateX(4px)}}
.room-measurement{background:url('../assets/art/measurement-room-v1.png') center/cover}.room-voyage{background:url('../assets/art/spaceqat-plaza.png') center/cover}.measurement-fixtures{position:absolute;inset:0;pointer-events:none}.measurement-fixtures i{position:absolute;top:28%;width:9%;height:14%;background:#282332;border:5px solid #b98c52;box-shadow:4px 4px 0 #2b1408;display:grid;place-items:center;color:#7ed6ee;font:28px 'Fusion Pixel',monospace;font-style:normal}.measurement-fixtures i:nth-child(2){color:#ffd84d}.measurement-fixtures i:nth-child(3){color:#99e550}.measurement-fixtures i:nth-child(4){color:#d4b3ef}
@media(max-width:650px){:is(#measurementBody,#compilerBody,#hardwareBody,#pulseBody,#finaleBody){padding:14px}.mp-samples{grid-template-columns:1fr}.mp-board{padding:18px 10px}.mp-flow{gap:12px}.mp-actions button{flex:1 1 auto}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) .workbench-head{padding:12px}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) h2{font-size:22px}.mp-review button{width:100%;margin:6px 0}}
.reduced :is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) *{animation:none!important;transition:none!important}}
@container(max-width:520px){:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) .workbench-head{position:relative;padding:14px!important}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog).pixel-workshop .qat-speaking{padding-left:0;min-width:0}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog).pixel-workshop .qat-npc{display:flex;gap:12px;align-items:flex-start;padding-right:42px}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog).pixel-workshop .qat-portrait-frame{position:relative;width:64px;height:76px;flex-shrink:0;padding:0}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog).pixel-workshop .qat-portrait-frame canvas{width:56px;height:50px}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog).pixel-workshop .qat-speech{max-width:100%;padding:6px;flex:1}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) .workbench-head>button{position:absolute;right:10px;top:12px;padding:4px;min-width:32px}:is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog) h2{font-size:22px;margin-top:16px!important}:is(#measurementBody,#compilerBody,#hardwareBody,#pulseBody,#finaleBody){padding:14px}.mp-samples{grid-template-columns:1fr}.mp-board{padding:18px 10px}.mp-flow{gap:12px}.mp-actions button{flex:1 1 auto}.mp-review button{width:100%;margin:6px 0}}
.campaign-ambience{position:absolute;inset:0;pointer-events:none}.instrument-spark{position:absolute;width:3px;height:3px;background:var(--room-spark);box-shadow:4px 0 0 var(--room-spark),0 4px 0 var(--room-spark);opacity:.4;animation:instrument-glimmer 2.4s steps(3) infinite}@keyframes instrument-glimmer{0%,100%{opacity:.15}50%{opacity:.6}}.reduced .instrument-spark{animation:none;opacity:.25}@media(prefers-reduced-motion:reduce){.instrument-spark{animation:none;opacity:.25}}
@container(max-width:520px){
 :is(#measurementDialog,#compilerDialog,#hardwareDialog,#pulseDialog,#finaleDialog).pixel-workshop .qat-speaking h2{margin-left:0}
}

.room-voyage{background:#162231;image-rendering:pixelated}
.voyage-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;image-rendering:pixelated}
.room-voyage .station{width:11%;height:20%}
.voyage-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.voyage-menu article{background:#e8bd86;border:3px solid #87542e;padding:14px;box-shadow:inset 2px 2px #ffe2ad}
.voyage-menu h3{font-size:18px}.voyage-menu p{font-size:16px;line-height:1.7}
@media(max-width:600px){.voyage-menu{grid-template-columns:1fr}}

.room-voyage{background:#162231 url('../assets/art/voyage-gallery-v1.png') center/100% 100% no-repeat}
.voyage-stars{position:absolute;inset:0;pointer-events:none}.voyage-stars i{position:absolute;width:3px;height:3px;background:#ffe7aa;left:30%;top:6%;animation:voyage-twinkle 3s steps(2) infinite}.voyage-stars i:nth-child(2){left:52%;top:14%;animation-delay:-1s}.voyage-stars i:nth-child(3){left:73%;top:5%;animation-delay:-2s}@keyframes voyage-twinkle{50%{opacity:.3}}
.reduced .voyage-stars i{animation:none}@media(prefers-reduced-motion:reduce){.voyage-stars i{animation:none}}
