/* Original dash presentation; the adventure and its shared art stay unchanged. */
.app{--stroke:#81cddd55;--gold:#ffda8e;--cyan:#91e6f4;--green:#99ebc7}
.stage-card{border-color:#95d1dd66;background:#0a233a}
#gameCanvas:focus-visible{outline:3px solid #ffe2a4;outline-offset:-3px}
.mentor-card,.mission-card,.tools-card,.badges-card{border-color:#7ab4ce44;background:linear-gradient(135deg,#122e45f5,#091c31f5)}
.mentor-avatar{display:block;background:linear-gradient(145deg,#153f56,#0c253a);object-fit:contain;border-color:#c0f4fc55}
.control-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
[data-arcade-icon]{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 auto}
[data-arcade-icon] svg{width:100%;height:100%;display:block}
.badge{background:#152e45;position:relative;overflow:hidden}
.badge svg{width:82%;height:82%}
.badge.unlocked{background:linear-gradient(145deg,#24515d,#254658);border-color:#f1d69b88}
.poster{background:linear-gradient(90deg,#08283df2,#0a25478c),url('./assets/chemistry/storeroom.webp') center/cover}
.poster:after{display:none}.poster-title,.poster-sub{max-width:80%}
#arcadePosterHero{position:absolute;right:10px;bottom:-3px;width:145px;height:177px;z-index:0;pointer-events:none}
.poster-title{font-size:clamp(31px,5vw,66px);letter-spacing:-.035em}.poster-sub{font-size:clamp(12px,2vw,21px);letter-spacing:.05em;margin-top:6px}
.arcade-mission-status{display:none}
.overlay-actions{position:sticky;top:-14px;z-index:2;margin:12px 0;padding:8px;border:1px solid #81cddd55;border-radius:16px;background:#0b263cf5;align-items:center}
.overlay-actions .main-btn{order:-1;flex:1}.overlay-actions .ghost-btn{flex:1}
.audio-dialog{color:#eefaff;font:inherit;box-sizing:border-box;width:min(500px,calc(100% - 24px));max-height:calc(100dvh - var(--sat) - var(--sab) - 24px);overflow:auto;margin:auto;padding:20px;border-radius:22px;border:1px solid #96d5e888;background:#0c253c;box-shadow:0 20px 70px #0009;overscroll-behavior:contain}
.audio-dialog::backdrop{background:#03101bce;backdrop-filter:blur(7px)}
.audio-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.audio-heading h2{font-size:24px;margin:0}
.audio-dialog p{line-height:1.5;color:#c4e1ed;margin:12px 0}
.audio-dialog label{display:flex;justify-content:space-between;gap:12px;font-weight:800;margin-top:18px}.audio-dialog output{color:#b2f4dd}
.audio-dialog input[type=range]{display:block;width:100%;min-height:48px;margin:0;accent-color:#9aefd7;touch-action:pan-x}
.audio-dialog button{min-height:44px;min-width:44px}.audio-dialog #testEffects{width:100%;margin-top:8px}
.audio-dialog :focus-visible{outline:3px solid #ffe2a4;outline-offset:3px}
@media(min-width:1051px){.mission-panel>div{flex-shrink:0}.tools-card{order:-1;position:sticky;top:0;z-index:4;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.tools-card .arcade-back{grid-column:1/-1}.tools-card button{padding:7px 6px;font-size:13px}.mentor-card p{font-size:13px;line-height:1.5}}
@media(max-width:1050px){
  .arcade-mission-status{display:block;padding:5px 9px;font-size:12px;font-weight:700;line-height:1.45;color:#d7f2fa;background:#102d43}
  .poster-title,.poster-sub{max-width:76%}#arcadePosterHero{width:100px;height:123px;right:0}
  .mobile-controls .control-btn{min-width:48px}.tools-card button{min-width:54px;white-space:normal;font-size:11px;line-height:1.15}
}
@media(max-width:600px){.overlay-actions .main-btn{flex-basis:100%}.overlay-actions .arcade-back{font-size:12px}}
@media(max-height:450px) and (orientation:landscape){.arcade-mission-status{display:none}.poster-title{font-size:27px}#arcadePosterHero{width:76px;height:94px}.game-layout{grid-template-columns:minmax(0,1fr) 144px}.tools-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.tools-card button{width:100%;min-width:0;white-space:normal;font-size:11px;line-height:1.15;padding:4px}}
@media(prefers-reduced-motion:reduce){.poster,.mentor-avatar{animation:none;transition:none}}
