/* PULSE 1.86.1 — TITANIUM / cinematic premium art direction
   Pure visuals: no gameplay/DB writes, no WebGL extensions. */
:root{
 --bg:#070e14;--panel:#101e25;--panel2:#172830;--line:#536a6a;
 --muted:#a1b9b6;--text:#f0f3ec;--accent:#d7b980;--cyan:#8addce;--good:#9fddaa;
 --lux-ink:#081219;--lux-panel:#132328;--lux-teal:#a3e8d2;--lux-gold:#e9d0a0;
 --lux-border:rgba(186,218,199,.26);--lux-goldborder:rgba(231,205,152,.42)
}
html,body{background-color:#071017!important}
body:not(.intro-mode){
 background:radial-gradient(ellipse 80% 30% at 50% -9%,#22504875,transparent 74%),
 linear-gradient(180deg,#081119 0%,#0a171d 55%,#060d12 100%)!important;
 color:#f2f3eb
}
body:before{
 content:"";position:fixed;z-index:0;inset:0;pointer-events:none;
 background:radial-gradient(ellipse 90% 62% at 50% 0%,rgba(150,230,211,.04),transparent 64%),
 repeating-linear-gradient(0deg,transparent 0 4px,rgba(186,215,209,.009) 5px 6px);
 opacity:.6
}
#app{position:relative;background:linear-gradient(180deg,rgba(10,23,29,.32),rgba(8,18,24,.7))}
#view{position:relative;isolation:isolate}
.topbar{
 position:relative!important;z-index:15;
 background:linear-gradient(180deg,rgba(8,17,23,.98),rgba(12,28,33,.96))!important;
 border-bottom:1px solid rgba(186,227,213,.16)!important;
 box-shadow:0 3px 24px rgba(0,0,0,.29),inset 0 1px rgba(255,255,255,.04)!important;
 min-height:60px
}
.topbar:after{content:"";position:absolute;pointer-events:none;left:20px;right:20px;bottom:0;height:1px;
 background:linear-gradient(90deg,transparent,rgba(198,231,216,.33),transparent)}
.topbar .brand{font-weight:900!important;letter-spacing:.13em!important;color:#eef5ed!important;text-shadow:0 2px 16px #75bfb04a}
.topbar .pulse-dot{box-shadow:0 0 0 3px rgba(132,227,211,.08),0 0 17px #85e9df6a!important;background:#a3edd2!important}
.topbar .stats>*{border-color:rgba(181,205,194,.18)!important;background:rgba(22,41,47,.64)!important;color:#e9eee9!important}
.global-resource-hud{
 background:linear-gradient(180deg,#0d1a20,#111f24)!important;
 border-block:1px solid rgba(202,219,201,.1)!important;
 box-shadow:inset 0 -12px 24px rgba(0,0,0,.08)!important;
 min-height:52px
}
.global-resource-hud :is(span,button){border-color:rgba(208,224,210,.10)!important}
.global-resource-hud b{color:#f2e9d1!important;font-variant-numeric:tabular-nums}
.global-resource-hud .resource-icon{filter:drop-shadow(0 2px 5px rgba(5,16,17,.7)) saturate(.78)}
.nav.survival-nav{
 background:linear-gradient(180deg,rgba(15,30,35,.985),rgba(6,13,20,.99))!important;
 border-top:1px solid rgba(179,219,205,.23)!important;
 box-shadow:0 -18px 45px rgba(0,0,0,.49),inset 0 1px rgba(255,255,255,.05)!important;
 backdrop-filter:blur(16px);
}
.nav.survival-nav button{background:transparent!important;border:1px solid transparent!important;border-radius:12px!important}
.nav.survival-nav button.active{
 background:linear-gradient(180deg,rgba(79,127,109,.24),rgba(25,54,51,.08))!important;
 border-color:rgba(168,229,194,.13)!important;box-shadow:inset 0 1px rgba(231,254,236,.07)!important
}
.nav.survival-nav button.active:after{background:linear-gradient(90deg,transparent,#d7c393,transparent)!important}
.nav.survival-nav button.active>span{color:#e5d09d!important;text-shadow:0 0 15px #d3c69367!important}
.nav.survival-nav button>small{letter-spacing:.06em;font-size:9px!important;color:#aabcb7!important}
.nav.survival-nav button.active>small{color:#f4e9d3!important}
/* Base header — intentional hierarchy, like a game HUD */
.camp-v3.base-game-screen{background:linear-gradient(180deg,#0d1e23,#0a161c)!important}
.camp-v3 .base-scene-header{
 position:relative;min-height:75px;
 background:linear-gradient(100deg,#101f26,#17312e 65%,#14252c)!important;
 border-bottom:1px solid rgba(189,228,205,.18)!important
}
.camp-v3 .base-scene-header:after{
 content:"OUTPOST  /  001";position:absolute;bottom:8px;right:18px;pointer-events:none;
 font-size:8px;letter-spacing:2px;color:#93b4aa;opacity:.72
}
.camp-v3 .base-scene-header h1{font-weight:850!important;letter-spacing:-.055em!important;
 color:#f5f0e1!important;text-shadow:0 4px 24px #06120d9e}
.camp-v3 .base-scene-header>div>span{color:#aecfc2!important;letter-spacing:.16em!important;font-size:10px!important}
.camp-v3 #baseSocial{border:1px solid rgba(188,222,195,.31)!important;background:linear-gradient(150deg,#244139,#152c32)!important;box-shadow:inset 0 1px rgba(255,255,255,.10),0 9px 19px #0005!important}
.camp-v3 #baseSocial b{color:#f8e8bb!important}
/* World art: deepen saturation and create fog/light fall-off without extra canvases. */
.camp-mini-map{
 position:relative;background:#101d1c!important;
 border-block:1px solid rgba(185,228,195,.2)!important;
 box-shadow:0 18px 42px rgba(0,0,0,.38),0 -10px 35px #09181aaa!important
}
.camp-map-viewport{background:#182923!important}
.camp-map-viewport>.camp-map-canvas{
 filter:saturate(.72) contrast(1.18) brightness(.77) sepia(.045)!important;
 opacity:1!important
}
.camp-map-viewport:after{
 z-index:1!important;inset:0!important;pointer-events:none!important;
 background:linear-gradient(180deg,rgba(7,20,21,.36),transparent 24%,transparent 53%,rgba(4,16,19,.54) 100%),
 radial-gradient(ellipse 95% 75% at 46% 43%,transparent 34%,rgba(4,20,24,.19) 72%,rgba(1,9,16,.72) 100%),
 linear-gradient(125deg,rgba(217,192,127,.055),transparent 58%)!important
}
.camp-map-viewport>header>div{
 background:linear-gradient(145deg,rgba(14,31,33,.90),rgba(17,37,37,.80))!important;
 border:1px solid rgba(187,229,194,.44)!important;
 box-shadow:0 10px 32px #020b0bd6,inset 0 1px rgba(255,255,255,.10)!important;
 border-radius:14px!important;backdrop-filter:blur(7px);padding:10px 13px!important;color:#f7f2e6!important
}
.camp-map-viewport>header span{color:#c3e1d2!important;font-weight:850!important;letter-spacing:.16em!important}
.camp-map-viewport>header h2{color:#f5edd7!important;font-size:19px!important;font-weight:850;letter-spacing:-.03em}
.camp-mini-map button{
 color:#e4ebdb!important;background:linear-gradient(150deg,#243d3b,#182b31)!important;
 border:1px solid rgba(192,221,205,.46)!important;
 box-shadow:inset 0 1px rgba(255,255,255,.08),0 8px 22px #020a10a9!important
}
.camp-mini-map .camp-map-toolbar{
 background:linear-gradient(180deg,#162a29,#0f2026)!important;
 border-top:1px solid rgba(213,228,200,.28)!important;
 padding:12px!important
}
.camp-map-toolbar .camp-map-controls button{min-height:44px;border-radius:11px!important}
.camp-map-toolbar .camp-map-controls button:active{background:#48665d!important}
.camp-mini-map .camp-building-label{
 background:linear-gradient(160deg,rgba(10,33,34,.96),rgba(20,46,41,.93))!important;
 color:#f5f1df!important;border:1px solid rgba(207,229,201,.63)!important;
 border-radius:10px!important;box-shadow:0 4px 14px #030b0ad4,inset 0 1px #ffffff16!important;
 padding:7px 10px!important
}
.camp-mini-map .camp-building-label b{font-size:12px!important;font-weight:850}
.camp-mini-map .camp-building-label small{font-size:10px!important;color:#bcd6c2!important}
.camp-mini-map .camp-building-label.selected,.camp-mini-map .camp-building-label[data-pulse-building="generator"]{
 border-color:#ecd7a3!important;
 box-shadow:0 0 0 2px #dfc3892b,0 10px 22px #030b0bd4!important
}
.camp-mini-map .camp-building-label[data-pulse-building="generator"] b{color:#f2dfaf!important}
.camp-v3 .camp-live-status-flow:not([hidden]){
 background:linear-gradient(130deg,#182f30,#12262b)!important;
 border:1px solid rgba(157,208,175,.4)!important;
 border-left:3px solid #a6d5b0!important;border-radius:12px!important;
 box-shadow:0 7px 23px #020d1480!important
}
.camp-v3 .camp-live-status-flow b{letter-spacing:.04em;color:#e8f4e7!important}
.camp-v3 .camp-live-status-flow small{color:#b7d1c1!important}
.camp-v3 .scene-next-objective.camp-next-v2{
 background:linear-gradient(135deg,#283b38,#1b3032)!important;
 border:1px solid rgba(227,196,130,.6)!important;
 border-left:3px solid #e7c38b!important;
 border-radius:14px!important;
 box-shadow:0 10px 28px rgba(0,0,0,.29),inset 0 1px #fff3ca18!important
}
.camp-v3 .scene-next-objective.camp-next-v2:before{display:block!important;content:"";position:absolute;pointer-events:none;inset:0;
 border-radius:inherit;background:radial-gradient(ellipse at 95% -30%,rgba(242,224,165,.19),transparent 58%)!important}
.camp-v3 .scene-next-objective.camp-next-v2>span{color:#f0d29d!important;letter-spacing:.12em!important}
.camp-v3 .scene-next-objective.camp-next-v2 b{color:#f5f0dc!important;font-weight:850!important}
.camp-v3 .scene-next-objective.camp-next-v2 small{color:#c0d6c8!important}
/* Unified cards — fewer competing hues, credible materials */
.camp-v3 :is(.camp-now,.camp-overview-stats,.camp-secondary-drawer,.camp-system-drawer,.camp-facilities,.base-activity-panel,.camp-status-grid,.planner-entry,.base-chapter-progress,.camp-secondary-content){
 border-color:rgba(177,207,184,.27)!important;box-shadow:0 8px 22px rgba(0,0,0,.22)!important
}
.camp-v3 :is(.camp-now,.camp-secondary-drawer,.camp-system-drawer,.camp-facilities,.base-activity-panel){
 background:linear-gradient(152deg,#162a2d,#0f1f29)!important;border-radius:14px!important
}
.camp-v3 .camp-now>header small,.camp-v3 .base-activity-head span{letter-spacing:.14em!important;color:#c3dbbd!important}
.camp-v3 :is(.camp-overview-stats>button,.camp-now-list>button,.camp-facility,.planner-entry){
 background:linear-gradient(140deg,#1a3433,#14252e)!important;border-color:rgba(172,213,194,.29)!important;
 box-shadow:inset 0 1px rgba(255,255,255,.055),0 7px 19px #01080d55!important
}
.camp-v3 :is(.planner-entry,.camp-now-list>button,.camp-facility):active{filter:brightness(1.16)}
.camp-v3 :is(.camp-overview-stats b,.base-chapter-progress strong){color:#f1ddab!important}
.camp-v3 .camp-secondary-drawer>summary{background:transparent!important;color:#e5f0e2!important}
.camp-v3 .camp-secondary-drawer>summary>small{color:#b5c9bc!important}
/* Tactical map — sober cartography rather than neon toy tiles. */
.map-world-wrap{background:
 radial-gradient(ellipse at 54% 47%,rgba(53,118,106,.23),transparent 65%),
 repeating-linear-gradient(0deg,transparent 0 35px,rgba(144,209,194,.022) 36px 37px),
 repeating-linear-gradient(90deg,transparent 0 35px,rgba(144,209,194,.02) 36px 37px),
 linear-gradient(150deg,#07151c,#11262a 65%,#08121c)!important;
 border-block:1px solid rgba(157,207,191,.25)!important;
 box-shadow:inset 0 32px 55px #020b15b5,inset 0 -36px 60px #020b15aa!important
}
.map-world-wrap:after{pointer-events:none;background:
 radial-gradient(ellipse at 50% 50%,transparent 42%,rgba(2,12,18,.50) 96%),
 linear-gradient(180deg,rgba(2,13,20,.22),transparent 22%,transparent 76%,rgba(3,16,21,.29))!important
}
.map-world-cell:not(.fog){filter:saturate(.78) contrast(1.14)!important}
.map-world-cell.fog{filter:saturate(.53) brightness(.79)!important}
.map-world-cell.revealed{outline:1px solid #e5cf9888!important;outline-offset:1px}
.world-atlas .atlas-selection{background:linear-gradient(135deg,#1b3435,#111f2b)!important;border-color:rgba(214,203,163,.43)!important}
.world-atlas .atlas-sector.atlas-owned .sector-outline{stroke:#9ac9b3!important}
/* Dialogs, special rewards, MIRA and expedition briefing. */
.modal-card{
 background:radial-gradient(ellipse at 50% -22%,rgba(66,131,118,.24),transparent 65%),
 linear-gradient(156deg,#14242b,#0a141e 69%,#081018)!important;
 border:1px solid rgba(183,207,191,.36)!important;border-bottom:0!important;
 box-shadow:0 -30px 110px rgba(0,0,0,.77),inset 0 1px rgba(244,232,204,.11)!important
}
.modal-card:before{background:linear-gradient(90deg,transparent,#e6cc9488,#95d9c388,transparent)!important}
.modal-card:after{background:repeating-linear-gradient(0deg,transparent 0 12px,rgba(205,238,220,.008) 13px 14px)!important}
.modal-card :is(h1,h2,h3){color:#f3f0e6;letter-spacing:-.035em}
.modal-card .eyebrow{color:#d9d8b0!important;letter-spacing:.14em!important;font-weight:800!important}
.modal-card :is(.muted,small){line-height:1.5}
.modal-card .primary{
 background:linear-gradient(115deg,#c5c89c,#7fae9e)!important;
 color:#0b2625!important;border:1px solid #e2d3a4!important;
 text-shadow:none!important;box-shadow:inset 0 1px #fff5cdab,0 8px 20px #00121966!important;
 font-weight:850!important;border-radius:12px!important
}
.modal-card .primary:not(:disabled):active{filter:brightness(.91)}
.modal-card .secondary{
 background:linear-gradient(145deg,#22353a,#172830)!important;
 color:#e4ebe1!important;border:1px solid rgba(164,213,193,.36)!important;
 border-radius:12px!important
}
.expedition-planner .planner-route,.expedition-preview,.expedition-loadout-modal,.exp-report-entry{
 border-color:rgba(194,216,196,.24)!important;box-shadow:0 7px 25px #010d1459!important
}
.pulse1854-event-brief,.pulse1855-journal-tools,.training-compass,.pulse1853-comparison{
 background:linear-gradient(145deg,#1f3936,#142930)!important;
 border:1px solid rgba(217,200,156,.38)!important;
 box-shadow:inset 0 1px rgba(255,255,255,.05),0 12px 30px #010c1266
}
.pulse1854-expedition-summary b,.pulse1855-journal-tools-foot output,.training-compass-head strong{color:#eed49f!important}
.daily-crate-reveal .daily-crate-box{filter:drop-shadow(0 9px 22px #e3c68569)}
/* Brand-new illustrated story capsule — real deployable vector scenery. */
.perimeter-hub .perimeter-heading{
 position:relative;isolation:isolate;overflow:hidden;min-height:216px;display:flex;flex-direction:column;justify-content:flex-end;
 border:1px solid rgba(221,203,155,.55)!important;border-radius:18px!important;
 padding:120px 17px 17px!important;
 background:linear-gradient(180deg,rgba(4,12,17,.02) 0%,rgba(6,21,25,.30) 30%,rgba(4,15,22,.90) 94%),
 url('/assets/premium/perimeter-vista.svg?v=1861') center 36%/cover no-repeat!important;
 box-shadow:0 18px 44px #0009,inset 0 0 0 1px #fff2bd12!important
}
.perimeter-hub .perimeter-heading:before{
 content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
 background:linear-gradient(180deg,transparent 8%,#07171d13 46%,#07171de9 92%)
}
.perimeter-heading>span{color:#e6d2a8!important;text-shadow:0 1px 5px #041213;font-size:10px!important}
.perimeter-hub .perimeter-heading h2{font-weight:900!important;letter-spacing:-.04em!important;
 text-shadow:0 3px 14px #000e,0 0 35px #0009!important;font-size:clamp(25px,7.8vw,38px)!important;color:#fff7e4!important}
.perimeter-hub .perimeter-heading p{color:#d3e7d9!important;text-shadow:0 2px 7px #000!important;max-width:360px}
.perimeter-hub .perimeter-nav button{
 background:linear-gradient(146deg,#1c3435,#14232c)!important;border:1px solid rgba(170,216,198,.27)!important;
 border-radius:11px!important;box-shadow:inset 0 1px #ffffff0b!important
}
.perimeter-hub .perimeter-nav button[aria-pressed=true]{
 background:linear-gradient(145deg,#415446,#273c38)!important;border-color:#e9cd95!important;
 color:#fff2dc!important;box-shadow:inset 0 1px #f3e4bf33!important
}
.perimeter-hub :is(.perimeter-route-list>article,.perimeter-tech-tree>article,.perimeter-facility-list>article,.perimeter-relics>article,.perimeter-story>article,.perimeter-threat,.perimeter-scene){
 background:linear-gradient(147deg,#203835,#12252c)!important;
 border-color:rgba(183,216,193,.30)!important;
 box-shadow:inset 0 1px #ffffff0c,0 9px 23px #0005!important
}
.perimeter-hub .perimeter-route-name i{filter:drop-shadow(0 4px 10px #bad6b13e)}
.perimeter-hub .perimeter-stats>div{
 background:linear-gradient(150deg,#223c37,#112831)!important;
 border-color:rgba(208,198,155,.29)!important;
 box-shadow:inset 0 1px rgba(255,255,255,.08)!important
}
.perimeter-hub .perimeter-stats b{color:#f8db9e!important;font-variant-numeric:tabular-nums}
.perimeter-hub .perimeter-mira{background:linear-gradient(130deg,#30463d,#182e33)!important;border-color:#c5d6a084!important;border-left:3px solid #dfc18c!important}
.perimeter-hub .perimeter-mira small{color:#eed99a!important}
.perimeter-hub :is(.perimeter-primary,.perimeter-tech-tree button,.perimeter-facility-list button,.perimeter-confirm .perimeter-primary){
 background:linear-gradient(112deg,#739d89,#c4ba88)!important;color:#122821!important;
 border-color:#ddd6ad!important;font-weight:850!important;box-shadow:inset 0 1px #fff6d682!important
}
.perimeter-hub button:disabled{background:#233738!important;color:#91a9a0!important;border-color:#657a7266!important;opacity:.72!important;box-shadow:none!important}
/* Tap targets and legible layouts on Samsung/compact phones */
:is(.camp-v3,.modal-card,.perimeter-hub) button:focus-visible{outline:3px solid #f7d49c!important;outline-offset:3px!important}
@media(max-width:380px){
 .perimeter-hub .perimeter-heading{padding:100px 13px 14px!important;min-height:195px}
 .perimeter-heading h2{font-size:26px!important}
 .camp-map-viewport>header>div{padding:7px 9px!important}
 .camp-map-viewport>header h2{font-size:16px!important}
 .camp-v3 .base-scene-header:after{font-size:7px;right:12px}
}
@media(prefers-reduced-transparency:reduce){
 .camp-map-viewport>header>div,.nav.survival-nav{backdrop-filter:none!important}
}
/* The Android WebView already has opaque navigation; avoid a persistent GPU blur. */
html.native-android .nav.survival-nav{backdrop-filter:none!important}
@media(prefers-reduced-motion:reduce){
 .perimeter-hub *, .modal-card *, .camp-v3 :is(.camp-map-canvas,.camp-building-art){animation-duration:0s!important;transition-duration:0s!important}
}
/* Narrative call to action: tactile instrument key, not a mint web button. */
.camp-v3 .scene-next-objective .mira-primary-action{
 display:flex!important;justify-content:center;align-items:center;min-height:46px!important;
 margin-top:12px!important;padding:10px 13px!important;border-radius:9px!important;
 background:linear-gradient(110deg,#b8b99a,#c3c092 48%,#7fa99b)!important;
 border:1px solid #d7d4ad!important;box-shadow:inset 0 1px #fffce3aa,0 7px 20px #08191a88!important;
 color:#122d2b!important;font-size:13px!important;font-weight:850!important;letter-spacing:.01em!important;text-align:center
}
.camp-v3 .scene-next-objective:active .mira-primary-action{filter:brightness(.91)}
.camp-v3 .scene-next-objective .mira-primary-action:focus-visible{outline:3px solid #f4e4ba;outline-offset:2px}
/* Light temperature is tied to the actual in-game world phase. */
.camp-map-viewport.pulse185-mood-night>.camp-map-canvas{filter:saturate(.56) contrast(1.24) brightness(.67) sepia(.035)!important}
.camp-map-viewport.pulse185-mood-dusk>.camp-map-canvas{filter:saturate(.68) contrast(1.17) brightness(.75) sepia(.06)!important}
.camp-map-viewport.pulse185-mood-day>.camp-map-canvas{filter:saturate(.74) contrast(1.14) brightness(.82)!important}
.camp-map-viewport.pulse185-weather-haze:after{background:linear-gradient(180deg,#8ab2a51c,transparent 31%,#07191d8a),radial-gradient(ellipse,#bbc6a51b,transparent 77%)!important}
.camp-map-viewport.pulse185-weather-dust:after{background:linear-gradient(145deg,#d3af8123,transparent 45%,#08191d91),radial-gradient(ellipse at 50% 42%,transparent 20%,#050f1a77 95%)!important}
/* Art-directed equipment/crew slots and journal tiles, consistent highlights. */
.expedition-loadout-modal .exp-char-pick,.expedition-loadout-modal .exp-pet-pick,.hero-armory .hero-artifact,.exp-report-entry{
 background:linear-gradient(145deg,#1b3434,#101e29)!important;border-color:#a5c6b54a!important;
 box-shadow:inset 0 1px #ffffff10,0 7px 17px #020b1366!important
}
.expedition-loadout-modal .exp-char-pick.selected,.expedition-loadout-modal .exp-pet-pick.selected{border-color:#dfc98b!important;box-shadow:0 0 0 1px #e4d09966,inset 0 1px #ffffff22!important}
.expedition-loadout-modal .exp-choice-art{filter:drop-shadow(0 4px 7px #0008) saturate(.9)}
.expedition-complete,.daily-crate-reveal,.reward-reveal{position:relative;isolation:isolate}
.expedition-complete:before,.daily-crate-reveal:before{content:"";position:absolute;z-index:-1;left:15%;right:15%;top:0;height:165px;pointer-events:none;background:radial-gradient(ellipse,#d6bb8452,transparent 68%)}
.pulse1854-expedition-recap{background:linear-gradient(135deg,#273f37,#182e34)!important;border-color:#c8b89173!important}
