/* Surabaya: warm daylight, heritage streets and readable physical objects. */
.mission-panel{background:linear-gradient(145deg,#eef1e7,#e1e9de);color:#284b42;--cyan:#6c8c71;--gold:#edb33c}.mission-brand{color:#24516a!important}.mission-brand span{color:#9aab9b}.mission-brand strong{color:#b58425}.mission-settings button,.mission-actions button{border-color:#55735c30;background:#ffffff75;color:#506d5c}.mission-settings button:hover,.mission-actions button:hover{background:#fff}.mission-intro h1{color:#2e4d43}.mission-intro em{color:#63826b}.mission-intro p{color:#758675}.mission-eyebrow{color:#7a917e}.mission-eyebrow i,.mission-location i{background:#829b78;box-shadow:none}.mission-stage{background:linear-gradient(#b8d3e8,#e8e9d8);border-color:#b1bfa99c;box-shadow:0 10px 30px #4865480c}.mission-location{background:#fffdf0d6;border-radius:14px;padding:5px 9px;color:#5d7563;left:14px;top:14px;letter-spacing:1px}.mission-ready{inset:50px 18px auto auto;width:45%;padding:18px 13px;background:#fffdf4e0;backdrop-filter:blur(7px);border:1px solid #fff9;border-radius:18px;box-shadow:0 7px 20px #515c4712}.mission-ready h2{color:#345344;text-shadow:none;font-size:32px}.mission-ready p,.mission-ready small{color:#75836b;text-shadow:none}.mission-chip{background:#eef1df;color:#7c8c6c;border-color:#9bae792a;font-size:7px}.mission-primary{background:#efba4f;color:#364b3e;box-shadow:0 4px 15px #d4a94c20}.mission-primary:hover{background:#f7ce77}.mission-hud>div{background:#fffdf3ec;border-color:#677d5a30}.mission-hud span{color:#8a9879}.mission-hud strong{color:#425d48}.mission-hud small{color:#899777}.mission-hud #mission-lives{color:#ca9433}.mission-hud button{background:#fffdf0df;color:#5c755d;border-color:#8e9d7c44}.mission-toast{background:#fffbedee;color:#61774c;border-color:#b0c39b77;box-shadow:0 3px 15px #5d6b3810}.mission-boost{background:#fffdf2e8;border-color:#95a78150}.mission-boost>div{color:#7b8e66}.mission-boost progress{background:#a4b48c40;accent-color:#b89d45}.mission-boost progress::-webkit-progress-bar{background:#a4b48c40}.mission-boost progress::-webkit-progress-value{background:#b89d45}.mission-instructions{color:#849477}.mission-key{background:#ffffff65;color:#8d9b7d;border-color:#a1b38b66}.mission-actions .mission-jump{background:#efba4f;color:#405039;border-color:#dfb354}.mission-footer{color:#8f9c86;border-color:#a5b29b55}.mission-footer i{color:#c59b44}.mission-dialog{background:#edf0e4de;color:#425e46}.mission-dialog h2{color:#425e46}.mission-dialog p{color:#829174}.mission-text-button{color:#7e8c70}.mission-result{background:linear-gradient(#f5f4e7df,#ebefdfbb 65%,#e1e8d474)}.mission-result #mission-final-score{color:#425e46}.mission-stars{color:#c5a24b}.mission-countdown{background:#fcf6e12e}.mission-countdown strong{color:#fffef5;text-shadow:0 3px 25px #415c61b0}.mission-countdown span{background:#fffef5d9;color:#6f8169;padding:5px 12px;border-radius:20px}.mission-skyline{display:none}.mission-fallback{background:url('../img/surabaya/surabaya-panorama-v2.webp') center/cover no-repeat}.mission-fallback-road{background:#92938c;border-top-color:#d6d2bf}.mission-panel.senja{background:linear-gradient(145deg,#f1e9d7,#e7e8d9)}.mission-panel.senja .mission-stage{background:linear-gradient(#e0c5ab,#eee3c4)}@media(max-width:1150px){.mission-ready{width:47%;right:14px;padding:16px 10px}.mission-ready h2{font-size:28px}.mission-primary{gap:12px!important;padding:11px 15px}}@media(max-width:480px){.mission-ready{width:54%;right:10px}.mission-stage{border-radius:18px}.mission-intro h1{font-size:31px}}
.mission-fallback{transition:none}.mission-panel.has-scene .mission-fallback{visibility:hidden}

/* Reserve the final layout and reveal only a fully drawn frame. Older concept
   figures remain available for static/no-JS/error mode, never as a loading flash. */
.js:not(.mission-static) .mission-fallback{background:none}
.js:not(.mission-static) .mission-fallback-adhi,.js:not(.mission-static) .mission-fallback-pip,.js:not(.mission-static) .mission-fallback-road{display:none}
.mission-canvas{opacity:0;transition:opacity .2s ease}
.mission-panel.has-scene .mission-canvas[data-rendered=true]{opacity:1}
.js .scene-error .mission-fallback{background:url('../img/surabaya/surabaya-panorama-v2.webp') center/cover no-repeat}
.js .scene-error .mission-fallback-adhi,.js .scene-error .mission-fallback-pip,.js .scene-error .mission-fallback-road{display:block}
@media(prefers-reduced-motion:reduce){.mission-canvas{transition:none}}

/* Combat controls stay outside the playfield; touch targets remain usable. */
.mission-combat-status{position:absolute;right:14px;bottom:15px;z-index:2;max-width:47%;padding:8px 11px;border:1px solid #95a78150;border-radius:10px;background:#fffdf2ed;color:#526d53;pointer-events:none;display:flex;flex-direction:column;gap:3px;font-size:9px}
.mission-combat-status strong{font-size:8px;font-weight:600;color:#927c3f}
.mission-actions .mission-weapon{min-height:44px;touch-action:none;user-select:none;font-size:11px;font-weight:700;padding:10px 12px;background:#327397;color:#fff;border-color:#327397}
.mission-actions .mission-weapon:hover{background:#286685}.mission-actions .mission-missile{background:#f4ead2;color:#6b613e;border-color:#cabc96}
.mission-missile #mission-missile-count{display:inline-grid;place-items:center;border-radius:50%;width:17px;height:17px;background:#d7bc73;color:#51451f;font-size:9px}
.mission-actions button:disabled{opacity:.42;cursor:default}.mission-toolbar{flex-wrap:wrap}.mission-instructions{flex:1;min-width:110px}.mission-actions{flex-wrap:wrap;justify-content:flex-end}
.mission-actions #mission-sound,.mission-actions #mission-pause{min-height:44px;min-width:44px}
.mission-enemy-guide{margin-top:14px;border:1px solid #a7b89b70;border-radius:13px;background:#ffffff48;color:#536f57;font-size:10px}
.mission-enemy-guide summary{cursor:pointer;padding:11px 13px;list-style:none;font-weight:650;display:flex;justify-content:space-between}.mission-enemy-guide summary::-webkit-details-marker{display:none}.mission-enemy-guide[open] summary{border-bottom:1px solid #a7b89b40}
.mission-enemy-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:14px}.mission-enemy-cards article{position:relative}.mission-enemy-cards strong{display:block;font-size:12px;margin:7px 0}.mission-enemy-cards small{display:block;font-size:9px;font-weight:400;color:#8b956e;margin-top:3px}.mission-enemy-cards p{font-size:10px;line-height:1.6;margin:0;color:#758675}.mission-enemy-cards i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#fff6df;font-size:10px;font-style:normal;background:#be6852}.mission-enemy-cards .enemy-dengung{background:#7966a7}.mission-enemy-cards .enemy-benteng{background:#397e7e}
.mission-arsenal-note{padding:0 14px 13px;margin:0;font-size:9px;line-height:1.7;color:#7e8d70}
@media(max-width:1150px){.mission-instructions{flex-basis:100%}.mission-actions{width:100%}.mission-toolbar{gap:8px}.mission-enemy-cards{gap:10px}.mission-actions .mission-weapon{padding:10px}.mission-enemy-guide{margin-top:10px}}
@media(max-width:480px){.mission-actions{justify-content:space-between;flex-wrap:nowrap;gap:5px}.mission-actions .mission-weapon{font-size:10px;padding:9px}.mission-actions .mission-jump{font-size:11px;padding:10px}.mission-combat-status{right:9px;bottom:13px;max-width:49%;font-size:8px;padding:7px}.mission-combat-status strong{font-size:7px}.mission-boost{width:135px;left:10px}.mission-boost>div{font-size:6px;letter-spacing:0}.mission-enemy-cards{grid-template-columns:1fr}.mission-enemy-cards article{padding-left:40px}.mission-enemy-cards i{position:absolute;left:0;top:4px}.mission-enemy-cards strong{margin:0 0 5px}.mission-enemy-cards small{display:inline;margin-left:5px}.mission-enemy-guide summary{min-height:44px;align-items:center}}
