/* Expedition controls stay inside existing panels; combat adds no touch buttons. */
.cake-reward{position:absolute;z-index:8;top:calc(var(--safe-top,0px) + 185px);left:50%;transform:translateX(-50%);width:min(320px,calc(100% - 28px));display:flex;gap:11px;align-items:center;padding:12px 15px;pointer-events:none;background:#292235f2;border:1px solid #e8aac4;border-radius:8px;box-shadow:0 5px 25px #11172585,inset 0 0 0 3px #493347;animation:cake-reveal .32s ease-out}
.cake-reward[hidden]{display:none}.cake-reward>svg{width:43px;height:43px;flex:none}.cake-reward>div{min-width:0}.cake-reward span{display:block;font-size:10px;letter-spacing:1px;color:#eeb9cd}.cake-reward strong{display:block;margin:3px 0;font-size:16px;line-height:1.4;color:#fff1d7}.cake-reward small{display:block;font-size:11px;line-height:1.5;color:#d5c8d9}.cake-reward[data-reward-type="coins"]{border-color:#eac87c}
@keyframes cake-reveal{from{opacity:0;transform:translate(-50%,8px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(prefers-reduced-motion:reduce){.cake-reward{animation:none}}
@media(max-height:550px) and (orientation:landscape){.cake-reward{top:auto;bottom:32px;width:290px;padding:8px 12px}.cake-reward>svg{width:34px;height:34px}.cake-reward strong{font-size:14px}}
/* Nine employees fit in a readable three-by-three selection roster. */
body.immersive-game .campaign-lobby .starting-weapons{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
body.immersive-game .campaign-lobby .starter-weapon.character-option{min-height:72px;padding:7px 3px;gap:3px}
body.immersive-game .campaign-lobby .character-option canvas{width:40px;height:40px}
body.immersive-game .campaign-lobby .character-option strong{font-size:12px;line-height:1.35;letter-spacing:0;overflow-wrap:anywhere}
body.immersive-game .campaign-lobby .character-option.selected{border-color:var(--weapon-color);box-shadow:inset 0 -2px var(--weapon-color)}
body.immersive-game .campaign-lobby .character-option.selected::after{background:var(--weapon-color)}
body.immersive-game .campaign-lobby .hero-caption strong{font-size:clamp(22px,4.8vw,32px);letter-spacing:1px;overflow-wrap:anywhere}
@media(max-width:600px){body.immersive-game .campaign-lobby .hero-stage{height:196px;min-height:196px;margin-bottom:13px}body.immersive-game .campaign-lobby .hero-stage .character-preview{width:114px;height:114px;left:calc(26% - 57px);bottom:18px}body.immersive-game .campaign-lobby .hero-pedestal{left:calc(26% - 48px);width:96px;height:118px;bottom:14px}body.immersive-game .campaign-lobby .hero-caption{top:65px;left:49%;right:9px}body.immersive-game .campaign-lobby .hero-caption>span:first-child{font-size:9px}body.immersive-game .campaign-lobby .hero-weapon{margin-top:5px}body.immersive-game .campaign-lobby .hero-weapon canvas{width:28px;height:28px;flex-basis:28px}body.immersive-game .campaign-lobby .hero-quote{display:none}body.immersive-game .campaign-lobby .hero-map-badge{display:none}body.immersive-game .campaign-lobby .starter-picker{margin-bottom:12px}body.immersive-game .campaign-lobby .starter-weapon.character-option{min-height:64px;padding:5px 3px}body.immersive-game .campaign-lobby .character-option canvas{width:34px;height:34px}}
.continue-button{width:100%;min-height:44px;border:1px solid #a8d5c0;background:#203c37;color:#dcf6e7;border-radius:8px;font-weight:700;font-size:13px;padding:11px 14px;margin-bottom:8px}
.campaign-progress{color:#e9c87f!important;border:1px solid #796b47;background:#292b28;padding:10px 12px;border-radius:6px;font-size:13px!important;margin:0 0 14px!important}
.map-card.map-locked{opacity:.76;cursor:default}.map-locked .map-card-art canvas{filter:saturate(.3) brightness(.68)}
.map-card-art{position:relative}.map-lock-badge{position:absolute;right:9px;bottom:8px;background:#141b28e8;border:1px solid #c8b88c;border-radius:4px;padding:4px 8px;font-size:12px;color:#f0d694}
.map-unlock-rule{font-size:12px!important;line-height:1.7!important;color:#e3d3b7!important;margin:9px 0!important;min-height:40px}
.map-event-list{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.map-event-list span{font-size:11px;line-height:1.5;padding:3px 6px;background:#152330;border:1px solid #465263;border-radius:4px;color:#c0cbd6}.map-event-list .event-complete{color:#c0e9c4;border-color:#64836f;background:#203b30}
.map-card .map-card-info{padding:12px}.map-card .map-card-status{font-size:11px}.map-card[disabled]{pointer-events:auto}
.save-exit-button,.recipe-track-button{width:100%;margin-top:10px;min-height:44px}
.game-modal .checkpoint-note{font-size:12px;margin:9px 0;color:#9ebeb5}
.passive-status{position:absolute;z-index:7;top:calc(var(--safe-top,0px) + 138px);left:16px;color:#aed8c5;font-size:11px;max-width:calc(100% - 150px);padding:4px 7px;background:#13232bb8;border-left:2px solid #9cc7b6;border-radius:3px;pointer-events:none}
.map-event-hud{position:absolute;z-index:7;left:16px;bottom:calc(var(--safe-bottom,0px) + 150px);max-width:min(330px,calc(100% - 32px));padding:9px 12px;background:#152831eb;border:1px solid #92bbb7;box-shadow:0 4px 18px #07101870;border-radius:7px;pointer-events:none}
.map-event-hud strong{display:block;font-size:13px;color:#ffe2a0}.map-event-hud>span{display:block;font-size:11px;color:#d4e7e2;line-height:1.6;margin-top:3px}
.event-meter{height:4px;background:#3c5159;margin-top:6px;overflow:hidden;border-radius:3px}.event-meter i{display:block;height:100%;width:0;background:#a9dbbd}
.boss-hud.boss-vulnerable{border-color:#f6d97a;box-shadow:0 0 20px #f5d87955}.boss-vulnerable #boss-label{color:#ffe095}
.run-report{margin:16px 0;padding:14px;border:1px solid #455267;background:#142231a8;border-radius:8px;text-align:left;font-size:12px}
.report-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.report-heading strong{color:#ebcc85}.report-heading span{font-size:11px;color:#afc3ce}
.run-report p{line-height:1.7;color:#e1d0c4}.report-equipment{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.report-equipment span{padding:4px 6px;background:#2b394a;border-radius:4px;color:#c9d4df;font-size:11px}
.run-report summary{cursor:pointer;padding:8px 0;color:#c5d6e0;min-height:36px}.damage-row{display:grid;grid-template-columns:90px 1fr 35px;gap:8px;align-items:center;margin:7px 0}.damage-row i{height:6px;background:linear-gradient(to right,#c4a2d4 var(--contribution),#344352 var(--contribution));border-radius:4px}.damage-row b{text-align:right}.report-bonus{color:#e8c77c!important;margin:9px 0 0!important}
body.mobile-game .hp-title,body.mobile-game .hp-title b{font-size:12px!important;line-height:1.3}
body.mobile-game .defense-status{font-size:11px!important}
body.mobile-game .weapon-slot span,body.mobile-game .weapon-slot small,body.mobile-game .weapon-level,body.mobile-game .inventory-level{font-size:12px!important}
body.mobile-game #mobile-objective{font-size:12px;line-height:1.5}body.mobile-game #mobile-objective strong{font-size:12px}body.mobile-game #mobile-objective small{font-size:11px}
body.mobile-game #boss-label{font-size:12px}body.mobile-game #xp-label,body.mobile-game #mobile-level{font-size:12px}
body.mobile-game .starter-description{font-size:12px;line-height:1.6}
@media(max-height:550px) and (orientation:landscape){.passive-status{top:calc(var(--safe-top,0px) + 96px);left:12px;font-size:10px}.map-event-hud{bottom:24px;left:120px;max-width:280px;padding:6px 9px}.map-event-hud>span{display:none}.continue-button{min-height:36px;padding:6px}}
@media(max-width:420px){.map-options{grid-template-columns:1fr!important}.passive-status{top:calc(var(--safe-top,0px) + 143px);font-size:10px;left:12px}.map-event-hud{left:12px;bottom:calc(var(--safe-bottom,0px) + 148px)}.map-card .map-unlock-rule{min-height:0}.damage-row{grid-template-columns:88px 1fr 32px}}
