/* PULSE 1.48: readable camp controls, with artwork independent of text. */
.base-game-screen.camp-v2.camp-v3{--camp-gold:#e9c58e;--camp-mint:#86d8c1;background:linear-gradient(180deg,#0c1520,#101e27 50%,#0a141d)!important}
.camp-v3 .base-scene-header{padding:18px 16px 12px!important;background:none!important;gap:10px}
.camp-v3 .base-scene-header span{font-size:11px!important;letter-spacing:1px;color:#9cb4c6}
.camp-v3 .base-scene-header h1{font-size:25px!important;line-height:1.2;margin:6px 0!important;letter-spacing:-.5px}
.camp-v3 .base-scene-header>div{min-width:0}.camp-v3 .base-scene-header>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:240px}
.camp-v3 #baseSocial{min-width:72px;min-height:52px;padding:10px!important;border-radius:16px!important;background:#152834!important;border-color:#86d8c133!important}
.camp-v3 #baseSocial b{font-size:16px!important}.camp-v3 #baseSocial small{font-size:11px!important;margin-top:3px}
.camp-v3 .camp-live-status-flow{width:calc(100% - 32px)!important;margin:0 16px 12px!important;min-height:68px!important;padding:12px!important;grid-template-columns:32px minmax(0,1fr) 16px!important;background:#13252f!important;border:1px solid #86d8c128!important;border-radius:16px!important;gap:10px!important}
.camp-v3 .camp-live-status-flow>span{height:32px!important;width:32px!important;font-size:18px!important}
.camp-v3 .camp-live-status-flow b{font-size:13px!important;line-height:1.35}.camp-v3 .camp-live-status-flow small{font-size:12px!important;line-height:1.5;margin-top:4px}
.camp-v3 .camp-live-status-flow.mode-power,.camp-v3 .camp-live-status-flow.mode-morale{border-color:#edb17e88!important}
.camp-v3 #sceneNext{width:calc(100% - 32px)!important;max-width:none!important;margin:0 16px 16px!important;padding:16px!important;min-height:104px!important;border-radius:20px!important;border-color:#e9c58e60!important;background:linear-gradient(115deg,#26302d,#162432)!important;box-shadow:none!important;gap:8px!important}
.camp-v3 #sceneNext:before{display:none!important}.camp-v3 #sceneNext>span{font-size:11px!important;letter-spacing:.8px;color:#e9c58e!important}
.camp-v3 #sceneNext b{font-size:18px!important;line-height:1.35}.camp-v3 #sceneNext small{font-size:13px!important;line-height:1.5;max-width:100%!important}.camp-v3 #sceneNext>i{color:#e9c58e!important;font-size:26px}
.camp-v3 .camp-art-hero,html.native-android .camp-v3 .camp-art-hero{width:calc(100% - 32px)!important;max-width:none!important;margin:0 16px!important;height:280px!important;min-height:0!important;aspect-ratio:auto!important;border:1px solid #8eabb342!important;border-radius:22px!important;background-image:url('/assets/camp/camp-premium-1480.webp')!important;background-size:cover!important;background-position:50% 49%!important;contain:layout paint!important}
.camp-v3 .camp-art-hero:before{background:linear-gradient(180deg,#06111a55,transparent 35%,transparent 65%,#06111abb)!important}.camp-v3 .camp-art-hero:after{display:none!important}
.camp-hero-top{position:absolute;top:14px;left:14px;right:14px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px}
.camp-hero-top span,.camp-hero-top b{padding:8px 10px;border:1px solid #a6d1d144;border-radius:10px;background:#0a1928c9;font-size:11px;line-height:1.3;letter-spacing:.7px;color:#d6e6e9}.camp-hero-top b{color:#edcf9f}
.camp-hero-open{position:absolute;z-index:3;left:14px;bottom:14px;right:14px;min-height:48px;border:1px solid #fff4;border-radius:12px;background:#0d2024d9;color:#f4eee4;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:14px;font-weight:700}
.camp-hero-open i{font-size:23px;font-style:normal;color:#e9c58e}
.camp-overview-stats{margin:12px 16px 22px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.camp-overview-stats button{min-width:0;min-height:100px;border:1px solid #aecdc51a;border-radius:16px;background:#15252e;text-align:left;color:#e3eeed;padding:12px 10px}
.camp-overview-stats span{display:block;font-size:12px;color:#a7bac1}.camp-overview-stats b{display:block;font-size:24px;font-weight:750;line-height:1.4;margin:5px 0}.camp-overview-stats small{font-size:11px;font-weight:500;color:#adc0c7}.camp-overview-stats em{display:block;font-style:normal;font-size:11px;color:#9fd3c2;line-height:1.4}
.camp-facilities{margin:0 16px 20px}.camp-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0}
.camp-section-title span{font-size:10px;letter-spacing:1.3px;color:#a5b6b9}.camp-section-title h2{font-size:22px;line-height:1.3;margin:5px 0;color:#f0eee6}
.camp-section-title button{min-height:44px;min-width:66px;border:1px solid #e9c58e33;background:#e9c58e0a;border-radius:12px;color:#e9c58e;padding:10px;font-size:13px}
.camp-facility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.camp-v3 .camp-facility{display:flex;flex-direction:column;position:relative!important;left:auto!important;top:auto!important;bottom:auto!important;right:auto!important;transform:none!important;width:100%!important;max-width:none!important;min-width:0;min-height:208px;margin:0!important;padding:0!important;overflow:hidden;border:1px solid #b7cfbd24;border-radius:18px;background:#15262e;color:#f2f1e9;text-align:left;box-shadow:0 7px 16px #0002}
.facility-art{position:relative;display:block;width:100%;height:112px;background-image:linear-gradient(180deg,transparent 65%,#15262e99),url('/assets/camp/camp-premium-1480.webp');background-size:auto,340%;background-position:center,var(--facility-x) var(--facility-y);background-repeat:no-repeat;flex:none}
.facility-art:after{content:"";position:absolute;inset:0;border-bottom:1px solid #ffffff14;pointer-events:none}
.facility-icon{position:absolute;left:10px;bottom:10px;width:32px;height:32px;display:grid;place-items:center;background:#102529dc;border:1px solid #e7d0a55c;border-radius:10px;font-size:17px;color:#f2d4a3}
.facility-art em{position:absolute;right:10px;top:10px;padding:5px 7px;border:1px solid #e7d0a533;border-radius:8px;background:#102529df;color:#f0d1a0;font-size:11px;font-weight:700;font-style:normal}
.facility-copy{display:flex;flex:1;flex-direction:column;min-width:0;padding:12px;gap:5px}.facility-copy>b{font-size:16px;line-height:1.25}.facility-copy>small{font-size:12px;line-height:1.45;color:#afc3c8;min-height:34px}
.facility-status{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px;line-height:1.4;color:#b7cbc9;margin-top:auto;padding-top:6px}
.facility-status i{font-style:normal;font-size:20px;flex:none}.facility-status.ready{color:#b7ead1}.facility-status.warning{color:#f2bd8d}
.camp-v3 .camp-facility.action-ready{border-color:#c1d2a95e}.camp-v3 .camp-facility.not-built{border-style:dashed}.camp-v3 .camp-facility.not-built .facility-art{filter:saturate(.55);opacity:.72}
.camp-v3 .base-vitals{display:none!important}
.camp-v3 :is(.base-chapter-progress,.base-activity-panel,.base-boost-banner,.base-job-banner,.scene-alert,.scene-story-strip){width:calc(100% - 32px)!important;max-width:none!important;margin-left:16px!important;margin-right:16px!important;border-radius:18px!important}
.camp-v3 :is(.base-chapter-progress,.base-boost-banner,.base-job-banner,.scene-alert){min-height:80px!important;padding:14px!important}
.camp-v3 :is(.base-chapter-progress,.base-boost-banner,.base-job-banner,.scene-alert,.scene-story-strip) b{font-size:16px!important;line-height:1.35}
.camp-v3 :is(.base-chapter-progress,.base-boost-banner,.base-job-banner,.scene-alert,.scene-story-strip) small{font-size:12px!important;line-height:1.5}
.camp-v3 :is(.base-chapter-progress,.base-boost-banner,.base-job-banner,.scene-alert,.scene-story-strip) span{font-size:11px!important}
.camp-v3 .base-chapter-progress strong{font-size:24px!important}.camp-v3 .base-activity-head b{font-size:16px!important}.camp-v3 .base-activity-head span{font-size:10px!important}.camp-v3 .base-activity-head button{font-size:13px!important;min-height:44px;min-width:60px}
.camp-v3 .activity-row{padding:12px!important}.camp-v3 .activity-row b,.camp-v3 .activity-empty b{font-size:14px!important}.camp-v3 .activity-row small{font-size:10px!important}.camp-v3 .activity-row em,.camp-v3 .activity-empty small{font-size:12px!important;white-space:normal!important;line-height:1.45}
.camp-v3 .scene-story-strip button{font-size:13px!important;min-height:44px;min-width:64px}.camp-v3 .scene-story-strip{gap:10px!important;padding:14px!important}
.camp-v3 .campaign-home{width:calc(100% - 32px);margin:16px!important}.camp-v3 .pulse-evo-home-brief{margin:16px!important;width:calc(100% - 32px)!important}
.camp-v3 .pulse-evo-home-head b{font-size:16px!important}.camp-v3 .pulse-evo-home-head span{font-size:10px!important}.camp-v3 .pulse-evo-home-head button{min-height:44px;font-size:13px!important;min-width:60px}
.camp-v3 .pulse-evo-home-items b{font-size:14px!important}.camp-v3 .pulse-evo-home-items small{font-size:12px!important}.camp-v3 .pulse-evo-home-items button{min-height:64px!important}
.nav.survival-nav small{font-size:11px!important;line-height:1.3}.nav.survival-nav>button{min-height:58px!important}
:is(.building-level-panel,.command-center-view,.lab-view,.camp-status-modal) h2{font-size:26px!important;line-height:1.2}
:is(.building-level-panel,.command-center-view,.lab-view,.camp-status-modal) p{font-size:14px!important;line-height:1.55}
:is(.building-level-panel,.command-center-view,.lab-view,.camp-status-modal) small{font-size:12px!important;line-height:1.45}
:is(.building-level-panel,.command-center-view,.lab-view,.camp-status-modal) button{min-height:48px!important;font-size:14px!important}
:is(.building-level-panel,.command-center-view,.lab-view,.camp-status-modal) :is(.eyebrow,span){font-size:11px!important;line-height:1.4}
:is(.building-level-panel,.command-center-view,.lab-view,.camp-status-modal) :is(.building-performance b,.worker-control b,.lab-progress b,.camp-status-grid b){font-size:22px!important}
.command-center-view :is(.command-missions b,.chapter-console b,.starter-mission b,.field-guide b){font-size:15px!important}
.building-level-panel .boost-head b,.building-level-panel .building-guide-callout b,.camp-status-modal .camp-status-note b{font-size:15px!important}
.camp-overview{font-size:14px;color:#e5eeeb;line-height:1.5}.camp-overview header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.camp-overview h2{font-size:26px;margin:5px 0}.camp-overview header span{font-size:11px;letter-spacing:1px;color:#e9c58e}
.camp-overview p{font-size:13px;color:#acc0c7}.camp-overview button{min-height:44px;font-size:14px;color:#ebede6;border:1px solid #c1d9d133;background:#142932;border-radius:12px}
.camp-overview header button{min-width:44px;font-size:24px}
.camp-overview-window{position:relative;height:min(52dvh,400px);width:100%;overflow:hidden;border:1px solid #bdd3be35;border-radius:18px;background:#09131a;touch-action:none;user-select:none}
.camp-overview-plane{position:absolute;left:50%;top:50%;transform-origin:center;will-change:transform}.camp-overview-plane>img{width:100%;height:100%;display:block;pointer-events:none}
.camp-map-pin{position:absolute;z-index:2;width:44px;height:44px;border-radius:50%!important;border:2px solid #d3e2c2!important;background:#102e32ed!important;box-shadow:0 2px 10px #0009;font-weight:800;transform:translate(-50%,-50%) scale(var(--pin-scale,1));transform-origin:center}
.camp-zoom-controls{display:flex;align-items:center;gap:8px;margin:12px 0}.camp-zoom-controls button{min-width:44px;padding:10px}.camp-zoom-controls output{min-width:56px;text-align:center;font-size:13px}.camp-zoom-controls button:disabled{opacity:.4}.camp-zoom-controls [data-camp-zoom="reset"]{margin-left:auto}
.camp-overview-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px}.camp-overview-legend button{min-width:0;text-align:left;display:flex;align-items:center;gap:8px;padding:10px}.camp-overview-legend span{flex:none;width:24px;height:24px;background:#aecbba1c;border-radius:8px;text-align:center;line-height:24px;font-size:12px;color:#e9c58e}.camp-overview-legend b{font-size:13px;line-height:1.3}
.camp-v3 button:focus-visible,.camp-overview button:focus-visible{outline:2px solid #e9c58e;outline-offset:3px}
@media(max-width:350px){.camp-v3 .base-scene-header h1{font-size:22px!important}.camp-v3 .camp-art-hero,html.native-android .camp-v3 .camp-art-hero{height:250px!important}.camp-facility-grid{gap:9px}.facility-copy{padding:10px}.facility-copy>b{font-size:15px}.facility-copy>small{font-size:12px}.camp-overview-stats button{padding:10px 7px}.camp-overview-stats b{font-size:22px}.camp-overview-stats small{display:block}.camp-section-title h2{font-size:20px}.camp-v3 .base-scene-header>div>span{max-width:180px}}
@media(min-width:700px){.camp-v3 .camp-art-hero{height:340px!important}.camp-facility-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.camp-facility{min-height:230px}.facility-art{height:132px}}
@media(prefers-reduced-motion:reduce){.camp-overview-plane{will-change:auto}}

body:has(.camp-v3) #nextStepHud{display:none!important}.camp-v3 #baseSocial i{font-size:0!important}
