:root{--bg:#090b14;--panel:#121626;--panel2:#181d31;--text:#f5f7ff;--muted:#8c95b3;--accent:#7c5cff;--cyan:#18d5ff;--good:#43e6a0;--line:#252b45}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -20%,#202752 0,#0b0e18 42%,#080a12 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh}button{font:inherit}.hidden{display:none!important}#app{max-width:760px;margin:0 auto;min-height:100vh;padding-bottom:92px}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:18px 20px;background:rgba(9,11,20,.76);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.05)}
.brand{font-weight:900;letter-spacing:.16em}.pulse-dot{display:inline-block;width:10px;height:10px;margin-right:9px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--cyan));box-shadow:0 0 22px var(--cyan)}
.stats{display:flex;gap:8px}.stats span,.chip{font-size:12px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);color:#d9dded}
#view{padding:18px}.hero{padding:24px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(124,92,255,.17),rgba(24,213,255,.05));overflow:hidden;position:relative}
.hero h1{font-size:31px;line-height:1.02;margin:8px 0 10px}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);font-weight:800}.muted{color:var(--muted)}
.island{height:220px;position:relative;display:flex;align-items:center;justify-content:center;margin-top:8px}.planet{width:172px;height:172px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#7df3d3 0 8%,#22a883 9% 35%,#0d6a71 36% 62%,#173657 63% 100%);box-shadow:0 22px 65px rgba(24,213,255,.18),inset -22px -25px 45px rgba(0,0,0,.28);position:relative}
.planet:after{content:"";position:absolute;inset:16% 20% auto 42%;width:48px;height:32px;background:#d8f4ff;border-radius:50% 45% 50% 40%;opacity:.82;transform:rotate(-12deg)}
.orbit{position:absolute;width:248px;height:82px;border:1px solid rgba(124,92,255,.35);border-radius:50%;transform:rotate(-18deg)}.pet{position:absolute;right:18%;top:31%;font-size:36px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.3))}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.card{padding:18px;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.015))}
.card h3,.card h2{margin:4px 0 7px}.full{grid-column:1/-1}.primary{width:100%;border:0;border-radius:17px;padding:15px 18px;background:linear-gradient(135deg,var(--accent),#5b7cff 55%,var(--cyan));color:white;font-weight:900;box-shadow:0 12px 30px rgba(91,124,255,.22);cursor:pointer}
.secondary{width:100%;border:1px solid var(--line);border-radius:17px;padding:13px 16px;background:#151a2c;color:var(--text);font-weight:750;cursor:pointer}
.challenge{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--line);border-radius:20px;background:var(--panel);margin-bottom:12px}.challenge .icon{font-size:28px;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--panel2)}
.challenge .grow{flex:1}.challenge strong{display:block;font-size:16px}.challenge small{color:var(--muted)}.challenge button{border:0;border-radius:12px;padding:9px 13px;background:#242b48;color:white;font-weight:800}
.choice{width:100%;text-align:left;padding:17px;margin:9px 0;border:1px solid var(--line);border-radius:17px;background:#151a2c;color:white;cursor:pointer}.choice:hover{border-color:#4e5a90}.choice.selected{border-color:var(--cyan);background:rgba(24,213,255,.08)}
.result-bar{margin:13px 0}.bar-label{display:flex;justify-content:space-between;font-size:13px;margin-bottom:6px}.bar{height:10px;background:#22283f;border-radius:99px;overflow:hidden}.bar>i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--cyan));border-radius:99px}
.nav{position:fixed;z-index:30;bottom:0;left:50%;transform:translateX(-50%);width:min(760px,100%);height:78px;padding:10px 8px max(10px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(5,1fr);background:rgba(10,12,22,.94);backdrop-filter:blur(22px);border-top:1px solid var(--line)}
.nav button{position:relative;border:0;background:none;color:#68708e;font-size:22px;display:flex;flex-direction:column;align-items:center;gap:2px}.nav button small{font-size:10px}.nav button.active{color:#f5f7ff}.nav .world-nav{color:#7984ff}
.section-title{display:flex;align-items:end;justify-content:space-between;margin:8px 2px 15px}.section-title h2{margin:0;font-size:24px}.section-title span{font-size:12px;color:var(--muted)}
.modal{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;justify-content:center;background:rgba(3,5,10,.72);backdrop-filter:blur(10px);padding:16px}.modal-card{width:min(620px,100%);max-height:86vh;overflow:auto;padding:23px;border-radius:28px;background:#101525;border:1px solid #2b3454;box-shadow:0 -20px 80px rgba(0,0,0,.5)}
.game-stage{min-height:310px;border-radius:24px;background:radial-gradient(circle at center,#1a2140,#0c0f1c);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;margin:15px 0}.game-stage.go{background:radial-gradient(circle at center,#216c55,#0c251d)}
.big-number{font-size:62px;font-weight:950;letter-spacing:-.04em}.tower{height:230px;display:flex;flex-direction:column-reverse;align-items:center;gap:3px}.block{height:12px;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--cyan));box-shadow:0 3px 10px rgba(24,213,255,.18)}
.profile-head{text-align:center;padding:24px}.avatar{font-size:58px}.xp{margin:12px auto;max-width:340px}.xp .bar{height:12px}
.kpi{font-size:28px;font-weight:900}.invite{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#0b0e19;border:1px dashed #394367;padding:13px;border-radius:14px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:480px){#view{padding:14px}.hero{padding:20px}.hero h1{font-size:28px}.grid{grid-template-columns:1fr}.full{grid-column:auto}.island{height:190px}.planet{width:148px;height:148px}.orbit{width:215px}}
.island-item{position:absolute;z-index:3;font-size:25px;filter:drop-shadow(0 5px 5px rgba(0,0,0,.35));transform:translate(-50%,-50%)}
.slot-1{left:33%;top:40%}.slot-2{left:58%;top:33%}.slot-3{left:67%;top:55%}.slot-4{left:42%;top:64%}.slot-5{left:24%;top:58%}.slot-6{left:50%;top:49%}.slot-7{left:72%;top:42%}.slot-8{left:36%;top:27%}
.build-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.build-card{min-height:116px;border:1px solid var(--line);border-radius:18px;background:#151a2c;color:white;padding:14px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}
.build-card span{font-size:27px}.build-card small{color:var(--muted)}.build-card em{margin-top:auto;font-style:normal;color:var(--cyan);font-weight:800}.build-card.built{opacity:.55}.build-card:disabled{cursor:default}
.field{display:block;color:var(--muted);font-size:12px;margin:12px 0}.field input{display:block;width:100%;margin-top:6px;padding:14px;border-radius:14px;border:1px solid var(--line);background:#0b0f1d;color:white;outline:none}.field input:focus{border-color:var(--cyan)}
.avatar-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:16px 0}.avatar-picker button{font-size:28px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#151a2c}.avatar-picker button.selected{border-color:var(--cyan);background:rgba(24,213,255,.1)}
.notice{padding:11px 13px;border-radius:13px;background:rgba(255,184,77,.1);border:1px solid rgba(255,184,77,.25);color:#ffd89a}
.friend-add{display:flex;gap:8px;margin-top:12px}.friend-add input{min-width:0;flex:1;padding:13px;border-radius:13px;border:1px solid var(--line);background:#0b0f1d;color:white;text-transform:uppercase;letter-spacing:.08em}.friend-add button{border:0;border-radius:13px;padding:0 14px;background:#242b48;color:white;font-weight:800}
.timeline{display:flex;flex-direction:column;gap:10px}.timeline-item{display:flex;gap:12px;align-items:center;padding:13px 15px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}.timeline-item>span{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--cyan));box-shadow:0 0 14px rgba(24,213,255,.45)}.timeline-item div{display:flex;flex:1;justify-content:space-between;gap:10px}.timeline-item small{color:var(--muted)}
.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:10px}.achievement{padding:13px;border:1px solid rgba(67,230,160,.28);border-radius:15px;background:rgba(67,230,160,.06);display:grid;grid-template-columns:auto 1fr;gap:2px 9px;align-items:center}.achievement span{font-size:23px;grid-row:1/3}.achievement small{color:var(--muted)}.achievement.locked{filter:grayscale(1);opacity:.38}
@media(max-width:430px){.achievement-grid{grid-template-columns:1fr}.timeline-item div{flex-direction:column;gap:2px}}
.memory-show{font-size:54px;font-weight:900;min-height:160px;display:grid;place-items:center}.memory-pad{display:grid;grid-template-columns:repeat(2,82px);gap:10px;justify-content:center}.memory-pad button,.focus-grid button{border:1px solid var(--line);background:#161c30;color:white;border-radius:16px;font-weight:900}.memory-pad button{height:70px;font-size:30px}.focus-grid{display:grid;grid-template-columns:repeat(5,48px);gap:7px;justify-content:center}.focus-grid button{height:48px;font-size:24px}
.duel-alert{border-color:rgba(124,92,255,.5);background:linear-gradient(145deg,rgba(124,92,255,.12),rgba(24,213,255,.04))}.duel-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.duel-row:last-child{border-bottom:0}.duel-row>div{flex:1;display:flex;flex-direction:column}.duel-row small,.duel-history small{color:var(--muted)}.duel-row button{border:0;border-radius:12px;padding:9px 12px;background:linear-gradient(135deg,var(--accent),#5b7cff);color:white;font-weight:850}
.duel-games{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:15px 0}.duel-games button{min-height:90px;border:1px solid var(--line);border-radius:17px;background:#151a2c;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.duel-games span{font-size:28px}.duel-history{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:var(--panel);margin-bottom:8px}.duel-history>span{font-size:24px}.duel-history>div{display:flex;flex-direction:column}
.activity-feed{display:flex;flex-direction:column;gap:8px}.activity-row{display:flex;align-items:center;gap:11px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;background:rgba(18,22,38,.78)}.activity-row>span{width:42px;height:42px;border-radius:13px;background:#1b2136;display:grid;place-items:center;font-size:22px}.activity-row>div{display:flex;flex-direction:column;min-width:0}.activity-row small{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.friend-actions{display:flex;gap:6px}.friend-actions button{border:0;border-radius:11px;padding:8px 10px;background:#242b48;color:white;font-weight:800}.friend-actions button:last-child{background:linear-gradient(135deg,var(--accent),#5b7cff)}
.friend-island{height:190px;margin:0}.friend-island .planet{width:145px;height:145px}
.feedback-kinds{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.feedback-kinds button{padding:11px 6px;border:1px solid var(--line);border-radius:13px;background:#151a2c;color:white}.feedback-kinds button.selected{border-color:var(--cyan);background:rgba(24,213,255,.09)}.field textarea{display:block;width:100%;margin-top:6px;padding:14px;border-radius:14px;border:1px solid var(--line);background:#0b0f1d;color:white;outline:none;resize:vertical}.field textarea:focus{border-color:var(--cyan)}
.league-rank{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;margin:8px 0 10px;border-radius:14px;background:linear-gradient(135deg,rgba(124,92,255,.16),rgba(24,213,255,.08));border:1px solid rgba(124,92,255,.3)}.league-rank b{font-size:24px}
.world-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin:14px 0}.world-stats>div{padding:12px 13px;border:1px solid var(--line);border-radius:15px;background:var(--panel);display:grid;grid-template-columns:1fr auto;gap:7px}.world-stats span{font-size:12px;color:var(--muted)}.world-stats b{font-size:14px}.world-stats i{grid-column:1/-1;height:6px;background:#252b45;border-radius:99px;overflow:hidden}.world-stats em{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--cyan));border-radius:99px}
.timeline-item.story>div{display:grid;grid-template-columns:1fr auto;gap:2px 10px}.timeline-item.story p{grid-column:1/-1;margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.4}
/* Android-first mobile shell */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;overscroll-behavior-y:none}
html,body{width:100%;min-height:100%;min-height:100dvh}
body{min-height:100dvh;-webkit-tap-highlight-color:transparent;user-select:none}
input,textarea{user-select:text;font-size:16px}
button,input,textarea{font-family:inherit}
button{min-height:48px;touch-action:manipulation}
#app{width:100%;max-width:520px;min-height:100dvh;padding-bottom:calc(82px + env(safe-area-inset-bottom))}
.topbar{padding-top:max(14px,env(safe-area-inset-top));min-height:64px}
#view{padding-bottom:20px}
.nav{width:min(520px,100%);height:auto;min-height:72px;padding:7px 5px max(7px,env(safe-area-inset-bottom));grid-template-columns:repeat(5,minmax(0,1fr))}
.nav button{min-width:0;min-height:56px;border-radius:14px;justify-content:center}
.nav button.active{background:rgba(124,92,255,.10)}
.nav button small{font-size:11px;line-height:1}
.primary,.secondary,.choice{min-height:52px}
.modal{padding:0;align-items:flex-end}
.modal-card{width:100%;max-width:520px;max-height:92dvh;padding:22px 18px calc(22px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0}
.game-stage{min-height:min(46dvh,360px);margin:12px 0;padding:18px}
.challenge{min-height:72px}
.challenge button,.friend-actions button,.duel-row button{min-height:44px}
@media (max-width:520px){
  #view{padding:14px 12px}
  .hero{padding:18px;border-radius:24px}
  .hero h1{font-size:clamp(25px,7.5vw,31px)}
  .card{padding:15px;border-radius:19px}
  .grid{grid-template-columns:1fr}
  .full{grid-column:auto}
  .island{height:184px}
  .planet{width:146px;height:146px}
  .orbit{width:210px}
  .big-number{font-size:clamp(44px,15vw,62px)}
  .focus-grid{grid-template-columns:repeat(5,minmax(42px,1fr));width:100%;gap:6px}
  .focus-grid button{width:100%;height:48px}
}
@media (orientation:landscape) and (max-height:500px){
  .topbar{position:relative}
  .game-stage{min-height:210px}
}
/* Survival core */
.survival-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:4px 2px 12px}
.survival-head h1{margin:4px 0 0;font-size:26px}
.survivor-chip{padding:9px 12px;border-radius:14px;background:#151a2c;border:1px solid var(--line);font-weight:850;white-space:nowrap}
.resource-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:9px}
.resource-strip>div{padding:9px 6px;border:1px solid var(--line);border-radius:15px;background:rgba(18,22,38,.92);display:grid;grid-template-columns:auto 1fr;gap:1px 5px;align-items:center}
.resource-strip span{font-size:17px}.resource-strip b{font-size:15px}.resource-strip small{grid-column:1/-1;color:var(--good);font-size:9px;text-align:center}
.survival-status{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:7px;margin-bottom:13px}
.survival-status>div{padding:9px;border:1px solid var(--line);border-radius:14px;background:rgba(18,22,38,.74);display:flex;justify-content:space-between;gap:5px;align-items:center;font-size:10px}
.survival-status b{font-size:12px}.survival-status>div:first-child{display:grid;grid-template-columns:1fr auto}
.survival-status i{grid-column:1/-1;height:5px;background:#252b45;border-radius:99px;overflow:hidden}.survival-status em{display:block;height:100%;background:linear-gradient(90deg,#5fd48a,#ffd65a,#ff786b)}
.settlement-map-card{padding:14px 10px 12px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at 50% 48%,rgba(40,84,61,.30),rgba(12,16,28,.98) 70%);overflow:hidden}
.settlement-map{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;max-width:470px;margin:0 auto}
.survival-tile{position:relative;aspect-ratio:1/1;min-height:0!important;padding:0;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#192236;color:white;display:grid;place-items:center;overflow:hidden}
.survival-tile .terrain{font-size:22px}.survival-tile small{position:absolute;bottom:2px;left:3px;right:3px;font-size:8px;color:#e7edf8;text-shadow:0 1px 3px #000}
.survival-tile.fog{background:linear-gradient(145deg,#151a28,#0a0d15);opacity:.55;color:#4c546a}
.survival-tile.fog:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle,rgba(255,255,255,.05),transparent 55%)}
.survival-tile.revealed{border-color:rgba(24,213,255,.38);box-shadow:inset 0 0 18px rgba(24,213,255,.08);animation:tilePulse 2.2s ease-in-out infinite}
.survival-tile.cleared{background:linear-gradient(145deg,#263a2e,#16251e);border-color:rgba(99,201,127,.22)}
.survival-tile.building{background:linear-gradient(145deg,#26334c,#151c2d)}.survival-tile.building.working{border-color:rgba(67,230,160,.38)}
.survival-tile.building.idle{filter:saturate(.55)}.building-emoji{font-size:24px}.survival-tile em{position:absolute;top:2px;right:3px;font-style:normal;font-size:8px}
.survival-tile.empty b{position:absolute;right:4px;top:2px;color:var(--cyan);font-size:13px}
.map-hint{margin:11px 4px 0;color:var(--muted);font-size:11px;text-align:center}
.survival-objective{margin-top:12px;padding:15px;border:1px solid rgba(124,92,255,.28);border-radius:20px;background:linear-gradient(145deg,rgba(124,92,255,.10),rgba(24,213,255,.03))}
.survival-objective h3{margin:5px 0 12px}.objective-row{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid rgba(255,255,255,.06);font-size:12px}
.tile-preview,.building-panel-icon{font-size:62px;text-align:center;margin:8px 0 14px}.cost-line{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:13px}
.survival-build-list{display:flex;flex-direction:column;gap:8px;margin:12px 0}.survival-build-list button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:15px;background:#151a2c;color:white}
.survival-build-list button>span{font-size:29px;width:38px;text-align:center}.survival-build-list button>div{display:flex;flex:1;flex-direction:column}.survival-build-list small{color:var(--muted)}.survival-build-list em{font-style:normal;color:#bfc7e1;font-size:10px;margin-top:4px}
.worker-control{display:grid;grid-template-columns:52px 1fr 52px;gap:9px;align-items:center;margin:16px 0}.worker-control button{border:1px solid var(--line);border-radius:14px;background:#1b2136;color:white;font-size:24px}.worker-control>div{text-align:center;display:flex;flex-direction:column}.worker-control span{font-size:11px;color:var(--muted)}
.rank-rules{margin-bottom:12px;display:flex;flex-direction:column;gap:5px}.rank-rules>span{color:var(--muted);font-size:12px}.medal-legend{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:7px}.medal-legend span{font-size:9px;text-align:center;padding:6px 2px;border-radius:10px;background:#0c101d}
.ranked-game .grow{min-width:0}.game-best{display:flex;justify-content:space-between;font-size:10px;margin-top:5px}.game-best span{color:#e9ecf5}.game-best b{color:var(--cyan)}
.result-medal{text-align:center}.result-medal>span{font-size:58px}.score-display{text-align:center;font-size:38px;font-weight:950;margin:8px 0}.result-summary,.personal-best{padding:12px;border-radius:14px;background:#151a2c;border:1px solid var(--line);margin:9px 0;text-align:center}.personal-best{font-size:12px}
@keyframes tilePulse{0%,100%{box-shadow:inset 0 0 12px rgba(24,213,255,.04)}50%{box-shadow:inset 0 0 22px rgba(24,213,255,.14),0 0 9px rgba(24,213,255,.10)}}
@media(max-width:390px){.resource-strip{gap:4px}.resource-strip>div{padding:8px 3px}.resource-strip b{font-size:13px}.survival-status{grid-template-columns:1fr 1fr}.survival-status>div:first-child{grid-column:1/-1}.settlement-map{gap:4px}.building-emoji,.survival-tile .terrain{font-size:20px}}
/* Skill-game v3 */
.round-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.reaction-arena{cursor:pointer;transition:background .15s,border-color .15s}.reaction-arena.go{background:radial-gradient(circle at center,#27684d,#0d2119);border:1px solid rgba(67,230,160,.45)}
.stack-field{position:relative;width:280px;max-width:100%;height:230px;margin:8px auto 12px;border-radius:14px;background:linear-gradient(180deg,#11182a,#0b0f1a);overflow:hidden;border:1px solid var(--line)}
.stack-block{position:absolute;height:16px;border-radius:5px;background:linear-gradient(90deg,var(--accent),var(--cyan));box-shadow:0 3px 12px rgba(24,213,255,.22);transition:bottom .16s,width .16s,left .16s}
.stack-block.moving{transition:none;box-shadow:0 0 18px rgba(24,213,255,.35)}.stack-block.miss{opacity:.35;transform:rotate(8deg)}
.focus-grid.skill{width:100%;max-width:310px;margin:8px auto;gap:7px}.focus-grid.skill button{min-height:48px;font-size:22px}
.focus-timer{height:6px;width:100%;max-width:310px;margin:10px auto 0;border-radius:99px;background:#232a42;overflow:hidden}.focus-timer i{display:block;height:100%;background:linear-gradient(90deg,var(--good),#ffd45e,#ff6c6c);transition:width .04s linear}
.settlement-event-alert{margin-bottom:13px;padding:16px;border:1px solid rgba(255,108,108,.4);border-radius:20px;background:linear-gradient(145deg,rgba(125,33,44,.25),rgba(35,18,28,.94));box-shadow:0 12px 34px rgba(100,18,30,.16)}
.settlement-event-alert h2{margin:5px 0 7px}.settlement-event-alert p{margin:0 0 12px;color:#cfd4e7;font-size:13px;line-height:1.45}
.event-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.event-options button{border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px 8px;background:#1b2234;color:white;font-weight:850}
.survival-status .danger{border-color:rgba(255,108,108,.35);background:rgba(255,108,108,.08)}.survival-status .danger b{color:#ff9b9b}
.objective-row.done span{color:var(--good)}.chapter-reward{display:flex;justify-content:space-between;gap:10px;padding:11px 0 0;margin-top:5px;border-top:1px solid rgba(255,255,255,.09);font-size:11px}.chapter-reward span{color:var(--muted)}.chapter-reward b{text-align:right}
/* Meteorite-first home */
.meteorite-hero{position:relative;overflow:hidden;padding:20px 18px 18px;margin-bottom:14px;border:1px solid rgba(255,160,94,.24);border-radius:24px;background:radial-gradient(circle at 75% 20%,rgba(255,135,76,.20),transparent 22%),linear-gradient(145deg,#171626,#0c1019 70%);box-shadow:0 18px 48px rgba(0,0,0,.24)}
.meteorite-hero h1{margin:6px 0 8px;font-size:clamp(27px,8vw,34px);max-width:85%}.meteorite-hero>p{margin:0 0 14px;color:#cbd2e4;line-height:1.5;font-size:13px;max-width:92%}
.meteorite-sky{position:absolute;right:-14px;top:-10px;width:132px;height:104px;pointer-events:none;opacity:.72}.meteorite-rock{position:absolute;right:28px;top:19px;font-size:36px;transform:rotate(-18deg);filter:drop-shadow(0 0 14px rgba(255,144,72,.5))}.meteorite-sky i{position:absolute;right:54px;top:43px;width:95px;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,#ff9a52);transform:rotate(-27deg);transform-origin:right center}
.your-world-choice{display:flex;flex-direction:column;gap:3px;margin:12px 0;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}.your-world-choice span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.your-world-choice b{font-size:13px}
.investigation-card{padding:16px;margin-bottom:14px;border:1px solid rgba(24,213,255,.24);border-radius:22px;background:linear-gradient(145deg,rgba(17,30,44,.94),rgba(12,16,26,.97))}
.investigation-main{display:grid;grid-template-columns:78px 1fr;gap:13px;align-items:center}.sample-orb{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle,#233a50,#111925 70%);border:1px solid rgba(24,213,255,.28);font-size:24px}.sample-orb b{font-size:17px;line-height:1}.sample-orb small{font-size:8px;color:var(--muted);margin-top:2px}
.investigation-progress{display:flex;flex-direction:column;gap:4px}.investigation-progress>span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.investigation-progress>b{font-size:14px}.investigation-progress i{height:7px;border-radius:99px;background:#242c40;overflow:hidden}.investigation-progress em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--cyan))}.investigation-progress small{font-size:9px;color:var(--muted);text-align:right}
.latest-clue{margin:12px 0;padding:11px 12px;border-radius:14px;background:rgba(124,92,255,.07);border:1px solid rgba(124,92,255,.18)}.latest-clue>span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase}.latest-clue>b{display:block;margin:3px 0 4px;font-size:13px}.latest-clue p{margin:0;color:#c7cde0;font-size:11px;line-height:1.4}.research-hint{margin:11px 2px 0;font-size:11px}
.daily-missions{margin-bottom:16px}.mission-row{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:11px 12px;margin-bottom:7px;border:1px solid var(--line);border-radius:15px;background:rgba(18,22,38,.78)}.mission-state{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#20263a;color:#9099b4;font-weight:900}.mission-row>div{display:flex;flex-direction:column;min-width:0}.mission-row small{color:var(--muted);font-size:10px;margin-top:2px}.mission-row>strong,.mission-row>em{font-size:10px;font-style:normal;color:var(--muted)}.mission-row button{min-height:38px;padding:0 9px;border:0;border-radius:11px;background:linear-gradient(135deg,var(--accent),#5b7cff);color:white;font-size:9px;font-weight:850}.mission-row.ready{border-color:rgba(67,230,160,.35);background:rgba(67,230,160,.05)}.mission-row.ready .mission-state{background:rgba(67,230,160,.14);color:var(--good)}.mission-row.claimed{opacity:.55}.mission-row.claimed .mission-state{color:var(--good)}
.mission-bonus-pop{margin:12px 0;padding:13px;border-radius:14px;background:linear-gradient(135deg,rgba(124,92,255,.15),rgba(24,213,255,.08));border:1px solid rgba(124,92,255,.28);font-size:12px;text-align:center}
.base-section-title{margin-top:22px}
/* Visual pass v0.7 — atmospheric Android-first */
:root{
  --bg:#060911;--panel:#101725;--panel2:#151f31;--text:#f7f9ff;
  --muted:#8e9ab7;--accent:#8469ff;--cyan:#31d9ff;--good:#52e4a1;
  --warning:#ffbd69;--danger:#ff6e78;--line:rgba(151,166,207,.14);
  --glow:0 18px 55px rgba(0,0,0,.34);
}
body{
  background:
    radial-gradient(circle at 85% -5%,rgba(255,112,62,.10),transparent 26rem),
    radial-gradient(circle at 5% 24%,rgba(67,78,180,.12),transparent 28rem),
    linear-gradient(180deg,#070a12 0%,#090d17 44%,#060910 100%);
  color:var(--text);
  font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
body:before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.32;
  background-image:
    radial-gradient(circle at 12% 14%,rgba(255,255,255,.72) 0 1px,transparent 1.2px),
    radial-gradient(circle at 72% 21%,rgba(255,255,255,.50) 0 1px,transparent 1.2px),
    radial-gradient(circle at 43% 48%,rgba(128,208,255,.32) 0 1px,transparent 1.3px),
    radial-gradient(circle at 88% 68%,rgba(255,255,255,.38) 0 1px,transparent 1.2px);
  background-size:157px 181px,213px 237px,181px 209px,247px 263px;
  animation:starDrift 34s linear infinite;
}
.topbar{
  background:linear-gradient(180deg,rgba(6,9,17,.94),rgba(6,9,17,.72));
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 10px 30px rgba(0,0,0,.14);
}
.brand{font-weight:950;letter-spacing:.08em}.pulse-dot{box-shadow:0 0 0 5px rgba(49,217,255,.08),0 0 18px rgba(49,217,255,.5)}
.card,.challenge,.timeline-item,.activity-row{
  background:linear-gradient(145deg,rgba(19,27,43,.94),rgba(11,16,28,.96));
  border-color:rgba(150,166,210,.13);box-shadow:0 12px 32px rgba(0,0,0,.16);
}
.primary{
  background:linear-gradient(135deg,#8e6fff 0%,#6558ff 50%,#3389ff 100%);
  box-shadow:0 10px 25px rgba(91,89,255,.23),inset 0 1px rgba(255,255,255,.20);
  border:1px solid rgba(255,255,255,.12);font-weight:900;letter-spacing:.01em;
}
.primary:active{transform:scale(.985);filter:brightness(.94)}
.secondary{background:linear-gradient(145deg,#1a2335,#121a2a);border-color:rgba(146,166,216,.16)}
.choice{background:linear-gradient(145deg,#171f31,#101725);border-color:rgba(117,142,202,.18)}
.nav{
  background:linear-gradient(180deg,rgba(12,16,27,.88),rgba(7,10,18,.98));
  backdrop-filter:blur(22px) saturate(1.25);border-top:1px solid rgba(255,255,255,.08);
  box-shadow:0 -14px 40px rgba(0,0,0,.25);
}
.nav button{font-size:20px;color:#78849f;transition:.2s ease}
.nav button small{color:inherit;font-weight:750;letter-spacing:.01em}
.nav button.active{color:#f4f7ff;background:radial-gradient(circle at 50% 20%,rgba(132,105,255,.22),transparent 70%);transform:translateY(-1px)}
.nav button.active:after{content:"";position:absolute;bottom:2px;width:22px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--cyan));box-shadow:0 0 11px rgba(49,217,255,.5)}
.meteorite-hero{
  min-height:270px;padding:22px 18px 19px;
  background:
    radial-gradient(circle at 80% 16%,rgba(255,137,72,.24),transparent 14rem),
    radial-gradient(circle at 70% 78%,rgba(96,72,255,.12),transparent 18rem),
    linear-gradient(160deg,#1a1725 0%,#101725 50%,#090d16 100%);
  box-shadow:0 24px 60px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.05);
}
.meteorite-hero:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background:repeating-radial-gradient(circle at 78% 15%,transparent 0 28px,rgba(255,178,102,.22) 29px 30px,transparent 31px 48px);
  animation:meteorPulse 5.6s ease-in-out infinite;
}
.meteorite-hero h1{position:relative;text-shadow:0 4px 28px rgba(0,0,0,.45)}
.meteorite-rock{animation:meteorFloat 4.8s ease-in-out infinite}.meteorite-sky i{animation:trailGlow 2.8s ease-in-out infinite}
.resource-strip>div{
  background:
    linear-gradient(145deg,rgba(25,35,54,.95),rgba(11,17,29,.97));
  border-color:rgba(132,154,207,.15);
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 8px 18px rgba(0,0,0,.12);
}
.resource-strip>div:nth-child(1){background:linear-gradient(145deg,rgba(74,50,27,.30),rgba(13,18,27,.98))}
.resource-strip>div:nth-child(2){background:linear-gradient(145deg,rgba(54,76,40,.26),rgba(13,18,27,.98))}
.resource-strip>div:nth-child(3){background:linear-gradient(145deg,rgba(71,74,86,.26),rgba(13,18,27,.98))}
.resource-strip>div:nth-child(4){background:linear-gradient(145deg,rgba(43,64,91,.26),rgba(13,18,27,.98))}
.settlement-map-card{
  position:relative;
  background:
    radial-gradient(circle at 50% 52%,rgba(62,117,81,.28),transparent 48%),
    linear-gradient(160deg,#111b1c,#0b1019 66%);
  box-shadow:0 22px 52px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.035);
}
.settlement-map-card:before{
  content:"";position:absolute;inset:48px 10px 38px;border-radius:22px;pointer-events:none;opacity:.14;
  background:conic-gradient(from 0deg at 50% 50%,transparent 0 24%,rgba(67,230,160,.16) 25%,transparent 26% 49%,rgba(67,230,160,.14) 50%,transparent 51% 74%,rgba(67,230,160,.12) 75%,transparent 76%);
  animation:radarSweep 14s linear infinite;
}
.survival-tile{transition:transform .15s ease,filter .15s ease,box-shadow .2s ease}
.survival-tile:active:not(:disabled){transform:scale(.93)}
.survival-tile.fog{
  background:
    radial-gradient(circle at 45% 35%,rgba(74,87,108,.16),transparent 35%),
    linear-gradient(145deg,#101620,#080c13);
}
.survival-tile.revealed{
  background:
    radial-gradient(circle at 50% 55%,rgba(46,167,186,.18),transparent 58%),
    linear-gradient(145deg,#152332,#0f1824);
  border-color:rgba(49,217,255,.42);
}
.survival-tile.revealed:after{
  content:"";position:absolute;inset:3px;border-radius:8px;border:1px solid rgba(49,217,255,.13);animation:tileScan 2.1s ease-in-out infinite;
}
.survival-tile.building.working{box-shadow:inset 0 0 18px rgba(82,228,161,.07),0 0 10px rgba(82,228,161,.08)}
.building-emoji{filter:drop-shadow(0 3px 5px rgba(0,0,0,.35))}
.investigation-card{box-shadow:0 22px 52px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04)}
.sample-orb{box-shadow:inset 0 0 24px rgba(49,217,255,.10),0 0 24px rgba(49,217,255,.06);animation:sampleBreath 3.8s ease-in-out infinite}
.latest-clue{position:relative;overflow:hidden}.latest-clue:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.04) 48%,transparent 60%);transform:translateX(-120%);animation:clueShine 6s ease-in-out infinite}
/* Full-screen first-session onboarding */
.intro-mode{overflow:hidden}
.intro-mode #app{visibility:hidden}
.intro-overlay{
  position:fixed;z-index:1000;inset:0;overflow:auto;color:#f8fbff;
  background:
    radial-gradient(circle at 82% 9%,rgba(255,114,64,.12),transparent 22rem),
    radial-gradient(circle at 12% 58%,rgba(82,70,196,.15),transparent 28rem),
    linear-gradient(180deg,#060810,#090d17 55%,#05070d);
  animation:introAppear .32s ease both;
}
.intro-overlay.intro-leave{animation:introLeave .3s ease both}
.intro-safe{
  width:min(520px,100%);min-height:100dvh;margin:0 auto;
  padding:max(18px,env(safe-area-inset-top)) 18px calc(22px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;
}
.intro-steps{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:2px 0 16px}
.intro-steps span{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;opacity:.34}
.intro-steps span i{width:100%;height:3px;border-radius:99px;background:#30364a;overflow:hidden}
.intro-steps span small{font-size:7px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.intro-steps span.done,.intro-steps span.active{opacity:1}
.intro-steps span.done i,.intro-steps span.active i{background:linear-gradient(90deg,var(--accent),var(--cyan));box-shadow:0 0 10px rgba(49,217,255,.35)}
.intro-scene{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:calc(100dvh - 82px)}
.intro-copy{position:relative;z-index:2;margin:14px 0 18px}
.intro-copy.center{text-align:center}
.intro-copy h1{font-size:clamp(30px,9vw,42px);line-height:1.02;margin:7px 0 12px;letter-spacing:-.035em;text-wrap:balance}
.intro-copy p{font-size:14px;line-height:1.55;color:#aab4cc;margin:0;text-wrap:balance}
.intro-primary{
  width:100%;min-height:58px;border:1px solid rgba(255,255,255,.15);border-radius:18px;
  background:linear-gradient(135deg,#8b69ff,#5c61ff 48%,#298fff);
  color:white;font-size:15px;font-weight:950;letter-spacing:.02em;
  box-shadow:0 15px 38px rgba(74,83,255,.28),inset 0 1px rgba(255,255,255,.20);
}
.intro-primary.glow{animation:ctaGlow 2.2s ease-in-out infinite}
.intro-primary:active{transform:scale(.985)}
.impact-space{height:38dvh;min-height:250px;max-height:350px;position:relative;margin:-5px -18px 0;overflow:hidden}
.intro-stars{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 25%,#fff 0 1px,transparent 1.2px),radial-gradient(circle at 72% 18%,#cfe8ff 0 1px,transparent 1.2px),radial-gradient(circle at 40% 70%,#fff 0 1px,transparent 1.2px);background-size:96px 110px,143px 157px,127px 131px;opacity:.55}
.intro-horizon{position:absolute;left:-15%;right:-15%;bottom:-42%;height:62%;border-radius:50% 50% 0 0;background:radial-gradient(circle at 50% -5%,#2f4960 0,#16283d 18%,#0b1422 43%,#04070d 72%);box-shadow:0 -12px 55px rgba(64,135,180,.14)}
.intro-horizon:after{content:"";position:absolute;left:41%;top:8%;width:90px;height:22px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,121,55,.95),rgba(255,81,39,.32) 44%,transparent 72%);filter:blur(2px);box-shadow:0 0 55px rgba(255,102,46,.7);animation:impactCrater 2.8s ease-in-out infinite}
.intro-meteor{position:absolute;right:11%;top:4%;width:85%;height:70%;transform:rotate(-24deg);transform-origin:right top;animation:meteorDive 1.2s cubic-bezier(.2,.8,.4,1) both}
.intro-meteor b{position:absolute;right:4px;top:2px;font-size:56px;filter:drop-shadow(0 0 18px rgba(255,126,53,.8))}
.intro-meteor i{position:absolute;right:43px;top:35px;width:82%;height:6px;border-radius:99px;background:linear-gradient(90deg,transparent,rgba(255,84,41,.05),#ff763d 70%,#ffd28f);filter:blur(1px);box-shadow:0 0 18px rgba(255,102,53,.38)}
.impact-flash{position:absolute;right:30%;bottom:15%;width:100px;height:100px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,231,.9),rgba(255,111,48,.38) 22%,transparent 65%);filter:blur(3px);animation:flashPulse 2.5s ease-in-out infinite}
.signal-core{position:relative;width:190px;height:190px;margin:6vh auto 20px;display:grid;place-items:center}
.signal-orb{position:relative;z-index:3;width:74px;height:74px;border-radius:50%;display:grid;place-items:center;font-size:30px;color:#aef3ff;background:radial-gradient(circle,#244a5b,#12232f 62%,#0a111a);border:1px solid rgba(49,217,255,.32);box-shadow:0 0 30px rgba(49,217,255,.18),inset 0 0 20px rgba(49,217,255,.12)}
.signal-ring{position:absolute;border:1px solid rgba(49,217,255,.22);border-radius:50%;animation:signalRing 2.8s ease-out infinite}
.signal-ring.r1{width:100px;height:100px}.signal-ring.r2{width:142px;height:142px;animation-delay:.55s}.signal-ring.r3{width:184px;height:184px;animation-delay:1.1s}
.signal-wave{height:58px;margin:2px 0 20px;display:flex;gap:4px;align-items:center;justify-content:center}
.signal-wave i{width:4px;height:calc(8px + (var(--n) % 7)*5px);border-radius:5px;background:linear-gradient(180deg,var(--cyan),#5d6fff);animation:waveBars 1.35s ease-in-out infinite;animation-delay:calc(var(--n)*-.055s)}
.intro-brief{margin:0 0 16px;padding:13px 14px;border:1px solid rgba(49,217,255,.16);border-radius:16px;background:rgba(49,217,255,.045);display:flex;flex-direction:column;gap:3px}.intro-brief span{font-size:9px;color:var(--cyan);text-transform:uppercase;letter-spacing:.1em}.intro-brief b{font-size:13px}.intro-brief small{font-size:10px;color:var(--muted);line-height:1.4}
.decision-orbit{position:relative;width:136px;height:136px;margin:3vh auto 8px;display:grid;place-items:center}.decision-orbit span{font-size:64px;filter:drop-shadow(0 0 22px rgba(93,137,255,.22))}.decision-orbit i,.decision-orbit b{position:absolute;border:1px solid rgba(111,141,255,.18);border-radius:50%}.decision-orbit i{inset:4px;animation:orbitSpin 7s linear infinite}.decision-orbit b{inset:-14px;border-style:dashed;animation:orbitSpin 12s linear reverse infinite}
.intro-decision-note{display:flex;flex-direction:column;gap:3px;padding:11px 12px;margin-bottom:11px;border-radius:14px;background:rgba(132,105,255,.08);border:1px solid rgba(132,105,255,.16)}.intro-decision-note span{font-size:10px;color:#aeb7ce}.intro-decision-note b{font-size:12px}
.intro-options{display:flex;flex-direction:column;gap:8px}.intro-options button{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;min-height:59px;padding:10px 13px;text-align:left;border:1px solid rgba(139,158,204,.16);border-radius:17px;background:linear-gradient(145deg,#151e30,#0d1422);color:#f7f9ff}.intro-options button:active{transform:scale(.988)}.intro-options button span{font-size:9px;color:var(--cyan);font-weight:900}.intro-options button b{font-size:13px}.intro-options button i{font-style:normal;font-size:22px;color:#65708b}
.intro-result-pulse{width:84px;height:84px;margin:4vh auto 6px;border-radius:50%;display:grid;place-items:center;font-size:34px;background:radial-gradient(circle,rgba(82,228,161,.22),rgba(82,228,161,.07));border:1px solid rgba(82,228,161,.32);color:var(--good);box-shadow:0 0 32px rgba(82,228,161,.12)}
.intro-poll{display:flex;flex-direction:column;gap:10px;margin:4px 0 18px}.intro-poll-row>div{display:flex;justify-content:space-between;gap:10px;font-size:11px}.intro-poll-row i{display:block;height:7px;margin-top:5px;border-radius:99px;background:#242b3f;overflow:hidden}.intro-poll-row em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#5865dd,#7c6cff)}.intro-poll-row.mine em{background:linear-gradient(90deg,var(--accent),var(--cyan));box-shadow:0 0 12px rgba(49,217,255,.25)}
.intro-choice-made{padding:13px;margin:0 0 16px;border-radius:15px;background:rgba(82,228,161,.06);border:1px solid rgba(82,228,161,.18);display:flex;flex-direction:column}.intro-choice-made span{font-size:9px;color:var(--good);text-transform:uppercase}.intro-choice-made b{font-size:13px;margin-top:3px}
.intro-profile-art{position:relative;width:154px;height:154px;margin:3vh auto 4px;display:grid;place-items:center}.intro-profile-art>span{position:relative;z-index:2;width:92px;height:92px;display:grid;place-items:center;border-radius:28px;font-size:48px;background:linear-gradient(145deg,#1d2941,#101827);border:1px solid rgba(132,105,255,.28);box-shadow:0 18px 40px rgba(0,0,0,.24)}.profile-radar{position:absolute;inset:0;border:1px solid rgba(49,217,255,.18);border-radius:50%;background:conic-gradient(from 0deg,rgba(49,217,255,.12),transparent 18% 100%);animation:orbitSpin 5s linear infinite}
.intro-name{display:flex;flex-direction:column;gap:6px;margin:0 0 12px}.intro-name span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.intro-name input{width:100%;height:54px;padding:0 15px;border:1px solid rgba(147,165,210,.18);border-radius:16px;background:#0b111d;color:white;font-size:17px;font-weight:850;outline:none}.intro-name input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(49,217,255,.07)}
.intro-avatars{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin-bottom:16px}.intro-avatars button{aspect-ratio:1;border:1px solid rgba(145,160,198,.13);border-radius:12px;background:#121a2a;font-size:21px;color:white;min-height:0}.intro-avatars button.selected{border-color:var(--cyan);background:rgba(49,217,255,.08);box-shadow:0 0 14px rgba(49,217,255,.10);transform:translateY(-2px)}
.intro-expedition-card{padding:15px;margin:4px 0 18px;border:1px solid rgba(49,217,255,.16);border-radius:20px;background:linear-gradient(145deg,rgba(20,31,47,.94),rgba(10,15,24,.97));box-shadow:0 18px 42px rgba(0,0,0,.20)}
.intro-expedition-stats{display:flex;justify-content:space-between;margin-bottom:12px;font-size:11px;color:#cfd6e8}.intro-mini-map{display:grid;grid-template-columns:repeat(3,72px);gap:7px;justify-content:center;margin:0 auto 12px}.intro-map-tile{position:relative;aspect-ratio:1;border-radius:15px;border:1px solid rgba(142,159,203,.13);background:#111827;color:white;display:grid;place-items:center;font-size:27px;min-height:0}.intro-map-tile.fog{opacity:.3}.intro-map-tile.cleared{background:linear-gradient(145deg,#263b30,#15251e)}.intro-map-tile.revealed{background:linear-gradient(145deg,#172738,#101a27)}.intro-map-tile.target{border-color:rgba(49,217,255,.55);box-shadow:0 0 0 3px rgba(49,217,255,.07),0 0 26px rgba(49,217,255,.13);animation:targetPulse 1.55s ease-in-out infinite}.intro-map-tile.target i{position:absolute;inset:-5px;border:1px solid rgba(49,217,255,.20);border-radius:18px;animation:targetRing 1.55s ease-out infinite}.intro-map-tile.scanning:after{content:"";position:absolute;left:6px;right:6px;height:2px;top:8px;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:scanTile .7s linear infinite}
.intro-map-callout{display:flex;justify-content:center;align-items:center;gap:7px;color:var(--cyan);font-size:10px}.intro-map-callout i{width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan);animation:sampleBreath 1.6s ease-in-out infinite}
.fragment-chamber{position:relative;width:210px;height:210px;margin:3vh auto 8px;display:grid;place-items:center}.meteor-fragment{position:relative;z-index:3;font-size:74px;color:#9eefff;transform:rotate(20deg);filter:drop-shadow(0 0 20px rgba(49,217,255,.5));animation:fragmentFloat 3.2s ease-in-out infinite}.fragment-glow{position:absolute;width:118px;height:118px;border-radius:50%;background:radial-gradient(circle,rgba(49,217,255,.28),rgba(96,84,255,.10) 42%,transparent 70%);filter:blur(5px);animation:sampleBreath 2.4s ease-in-out infinite}.scanner-line{position:absolute;left:22px;right:22px;height:2px;top:28px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 13px rgba(49,217,255,.65);animation:scannerLine 2s ease-in-out infinite}
.intro-lab-readout{display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin:0 0 16px;padding:12px 13px;border-radius:15px;border:1px solid rgba(49,217,255,.14);background:#0b131f}.intro-lab-readout span{grid-column:1/-1;font-size:9px;color:var(--cyan);letter-spacing:.1em}.intro-lab-readout b{font-size:11px}.intro-lab-readout i{font-style:normal;font-size:9px;color:var(--muted)}
.clue-unlock{display:flex;flex-direction:column;align-items:center;gap:9px;margin:5vh 0 10px}.clue-glyph{width:108px;height:108px;border-radius:30px;display:grid;place-items:center;font-size:58px;color:#b9f3ff;background:radial-gradient(circle,#263d59,#111a29 70%);border:1px solid rgba(49,217,255,.28);box-shadow:0 0 42px rgba(49,217,255,.13),inset 0 0 25px rgba(49,217,255,.08);animation:clueUnlock 1.2s ease both}.clue-unlock span{font-size:10px;color:var(--cyan);letter-spacing:.16em;font-weight:900}
.loop-explain{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:7px;align-items:center;margin:8px 0 16px}.loop-explain>div{min-height:104px;padding:10px 5px;border:1px solid rgba(139,157,201,.13);border-radius:16px;background:#111827;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:3px}.loop-explain>div span{font-size:27px}.loop-explain>div b{font-size:10px}.loop-explain>div small{font-size:8px;color:var(--muted);line-height:1.25}.loop-explain>i{font-style:normal;color:#56627c}.intro-final-note{text-align:center;margin:0 0 14px;color:#96a2bd;font-size:10px}
@keyframes starDrift{to{background-position:157px 181px,-213px 237px,181px -209px,-247px -263px}}
@keyframes meteorPulse{0%,100%{opacity:.12;transform:scale(.98)}50%{opacity:.28;transform:scale(1.02)}}@keyframes meteorFloat{0%,100%{transform:rotate(-18deg) translateY(0)}50%{transform:rotate(-17deg) translateY(5px)}}@keyframes trailGlow{0%,100%{opacity:.45}50%{opacity:1}}
@keyframes radarSweep{to{transform:rotate(360deg)}}@keyframes tileScan{0%,100%{opacity:.3}50%{opacity:.9}}@keyframes sampleBreath{0%,100%{transform:scale(.97);opacity:.75}50%{transform:scale(1.04);opacity:1}}@keyframes clueShine{0%,72%{transform:translateX(-120%)}88%,100%{transform:translateX(140%)}}
@keyframes introAppear{from{opacity:0;transform:scale(1.015)}to{opacity:1;transform:none}}@keyframes introLeave{to{opacity:0;transform:scale(.985)}}@keyframes ctaGlow{0%,100%{box-shadow:0 15px 38px rgba(74,83,255,.25)}50%{box-shadow:0 15px 44px rgba(74,83,255,.45),0 0 24px rgba(49,217,255,.10)}}@keyframes meteorDive{from{transform:translate(-48%,-34%) rotate(-24deg);opacity:0}to{transform:translate(0,0) rotate(-24deg);opacity:1}}@keyframes flashPulse{0%,100%{transform:scale(.82);opacity:.55}50%{transform:scale(1.22);opacity:1}}@keyframes impactCrater{0%,100%{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.14)}}@keyframes signalRing{0%{transform:scale(.66);opacity:0}25%{opacity:.8}100%{transform:scale(1.18);opacity:0}}@keyframes waveBars{0%,100%{transform:scaleY(.48);opacity:.5}50%{transform:scaleY(1);opacity:1}}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes targetPulse{0%,100%{transform:scale(.98)}50%{transform:scale(1.04)}}@keyframes targetRing{0%{transform:scale(.88);opacity:.8}100%{transform:scale(1.16);opacity:0}}@keyframes scanTile{0%{top:8px}100%{top:calc(100% - 9px)}}@keyframes fragmentFloat{0%,100%{transform:rotate(20deg) translateY(0)}50%{transform:rotate(24deg) translateY(-8px)}}@keyframes scannerLine{0%,100%{top:28px;opacity:.25}50%{top:178px;opacity:1}}@keyframes clueUnlock{0%{transform:scale(.55) rotate(-10deg);opacity:0;filter:blur(8px)}70%{transform:scale(1.08) rotate(2deg);opacity:1;filter:blur(0)}100%{transform:none}}
@media(max-width:390px){.intro-copy h1{font-size:30px}.intro-mini-map{grid-template-columns:repeat(3,64px)}.intro-avatars{grid-template-columns:repeat(4,1fr)}.loop-explain{gap:4px}.loop-explain>div{padding:8px 3px}.intro-steps span small{font-size:6px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
.nav button{position:relative}
.world-live-row{position:relative;z-index:2;display:flex;align-items:center;gap:9px;margin:7px 0 4px;font-size:9px;color:#9ea9c2}
.world-live-row span{display:inline-flex;align-items:center;gap:5px;color:#ffb18b;font-weight:900;letter-spacing:.09em}.world-live-row span i{width:6px;height:6px;border-radius:50%;background:#ff765d;box-shadow:0 0 10px rgba(255,118,93,.8);animation:liveBlink 1.4s ease-in-out infinite}.world-live-row b{font-size:9px;color:#dce2f0}.world-live-row em{font-style:normal;margin-left:auto}
.intro-inline-error{margin:10px 0 0;padding:9px 10px;border-radius:11px;background:rgba(255,110,120,.08);border:1px solid rgba(255,110,120,.18);color:#ffb8bd;font-size:10px;text-align:center}
@keyframes liveBlink{0%,100%{opacity:.45;transform:scale(.82)}50%{opacity:1;transform:scale(1.1)}}
.command-brief{display:grid;grid-template-columns:52px 1fr;gap:10px;margin:0 0 15px;padding:13px;border:1px solid rgba(132,105,255,.20);border-radius:19px;background:linear-gradient(145deg,rgba(30,27,55,.86),rgba(12,17,29,.96));box-shadow:0 15px 34px rgba(0,0,0,.17)}
.brief-avatar{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:27px;background:radial-gradient(circle at 50% 35%,#273c58,#141d2e 72%);border:1px solid rgba(49,217,255,.16);box-shadow:inset 0 0 18px rgba(49,217,255,.06)}
.brief-copy{display:flex;flex-direction:column;min-width:0}.brief-copy>span{font-size:8px;color:var(--cyan);font-weight:850;letter-spacing:.1em}.brief-copy>b{font-size:13px;margin:2px 0 3px}.brief-copy p{margin:0;color:#9ca8c2;font-size:10px;line-height:1.4}
.command-brief>button{grid-column:1/-1;min-height:43px;border:1px solid rgba(132,105,255,.20);border-radius:13px;background:rgba(132,105,255,.09);color:#f4f5ff;font-size:11px;font-weight:850}.command-brief>button i{font-style:normal;color:var(--cyan);font-size:17px;margin-left:5px}
body:before{z-index:0}
#app{position:relative;z-index:1}
.modal{z-index:100}
.intro-overlay{z-index:1000}
/* Field guide — first 10–15 minutes */
.field-guide-card{position:relative;margin:0 0 15px;padding:15px;border:1px solid rgba(49,217,255,.24);border-radius:21px;background:linear-gradient(145deg,rgba(17,29,45,.97),rgba(12,17,29,.98));box-shadow:0 18px 44px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04);overflow:hidden}
.field-guide-card:before{content:"";position:absolute;right:-42px;top:-52px;width:135px;height:135px;border-radius:50%;background:radial-gradient(circle,rgba(49,217,255,.12),transparent 68%);pointer-events:none}
.guide-head{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center}.guide-avatar{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:950;font-size:18px;color:#bff5ff;background:radial-gradient(circle at 50% 35%,#29445f,#132031 70%);border:1px solid rgba(49,217,255,.24);box-shadow:inset 0 0 18px rgba(49,217,255,.08)}
.guide-head>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.guide-head span{font-size:8px;color:var(--cyan);font-weight:900;letter-spacing:.11em}.guide-head b{font-size:14px;margin-top:2px}.guide-head strong{font-size:11px;color:#aeb9d0}
.guide-progress{height:5px;margin:12px 0 10px;border-radius:99px;background:#252d41;overflow:hidden}.guide-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--cyan));box-shadow:0 0 10px rgba(49,217,255,.25);transition:width .35s ease}
.field-guide-card>p{margin:0 0 10px;color:#c1cada;font-size:11px;line-height:1.5}.guide-why{display:flex;gap:7px;align-items:flex-start;margin:0 0 10px;padding:9px 10px;border-radius:12px;background:rgba(132,105,255,.07);border:1px solid rgba(132,105,255,.13)}.guide-why span{font-size:8px;color:#a89aff;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.guide-why b{font-size:10px;line-height:1.35;color:#bbc5db;font-weight:650}
.guide-gift{margin:0 0 10px;padding:9px 10px;border-radius:12px;background:rgba(82,228,161,.07);border:1px solid rgba(82,228,161,.15);color:#aef3cd;font-size:10px;line-height:1.35}
.guide-action{width:100%;min-height:45px;border:1px solid rgba(49,217,255,.22);border-radius:14px;background:linear-gradient(135deg,rgba(132,105,255,.24),rgba(49,217,255,.13));color:white;font-weight:900;font-size:11px}.guide-action i{font-style:normal;color:var(--cyan);font-size:17px;margin-left:5px}.field-guide-card.complete-ready{border-color:rgba(82,228,161,.27);background:linear-gradient(145deg,rgba(20,46,39,.92),rgba(11,19,28,.98))}
.guide-reward-preview,.guide-final-reward{margin:10px 0;padding:11px;border-radius:13px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);text-align:center;font-size:11px;font-weight:850}.guide-crate{text-align:center;font-size:60px;margin:6px 0 10px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.32))}
.training-guide{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 14px;padding:14px;border:1px solid rgba(49,217,255,.22);border-radius:18px;background:linear-gradient(145deg,rgba(19,31,47,.95),rgba(11,16,27,.98));box-shadow:0 15px 34px rgba(0,0,0,.18)}.training-guide>div{display:flex;flex-direction:column}.training-guide span{font-size:8px;color:var(--cyan);font-weight:900;letter-spacing:.1em}.training-guide b{font-size:13px;margin:2px 0}.training-guide p{margin:0;color:#9eabc2;font-size:10px;line-height:1.35}.training-guide>strong{font-size:32px}.training-guide.compact button{border:1px solid rgba(49,217,255,.16);border-radius:11px;background:#162338;color:white;padding:9px 11px;font-size:10px;font-weight:850}
.coach-target{position:relative;z-index:2!important;animation:coachPulse 1.35s ease-in-out infinite!important;box-shadow:0 0 0 2px rgba(49,217,255,.42),0 0 24px rgba(49,217,255,.24)!important}.guide-suppressed{display:none!important}
@keyframes coachPulse{0%,100%{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.025);filter:brightness(1.12)}}
/* Global sticky HUD */
.topbar{z-index:70}
.global-resource-hud{position:sticky;top:64px;z-index:68;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px 10px;background:rgba(8,12,20,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.global-resource-hud span,.global-resource-hud button{min-width:0;height:34px;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:#111827;color:#dfe6f6;display:flex;align-items:center;justify-content:center;gap:4px;font-size:10px}
.global-resource-hud b{font-size:11px}.global-resource-hud button{color:#d9c6ff;background:linear-gradient(145deg,#1d1730,#121725)}
.global-next-step{position:sticky;top:104px;z-index:67;width:100%;min-height:42px;padding:7px 12px;border:0;border-bottom:1px solid rgba(49,217,255,.14);background:linear-gradient(90deg,rgba(20,30,46,.97),rgba(16,20,34,.97));color:white;display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center;text-align:left;box-shadow:0 9px 22px rgba(0,0,0,.13)}
.global-next-step span{font-size:7px;color:var(--cyan);font-weight:950;letter-spacing:.13em}.global-next-step b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-next-step i{font-style:normal;color:var(--cyan);font-size:18px}
.global-next-step.hidden{display:none}
@media (orientation:landscape) and (max-height:500px){.topbar{position:sticky}.global-resource-hud{top:64px}.global-next-step{top:104px}}

/* Loot hub */
.loot-hub{margin:-4px 0 0}.loot-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.loot-top h2{margin:3px 0 0}.loot-top>button{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:#151b2b;color:white;font-size:22px}
.shard-wallet{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:12px;margin:14px 0;border:1px solid rgba(132,105,255,.25);border-radius:16px;background:linear-gradient(145deg,rgba(40,29,68,.76),rgba(16,21,34,.95))}.shard-wallet>span{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(132,105,255,.15);font-size:20px;color:#d8c8ff}.shard-wallet>div{display:flex;flex-direction:column}.shard-wallet small{font-size:8px;color:#aaa4c6;text-transform:uppercase;letter-spacing:.08em}.shard-wallet b{font-size:21px}.shard-wallet em{font-style:normal;font-size:8px;color:#807994}
.loot-section{margin-top:18px}.loot-section h3{margin:0}
.gear-slots{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.gear-slot{min-height:66px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,#151d2d,#101624);color:white;display:grid;grid-template-columns:36px 1fr;gap:8px;align-items:center;text-align:left;padding:9px}.gear-slot>span{font-size:24px}.gear-slot>div{display:flex;flex-direction:column;min-width:0}.gear-slot small{font-size:8px;color:var(--muted)}.gear-slot b{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gear-slot em{font-style:normal;font-size:7px;color:#aab5cc;margin-top:2px}
.chest-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.chest-card{padding:10px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,#151c2b,#0e1420);overflow:hidden}.chest-visual{height:72px;display:grid;place-items:center;position:relative}.chest-visual span{font-size:45px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.34))}.chest-visual b{position:absolute;right:4px;top:4px;min-width:21px;height:21px;border-radius:99px;background:#2c3450;display:grid;place-items:center;font-size:9px}.chest-copy{display:flex;flex-direction:column}.chest-copy span{font-size:11px;font-weight:900}.chest-copy small{font-size:7px;color:#8e98af;line-height:1.4;margin-top:3px}.chest-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.chest-actions button{min-height:34px;border-radius:9px;border:1px solid rgba(255,255,255,.08);background:#1a2234;color:white;font-size:8px;font-weight:850}.chest-actions button:last-child{background:linear-gradient(135deg,#6558ff,#2e8bff)}.chest-actions button:disabled{opacity:.35}
.chest-field{border-color:rgba(190,196,210,.15)}.chest-signal{border-color:rgba(91,132,255,.22)}.chest-anomaly{border-color:rgba(177,92,255,.27)}.chest-relic{border-color:rgba(255,188,84,.30)}
.roulette-panel{padding:12px;border:1px solid rgba(132,105,255,.18);border-radius:16px;background:#101725}.roulette-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:9px}.roulette-mini span{padding:8px 2px;border-radius:11px;background:#171f30;text-align:center;font-size:23px}.roulette-mini b{display:block;font-size:8px;margin-top:3px}.roulette-panel p{font-size:9px;color:#9da8bd;line-height:1.4}
.featured-list,.inventory-list{display:flex;flex-direction:column;gap:7px}.featured-gear,.inventory-item{display:grid;grid-template-columns:40px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:#121a29;color:white;text-align:left}.featured-gear>span,.inventory-item>span{font-size:26px}.featured-gear>div,.inventory-item>div{display:flex;flex-direction:column;min-width:0}.featured-gear small,.inventory-item small{font-size:7px;color:#9ba7bd}.featured-gear b,.inventory-item b{font-size:10px}.featured-gear em,.inventory-item em{font-style:normal;font-size:8px;color:#bdc6d8;margin-top:2px}.featured-gear button{border:1px solid rgba(132,105,255,.20);border-radius:10px;background:rgba(132,105,255,.10);color:#e9dcff;padding:8px;font-size:9px;font-weight:900}.inventory-item>i{font-style:normal;color:#7f8ca8}.inventory-item.equipped{box-shadow:inset 0 0 0 1px rgba(49,217,255,.30)}
.empty-inventory{padding:16px;border:1px dashed rgba(255,255,255,.09);border-radius:14px;color:#8f9ab0;font-size:10px;text-align:center}

/* Rarity */
.rarity-common{--rar:#aab1c0}.rarity-uncommon{--rar:#5fd88e}.rarity-rare{--rar:#58a8ff}.rarity-epic{--rar:#b56cff}.rarity-legendary{--rar:#ffb64f}.rarity-exclusive{--rar:#ff668d}
.gear-slot.filled,.inventory-item,.featured-gear,.gear-detail,.reward-reveal{border-color:color-mix(in srgb,var(--rar) 42%,transparent)}.rarity-label{display:inline-block;margin:3px auto 6px;padding:5px 8px;border-radius:99px;color:var(--rar);background:color-mix(in srgb,var(--rar) 10%,transparent);border:1px solid color-mix(in srgb,var(--rar) 25%,transparent);font-size:8px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}

/* Chest / reward animation */
.chest-award-stage,.chest-open-stage,.reward-reveal,.gear-detail,.roulette-stage{text-align:center;position:relative;overflow:hidden}.award-chest,.opening-chest{font-size:88px;margin:18px 0 8px;position:relative;z-index:2;filter:drop-shadow(0 12px 20px rgba(0,0,0,.35))}.award-chest{animation:chestLand .65s cubic-bezier(.2,.9,.25,1.2),chestFloat 2.6s ease-in-out .7s infinite}.award-rays,.reward-burst{position:absolute;left:50%;top:88px;width:210px;height:210px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,transparent,rgba(132,105,255,.15),transparent,rgba(49,217,255,.13),transparent);border-radius:50%;animation:spinRays 8s linear infinite}.opening-chest{animation:chestShake .18s ease-in-out infinite}.opening-chest.burst{animation:chestBurst .55s ease-out forwards}
.reward-gear-icon,.gear-detail-icon{width:104px;height:104px;margin:16px auto 7px;border-radius:30px;display:grid;place-items:center;font-size:55px;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--rar) 22%,#20283b),#101624 70%);border:1px solid color-mix(in srgb,var(--rar) 45%,transparent);box-shadow:0 0 38px color-mix(in srgb,var(--rar) 16%,transparent);animation:rewardPop .65s cubic-bezier(.2,.9,.25,1.3)}.reward-effect,.gear-effect-big{padding:11px;border-radius:13px;background:color-mix(in srgb,var(--rar) 8%,#121827);border:1px solid color-mix(in srgb,var(--rar) 22%,transparent);color:#dbe3f3;font-size:11px}.reward-power{margin:8px 0 14px;color:var(--rar);font-weight:950}.resource-reward-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin:14px 0}.resource-reward-grid span{padding:10px;border-radius:12px;background:#141c2c;border:1px solid var(--line);font-size:11px}
.chest-floor{position:absolute;left:50%;top:112px;width:190px;height:44px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(132,105,255,.25),transparent 70%);filter:blur(3px)}

/* Roulette */
.roulette-window{position:relative;overflow:hidden;height:98px;margin:18px -8px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#0c111b}.roulette-track{position:absolute;left:50%;top:8px;height:82px;display:flex;gap:6px;transform:translateX(0)}.roulette-track.spin{transform:translateX(-1403px);transition:transform 2.45s cubic-bezier(.08,.6,.08,1)}.roulette-cell{flex:0 0 70px;height:78px;border-radius:12px;background:#151d2e;border:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:30px}.roulette-cell b{font-size:7px;margin-top:2px}.roulette-marker{position:absolute;z-index:3;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--cyan),transparent 35%,transparent 65%,var(--cyan));box-shadow:0 0 11px var(--cyan)}

@keyframes chestLand{0%{transform:translateY(-70px) scale(.65);opacity:0}70%{transform:translateY(6px) scale(1.08);opacity:1}100%{transform:none}}@keyframes chestFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes spinRays{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes chestShake{0%,100%{transform:rotate(-3deg) scale(1)}50%{transform:rotate(3deg) scale(1.03)}}@keyframes chestBurst{0%{transform:scale(1)}50%{transform:scale(1.22);filter:brightness(2) drop-shadow(0 0 35px #fff)}100%{transform:scale(.6);opacity:0}}@keyframes rewardPop{0%{transform:scale(.4) rotate(-10deg);opacity:0}75%{transform:scale(1.08) rotate(2deg);opacity:1}100%{transform:none}}
@media(max-width:390px){.global-resource-hud{padding-inline:5px}.global-resource-hud span,.global-resource-hud button{font-size:9px}.gear-slots{grid-template-columns:1fr 1fr}.chest-grid{grid-template-columns:1fr 1fr}}

.guide-crate{animation:chestLand .7s cubic-bezier(.2,.9,.25,1.2),chestFloat 2.4s ease-in-out .8s infinite}
.reward-bonus-line{margin:8px 0 12px;padding:8px 10px;border-radius:11px;background:rgba(255,255,255,.04);color:#aeb9ce;font-size:9px}
.slot-help{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-top:8px}.slot-help span{padding:6px 8px;border-radius:9px;background:#101725;color:#8f9ab2;font-size:8px}
/* =========================================================
   PULSE 1.0 SCENE UI — base, map, hero, warehouse
   ========================================================= */
#view{padding:0 0 112px;max-width:760px;margin:0 auto}
.survival-nav{height:78px;padding:7px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}
.survival-nav button{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;border-radius:16px;font-size:19px}
.survival-nav button>span{height:25px;display:grid;place-items:center}
.survival-nav button small{font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.survival-nav button.active{background:linear-gradient(180deg,rgba(49,217,255,.10),rgba(132,105,255,.06));box-shadow:inset 0 1px rgba(255,255,255,.05)}
.scene-loading,.scene-error{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#8390a9}.scene-loading i{width:38px;height:38px;border-radius:50%;border:2px solid #2a3448;border-top-color:var(--cyan);animation:orbitSpin .9s linear infinite}

/* BASE SCENE */
.base-game-screen{position:relative;min-height:calc(100dvh - 190px);overflow:hidden;background:linear-gradient(180deg,#0c1420 0,#121b22 38%,#111713 70%,#080c0b 100%)}
.base-atmosphere{position:absolute;inset:0 0 auto;height:45%;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 77% 25%,rgba(255,111,55,.20),transparent 21%),linear-gradient(180deg,#10182a 0%,#1b2834 60%,rgba(27,40,52,0) 100%)}
.base-atmosphere:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 22%,rgba(255,255,255,.55) 0 1px,transparent 1.3px),radial-gradient(circle at 58% 18%,rgba(214,239,255,.38) 0 1px,transparent 1.2px),radial-gradient(circle at 83% 41%,rgba(255,255,255,.36) 0 1px,transparent 1.2px);background-size:145px 151px,201px 213px,237px 249px;opacity:.44}
.distant-crater{position:absolute;right:-34px;bottom:-34px;width:250px;height:115px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,132,58,.66) 0 5%,rgba(255,87,49,.17) 22%,rgba(40,28,31,.65) 48%,transparent 69%);transform:rotate(-6deg);filter:drop-shadow(0 0 28px rgba(255,112,52,.24))}
.distant-crater i{position:absolute;inset:27% 22%;border-radius:50%;border:1px solid rgba(255,182,103,.32);box-shadow:0 0 28px rgba(255,111,55,.20);animation:impactCrater 3.4s ease-in-out infinite}.distant-crater b{position:absolute;left:45%;top:-100px;width:3px;height:115px;background:linear-gradient(180deg,transparent,#ffaf66);transform:rotate(19deg);box-shadow:0 0 12px #ff8f50;opacity:.7}
.meteor-cloud{position:absolute;border-radius:50%;filter:blur(18px);opacity:.3;background:#596476}.cloud-a{width:210px;height:42px;left:-45px;bottom:32px;animation:cloudMove 16s ease-in-out infinite}.cloud-b{width:170px;height:34px;left:40%;bottom:68px;animation:cloudMove 20s ease-in-out infinite reverse}.signal-scan{position:absolute;right:56px;bottom:6px;width:120px;height:120px;border:1px solid rgba(49,217,255,.10);border-radius:50%;animation:signalRing 4s ease-out infinite}
.base-scene-header{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:13px 15px 2px}.base-scene-header>div{display:flex;flex-direction:column}.base-scene-header span{font-size:7px;color:#8ea0ba;letter-spacing:.14em;font-weight:900}.base-scene-header h1{margin:1px 0;font-size:20px;letter-spacing:-.025em}.base-scene-header>button{display:grid;grid-template-columns:8px auto;gap:0 5px;align-items:center;padding:7px 10px;border:1px solid rgba(255,255,255,.08);border-radius:14px;background:rgba(10,15,24,.58);backdrop-filter:blur(8px);color:white}.base-scene-header>button i{width:6px;height:6px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good)}.base-scene-header>button b{font-size:11px}.base-scene-header>button small{grid-column:1/-1;font-size:6px;color:#78859e;text-transform:uppercase}

.camp-scene{position:relative;height:min(62vh,520px);min-height:440px;margin-top:-2px;overflow:hidden;perspective:800px}
.camp-ground{position:absolute;left:50%;top:49%;width:390px;height:285px;transform:translate(-50%,-50%) rotateX(58deg) rotateZ(-5deg);border-radius:46% 44% 48% 42%;background:
 radial-gradient(circle at 40% 38%,rgba(53,88,58,.7),transparent 18%),
 radial-gradient(circle at 67% 64%,rgba(62,75,48,.72),transparent 19%),
 repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.025) 0 2px,transparent 3px 13px),
 linear-gradient(145deg,#314033,#1e2b24 52%,#18221d);
 border:2px solid rgba(126,149,117,.13);box-shadow:0 42px 80px rgba(0,0,0,.48),inset 0 0 55px rgba(0,0,0,.35)}
.camp-ground:after{content:"";position:absolute;inset:9%;border:1px dashed rgba(205,211,176,.08);border-radius:50%}
.camp-ground .road{position:absolute;left:50%;top:50%;height:16px;border-radius:50%;background:linear-gradient(180deg,#665a45,#4c4436);box-shadow:inset 0 2px 5px rgba(0,0,0,.25)}.camp-ground .r1{width:280px;transform:translate(-50%,-50%) rotate(8deg)}.camp-ground .r2{width:210px;transform:translate(-50%,-50%) rotate(78deg)}.camp-ground .r3{width:180px;transform:translate(-50%,-50%) rotate(-42deg)}
.camp-fog{position:absolute;pointer-events:none;border-radius:50%;filter:blur(22px);background:rgba(143,156,158,.14)}.fog-one{width:230px;height:42px;left:-80px;top:37%;animation:cloudMove 12s ease-in-out infinite}.fog-two{width:240px;height:48px;right:-90px;bottom:20%;animation:cloudMove 15s ease-in-out infinite reverse}

.camp-building{position:absolute;width:94px;height:96px;border:0;background:none;color:white;padding:0;z-index:4;filter:drop-shadow(0 13px 10px rgba(0,0,0,.38));transition:transform .14s ease,filter .2s ease}.camp-building:active{transform:scale(.94)!important}.camp-building .structure{position:absolute;left:50%;top:7px;width:55px;height:50px;transform:translateX(-50%)}.camp-building .body{position:absolute;left:8px;right:8px;bottom:0;height:35px;background:linear-gradient(135deg,#46525c,#242e39);clip-path:polygon(9% 0,91% 0,100% 100%,0 100%);border-bottom:3px solid #151b21}.camp-building .roof{position:absolute;left:4px;right:4px;top:0;height:17px;background:linear-gradient(180deg,#66727d,#343e48);clip-path:polygon(16% 0,84% 0,100% 100%,0 100%);z-index:2}.camp-building .detail{position:absolute;z-index:3}.camp-building .d1{width:13px;height:11px;left:21px;bottom:8px;border:2px solid rgba(49,217,255,.48);background:#152532}.camp-building .d2{width:4px;height:5px;right:12px;bottom:11px;background:#ffb258;box-shadow:0 0 8px #ff9d54}
.camp-building .building-caption{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;text-align:center;text-shadow:0 2px 4px #000}.camp-building .building-caption b{font-size:9px;letter-spacing:.03em}.camp-building .building-caption small{font-size:7px;color:#aeb8c6;margin-top:1px}.camp-building>em{position:absolute;right:8px;top:2px;padding:2px 4px;border-radius:5px;background:#141b27;border:1px solid rgba(255,255,255,.12);font-size:7px;font-style:normal}.camp-building>strong{position:absolute;right:5px;top:0;width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:#ff684f;color:white;font-size:10px;box-shadow:0 0 14px rgba(255,104,79,.6);animation:liveBlink 1.4s ease-in-out infinite}.camp-building .building-status{position:absolute;left:50%;top:58px;transform:translateX(-50%);font-size:7px;color:#d0bcff;background:#201a32;border-radius:5px;padding:2px 4px;white-space:nowrap}
.camp-building.action-ready .building-beacon{position:absolute;left:50%;top:-3px;width:65px;height:65px;transform:translateX(-50%);border-radius:50%;border:1px solid rgba(49,217,255,.34);box-shadow:0 0 26px rgba(49,217,255,.16);animation:targetRing 1.7s ease-out infinite}.camp-building.action-ready{filter:drop-shadow(0 13px 10px rgba(0,0,0,.38)) drop-shadow(0 0 10px rgba(49,217,255,.32))}
.building-hq{left:50%;top:37%;transform:translate(-50%,-50%) scale(1.18);z-index:7}.building-hq .body{background:linear-gradient(135deg,#515d6b,#27313c)}.building-hq .roof{background:linear-gradient(180deg,#84909b,#3e4a55)}
.building-lab{left:16%;top:30%}.building-lab .body{background:linear-gradient(135deg,#294858,#1b2937)}.building-lab .roof{background:linear-gradient(180deg,#4a8194,#244454)}.building-lab .d1{border-radius:50%;border-color:#31d9ff;box-shadow:0 0 10px rgba(49,217,255,.35)}
.building-radio{right:12%;top:24%}.building-radio .roof:after{content:"";position:absolute;left:27px;top:-36px;width:3px;height:38px;background:#7f8d96}.building-radio .roof:before{content:"";position:absolute;left:13px;top:-31px;width:31px;height:20px;border:2px solid #8796a0;border-color:#8796a0 transparent transparent;border-radius:50%;transform:rotate(-12deg)}
.building-storage{right:5%;top:51%}.building-storage .body{background:linear-gradient(135deg,#5a4b36,#2f2a24)}.building-storage .roof{background:linear-gradient(180deg,#7c6951,#4c4033)}
.building-training{left:3%;top:53%}.building-training .body{background:linear-gradient(135deg,#4e3843,#2c222b)}.building-training .roof{background:linear-gradient(180deg,#805263,#4d3340)}
.building-generator{left:23%;bottom:9%}.building-generator .structure:after{content:"";position:absolute;left:19px;top:20px;width:17px;height:17px;border-radius:50%;background:#ffb45c;box-shadow:0 0 18px rgba(255,180,92,.6);z-index:4;animation:sampleBreath 2s ease-in-out infinite}.building-generator .body{background:linear-gradient(135deg,#544d3b,#302d27)}
.building-workshop{right:22%;bottom:7%}.building-workshop .body{background:linear-gradient(135deg,#4a5148,#292f2b)}.building-workshop .roof{background:linear-gradient(180deg,#677063,#3f493f)}
.building-gate{left:50%;bottom:-1%;transform:translateX(-50%);z-index:8}.building-gate .body{height:26px;background:linear-gradient(135deg,#394750,#20282e)}.building-gate .roof{height:11px;background:#65747b}.building-gate .structure:before,.building-gate .structure:after{content:"";position:absolute;bottom:0;width:7px;height:48px;background:#46545c;z-index:3}.building-gate .structure:before{left:5px}.building-gate .structure:after{right:5px}

.camp-ambient{position:absolute;z-index:6;pointer-events:none}.camp-fire{left:42%;top:57%;width:26px;height:25px}.camp-fire i{position:absolute;left:8px;bottom:5px;width:10px;height:14px;border-radius:50% 50% 45% 45%;background:linear-gradient(#ffd26b,#ff6a37);filter:drop-shadow(0 0 8px #ff7c3b);animation:fireFlicker .7s ease-in-out infinite alternate}.camp-fire b{position:absolute;left:2px;right:2px;bottom:0;height:4px;border-radius:50%;background:#442f24}.antenna-pulse{right:23%;top:17%;width:80px;height:80px;border:1px solid rgba(49,217,255,.08);border-radius:50%;animation:signalRing 3s ease-out infinite}

.scene-next-objective{position:relative;z-index:10;margin:-12px 12px 8px;width:calc(100% - 24px);min-height:62px;padding:10px 12px;display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center;text-align:left;border:1px solid rgba(49,217,255,.22);border-radius:16px;background:linear-gradient(110deg,rgba(16,31,45,.96),rgba(15,21,34,.97));color:white;box-shadow:0 13px 30px rgba(0,0,0,.24)}.scene-next-objective>span{grid-column:1/-1;font-size:7px;color:var(--cyan);letter-spacing:.13em;font-weight:950}.scene-next-objective>div{display:flex;flex-direction:column}.scene-next-objective b{font-size:12px}.scene-next-objective small{font-size:8px;color:#9cabc0;margin-top:2px}.scene-next-objective>i{font-style:normal;color:var(--cyan);font-size:22px}
.base-vitals{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:0 12px 9px}.base-vitals>span{min-height:48px;border-top:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:auto 1fr;align-content:center;gap:1px 4px}.base-vitals i{font-style:normal;font-size:11px}.base-vitals b{font-size:10px}.base-vitals small{grid-column:1/-1;font-size:6px;color:#6f7c91;text-transform:uppercase}.base-vitals em{grid-column:1/-1;height:3px;background:#1f2a34;border-radius:99px;overflow:hidden}.base-vitals u{display:block;height:100%;background:linear-gradient(90deg,#ffd05b,#5be8ff);text-decoration:none}
.scene-alert{margin:0 12px 9px;width:calc(100% - 24px);padding:10px;display:grid;grid-template-columns:32px 1fr auto;gap:8px;align-items:center;text-align:left;border:1px solid rgba(255,93,75,.28);border-radius:14px;background:rgba(98,29,32,.18);color:white}.scene-alert>i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#ff6252;color:white;font-style:normal;font-weight:950;box-shadow:0 0 14px rgba(255,98,82,.35)}.scene-alert>div{display:flex;flex-direction:column}.scene-alert b{font-size:10px}.scene-alert small{font-size:7px;color:#c5a8aa}.scene-alert>span{font-size:18px;color:#ff8b80}
.scene-story-strip{margin:0 12px 12px;padding:10px;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;border:1px solid rgba(132,105,255,.16);border-radius:14px;background:linear-gradient(120deg,rgba(30,24,55,.65),rgba(11,16,27,.88))}.story-signal{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#171e31}.story-signal span{font-size:19px}.story-signal i{position:absolute;inset:-4px;border:1px solid rgba(49,217,255,.24);border-radius:50%;animation:signalRing 2.4s ease-out infinite}.scene-story-strip>div:nth-child(2){display:flex;flex-direction:column;min-width:0}.scene-story-strip>div:nth-child(2)>span{font-size:6px;color:#9787d0;letter-spacing:.08em}.scene-story-strip b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-story-strip small{font-size:7px;color:#8490a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scene-story-strip>button{border:0;border-radius:10px;background:#202942;color:#dce6ff;padding:8px;font-size:8px;font-weight:850}

/* MAP SCENE */
.map-game-screen{position:relative;min-height:calc(100dvh - 190px);overflow:hidden;background:linear-gradient(180deg,#111b26,#121c1b 38%,#0a100e 100%)}
.map-sky{position:absolute;inset:0 0 auto;height:38%;pointer-events:none;background:radial-gradient(circle at 78% 19%,rgba(255,116,54,.22),transparent 22%),linear-gradient(180deg,#152336,rgba(21,35,54,0))}.map-crater-glow{position:absolute;right:-60px;top:65px;width:230px;height:90px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,116,54,.48),rgba(126,47,33,.12) 40%,transparent 70%);transform:rotate(-8deg)}.map-scan-ring{position:absolute;right:5%;top:18%;width:90px;height:90px;border:1px solid rgba(49,217,255,.16);border-radius:50%;animation:signalRing 3.8s ease-out infinite}
.map-head{position:relative;z-index:3;padding:13px 15px 5px;display:flex;justify-content:space-between}.map-head span{font-size:7px;color:#8ea0ba;letter-spacing:.13em;font-weight:900}.map-head h1{margin:2px 0;font-size:22px}.map-head button{width:40px;height:40px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(10,15,24,.52);color:white;font-size:18px}
.map-status-line{position:relative;z-index:3;display:flex;gap:12px;padding:0 15px 8px;color:#aab4c5;font-size:8px}.map-status-line span:first-child i{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good);margin-right:4px}
.map-world-wrap{position:relative;height:455px;overflow:hidden;margin-top:-12px}.map-world-grid{position:absolute;left:50%;top:47%;display:grid;grid-template-columns:repeat(7,43px);grid-template-rows:repeat(7,43px);gap:4px;transform:translate(-50%,-50%) rotate(45deg) scale(.93);filter:drop-shadow(0 30px 25px rgba(0,0,0,.40))}
.map-world-cell{position:relative;border:1px solid rgba(255,255,255,.08);border-radius:5px;background:#1a251d;overflow:hidden;min-height:0;padding:0;color:white}.map-world-cell>span{position:absolute;inset:0;display:grid;place-items:center;transform:rotate(-45deg);font-size:13px}.map-world-cell>span>b{font-size:14px}.map-world-cell>span>small{position:absolute;right:3px;top:3px;font-size:6px;color:#aee7bd}.map-world-cell.fog{background:linear-gradient(145deg,#151b20,#0b1014);opacity:.62;border-color:rgba(126,139,151,.07)}.map-world-cell.fog:after{content:"";position:absolute;inset:-12px;background:radial-gradient(circle,rgba(151,164,168,.17),transparent 60%);filter:blur(7px)}.map-world-cell.revealed{border-color:rgba(49,217,255,.55);box-shadow:inset 0 0 15px rgba(49,217,255,.10),0 0 10px rgba(49,217,255,.10);animation:mapAvailable 1.7s ease-in-out infinite}.map-world-cell.cleared{opacity:1}.map-world-cell.terrain-forest{background:linear-gradient(145deg,#28452d,#16281b)}.map-world-cell.terrain-meadow{background:linear-gradient(145deg,#536138,#2a361f)}.map-world-cell.terrain-rock{background:linear-gradient(145deg,#4c5354,#272e31)}.map-world-cell.terrain-ruins{background:linear-gradient(145deg,#665247,#342c29)}.map-world-cell.has-building{background:linear-gradient(145deg,#355065,#1d303e);box-shadow:inset 0 0 12px rgba(49,217,255,.08)}
.map-fog-overlay{position:absolute;pointer-events:none;left:-12%;right:-12%;bottom:-20px;height:95px;background:linear-gradient(180deg,transparent,rgba(96,112,111,.16),rgba(17,25,24,.65));filter:blur(9px);animation:cloudMove 13s ease-in-out infinite}
.map-legend{display:flex;justify-content:center;gap:10px;margin-top:-35px;padding:0 12px;color:#8190a3;font-size:7px}.map-legend span{display:flex;gap:4px;align-items:center}.map-legend .l{width:7px;height:7px;border-radius:2px}.map-legend .forest{background:#315c38}.map-legend .ruins{background:#76584b}.map-legend .rock{background:#697071}.map-legend .available{border:1px solid var(--cyan);background:#172a32}
.map-bottom-console{margin:10px 12px;padding:11px 12px;border-left:2px solid var(--cyan);background:linear-gradient(90deg,rgba(19,37,47,.84),rgba(12,18,28,.6));border-radius:0 13px 13px 0}.map-bottom-console>div{display:flex;flex-direction:column}.map-bottom-console span{font-size:7px;color:var(--cyan);letter-spacing:.1em;font-weight:900}.map-bottom-console b{font-size:11px;margin:2px 0}.map-bottom-console small{font-size:8px;color:#8d9aad;line-height:1.4}

/* HERO SCENE */
.hero-game-screen{position:relative;min-height:calc(100dvh - 190px);overflow:hidden;background:radial-gradient(circle at 50% 35%,rgba(45,77,94,.28),transparent 26%),linear-gradient(180deg,#111b27,#0a0f18 75%)}
.hero-game-screen:before{content:"";position:absolute;left:50%;top:90px;width:440px;height:440px;transform:translateX(-50%);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 52px,rgba(49,217,255,.045) 53px 54px);pointer-events:none}
.hero-head{position:relative;z-index:3;display:flex;justify-content:space-between;padding:13px 15px}.hero-head span{font-size:7px;color:#8da1ba;letter-spacing:.12em;font-weight:900}.hero-head h1{margin:2px 0;font-size:22px}.hero-head button{align-self:center;border:1px solid rgba(49,217,255,.15);border-radius:11px;background:#132132;color:#bfefff;padding:8px 10px;font-size:8px;font-weight:850}
.hero-stage{position:relative;height:430px;margin-top:-18px}.hero-radar{position:absolute;left:50%;top:50%;width:260px;height:260px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(49,217,255,.11);background:conic-gradient(from 0deg,rgba(49,217,255,.055),transparent 18% 100%);animation:orbitSpin 12s linear infinite}.hero-radar:before,.hero-radar:after{content:"";position:absolute;border:1px solid rgba(49,217,255,.07);border-radius:50%}.hero-radar:before{inset:37px}.hero-radar:after{inset:78px}.operator-shadow{position:absolute;left:50%;bottom:39px;width:140px;height:28px;transform:translateX(-50%);border-radius:50%;background:rgba(0,0,0,.48);filter:blur(7px)}
.operator-model{position:absolute;left:50%;top:54px;width:115px;height:315px;transform:translateX(-50%);filter:drop-shadow(0 18px 14px rgba(0,0,0,.42))}.operator-head{position:absolute;left:35px;top:0;width:47px;height:52px;border-radius:45% 45% 38% 38%;background:linear-gradient(145deg,#526674,#202e38);border:2px solid #687c88;box-shadow:inset 0 -13px 18px rgba(0,0,0,.28)}.operator-head:after{content:"";position:absolute;left:7px;right:7px;top:17px;height:13px;border-radius:8px;background:linear-gradient(90deg,#1b3441,#54c8df,#1c3949);box-shadow:0 0 10px rgba(49,217,255,.30)}.operator-torso{position:absolute;left:25px;top:49px;width:68px;height:112px;border-radius:18px 18px 10px 10px;background:linear-gradient(145deg,#455865,#1d2932 64%);clip-path:polygon(18% 0,82% 0,100% 28%,86% 100%,14% 100%,0 28%)}.operator-torso:after{content:"";position:absolute;left:26px;top:22px;width:17px;height:28px;border:1px solid rgba(49,217,255,.28);border-radius:5px;background:#14222d}.operator-arm{position:absolute;top:62px;width:24px;height:115px;background:linear-gradient(#40535f,#1e2930);border-radius:14px}.operator-arm.a1{left:10px;transform:rotate(8deg)}.operator-arm.a2{right:7px;transform:rotate(-8deg)}.operator-leg{position:absolute;top:151px;width:29px;height:151px;background:linear-gradient(#344751,#18242a);border-radius:5px 5px 13px 13px}.operator-leg.l1{left:29px;transform:rotate(2deg)}.operator-leg.l2{right:26px;transform:rotate(-2deg)}.operator-model>b{position:absolute;left:50%;top:86px;transform:translateX(-50%);z-index:4;color:#7bdff1;font-size:7px;letter-spacing:.1em}
.hero-slot{position:absolute;width:78px;min-height:66px;border:1px solid rgba(118,139,169,.13);border-radius:15px;background:linear-gradient(145deg,rgba(21,31,45,.95),rgba(10,16,25,.97));color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;box-shadow:0 10px 22px rgba(0,0,0,.16)}.hero-slot>span{font-size:24px}.hero-slot>small{font-size:6px;color:#8c9ab0;text-transform:uppercase}.hero-slot>i{position:absolute;right:4px;top:4px;font-style:normal;font-size:6px;color:var(--rar)}.hero-slot.filled{border-color:color-mix(in srgb,var(--rar) 42%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--rar) 10%,transparent)}
.hero-slot.slot-1{left:10px;top:46px}.hero-slot.slot-2{right:10px;top:46px}.hero-slot.slot-3{left:4px;top:131px}.hero-slot.slot-4{right:4px;top:131px}.hero-slot.slot-5{left:8px;top:216px}.hero-slot.slot-6{right:8px;top:216px}.hero-slot.slot-7{left:30px;top:304px}.hero-slot.slot-8{right:30px;top:304px}
.hero-power{position:relative;margin:-25px auto 5px;width:160px;padding:7px 10px;display:flex;justify-content:center;align-items:center;gap:8px;border-radius:99px;background:#111a29;border:1px solid rgba(49,217,255,.14)}.hero-power span{font-size:6px;color:#7c899d;letter-spacing:.08em}.hero-power b{font-size:15px;color:#c5f5ff}
.hero-effects{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:8px 12px}.hero-effects span{display:flex;flex-direction:column;align-items:center;padding:7px 2px;border-top:1px solid rgba(255,255,255,.07)}.hero-effects i{font-style:normal;font-size:13px}.hero-effects b{font-size:9px}.hero-effects small{font-size:5px;color:#718096;text-transform:uppercase}
.hero-inventory-head,.warehouse-section-title{display:flex;justify-content:space-between;align-items:center;padding:7px 13px}.hero-inventory-head>span,.warehouse-section-title>span{font-size:8px;color:#8998ae;font-weight:900;letter-spacing:.12em}.hero-inventory-head button,.warehouse-section-title button{border:0;background:transparent;color:var(--cyan);font-size:7px}
.hero-inventory-strip{display:flex;gap:6px;overflow:auto;padding:0 12px 8px;scrollbar-width:none}.hero-inventory-item{flex:0 0 74px;height:78px;border:1px solid color-mix(in srgb,var(--rar) 35%,transparent);border-radius:13px;background:#111927;color:white;display:flex;flex-direction:column;justify-content:center;align-items:center}.hero-inventory-item span{font-size:25px}.hero-inventory-item b{width:65px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:7px;margin-top:3px}.hero-inventory-item small{font-size:6px;color:var(--rar)}.hero-empty-gear{font-size:8px;color:#78869a;padding:15px}.hero-profile-button{margin:4px 12px;width:calc(100% - 24px);height:39px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#111827;color:#93a0b4;font-size:8px}

/* WAREHOUSE SCENE */
.warehouse-screen{position:relative;min-height:calc(100dvh - 190px);overflow:hidden;background:linear-gradient(180deg,#161820,#10131a 42%,#090b10)}
.warehouse-bg{position:absolute;inset:0 0 auto;height:280px;overflow:hidden;background:linear-gradient(180deg,#252b34,#12171e)}.warehouse-bg:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 49px,rgba(255,255,255,.025) 50px 51px),repeating-linear-gradient(0deg,transparent 0 44px,rgba(255,255,255,.022) 45px 46px)}.warehouse-door{position:absolute;left:50%;bottom:-65px;width:250px;height:230px;transform:translateX(-50%);border:5px solid #313944;border-radius:120px 120px 0 0;background:radial-gradient(circle at 50% 30%,rgba(132,105,255,.12),transparent 40%),linear-gradient(180deg,#171e27,#0d1117);box-shadow:inset 0 0 50px rgba(0,0,0,.6)}.warehouse-light{position:absolute;top:-20px;width:110px;height:200px;clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(126,174,200,.20),transparent);filter:blur(2px)}.warehouse-light.l1{left:4%;transform:rotate(8deg)}.warehouse-light.l2{right:4%;transform:rotate(-8deg)}
.warehouse-head{position:relative;z-index:3;display:flex;justify-content:space-between;padding:14px 14px 5px}.warehouse-head span{font-size:7px;color:#9ca7b8;letter-spacing:.12em;font-weight:900}.warehouse-head h1{font-size:21px;margin:2px 0}.warehouse-wallet{height:36px;padding:0 11px;border:1px solid rgba(132,105,255,.22);border-radius:12px;background:#1b1728;color:#d8c4ff;display:flex;align-items:center;gap:5px;font-size:11px}.warehouse-wallet b{font-size:13px}
.roulette-machine{position:relative;z-index:3;margin:8px 12px 16px;padding:12px;display:grid;grid-template-columns:78px 1fr auto;gap:10px;align-items:center;border:1px solid rgba(132,105,255,.21);border-radius:17px;background:linear-gradient(135deg,rgba(28,24,43,.94),rgba(14,17,24,.96));box-shadow:0 16px 35px rgba(0,0,0,.24)}.roulette-core{width:72px;height:72px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;background:radial-gradient(circle,#30275a,#18172d 60%,#0c0f17);border:1px solid rgba(132,105,255,.36);position:relative;box-shadow:0 0 20px rgba(132,105,255,.13)}.roulette-core i{position:absolute;inset:7px;border:1px dashed rgba(49,217,255,.26);border-radius:50%;animation:orbitSpin 8s linear infinite}.roulette-core b{font-size:7px;letter-spacing:.08em}.roulette-core small{font-size:5px;color:#8e83ad}.roulette-machine>div:nth-child(2){display:flex;flex-direction:column}.roulette-machine>div:nth-child(2)>span{font-size:10px;font-weight:900}.roulette-machine>div:nth-child(2)>b{font-size:8px;color:#b8a8df;margin:2px 0}.roulette-machine>div:nth-child(2)>small{font-size:6px;color:#7e899b;line-height:1.3}.roulette-machine>button{border:1px solid rgba(132,105,255,.25);border-radius:11px;background:linear-gradient(135deg,#6f5aff,#407cff);color:white;padding:10px 8px;font-size:8px;font-weight:900}
.warehouse-chest-row{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:0 8px 12px}.warehouse-chest{min-width:0;padding:0 2px 8px;border:1px solid rgba(255,255,255,.07);border-radius:14px;background:linear-gradient(180deg,#1b222d,#11161f);color:white}.chest-pedestal{position:relative;height:78px;display:grid;place-items:center}.chest-pedestal>span{font-size:40px;z-index:2;filter:drop-shadow(0 8px 10px rgba(0,0,0,.4));transition:transform .15s}.warehouse-chest:active .chest-pedestal>span{transform:scale(.91)}.chest-pedestal>i{position:absolute;bottom:11px;width:65px;height:17px;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--rar,#8b96a7) 23%,transparent),transparent 68%)}.warehouse-chest>b{font-size:7px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.warehouse-chest>small{display:block;font-size:6px;color:#a3adc0;margin:2px 0}.warehouse-chest>strong{display:block;font-size:5px;color:#68758a;font-weight:500;line-height:1.25;height:24px;overflow:hidden}
.warehouse-chest.chest-field{--rar:#aab1c0}.warehouse-chest.chest-signal{--rar:#58a8ff}.warehouse-chest.chest-anomaly{--rar:#b56cff}.warehouse-chest.chest-relic{--rar:#ffb64f}.warehouse-chest{box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--rar) 38%,transparent)}
.warehouse-offers{display:flex;gap:6px;overflow:auto;padding:0 9px 12px;scrollbar-width:none}.warehouse-offer{flex:0 0 145px;min-height:65px;padding:8px;display:grid;grid-template-columns:34px 1fr;gap:7px;border:1px solid color-mix(in srgb,var(--rar) 32%,transparent);border-radius:13px;background:linear-gradient(145deg,#171e2a,#0e131c);color:white;text-align:left}.warehouse-offer>span{font-size:26px}.warehouse-offer>div{display:flex;flex-direction:column}.warehouse-offer small{font-size:6px;color:var(--rar)}.warehouse-offer b{font-size:8px}.warehouse-offer em{font-style:normal;font-size:6px;color:#8b96a8;margin-top:2px}
.warehouse-inventory{display:flex;gap:6px;overflow:auto;padding:0 9px 15px}.warehouse-item{position:relative;flex:0 0 58px;height:60px;border:1px solid color-mix(in srgb,var(--rar) 35%,transparent);border-radius:12px;background:#111721;color:white}.warehouse-item span{font-size:24px}.warehouse-item b{position:absolute;right:3px;bottom:3px;font-size:6px;color:var(--rar)}

/* Scene dialogs */
.event-fullscreen{text-align:center}.event-danger-mark{width:80px;height:80px;margin:10px auto 12px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(255,93,75,.25),rgba(255,93,75,.05));border:1px solid rgba(255,93,75,.35);color:#ff7669;font-size:38px;font-weight:950;box-shadow:0 0 35px rgba(255,93,75,.12);animation:sampleBreath 2s ease-in-out infinite}
.command-center-visual{height:90px;border-radius:18px;margin:0 0 12px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(circle,rgba(49,217,255,.16),transparent 42%),linear-gradient(145deg,#152536,#0d131e)}.command-center-visual i{position:absolute;width:150px;height:150px;border:1px solid rgba(49,217,255,.10);border-radius:50%;animation:orbitSpin 10s linear infinite}.command-center-visual b{font-size:20px;letter-spacing:.18em;color:#bceefa}.command-missions>div{display:grid;grid-template-columns:28px 1fr auto;gap:7px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.command-missions>div>span{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:#182131}.command-missions>div>div{display:flex;flex-direction:column}.command-missions b{font-size:9px}.command-missions small{font-size:7px;color:#8590a3}.command-missions button{border:0;border-radius:8px;background:#273151;color:#dce5ff;padding:6px;font-size:7px}.chapter-console{margin:12px 0;padding:10px;border-left:2px solid #7b6cff;background:#131827;display:flex;flex-direction:column}.chapter-console>span{font-size:6px;color:#9184cb}.chapter-console>b{font-size:10px;margin:2px 0 5px}.chapter-console>small{font-size:7px;color:#8f9aac;padding:2px 0}.chapter-console>button{margin-top:7px;border:0;border-radius:8px;background:#6a5eff;color:white;padding:7px;font-size:8px}
.lab-view{text-align:center}.lab-machine{position:relative;width:160px;height:160px;margin:5px auto 8px;display:grid;place-items:center}.lab-ring{position:absolute;inset:14px;border:1px solid rgba(49,217,255,.23);border-radius:50%;background:conic-gradient(from 0deg,rgba(49,217,255,.10),transparent 20% 100%);animation:orbitSpin 5s linear infinite}.lab-ring:after{content:"";position:absolute;inset:25px;border:1px dashed rgba(132,105,255,.22);border-radius:50%}.lab-sample{position:relative;z-index:2;font-size:58px;color:#98efff;filter:drop-shadow(0 0 17px rgba(49,217,255,.45));animation:fragmentFloat 3s ease-in-out infinite}.lab-machine>i{position:absolute;left:21px;right:21px;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 10px var(--cyan);animation:scannerLine 2s ease-in-out infinite}.lab-progress{text-align:left;padding:10px;margin:10px 0;border-radius:12px;background:#101827}.lab-progress span{font-size:7px;color:#8391a5}.lab-progress b{float:right;font-size:8px}.lab-progress>i{display:block;clear:both;height:5px;margin-top:6px;background:#222b3c;border-radius:99px}.lab-progress em{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--cyan));border-radius:99px}.lab-clue{text-align:left;padding:9px 10px;margin-bottom:10px;border-left:2px solid var(--accent);background:rgba(132,105,255,.06);display:flex;flex-direction:column}.lab-clue span{font-size:6px;color:#9c8fe0}.lab-clue b{font-size:9px}.lab-clue small{font-size:7px;color:#8e9aad;line-height:1.4}

/* animation */
@keyframes cloudMove{0%,100%{transform:translateX(-8px)}50%{transform:translateX(32px)}}@keyframes fireFlicker{from{transform:scale(.9) rotate(-3deg)}to{transform:scale(1.08) rotate(3deg)}}@keyframes mapAvailable{0%,100%{filter:brightness(1)}50%{filter:brightness(1.28)}} 
@media(max-width:390px){
  .camp-scene{height:445px;min-height:420px}.camp-ground{width:350px;height:260px}.camp-building{width:84px;height:88px}.camp-building .structure{transform:translateX(-50%) scale(.91)}
  .building-lab{left:12%}.building-radio{right:8%}.building-storage{right:1%}.building-training{left:0}.building-generator{left:19%}.building-workshop{right:18%}
  .map-world-grid{grid-template-columns:repeat(7,40px);grid-template-rows:repeat(7,40px);gap:4px}
  .hero-slot{width:69px}.hero-slot.slot-7{left:18px}.hero-slot.slot-8{right:18px}
  .roulette-machine{grid-template-columns:68px 1fr}.roulette-machine>button{grid-column:1/-1}.warehouse-chest-row{gap:3px;padding-inline:5px}.warehouse-chest{padding-inline:1px}
}
@media(min-width:600px){.camp-scene{height:540px}.camp-ground{width:480px;height:340px}.camp-building{transform:scale(1.08)}.building-hq{transform:translate(-50%,-50%) scale(1.28)}.map-world-grid{grid-template-columns:repeat(7,52px);grid-template-rows:repeat(7,52px)}}
/* Continuous resource rail — not individual cards */
.global-resource-hud{grid-template-columns:repeat(5,1fr);gap:0;padding:5px 8px;background:linear-gradient(180deg,#0b111a,#0a0f17);border-bottom:1px solid rgba(49,217,255,.08)}
.global-resource-hud span,.global-resource-hud button{height:33px;border:0;border-radius:0;background:transparent;position:relative}
.global-resource-hud span:not(:last-child):after,.global-resource-hud button:after{content:"";position:absolute;right:0;top:8px;bottom:8px;width:1px;background:rgba(255,255,255,.07)}
.global-resource-hud button{background:linear-gradient(90deg,transparent,rgba(132,105,255,.07))}
.global-resource-hud button:after{display:none}
.global-resource-hud b{font-size:10px}.global-resource-hud{box-shadow:0 7px 20px rgba(0,0,0,.18)}

/* TRAINING HALL */
.training-screen{position:relative;min-height:calc(100dvh - 190px);overflow:hidden;background:linear-gradient(180deg,#101824,#0b1018 70%)}
.training-bg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.training-bg:before{content:"";position:absolute;left:50%;top:175px;width:520px;height:440px;transform:translateX(-50%) rotateX(62deg);background:repeating-linear-gradient(90deg,rgba(49,217,255,.025) 0 1px,transparent 1px 36px),repeating-linear-gradient(0deg,rgba(49,217,255,.025) 0 1px,transparent 1px 36px);border-radius:50%;box-shadow:inset 0 0 90px #080c12}.training-light{position:absolute;left:50%;top:-80px;width:220px;height:360px;transform:translateX(-50%);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);background:linear-gradient(180deg,rgba(76,173,210,.15),transparent);filter:blur(8px)}
.training-head{position:relative;z-index:3;padding:13px 15px;display:flex;justify-content:space-between}.training-head span{font-size:7px;color:#8ea0b6;letter-spacing:.13em;font-weight:900}.training-head h1{margin:2px 0;font-size:21px}.training-head button{width:40px;height:40px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#111a27;color:white}
.training-mira{position:relative;z-index:3;margin:0 12px 8px;padding:9px 10px;display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;border-left:2px solid var(--cyan);background:rgba(15,31,42,.78)}.training-mira>i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#193145;color:#a8efff;font-style:normal;font-weight:950}.training-mira>div{display:flex;flex-direction:column}.training-mira span{font-size:6px;color:var(--cyan);letter-spacing:.09em}.training-mira b{font-size:9px}.training-mira small{font-size:7px;color:#8997aa}
.training-hall{position:relative;height:510px;margin-top:-4px}.training-core{position:absolute;left:50%;top:202px;width:130px;height:130px;transform:translate(-50%,-50%);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,#1f3550,#101927 65%,#090e15);border:1px solid rgba(49,217,255,.24);box-shadow:0 0 35px rgba(49,217,255,.08),inset 0 0 22px rgba(49,217,255,.06);z-index:4}.training-core .core-ring{position:absolute;inset:-13px;border:1px dashed rgba(49,217,255,.16);border-radius:50%;animation:orbitSpin 9s linear infinite}.training-core>span{font-size:30px;font-weight:950;color:#d9f7ff}.training-core>b{font-size:7px;letter-spacing:.09em}.training-core>small{font-size:6px;color:#73849b;margin-top:2px}.training-core>button{margin-top:7px;border:0;border-radius:9px;background:linear-gradient(135deg,#715eff,#3e91ff);color:white;padding:7px 10px;font-size:7px;font-weight:900}
.training-station{position:absolute;width:126px;height:105px;padding:8px;border:1px solid rgba(125,145,175,.13);border-radius:18px;background:linear-gradient(145deg,rgba(23,31,43,.96),rgba(11,17,26,.97));color:white;display:grid;grid-template-columns:50px 1fr;gap:6px;align-items:center;text-align:left;box-shadow:0 12px 24px rgba(0,0,0,.20)}.training-station:active{transform:scale(.96)}.training-station.station-1{left:9px;top:42px}.training-station.station-2{right:9px;top:42px}.training-station.station-3{left:4px;top:286px}.training-station.station-4{right:4px;top:286px}.training-station.station-5{left:50%;bottom:0;transform:translateX(-50%)}.training-station.station-5:active{transform:translateX(-50%) scale(.96)}
.station-machine{position:relative;width:48px;height:58px;border-radius:15px;background:radial-gradient(circle at 50% 30%,#263c51,#141e2b 70%);display:grid;place-items:center;border:1px solid rgba(49,217,255,.12)}.station-machine span{font-size:24px;z-index:2}.station-machine i{position:absolute;inset:5px;border:1px solid rgba(49,217,255,.10);border-radius:12px}.station-machine b{position:absolute;bottom:4px;width:22px;height:3px;border-radius:99px;background:#3fcae6;box-shadow:0 0 7px rgba(49,217,255,.4)}
.station-info{display:flex;flex-direction:column}.station-info>span{font-size:9px;font-weight:900}.station-info small{font-size:6px;color:#8492a5;margin:2px 0}.station-info em{font-style:normal;font-size:6px;color:#aeb8c8}.station-rank{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:5px;border-top:1px solid rgba(255,255,255,.05)}.station-rank b{font-size:6px;color:#68758b}.station-rank small{font-size:6px;color:#8090a7}.station-rank.rank-bronze b{color:#c9875b}.station-rank.rank-silver b{color:#bfc7d6}.station-rank.rank-gold b{color:#ffca58}.station-rank.rank-elite b{color:#75e9ff}
.training-rules{display:flex;gap:10px;align-items:center;justify-content:center;padding:8px 12px;border-top:1px solid rgba(255,255,255,.05);color:#718096;font-size:6px}.training-rules span{display:flex;gap:3px;align-items:center}.training-rules i{width:6px;height:6px;border-radius:50%}.training-rules .bronze{background:#b9784d}.training-rules .silver{background:#aeb9c9}.training-rules .gold{background:#ffc44c}.training-rules .elite{background:#4bdcff}.training-rules>b{margin-left:auto;font-size:6px;color:#9aa6b7}

/* WORLD EVENT SCENE */
.world-scene{position:relative;min-height:calc(100dvh - 190px);overflow:hidden;background:linear-gradient(180deg,#121627 0,#171825 35%,#0b1018 72%)}
.world-event-art{position:absolute;inset:0 0 auto;height:335px;overflow:hidden;background:radial-gradient(circle at 72% 20%,rgba(255,105,58,.22),transparent 24%),linear-gradient(180deg,#15192b,#201d2b 55%,rgba(21,25,43,0))}
.world-event-art:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 14% 22%,#fff 0 1px,transparent 1.2px),radial-gradient(circle at 57% 12%,#bcdcff 0 1px,transparent 1.2px),radial-gradient(circle at 84% 36%,#fff 0 1px,transparent 1.2px);background-size:151px 169px,211px 221px,251px 257px;opacity:.23}
.world-meteor{position:absolute;right:18%;top:34px;width:220px;height:150px;transform:rotate(-25deg)}.world-meteor i{position:absolute;right:34px;top:50px;width:180px;height:8px;border-radius:99px;background:linear-gradient(90deg,transparent,#775fff,#ff9b54);filter:blur(1px)}.world-meteor b{position:absolute;right:0;top:28px;font-size:54px;color:#ff8758;filter:drop-shadow(0 0 17px rgba(255,119,72,.7));transform:rotate(25deg)}
.world-crater{position:absolute;right:-20px;bottom:4px;width:280px;height:100px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,142,69,.82) 0 4%,rgba(255,82,47,.20) 23%,#352b2f 45%,transparent 69%);transform:rotate(-5deg)}.world-crater i{position:absolute;inset:28% 27%;border-radius:50%;border:1px solid rgba(255,180,95,.34);box-shadow:0 0 28px rgba(255,104,48,.28);animation:impactCrater 3s ease-in-out infinite}
.world-smoke{position:absolute;border-radius:50%;background:rgba(115,111,124,.20);filter:blur(17px)}.world-smoke.s1{left:-40px;bottom:25px;width:230px;height:45px;animation:cloudMove 15s ease-in-out infinite}.world-smoke.s2{left:31%;bottom:61px;width:160px;height:37px;animation:cloudMove 18s ease-in-out infinite reverse}.world-signal-ring{position:absolute;right:73px;bottom:25px;width:105px;height:105px;border:1px solid rgba(49,217,255,.15);border-radius:50%;animation:signalRing 3.5s ease-out infinite}
.world-scene-head{position:relative;z-index:3;padding:14px 15px 5px;display:flex;justify-content:space-between;align-items:center}.world-scene-head>span{font-size:7px;color:#9ba7ba;letter-spacing:.12em;font-weight:900}.world-scene-head>div{display:flex;gap:8px;align-items:center}.world-scene-head b{font-size:7px;color:#ff8b70}.world-scene-head i{font-style:normal;font-size:7px;color:#8994a7}
.world-story-copy{position:relative;z-index:3;padding:12px 15px 85px;max-width:82%}.world-story-copy h1{font-size:31px;line-height:1.02;margin:0 0 9px;text-shadow:0 4px 20px rgba(0,0,0,.4);letter-spacing:-.035em}.world-story-copy p{font-size:11px;line-height:1.45;color:#c0c5d3;margin:0;text-shadow:0 2px 9px rgba(0,0,0,.55)}
.world-vitals{position:relative;z-index:3;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:-39px 10px 9px;padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(10,14,22,.83);backdrop-filter:blur(10px)}.world-vitals span{display:flex;flex-direction:column}.world-vitals small{font-size:5px;color:#7f899a}.world-vitals b{font-size:12px}.world-vitals>span>i{height:3px;background:#20293a;border-radius:99px}.world-vitals em{display:block;height:100%;background:linear-gradient(90deg,#7664ff,#3bd4f5);border-radius:99px}
.world-decision-console{position:relative;z-index:3;margin:0 10px 12px;padding:11px;border:1px solid rgba(117,137,176,.12);border-radius:17px;background:linear-gradient(145deg,#121a29,#0c121e);box-shadow:0 18px 38px rgba(0,0,0,.20)}.world-console-head{display:grid;grid-template-columns:1fr auto;gap:2px 8px;margin-bottom:9px}.world-console-head span{grid-column:1/-1;font-size:6px;color:var(--cyan);letter-spacing:.11em}.world-console-head b{font-size:12px}.world-console-head small{font-size:7px;color:#758196}
.world-decision-button{width:100%;min-height:54px;margin-top:7px;padding:9px 10px;display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;text-align:left;border:1px solid rgba(125,148,190,.13);border-radius:13px;background:linear-gradient(145deg,#182235,#111927);color:white}.world-decision-button span{font-size:7px;color:#5cdcf3}.world-decision-button b{font-size:10px}.world-decision-button i{font-style:normal;color:#5cdcf3;font-size:18px}.world-decision-button:active{transform:scale(.985)}
.world-option-result{padding:7px 0}.world-option-result>div{display:grid;grid-template-columns:25px 1fr auto;gap:7px;align-items:center}.world-option-result span{font-size:6px;color:#718096}.world-option-result b{font-size:9px}.world-option-result strong{font-size:9px;color:#9eabc0}.world-option-result>i{display:block;height:5px;margin-top:5px;background:#20293b;border-radius:99px;overflow:hidden}.world-option-result em{display:block;height:100%;background:#53617e;border-radius:99px}.world-option-result.my-choice em{background:linear-gradient(90deg,var(--accent),var(--cyan))}.world-option-result.my-choice b{color:#dffbff}
.world-history-strip{padding:7px 12px 16px}.world-history-title{display:flex;justify-content:space-between;padding:5px 0 8px}.world-history-title span{font-size:7px;color:#8390a3;letter-spacing:.12em;font-weight:900}.world-history-title small{font-size:6px;color:#616e82}.world-log{display:grid;grid-template-columns:13px 1fr;gap:8px;padding:7px 0;border-left:1px solid #283244}.world-log>i{width:7px;height:7px;margin-left:-4px;border-radius:50%;background:#59677c;border:2px solid #0b1018}.world-log>div{display:flex;flex-direction:column}.world-log b{font-size:8px}.world-log small{font-size:6px;color:#758197}.world-log p{font-size:7px;color:#9ba5b4;margin:3px 0}.world-log.pending>i{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}
@media(max-width:390px){.training-station{width:119px}.training-hall{height:500px}.world-story-copy{max-width:88%}.world-story-copy h1{font-size:29px}}
/* final scene polish */
.building-gate{bottom:7%}.building-generator{bottom:12%}.building-workshop{bottom:10%}
.camp-prop{position:absolute;z-index:2;pointer-events:none;filter:drop-shadow(0 7px 6px rgba(0,0,0,.35))}
.camp-prop.tree{width:28px;height:45px}.camp-prop.tree i{position:absolute;left:4px;top:0;width:20px;height:31px;background:linear-gradient(145deg,#35563d,#1e3528);clip-path:polygon(50% 0,100% 66%,77% 63%,100% 100%,0 100%,23% 63%,0 66%)}.camp-prop.tree b{position:absolute;left:12px;bottom:0;width:5px;height:17px;background:#5b4531}.camp-prop.t1{left:7%;top:31%}.camp-prop.t2{right:8%;top:38%;transform:scale(.82)}
.camp-prop.tent{left:30%;top:49%;width:38px;height:27px}.camp-prop.tent i{position:absolute;inset:0;background:linear-gradient(135deg,#6c7058,#3f4738);clip-path:polygon(50% 0,100% 100%,0 100%)}.camp-prop.tent b{position:absolute;left:18px;bottom:0;width:2px;height:19px;background:#2f342b}
.camp-prop.crate{right:31%;top:56%;width:20px;height:18px;background:#6b5438;border:2px solid #3e3326}.camp-prop.crate i{position:absolute;left:8px;top:-2px;width:2px;height:18px;background:#92724b;transform:rotate(42deg)}
.camp-prop.solar{right:30%;top:34%;width:38px;height:25px;transform:rotate(-7deg)}.camp-prop.solar i{position:absolute;left:2px;top:0;width:32px;height:16px;background:repeating-linear-gradient(90deg,#213c50 0 7px,#31536b 8px 9px);border:1px solid #567488;transform:skewX(-12deg)}.camp-prop.solar b{position:absolute;left:18px;top:15px;width:3px;height:10px;background:#68747a}
.camp-prop.barrier{left:9%;bottom:19%;width:35px;height:11px}.camp-prop.barrier i,.camp-prop.barrier b{position:absolute;top:0;width:22px;height:7px;background:#64483b;border-top:2px solid #9c6e52}.camp-prop.barrier i{left:0;transform:rotate(16deg)}.camp-prop.barrier b{right:0;transform:rotate(-16deg)}

/* equipment sockets instead of cards */
.hero-slot{width:62px;min-height:62px;height:62px;border-radius:50%;background:radial-gradient(circle at 50% 35%,rgba(37,52,70,.98),rgba(11,17,26,.98) 70%);box-shadow:0 0 0 4px rgba(255,255,255,.015),0 10px 20px rgba(0,0,0,.2)}
.hero-slot>span{font-size:24px}.hero-slot>small{position:absolute;top:66px;width:76px;text-align:center;font-size:5px;color:#7f8da2;text-shadow:0 2px 4px #000}.hero-slot>i{right:-1px;top:-1px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#111827;border:1px solid color-mix(in srgb,var(--rar) 45%,transparent);font-size:5px}
.hero-slot.slot-1{left:15px;top:51px}.hero-slot.slot-2{right:15px;top:51px}.hero-slot.slot-3{left:5px;top:143px}.hero-slot.slot-4{right:5px;top:143px}.hero-slot.slot-5{left:10px;top:235px}.hero-slot.slot-6{right:10px;top:235px}.hero-slot.slot-7{left:37px;top:327px}.hero-slot.slot-8{right:37px;top:327px}
@media(max-width:390px){.building-gate{bottom:6%}.building-generator{bottom:12%}.building-workshop{bottom:11%}.hero-slot{width:59px;height:59px;min-height:59px}.hero-slot.slot-7{left:24px}.hero-slot.slot-8{right:24px}}
.daily-crate-reveal{text-align:center;position:relative;overflow:hidden}.daily-crate-box{position:relative;z-index:2;font-size:92px;margin:18px 0 4px;filter:drop-shadow(0 13px 18px rgba(0,0,0,.4));animation:chestLand .65s cubic-bezier(.2,.9,.25,1.2),chestFloat 2.5s ease-in-out .7s infinite}.daily-crate-loot{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.daily-crate-loot span{padding:12px;border-radius:13px;background:linear-gradient(145deg,#161f30,#0e1522);border:1px solid rgba(49,217,255,.12);display:flex;flex-direction:column}.daily-crate-loot b{font-size:19px;color:#dff9ff}.daily-crate-loot small{font-size:7px;color:#8290a6;text-transform:uppercase}.world-vote-confirm{text-align:center}.vote-result-bars{text-align:left;margin:12px 0}/* Starter supply route — sustained first session */
.starter-route-panel{margin:12px 0;padding:12px;border:1px solid rgba(49,217,255,.16);border-radius:16px;background:linear-gradient(145deg,rgba(18,34,46,.92),rgba(11,17,27,.97))}
.starter-route-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.starter-route-head>div{display:flex;flex-direction:column}.starter-route-head span{font-size:7px;color:var(--cyan);font-weight:950;letter-spacing:.11em}.starter-route-head b{font-size:12px;margin-top:2px}.starter-route-head strong{font-size:12px;color:#bdefff}
.starter-route-progress{height:5px;margin:9px 0;border-radius:99px;background:#202a39;overflow:hidden}.starter-route-progress i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#665eff,var(--cyan));box-shadow:0 0 10px rgba(49,217,255,.24)}
.starter-route-panel>p{margin:0 0 8px;color:#8f9db1;font-size:8px;line-height:1.4}.starter-mission-list{display:flex;flex-direction:column}
.starter-mission{display:grid;grid-template-columns:27px 1fr auto;gap:7px;align-items:center;padding:8px 0;border-top:1px solid rgba(255,255,255,.055)}.starter-mission:first-child{border-top:0}.starter-index{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#172131;color:#8392a7;font-size:7px;font-weight:900}.starter-mission>div{display:flex;flex-direction:column;min-width:0}.starter-mission>div>b{font-size:9px}.starter-mission>div>small{font-size:7px;color:#7d899d;line-height:1.3}.starter-mission>div>em{font-style:normal;font-size:6px;color:#a7c4cc;margin-top:3px}.starter-mission>button{border:1px solid rgba(49,217,255,.17);border-radius:8px;background:#183044;color:#d9f8ff;padding:7px 8px;font-size:7px;font-weight:900;white-space:nowrap}.starter-mission>strong{font-size:6px;color:#6f7d91}.starter-mission>i{font-style:normal;font-size:10px;opacity:.35}.starter-mission.ready{background:linear-gradient(90deg,rgba(49,217,255,.055),transparent)}.starter-mission.ready .starter-index{background:#17383f;color:#8ff4ff;box-shadow:0 0 10px rgba(49,217,255,.10)}.starter-mission.active .starter-index{border:1px solid rgba(49,217,255,.22);color:#a9efff}.starter-mission.locked{opacity:.42}.starter-mission.claimed{opacity:.58}.starter-mission.claimed .starter-index{background:#183127;color:#83dbac}
.starter-route-complete{margin:10px 0;padding:10px;border-radius:12px;background:rgba(82,228,161,.07);border:1px solid rgba(82,228,161,.14);color:#a9eaca;font-size:8px}.command-subhead{display:flex;justify-content:space-between;align-items:center;margin:13px 0 4px}.command-subhead span{font-size:7px;color:#8593a8;letter-spacing:.1em;font-weight:900}.command-subhead small{font-size:6px;color:#657186}
.starter-supply-reveal{text-align:center;position:relative;overflow:hidden}.supply-radar{position:absolute;left:50%;top:90px;width:190px;height:190px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(49,217,255,.12);background:repeating-radial-gradient(circle,transparent 0 29px,rgba(49,217,255,.045) 30px 31px);animation:orbitSpin 9s linear infinite}.supply-drone{position:relative;z-index:2;width:96px;height:72px;margin:22px auto 16px;border-radius:24px 24px 12px 12px;display:grid;place-items:center;background:linear-gradient(145deg,#4c6070,#1c2a34);border:1px solid #607787;color:#aef4ff;font-size:28px;box-shadow:0 18px 28px rgba(0,0,0,.34),0 0 24px rgba(49,217,255,.10);animation:supplyDrop .7s cubic-bezier(.2,.9,.25,1.15)}.supply-drone:before,.supply-drone:after{content:"";position:absolute;top:15px;width:45px;height:5px;border-radius:99px;background:#607887}.supply-drone:before{left:-34px}.supply-drone:after{right:-34px}.supply-drone i,.supply-drone b{position:absolute;top:11px;width:35px;height:2px;background:#8aa0ad;box-shadow:0 0 8px rgba(49,217,255,.30);animation:rotor .12s linear infinite}.supply-drone i{left:-29px}.supply-drone b{right:-29px}.starter-supply-loot{margin:13px 0;padding:11px;border:1px solid rgba(49,217,255,.13);border-radius:12px;background:#111a28;color:#d7e9ef;font-size:10px;font-weight:850;line-height:1.5}.starter-chest-bonus{margin:-4px 0 12px;padding:8px;border-radius:10px;background:rgba(132,105,255,.08);color:#d3c5ff;font-size:8px}
@keyframes supplyDrop{0%{transform:translateY(-90px) scale(.72);opacity:0}72%{transform:translateY(7px) scale(1.05);opacity:1}100%{transform:none}}@keyframes rotor{to{transform:rotate(180deg)}}/* Resource icon system */
.resource-icon{width:23px;height:23px;display:block;object-fit:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28));flex:0 0 23px}
.resource-icon.shard{filter:drop-shadow(0 0 6px rgba(111,122,255,.42))}
.global-resource-hud span,.global-resource-hud button{gap:5px}
.global-resource-hud .resource-icon{width:22px;height:22px;flex-basis:22px}
.global-resource-hud span:hover .resource-icon,.global-resource-hud button:hover .resource-icon{transform:translateY(-1px)}
.resource-pill{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:5px 8px!important;border-radius:10px;background:linear-gradient(145deg,rgba(26,35,49,.92),rgba(12,18,28,.95));border:1px solid rgba(255,255,255,.065);color:#e6edf7}
.resource-pill .resource-icon{width:21px;height:21px;flex-basis:21px}.resource-pill b{font-size:10px}.resource-pill small{font-size:7px;color:#7f8da3}
.resource-reward-grid .resource-pill{min-height:44px}.resource-reward-grid .resource-icon{width:25px;height:25px}
.reward-bonus-line.resources{display:flex;gap:5px;flex-wrap:wrap;justify-content:center;background:transparent;border:0;padding:0}
.guide-reward-preview.icon-rewards,.guide-final-reward.icon-rewards,.starter-supply-loot.icon-rewards{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.base-vitals .sample-vital{display:grid;grid-template-columns:auto 1fr}.base-vitals .sample-vital .resource-icon{width:18px;height:18px;flex-basis:18px}
.map-status-line .stamina-inline{display:inline-flex;align-items:center;gap:4px}.map-status-line .stamina-inline .resource-icon{width:16px;height:16px}
.warehouse-wallet .resource-icon{width:20px;height:20px;display:inline-block;vertical-align:middle}
.shard-wallet>span{background:transparent}.shard-wallet>span .resource-icon{width:34px;height:34px}
@media(max-width:390px){.global-resource-hud .resource-icon{width:20px;height:20px}.global-resource-hud span,.global-resource-hud button{gap:3px}.resource-pill{padding-inline:6px!important}}
.guide-gift{display:flex;align-items:center;gap:8px}.guide-gift .resource-icon{width:24px;height:24px}
.building-status{display:flex;align-items:center;gap:3px}.building-status .resource-icon{width:13px;height:13px;flex-basis:13px}.building-status b{font-size:7px}
.resource-cost-inline{display:flex!important;gap:6px;align-items:center;justify-content:flex-end}.resource-cost-inline .resource-pill{min-height:30px;padding:4px 6px!important}
.expedition-loot{display:flex;gap:7px;flex-wrap:wrap;justify-content:center;margin:11px 0}.expedition-loot .resource-pill{min-width:84px}
.survival-build-list .resource-icon{width:30px;height:30px}.build-resource-cost{display:flex!important;gap:4px!important;flex-wrap:wrap;margin-top:4px!important}.build-resource-cost .resource-pill{min-height:24px;padding:2px 5px!important;background:#0e1622}.build-resource-cost .resource-icon{width:16px;height:16px;flex-basis:16px}.build-resource-cost .resource-pill b{font-size:7px}
.starter-inline-reward{display:flex!important;gap:3px;flex-wrap:wrap}.starter-inline-reward .resource-pill{min-height:24px;padding:2px 5px!important;background:rgba(255,255,255,.035)}.starter-inline-reward .resource-icon{width:15px;height:15px;flex-basis:15px}.starter-inline-reward .resource-pill b{font-size:6px}
.chapter-resource-reward{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:12px 0}.mission-bonus-pop{display:flex!important;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}
.intro-expedition-stats span{display:flex!important;align-items:center;gap:5px}.intro-expedition-stats .resource-icon{width:22px;height:22px}
/* Smart resource recovery */
.resource-rescue{text-align:left}.resource-rescue-icon{width:58px;height:58px;margin:0 auto 10px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#3a2b21,#171b25);border:1px solid rgba(255,181,89,.30);color:#ffbd67;font-size:28px;font-weight:950;box-shadow:0 0 24px rgba(255,166,73,.10)}
.resource-rescue>h2{text-align:center}.resource-rescue>.eyebrow{text-align:center}.resource-balance-check{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.resource-balance-check>div{padding:9px;border-radius:12px;background:#101826;border:1px solid rgba(255,255,255,.06);display:flex;flex-wrap:wrap;gap:4px}.resource-balance-check>div>span{width:100%;font-size:6px;color:#7e8ca2;text-transform:uppercase;letter-spacing:.09em}.resource-balance-check .resource-pill{min-height:28px;padding:3px 5px!important}.resource-balance-check .resource-icon{width:17px;height:17px;flex-basis:17px}
.resource-source-list{display:flex;flex-direction:column;gap:7px;margin:11px 0}.resource-source{width:100%;padding:10px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:left;border:1px solid rgba(49,217,255,.12);border-radius:13px;background:linear-gradient(145deg,#152231,#0f1622);color:white}.resource-source>div{display:flex;flex-direction:column}.resource-source span{font-size:6px;color:var(--cyan);letter-spacing:.09em;font-weight:900}.resource-source b{font-size:9px;margin:2px 0}.resource-source small{font-size:7px;color:#8895a8;line-height:1.35}.resource-source>i{font-style:normal;font-size:20px;color:var(--cyan)}.resource-source.paid{border-color:rgba(132,105,255,.17);background:linear-gradient(145deg,#1e1a31,#101622)}.resource-source.paid span,.resource-source.paid>i{color:#b7a4ff}
.building-guide-callout{margin:10px 0;padding:10px;border-left:2px solid var(--cyan);border-radius:0 11px 11px 0;background:rgba(26,57,72,.34);display:flex;flex-direction:column}.building-guide-callout span{font-size:6px;color:var(--cyan);font-weight:900;letter-spacing:.09em}.building-guide-callout b{font-size:9px;margin:2px 0}.building-guide-callout small{font-size:7px;color:#9da9b8;line-height:1.35}
.upgrade-cost-preview{margin:10px 0;padding:9px;border-radius:12px;background:#101724;border:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;gap:8px;align-items:center}.upgrade-cost-preview>div:first-child{display:flex;flex-direction:column}.upgrade-cost-preview span{font-size:8px;font-weight:850}.upgrade-cost-preview small{font-size:6px;color:#7e8b9e}.upgrade-cost-icons{display:flex;gap:3px;flex-wrap:wrap;justify-content:flex-end}.upgrade-cost-icons .resource-pill{min-height:26px;padding:2px 4px!important}.upgrade-cost-icons .resource-icon{width:16px;height:16px;flex-basis:16px}.upgrade-cost-icons .resource-pill b{font-size:7px}.shortage-button{border-color:rgba(255,181,89,.24)!important;color:#ffd397!important}
/* Building progression Lv.1–25 */
.camp-building>em{min-width:31px;height:19px;padding:0 5px!important;display:grid!important;place-items:center;border-radius:8px!important;background:#101826!important;border:1px solid rgba(255,255,255,.14)!important;font-size:7px!important;font-weight:950;color:#dbe6f5;box-shadow:0 5px 12px rgba(0,0,0,.22)}
.camp-building.tier-2>em,.map-world-cell.tier-2 .map-building-level{color:#77e7a4;border-color:rgba(91,216,142,.35)!important}
.camp-building.tier-3>em,.map-world-cell.tier-3 .map-building-level{color:#64b8ff;border-color:rgba(88,168,255,.42)!important}
.camp-building.tier-4>em,.map-world-cell.tier-4 .map-building-level{color:#c884ff;border-color:rgba(181,108,255,.44)!important}
.camp-building.tier-5>em,.map-world-cell.tier-5 .map-building-level{color:#ffc36a;border-color:rgba(255,182,79,.48)!important;box-shadow:0 0 12px rgba(255,182,79,.13)}
.camp-building.tier-2 .structure{filter:brightness(1.08) saturate(1.08)}.camp-building.tier-3 .structure{filter:brightness(1.12) saturate(1.18) drop-shadow(0 0 5px rgba(49,217,255,.15))}.camp-building.tier-4 .structure{filter:brightness(1.15) saturate(1.28) drop-shadow(0 0 7px rgba(132,105,255,.22))}.camp-building.tier-5 .structure{filter:brightness(1.2) saturate(1.35) drop-shadow(0 0 9px rgba(255,181,89,.24))}
.camp-building.tier-3 .structure:before,.camp-building.tier-4 .structure:before,.camp-building.tier-5 .structure:before{content:"";position:absolute;left:4px;right:4px;bottom:-5px;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,#54dff6,transparent);box-shadow:0 0 7px rgba(49,217,255,.32)}
.camp-building.tier-4 .structure:after,.camp-building.tier-5 .structure:after{content:"";position:absolute;right:2px;top:4px;width:9px;height:9px;border-radius:50%;background:#a47cff;box-shadow:0 0 9px rgba(164,124,255,.5)}
.camp-building.tier-5 .structure:after{background:#ffbd65;box-shadow:0 0 12px rgba(255,189,101,.62)}
.map-building-level{position:absolute!important;left:50%!important;bottom:2px!important;transform:translateX(-50%)!important;padding:1px 3px!important;border-radius:4px!important;background:rgba(7,12,18,.84)!important;border:1px solid rgba(255,255,255,.14)!important;color:#d6e0ef!important;font-size:5px!important;font-style:normal!important;font-weight:950!important;white-space:nowrap}
.map-world-cell.tier-3,.map-world-cell.tier-4,.map-world-cell.tier-5{box-shadow:inset 0 0 12px rgba(49,217,255,.09),0 0 8px rgba(49,217,255,.06)}
.building-level-panel{--tier:#a9b4c4}.building-level-panel.tier-2{--tier:#63d890}.building-level-panel.tier-3{--tier:#58a8ff}.building-level-panel.tier-4{--tier:#b56cff}.building-level-panel.tier-5{--tier:#ffb64f}
.building-level-title{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin:2px 0 9px}.building-level-title h2{margin:0;font-size:25px;color:#eef4ff}.building-level-title h2 small{font-size:11px;color:#65748a}.building-level-title>span{padding:5px 7px;border-radius:8px;background:color-mix(in srgb,var(--tier) 10%,transparent);border:1px solid color-mix(in srgb,var(--tier) 25%,transparent);color:var(--tier);font-size:7px;font-weight:900;text-transform:uppercase}
.building-tier-track{position:relative;margin:7px 0 12px;height:18px}.building-tier-track:before{content:"";position:absolute;left:0;right:0;top:2px;height:5px;border-radius:99px;background:#202939}.building-tier-track>i{position:absolute;left:0;top:2px;height:5px;border-radius:99px;background:linear-gradient(90deg,#5f6dff,var(--tier));box-shadow:0 0 9px color-mix(in srgb,var(--tier) 25%,transparent)}.building-tier-track>b{position:absolute;left:0;right:0;top:10px;display:flex;justify-content:space-between}.building-tier-track em{font-style:normal;font-size:6px;color:#526077}.building-tier-track em.done{color:var(--tier)}
.building-performance{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:8px 0 11px}.building-performance>div{padding:9px;border-radius:12px;background:#101827;border:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column}.building-performance span{font-size:6px;color:#7f8ca1;text-transform:uppercase;letter-spacing:.06em}.building-performance b{font-size:15px;color:#e8f0fb;margin:2px 0}.building-performance small{font-size:6px;color:#788598;line-height:1.3}
.building-maxed{margin:10px 0;padding:11px;border-radius:12px;text-align:center;background:rgba(255,183,74,.08);border:1px solid rgba(255,183,74,.20);color:#ffd08a;font-size:9px;font-weight:900}
.coach-target-strong{outline:2px solid rgba(49,217,255,.72)!important;outline-offset:3px!important;animation:coachStrong 1s ease-in-out infinite!important}
.coach-pointer{position:fixed;z-index:250;max-width:210px;padding:7px 10px;border-radius:11px;background:linear-gradient(145deg,#173044,#101827);border:1px solid rgba(49,217,255,.32);box-shadow:0 10px 28px rgba(0,0,0,.38),0 0 18px rgba(49,217,255,.13);pointer-events:none;display:grid;grid-template-columns:auto 1fr auto;gap:5px;align-items:center}.coach-pointer span{font-size:6px;color:var(--cyan);font-weight:950;letter-spacing:.08em}.coach-pointer b{font-size:8px;color:#e5f8ff}.coach-pointer i{font-style:normal;color:var(--cyan);font-size:12px}
@keyframes coachStrong{0%,100%{filter:brightness(1);box-shadow:0 0 0 2px rgba(49,217,255,.38),0 0 17px rgba(49,217,255,.18)}50%{filter:brightness(1.22);box-shadow:0 0 0 3px rgba(49,217,255,.72),0 0 31px rgba(49,217,255,.34)}}
.resource-pack-list{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;padding:0 9px 12px}.resource-pack-card{padding:10px;border:1px solid rgba(49,217,255,.10);border-radius:14px;background:linear-gradient(145deg,#151e2c,#0d141f);color:white;text-align:left;display:grid;grid-template-columns:34px 1fr;gap:7px;position:relative}.resource-pack-card>span .resource-icon{width:30px;height:30px}.resource-pack-card>div{display:flex;flex-direction:column;min-width:0}.resource-pack-card small{font-size:5px;color:var(--cyan);letter-spacing:.07em}.resource-pack-card b{font-size:8px;margin:2px 0}.resource-pack-card em{display:flex;gap:3px;flex-wrap:wrap;font-style:normal}.resource-pack-card .resource-pill{min-height:22px;padding:2px 4px!important}.resource-pack-card .resource-pill .resource-icon{width:13px;height:13px;flex-basis:13px}.resource-pack-card .resource-pill b{font-size:6px}.resource-pack-card>strong{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:3px;font-size:8px;color:#cfbfff}.resource-pack-card>strong .resource-icon{width:15px;height:15px}
.resource-pack-modal{text-align:center}.resource-pack-hero{width:90px;height:90px;margin:8px auto 12px;border-radius:26px;display:grid;place-items:center;background:radial-gradient(circle,#253a50,#101827 70%);border:1px solid rgba(49,217,255,.18);box-shadow:0 0 26px rgba(49,217,255,.08)}.resource-pack-hero .resource-icon{width:62px;height:62px}.resource-pack-reward{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:12px 0}.resource-pack-price{display:flex;justify-content:center;align-items:center;gap:6px;margin:10px 0 14px;padding:9px;border-radius:12px;background:#17152a;border:1px solid rgba(132,105,255,.18)}.resource-pack-price .resource-icon{width:25px;height:25px}.resource-pack-price b{font-size:18px}.resource-pack-price small{font-size:7px;color:#8f84a8}
@media(max-width:390px){.resource-pack-list{grid-template-columns:1fr 1fr}.building-performance{gap:5px}.coach-pointer{max-width:180px}}
.map-bottom-console{width:calc(100% - 24px);border:0;border-left:2px solid var(--cyan);color:white;text-align:left;font:inherit;display:grid;grid-template-columns:1fr auto;align-items:center}.map-bottom-console>i{font-style:normal;font-size:20px;color:var(--cyan);padding-left:8px}.training-mira{width:calc(100% - 24px);border:0;border-left:2px solid var(--cyan);color:white;text-align:left;font:inherit}.training-mira>strong{color:var(--cyan);font-size:20px}.upgrade-success{text-align:center}.upgrade-level-burst{width:96px;height:96px;margin:9px auto 13px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--tier,#58a8ff) 32%,#1c2735),#0f1621 70%);border:1px solid color-mix(in srgb,var(--tier,#58a8ff) 48%,transparent);box-shadow:0 0 34px color-mix(in srgb,var(--tier,#58a8ff) 18%,transparent);font-size:35px;font-weight:950;color:white;animation:rewardPop .65s cubic-bezier(.2,.9,.25,1.3)}.upgrade-milestone{margin:12px 0;padding:10px;border-radius:12px;background:rgba(255,182,79,.08);border:1px solid rgba(255,182,79,.22);color:#ffd08a;font-size:8px;font-weight:900}.upgrade-success.tier-2{--tier:#63d890}.upgrade-success.tier-3{--tier:#58a8ff}.upgrade-success.tier-4{--tier:#b56cff}.upgrade-success.tier-5{--tier:#ffb64f}
/* Production boost */
.production-boost-panel{margin:11px 0;padding:11px;border-radius:15px;background:linear-gradient(145deg,#151c2a,#101621);border:1px solid rgba(255,184,85,.14);box-shadow:inset 0 0 22px rgba(255,173,69,.03)}
.production-boost-panel.active{border-color:rgba(71,220,255,.28);box-shadow:inset 0 0 25px rgba(49,217,255,.06),0 0 18px rgba(49,217,255,.05)}
.boost-head{display:grid;grid-template-columns:52px 1fr;gap:9px;align-items:center}.boost-symbol{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,#ffbf62,#7a452b 72%);border:1px solid rgba(255,214,136,.38);box-shadow:0 0 18px rgba(255,174,71,.16);font-size:18px;font-weight:950;color:#fff2d4}
.production-boost-panel.active .boost-symbol{background:radial-gradient(circle at 50% 35%,#64e6ff,#26566e 72%);box-shadow:0 0 22px rgba(49,217,255,.22)}
.boost-head>div:last-child{display:flex;flex-direction:column}.boost-head span{font-size:6px;color:#ffbd68;font-weight:950;letter-spacing:.1em}.production-boost-panel.active .boost-head span{color:var(--cyan)}.boost-head b{font-size:10px;margin:2px 0}.boost-head small{font-size:7px;color:#8795a8}.boost-head small strong{color:#d9f9ff}
.boost-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0}.boost-actions button,.boost-used{min-height:48px;padding:8px;border-radius:11px;text-align:left;display:flex;flex-direction:column;justify-content:center}.boost-free{border:1px solid rgba(82,228,161,.22);background:linear-gradient(145deg,#173127,#101d19);color:white}.boost-free span{font-size:5px;color:#70dba2}.boost-free b{font-size:8px}.boost-used{border:1px solid rgba(255,255,255,.06);background:#111722;opacity:.58}.boost-used span{font-size:5px;color:#69768a}.boost-used b{font-size:7px;color:#8c98aa}.boost-paid{border:1px solid rgba(132,105,255,.20);background:linear-gradient(145deg,#211b35,#121626);color:white;display:grid!important;grid-template-columns:23px 1fr;gap:5px!important;align-items:center}.boost-paid .resource-icon{width:21px;height:21px}.boost-paid>span{display:flex;flex-direction:column}.boost-paid small{font-size:5px;color:#b9a9ff}.boost-paid b{font-size:8px}.production-boost-panel>p{margin:0;font-size:6px;color:#65748a;line-height:1.4}
.boost-success{text-align:center}.boost-core{width:100px;height:100px;margin:9px auto 13px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#56dffb,#17364a 68%,#0d1520);border:1px solid rgba(49,217,255,.4);box-shadow:0 0 35px rgba(49,217,255,.17);font-size:29px;font-weight:950;color:#eafcff;animation:rewardPop .65s cubic-bezier(.2,.9,.25,1.3)}.boost-until{margin:12px 0;padding:9px;border-radius:11px;background:rgba(49,217,255,.06);border:1px solid rgba(49,217,255,.12);color:#aeeffc;font-size:8px}
.base-boost-banner{position:relative;z-index:10;margin:-10px 12px 8px;width:calc(100% - 24px);padding:8px 10px;display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;text-align:left;border:1px solid rgba(49,217,255,.20);border-radius:13px;background:linear-gradient(110deg,rgba(13,43,53,.94),rgba(13,20,31,.96));color:white;box-shadow:0 10px 24px rgba(0,0,0,.19)}.base-boost-banner.free{border-color:rgba(255,184,85,.18);background:linear-gradient(110deg,rgba(52,38,23,.92),rgba(17,20,29,.96))}.base-boost-banner>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#17394a;color:#baf4ff;font-weight:950}.base-boost-banner.free>span{background:#47331f;color:#ffd69a}.base-boost-banner>div{display:flex;flex-direction:column}.base-boost-banner b{font-size:9px}.base-boost-banner small{font-size:6px;color:#8796aa;margin-top:2px}.base-boost-banner>i{font-style:normal;color:var(--cyan);font-size:17px}
.boost-mini-live{color:#9cf1ff!important}.boost-mini-free{color:#ffd08a!important}
.objective-loading{opacity:.72;pointer-events:none}.objective-loading:after{content:"";position:absolute;right:13px;top:50%;width:12px;height:12px;margin-top:-6px;border-radius:50%;border:2px solid rgba(255,255,255,.25);border-top-color:var(--cyan);animation:orbitSpin .7s linear infinite}

/* =========================================================
   PULSE 1.4 VISUAL OVERHAUL — richer base builder scene
   ========================================================= */
.base-game-screen{
  background:
    radial-gradient(circle at 82% 20%,rgba(255,106,54,.14),transparent 20%),
    radial-gradient(circle at 13% 54%,rgba(32,107,122,.11),transparent 26%),
    linear-gradient(180deg,#07111e 0%,#0c1822 34%,#111a17 69%,#070b0c 100%);
}
.base-game-screen:before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:
    radial-gradient(ellipse at 50% 53%,transparent 0 43%,rgba(0,0,0,.18) 69%,rgba(0,0,0,.58) 100%),
    linear-gradient(115deg,transparent 0 30%,rgba(63,182,210,.025) 40%,transparent 51%);
}
.base-game-screen:after{
  content:"";position:absolute;left:0;right:0;top:45px;height:290px;pointer-events:none;z-index:1;opacity:.22;
  background:
    linear-gradient(102deg,transparent 0 12%,rgba(103,218,255,.11) 13%,transparent 17%),
    linear-gradient(76deg,transparent 0 73%,rgba(255,154,88,.08) 74%,transparent 78%);
  filter:blur(5px);
}
.base-atmosphere{height:49%;background:
  radial-gradient(circle at 76% 25%,rgba(255,118,59,.25),transparent 16%),
  radial-gradient(ellipse at 40% 87%,rgba(39,103,114,.13),transparent 34%),
  linear-gradient(180deg,#071323 0%,#102131 58%,rgba(16,33,49,0) 100%)}
.distant-crater{width:285px;height:125px;right:-52px;bottom:-26px;filter:drop-shadow(0 0 34px rgba(255,112,52,.29))}
.distant-crater b{height:150px;top:-132px;box-shadow:0 0 17px #ff8350}
.signal-scan{width:155px;height:155px;right:36px;bottom:-15px;border-color:rgba(76,220,255,.14);box-shadow:inset 0 0 30px rgba(49,217,255,.035)}
.base-scene-header{padding:14px 15px 3px;z-index:8}.base-scene-header h1{font-size:21px;text-shadow:0 3px 12px rgba(0,0,0,.45)}
.camp-scene{height:min(67vh,590px);min-height:500px;margin-top:-3px;perspective:950px;z-index:3}
.camp-ground{
  top:50%;width:430px;height:315px;border-radius:40% 43% 39% 45%;
  background:
    radial-gradient(circle at 23% 29%,rgba(56,91,55,.78),transparent 16%),
    radial-gradient(circle at 68% 34%,rgba(48,77,51,.75),transparent 20%),
    radial-gradient(circle at 58% 72%,rgba(84,78,52,.52),transparent 16%),
    repeating-radial-gradient(circle at 51% 46%,rgba(255,255,255,.022) 0 1px,transparent 2px 12px),
    linear-gradient(145deg,#334738,#1c3026 51%,#18241d);
  border:2px solid rgba(141,166,126,.17);
  box-shadow:0 45px 85px rgba(0,0,0,.56),inset 0 0 60px rgba(0,0,0,.38),0 -8px 35px rgba(42,86,63,.11);
}
.camp-ground:before{
  content:"";position:absolute;inset:6%;border-radius:46%;opacity:.22;
  background:
    radial-gradient(circle at 16% 22%,#99a27d 0 2px,transparent 3px),
    radial-gradient(circle at 77% 30%,#77816e 0 2px,transparent 3px),
    radial-gradient(circle at 35% 75%,#a99168 0 2px,transparent 3px);
  background-size:38px 31px,52px 44px,41px 47px;
}
.camp-ground .road{height:20px;background:
  linear-gradient(180deg,rgba(109,93,64,.96),rgba(61,55,42,.96));
  box-shadow:inset 0 2px 4px rgba(255,219,163,.09),inset 0 -4px 6px rgba(0,0,0,.18),0 3px 7px rgba(0,0,0,.25)}
.camp-ground .r1{width:325px}.camp-ground .r2{width:245px}.camp-ground .r3{width:215px}
.camp-fog{background:rgba(131,159,160,.13);filter:blur(25px)}
.fog-one{width:280px;height:48px}.fog-two{width:290px;height:54px}

/* richer buildings */
.camp-building{width:108px;height:122px;overflow:visible;z-index:8;filter:drop-shadow(0 17px 12px rgba(0,0,0,.46))}
.camp-building .structure{top:21px;width:74px;height:69px;transform:translateX(-50%)}
.camp-building .foundation{position:absolute;left:4px;right:4px;bottom:-6px;height:17px;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.53),rgba(0,0,0,.04) 68%);z-index:0}
.camp-building .body{left:8px;right:8px;bottom:8px;height:45px;clip-path:polygon(8% 0,92% 0,100% 82%,83% 100%,17% 100%,0 82%);
  background:linear-gradient(135deg,#596976 0%,#34414b 46%,#202a32 100%);
  border:0;box-shadow:inset -8px -8px 13px rgba(0,0,0,.24),inset 7px 5px 9px rgba(255,255,255,.055)}
.camp-building .roof{left:3px;right:3px;top:3px;height:22px;clip-path:polygon(19% 0,81% 0,100% 100%,0 100%);
  background:linear-gradient(180deg,#788691,#3e4c57);box-shadow:inset 0 2px rgba(255,255,255,.09)}
.camp-building .detail{z-index:5}.camp-building .d1{width:16px;height:15px;left:29px;bottom:18px;border-radius:3px}.camp-building .d2{right:15px;bottom:20px;width:5px;height:7px}
.camp-building .module{position:absolute;display:block;z-index:5}.camp-building .m1{left:7px;top:30px}.camp-building .m2{right:7px;top:28px}.camp-building .m3{left:50%;top:7px}
.camp-building .building-glow{position:absolute;left:14px;right:14px;bottom:3px;height:7px;border-radius:50%;background:rgba(49,217,255,.1);filter:blur(4px);z-index:0}
.camp-building .building-caption{bottom:1px;z-index:20}
.camp-building .building-caption b{font-size:10px;line-height:1.05;color:#f4f7fa;text-shadow:0 2px 4px #000,0 0 7px rgba(0,0,0,.65)}
.camp-building .building-caption small{font-size:6.5px;color:#acb9c9;text-shadow:0 2px 4px #000}
.camp-building .building-level-badge{
  position:absolute!important;left:50%!important;right:auto!important;top:-8px!important;transform:translateX(-50%)!important;z-index:40!important;
  min-width:48px!important;height:25px!important;padding:0 8px!important;border-radius:13px!important;
  display:flex!important;gap:3px;align-items:center;justify-content:center;
  background:linear-gradient(180deg,#243042,#0d1420)!important;border:1px solid rgba(177,198,227,.34)!important;
  box-shadow:0 7px 16px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.08)!important;color:#f1f7ff!important;
  font-size:11px!important;font-style:normal;font-weight:950;letter-spacing:.01em;
}
.camp-building .building-level-badge small{font-size:6px;color:#83a3c3;font-weight:900;letter-spacing:.07em}
.camp-building.tier-2 .building-level-badge{border-color:rgba(91,216,142,.45)!important;color:#90f0b7!important}
.camp-building.tier-3 .building-level-badge{border-color:rgba(88,168,255,.52)!important;color:#85c6ff!important}
.camp-building.tier-4 .building-level-badge{border-color:rgba(181,108,255,.55)!important;color:#d39cff!important}
.camp-building.tier-5 .building-level-badge{border-color:rgba(255,182,79,.60)!important;color:#ffd18a!important;box-shadow:0 7px 18px rgba(0,0,0,.45),0 0 18px rgba(255,182,79,.13)!important}
.camp-building .building-alert{z-index:45!important;right:4px!important;top:9px!important}
.camp-building .building-status{top:88px;z-index:22;background:rgba(14,18,29,.86);border:1px solid rgba(158,132,255,.18);backdrop-filter:blur(5px)}

/* HQ */
.building-hq{left:50%;top:34%;transform:translate(-50%,-50%) scale(1.17);z-index:14}
.building-hq .structure{height:82px}.building-hq .body{height:53px;background:linear-gradient(135deg,#627485,#303e4a 55%,#1e2932)}
.building-hq .roof{height:25px;background:linear-gradient(180deg,#95a5b0,#485965)}
.building-hq .m1{width:7px;height:39px;left:12px;top:9px;background:#4d5d69;border-radius:4px}.building-hq .m2{width:7px;height:39px;right:12px;top:9px;background:#4d5d69;border-radius:4px}
.building-hq .m3{width:3px;height:32px;top:-24px;margin-left:-1px;background:#8ea0aa}.building-hq .m3:after{content:"";position:absolute;left:-9px;top:-5px;width:20px;height:9px;border:2px solid rgba(91,222,255,.55);border-radius:50%;box-shadow:0 0 10px rgba(49,217,255,.35)}
.building-hq .d1{border-color:#60e3ff;background:#183746;box-shadow:0 0 9px rgba(49,217,255,.32)}

/* Lab dome */
.building-lab{left:8%;top:27%}.building-lab .body{left:12px;right:12px;height:39px;border-radius:24px 24px 8px 8px;clip-path:none;background:linear-gradient(140deg,#346379,#1b3545 66%,#142632)}
.building-lab .roof{left:14px;right:14px;top:2px;height:31px;border-radius:50% 50% 10px 10px;clip-path:none;background:linear-gradient(180deg,rgba(99,218,239,.72),rgba(44,100,122,.84));border:1px solid rgba(158,242,255,.28);box-shadow:inset 0 3px rgba(255,255,255,.12),0 0 12px rgba(49,217,255,.12)}
.building-lab .m1,.building-lab .m2{top:38px;width:10px;height:23px;border-radius:5px;background:linear-gradient(#6d8e9a,#263e47)}.building-lab .m1{left:5px}.building-lab .m2{right:5px}
.building-lab .m3{width:16px;height:16px;margin-left:-8px;top:12px;border-radius:50%;border:2px solid rgba(179,250,255,.72);box-shadow:0 0 11px #3fd5ed}

/* Radio tower */
.building-radio{right:7%;top:23%}.building-radio .body{left:20px;right:20px;height:34px}.building-radio .roof{left:18px;right:18px}
.building-radio .m3{width:4px;height:57px;top:-42px;margin-left:-2px;background:linear-gradient(#9caab1,#44525a)}.building-radio .m3:before{content:"";position:absolute;left:-15px;top:8px;width:31px;height:19px;border:3px solid #7c929c;border-color:#7c929c transparent transparent;border-radius:50%;transform:rotate(-14deg)}
.building-radio .m3:after{content:"";position:absolute;left:-22px;top:-9px;width:45px;height:45px;border-radius:50%;border:1px solid rgba(49,217,255,.11);animation:signalRing 2.7s ease-out infinite}

/* Store */
.building-storage{right:0;top:48%}.building-storage .body{left:4px;right:4px;height:43px;clip-path:polygon(4% 0,96% 0,100% 100%,0 100%);background:linear-gradient(135deg,#705d43,#3a3027)}
.building-storage .roof{left:3px;right:3px;height:14px;clip-path:none;border-radius:4px;background:#7f6a50}.building-storage .m1,.building-storage .m2{top:30px;width:20px;height:18px;border:2px solid #9a7750;background:#493827}.building-storage .m1{left:10px}.building-storage .m2{right:10px}

/* Training bunker */
.building-training{left:0;top:50%}.building-training .body{left:8px;right:8px;height:42px;background:linear-gradient(135deg,#694151,#332633)}
.building-training .roof{background:linear-gradient(180deg,#9c6577,#543746)}.building-training .m3{width:34px;height:4px;top:13px;margin-left:-17px;background:#ff657c;box-shadow:0 0 8px rgba(255,101,124,.5)}

/* Generator */
.building-generator{left:17%;bottom:10%}.building-generator .body{left:9px;right:9px;height:41px;background:linear-gradient(135deg,#605843,#353126)}
.building-generator .roof{height:17px;background:linear-gradient(#7d7558,#484331)}
.building-generator .m1,.building-generator .m2{top:23px;width:12px;height:30px;border-radius:6px;background:linear-gradient(#766c4d,#302d25);border:1px solid #887e5d}.building-generator .m1{left:3px}.building-generator .m2{right:3px}
.building-generator .m3{width:27px;height:27px;margin-left:-13px;top:24px;border-radius:50%;background:radial-gradient(circle,#fff2a8 0 16%,#ffb650 18% 40%,#713e27 43% 62%,#292822 65%);box-shadow:0 0 20px rgba(255,174,70,.62);animation:reactorPulse 1.8s ease-in-out infinite}
.building-generator .building-glow{background:rgba(255,174,70,.33);filter:blur(7px)}

/* Lumberyard */
.building-lumberyard{right:17%;bottom:9%}.building-lumberyard .body{left:12px;right:12px;height:32px;background:linear-gradient(135deg,#76583c,#392e24)}
.building-lumberyard .roof{left:5px;right:5px;top:4px;height:16px;background:linear-gradient(#746959,#403a32)}
.building-lumberyard .m1,.building-lumberyard .m2{top:41px;width:31px;height:9px;border-radius:7px;background:linear-gradient(#9d623a,#5a3425);border:1px solid #3d251c}.building-lumberyard .m1{left:-3px;transform:rotate(8deg)}.building-lumberyard .m2{right:-3px;transform:rotate(-7deg)}
.building-lumberyard .m1:after,.building-lumberyard .m2:after{content:"";position:absolute;right:1px;top:1px;width:7px;height:7px;border-radius:50%;background:#d99c62;box-shadow:inset 0 0 0 2px #8f5734}
.building-lumberyard .m3{width:24px;height:24px;margin-left:-12px;top:24px;border-radius:50%;border:4px dashed #aeb7ba;animation:orbitSpin 5s linear infinite}

/* Farm greenhouse */
.building-farm{left:49%;bottom:23%;transform:translateX(-50%);z-index:7}.building-farm:active{transform:translateX(-50%) scale(.94)!important}
.building-farm .body{left:5px;right:5px;height:28px;background:linear-gradient(135deg,#39553c,#223327);clip-path:polygon(3% 0,97% 0,100% 100%,0 100%)}
.building-farm .roof{left:4px;right:4px;top:2px;height:35px;border-radius:50% 50% 5px 5px;clip-path:none;background:linear-gradient(180deg,rgba(123,208,153,.62),rgba(54,107,77,.82));border:1px solid rgba(171,241,193,.25);box-shadow:inset 0 4px rgba(255,255,255,.08)}
.building-farm .m1,.building-farm .m2{top:44px;width:24px;height:4px;background:#76c98c;box-shadow:0 0 7px rgba(112,216,138,.35)}.building-farm .m1{left:8px}.building-farm .m2{right:8px}
.building-farm .m3{width:5px;height:23px;margin-left:-2px;top:14px;background:#6d9d77;opacity:.8}

/* Future quarry/mine */
.building-quarry{right:2%;bottom:27%}.building-quarry .body{background:linear-gradient(135deg,#6f7778,#343b3e)}.building-quarry .m1,.building-quarry .m2{width:22px;height:18px;top:42px;background:#798182;clip-path:polygon(50% 0,100% 100%,0 100%)}.building-quarry .m1{left:2px}.building-quarry .m2{right:2px}
.building-mine{left:2%;bottom:27%}.building-mine .body{background:linear-gradient(135deg,#404a53,#20272c)}.building-mine .d1{width:25px;height:27px;left:25px;bottom:11px;border-radius:50% 50% 4px 4px;background:#070b0d;border:3px solid #59636a;box-shadow:inset 0 0 12px rgba(49,217,255,.13)}

/* Gate */
.building-gate{left:50%;bottom:-4%;transform:translateX(-50%);z-index:13}.building-gate:active{transform:translateX(-50%) scale(.94)!important}
.building-gate .structure{width:82px}.building-gate .body{left:14px;right:14px;height:24px}.building-gate .roof{left:5px;right:5px;height:12px}.building-gate .m1,.building-gate .m2{top:13px;width:9px;height:53px;background:linear-gradient(#72848d,#2e3b42)}.building-gate .m1{left:3px}.building-gate .m2{right:3px}.building-gate .m3{width:54px;height:32px;top:13px;margin-left:-27px;border:2px solid rgba(88,211,235,.18);border-bottom:0;border-radius:28px 28px 0 0}

/* level visual stages */
.camp-building.tier-2 .structure{filter:brightness(1.10) saturate(1.12) drop-shadow(0 0 4px rgba(99,216,144,.13))}
.camp-building.tier-3 .structure{filter:brightness(1.14) saturate(1.20) drop-shadow(0 0 8px rgba(88,168,255,.20))}
.camp-building.tier-4 .structure{filter:brightness(1.18) saturate(1.30) drop-shadow(0 0 10px rgba(181,108,255,.26))}
.camp-building.tier-5 .structure{filter:brightness(1.23) saturate(1.38) drop-shadow(0 0 13px rgba(255,182,79,.30))}
.camp-building.tier-2 .building-glow{background:rgba(99,216,144,.20)}
.camp-building.tier-3 .building-glow{background:rgba(88,168,255,.27)}
.camp-building.tier-4 .building-glow{background:rgba(181,108,255,.31)}
.camp-building.tier-5 .building-glow{background:rgba(255,182,79,.36)}
@keyframes reactorPulse{0%,100%{transform:scale(.92);filter:brightness(.9)}50%{transform:scale(1.08);filter:brightness(1.25)}}

/* bigger level tags over map buildings */
.map-world-cell{overflow:visible!important}
.map-world-cell>span{overflow:visible!important}
.map-building-level{
  top:-18px!important;bottom:auto!important;left:50%!important;transform:translateX(-50%) rotate(-45deg)!important;z-index:35!important;
  min-width:34px!important;padding:3px 5px!important;border-radius:8px!important;
  background:linear-gradient(180deg,#243042,#0d1420)!important;border:1px solid rgba(194,211,234,.35)!important;
  box-shadow:0 5px 10px rgba(0,0,0,.48)!important;color:#f1f7ff!important;font-size:7px!important;letter-spacing:.01em;
}
.map-world-cell.has-building{z-index:9}
.map-world-cell.has-building:hover{z-index:30}

/* polish props + scene */
.camp-prop.tree i{filter:drop-shadow(0 6px 5px rgba(0,0,0,.35))}
.camp-prop.solar i{box-shadow:0 0 8px rgba(67,151,196,.16)}
.camp-fire{filter:drop-shadow(0 0 8px rgba(255,113,48,.24))}
.base-vitals{margin-top:2px}.scene-next-objective{backdrop-filter:blur(8px);box-shadow:0 16px 34px rgba(0,0,0,.30),inset 0 1px rgba(255,255,255,.04)}
.scene-story-strip{backdrop-filter:blur(8px)}
@media(max-width:390px){
  .camp-scene{height:525px;min-height:500px}
  .camp-ground{width:385px;height:292px}
  .camp-building{width:98px;height:114px}
  .camp-building .structure{width:68px;height:65px}
  .building-lab{left:5%}.building-radio{right:4%}.building-storage{right:-2%}.building-training{left:-2%}
  .building-generator{left:13%;bottom:10%}.building-lumberyard{right:13%;bottom:8%}.building-farm{left:50%;bottom:24%}
  .camp-building .building-level-badge{top:-7px!important;min-width:45px!important;height:23px!important;font-size:10px!important}
}
.map-world-cell>span>b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:rgba(7,13,18,.24);box-shadow:inset 0 1px rgba(255,255,255,.04)}
.map-resource-icon{width:25px!important;height:25px!important;filter:drop-shadow(0 3px 4px rgba(0,0,0,.35))}.map-tech-icon{font-size:18px;display:grid;place-items:center}.map-tech-icon.generator{color:#ffd06d;text-shadow:0 0 8px rgba(255,188,80,.46)}.map-tech-icon.house{color:#c6d7e4}.map-tech-icon.warehouse{color:#d8ae77}
.map-building-level{transform:translateX(-50%)!important}
.guide-crate-visual{position:relative;width:116px;height:102px;margin:8px auto 16px;filter:drop-shadow(0 18px 19px rgba(0,0,0,.42));animation:chestLand .62s cubic-bezier(.2,.9,.25,1.2)}.guide-crate-visual:before{content:"";position:absolute;left:10px;right:10px;bottom:-8px;height:18px;border-radius:50%;background:rgba(0,0,0,.42);filter:blur(7px)}.guide-crate-visual .crate-body{position:absolute;left:11px;right:11px;bottom:10px;height:62px;border-radius:8px 8px 12px 12px;background:linear-gradient(135deg,#526677,#25333f 58%,#17232c);border:2px solid #708696;box-shadow:inset 0 0 0 5px rgba(13,22,29,.42),inset 0 3px rgba(255,255,255,.07)}.guide-crate-visual .crate-lid{position:absolute;left:5px;right:5px;top:13px;height:31px;border-radius:10px 10px 5px 5px;background:linear-gradient(180deg,#718794,#344650);border:2px solid #8198a4;z-index:3;box-shadow:inset 0 3px rgba(255,255,255,.08)}.guide-crate-visual .crate-lock{position:absolute;z-index:5;left:50%;top:37px;width:31px;height:31px;margin-left:-15px;border-radius:9px;display:grid;place-items:center;background:radial-gradient(circle,#5ce4ff,#1e596d 72%);border:2px solid #91efff;color:#e9fdff;font-size:12px;font-style:normal;font-weight:950;box-shadow:0 0 17px rgba(49,217,255,.36)}.guide-crate-visual>b,.guide-crate-visual>em{position:absolute;z-index:4;top:22px;width:8px;height:66px;background:#27343e;border:1px solid #71818b}.guide-crate-visual>b{left:24px}.guide-crate-visual>em{right:24px}.guide-crate-visual:after{content:"";position:absolute;inset:-24px;border-radius:50%;background:radial-gradient(circle,rgba(49,217,255,.13),transparent 63%);z-index:-1;animation:sampleBreath 2.2s ease-in-out infinite}
@media(max-width:390px){
 .camp-scene{height:455px;min-height:455px}
 .camp-ground{width:365px;height:265px;top:49%}
 .camp-ground .road{height:13px}.camp-ground .r1{width:290px}.camp-ground .r2{width:215px}.camp-ground .r3{width:185px}
 .camp-building{width:91px;height:104px}.camp-building .structure{width:62px;height:58px;top:20px}.camp-building .building-caption b{font-size:9px}.camp-building .building-caption small{font-size:6px}
 .building-hq{top:32%}.building-lab{left:4%;top:24%}.building-radio{right:3%;top:21%}.building-storage{right:-2%;top:45%}.building-training{left:-2%;top:46%}
 .building-generator{left:13%;bottom:4%}.building-lumberyard{right:12%;bottom:3%}.building-farm{left:50%;bottom:20%}.building-gate{bottom:-8%}
 .camp-building .building-level-badge{top:-6px!important}
}

/* Map depth polish */
.map-game-screen{background:
  radial-gradient(circle at 82% 17%,rgba(255,111,52,.14),transparent 18%),
  radial-gradient(circle at 23% 63%,rgba(47,124,109,.08),transparent 30%),
  linear-gradient(180deg,#0b1724 0%,#101c1c 48%,#08100f 100%)}
.map-world-wrap:before{content:"";position:absolute;left:50%;top:49%;width:440px;height:440px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:
  repeating-radial-gradient(circle,transparent 0 49px,rgba(72,177,191,.025) 50px 51px),
  radial-gradient(circle at 57% 47%,rgba(69,162,134,.06),transparent 42%);filter:drop-shadow(0 25px 35px rgba(0,0,0,.22))}
.map-world-grid{gap:5px;filter:drop-shadow(0 33px 26px rgba(0,0,0,.52))}
.map-world-cell{border:1px solid rgba(173,199,188,.10);box-shadow:inset 2px 2px rgba(255,255,255,.025),inset -5px -5px 9px rgba(0,0,0,.22),4px 5px 5px rgba(0,0,0,.22);transition:transform .15s ease,filter .18s ease,box-shadow .18s ease}
.map-world-cell:before{content:"";position:absolute;inset:3px;border-radius:3px;background:linear-gradient(145deg,rgba(255,255,255,.035),transparent 42%,rgba(0,0,0,.12));pointer-events:none}
.map-world-cell.terrain-forest{background:
  radial-gradient(circle at 28% 30%,rgba(94,143,87,.20) 0 4px,transparent 5px),
  radial-gradient(circle at 68% 63%,rgba(75,121,69,.17) 0 3px,transparent 4px),
  linear-gradient(145deg,#315039,#172a1f)}
.map-world-cell.terrain-meadow{background:
  repeating-linear-gradient(123deg,rgba(176,174,105,.035) 0 1px,transparent 1px 7px),
  linear-gradient(145deg,#5b653a,#2d3822)}
.map-world-cell.terrain-rock{background:
  linear-gradient(35deg,transparent 44%,rgba(218,226,226,.06) 45% 47%,transparent 48%),
  linear-gradient(145deg,#596063,#293034)}
.map-world-cell.terrain-ruins{background:
  repeating-linear-gradient(45deg,rgba(194,154,123,.045) 0 4px,transparent 4px 11px),
  linear-gradient(145deg,#735b4c,#362e2a)}
.map-world-cell.has-building{border-color:rgba(78,208,230,.22);background:
  radial-gradient(circle at 50% 45%,rgba(49,217,255,.10),transparent 48%),
  linear-gradient(145deg,#36586b,#1a303e);box-shadow:inset 0 0 16px rgba(49,217,255,.08),0 8px 10px rgba(0,0,0,.30)}
.map-world-cell.revealed{border-color:rgba(72,227,255,.75);box-shadow:inset 0 0 20px rgba(49,217,255,.11),0 0 15px rgba(49,217,255,.18),4px 5px 5px rgba(0,0,0,.23)}
.map-world-cell.revealed:after{content:"";position:absolute;inset:-6px;border-radius:9px;border:1px solid rgba(71,222,255,.16);animation:targetRing 1.8s ease-out infinite}
.map-world-cell.fog{background:linear-gradient(145deg,#151d21,#090e12);opacity:.70}
.map-world-cell.fog:after{content:"";position:absolute;inset:-15px;background:
  radial-gradient(circle at 34% 45%,rgba(161,178,179,.16),transparent 43%),
  radial-gradient(circle at 68% 61%,rgba(124,143,147,.10),transparent 47%);filter:blur(6px);animation:cloudMove 7s ease-in-out infinite}
.map-world-cell:active{transform:scale(.92);filter:brightness(1.18)}
.map-legend{margin-top:-31px}.map-bottom-console{box-shadow:0 15px 26px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.025);backdrop-filter:blur(7px)}

/* =========================================================
   PULSE 1.5 — guided spotlight, timed actions, smooth motion
   ========================================================= */
#view{will-change:opacity,transform}
.view-transition-out{opacity:0!important;transform:translateX(-10px) scale(.992)!important;transition:opacity .11s ease,transform .11s ease!important}
.view-transition-in{animation:viewSlideIn .32s cubic-bezier(.2,.8,.2,1)}
.view-soft-enter{animation:viewSoftIn .26s cubic-bezier(.2,.8,.2,1)}
@keyframes viewSlideIn{0%{opacity:0;transform:translateX(12px) scale(.992)}100%{opacity:1;transform:none}}
@keyframes viewSoftIn{0%{opacity:.45;transform:translateY(5px)}100%{opacity:1;transform:none}}
.modal{transition:background .18s ease,backdrop-filter .18s ease}
.modal.modal-closing{background:rgba(3,5,10,0);backdrop-filter:blur(0)}
.modal-card{transform-origin:50% 100%;will-change:transform,opacity}
.modal-card-in{animation:modalRise .28s cubic-bezier(.18,.82,.2,1)}
.modal-card-out{animation:modalDrop .18s ease forwards}
@keyframes modalRise{0%{opacity:0;transform:translateY(26px) scale(.985)}100%{opacity:1;transform:none}}
@keyframes modalDrop{to{opacity:0;transform:translateY(20px) scale(.99)}}
button{transition:transform .14s ease,filter .16s ease,box-shadow .16s ease,border-color .16s ease}
button:active{transform:scale(.972)}
.camp-building:active,.map-world-cell:active{transition-duration:.08s!important}

/* spotlight navigation */
.coach-mode{overflow-x:hidden}
.coach-spotlight{
  position:fixed;z-index:224;pointer-events:none;border-radius:16px;
  border:3px solid rgba(98,238,255,.96);
  box-shadow:0 0 0 9999px rgba(2,5,10,.56),0 0 0 7px rgba(49,217,255,.12),0 0 38px rgba(49,217,255,.62),inset 0 0 22px rgba(49,217,255,.13);
  transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease;
}
.coach-spotlight>i,.coach-spotlight>b{position:absolute;inset:-10px;border:2px solid rgba(89,233,255,.58);border-radius:22px;animation:coachRing 1.35s ease-out infinite}
.coach-spotlight>b{inset:-20px;border-color:rgba(89,233,255,.22);animation-delay:.38s}
.coach-target-strong{position:relative!important;z-index:226!important;outline:none!important;filter:brightness(1.22)!important;box-shadow:0 0 0 3px #62eaff,0 0 25px rgba(49,217,255,.55)!important;animation:coachTargetPulse 1s ease-in-out infinite!important}
.coach-pointer{
  position:fixed;z-index:230;pointer-events:none;min-width:180px;max-width:235px;padding:9px 12px 11px;
  display:grid;grid-template-columns:auto 1fr;grid-template-areas:"mira call" "text text";gap:2px 8px;
  border-radius:14px;background:linear-gradient(145deg,#1d4353,#101a27 72%);border:1px solid rgba(106,239,255,.58);
  box-shadow:0 15px 36px rgba(0,0,0,.5),0 0 26px rgba(49,217,255,.22);
}
.coach-pointer span{grid-area:mira;font-size:6px;color:#71ecff;font-weight:950;letter-spacing:.12em;align-self:center}
.coach-pointer strong{grid-area:call;color:#fff;font-size:10px;letter-spacing:.05em;text-shadow:0 0 10px rgba(49,217,255,.4)}
.coach-pointer>b{grid-area:text;font-size:8px!important;color:#bcd4df!important;line-height:1.35;font-weight:700}
.coach-arrow{position:absolute!important;left:50%;bottom:-21px;width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:18px solid #47dff7;filter:drop-shadow(0 5px 5px rgba(0,0,0,.35));transform:translateX(-50%);animation:coachArrow .75s ease-in-out infinite}
.coach-pointer.below .coach-arrow{bottom:auto;top:-21px;border-top:0;border-bottom:18px solid #47dff7}
@keyframes coachRing{0%{opacity:.85;transform:scale(.92)}75%,100%{opacity:0;transform:scale(1.10)}}
@keyframes coachTargetPulse{0%,100%{filter:brightness(1.12);transform:scale(1)}50%{filter:brightness(1.38);transform:scale(1.035)}}
@keyframes coachArrow{0%,100%{translate:0 0}50%{translate:0 5px}}

/* timed work */
.timed-job-view{text-align:center}
.job-orbit{position:relative;width:106px;height:106px;margin:3px auto 14px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#23384a,#101823 68%);border:1px solid rgba(76,220,255,.24);box-shadow:0 0 32px rgba(49,217,255,.09)}
.job-orbit>b{font-size:35px;color:#c9f8ff;z-index:3;text-shadow:0 0 14px rgba(49,217,255,.45)}
.job-orbit>i,.job-orbit>em{position:absolute;border-radius:50%;border:2px dashed rgba(81,220,244,.35);inset:10px;animation:orbitSpin 7s linear infinite}
.job-orbit>em{inset:23px;border-style:solid;border-color:rgba(133,108,255,.28);animation-direction:reverse;animation-duration:4s}
.job-clock{margin:9px auto 8px;padding:12px;border-radius:14px;background:#0e1723;border:1px solid rgba(49,217,255,.12);display:flex;flex-direction:column;align-items:center}
.job-clock span{font-size:6px;color:#778a9f;letter-spacing:.12em;font-weight:900}.job-clock b{font-size:25px;color:#e8fbff;margin-top:2px;font-variant-numeric:tabular-nums}
.job-progress{height:7px;margin:0 0 13px;border-radius:99px;background:#20293a;overflow:hidden;box-shadow:inset 0 2px 4px rgba(0,0,0,.25)}
.job-progress i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#655fff,#39dcff);box-shadow:0 0 12px rgba(49,217,255,.32);transition:width .45s linear}
.job-free-finish{box-shadow:0 0 24px rgba(77,220,177,.12)!important}
.job-early-note,.job-money-note{font-size:7px;line-height:1.4;color:#748298;margin:7px 3px 10px}
.job-speedups{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.job-speedups button{min-height:72px;padding:7px 5px;border-radius:12px;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.job-speedups button.owned{background:linear-gradient(145deg,#18392e,#101e1a);border:1px solid rgba(88,220,160,.25)}
.job-speedups button.buy{background:linear-gradient(145deg,#211c34,#121725);border:1px solid rgba(136,110,255,.22)}
.job-speedups button>span{font-size:18px}.job-speedups button>div{display:flex;flex-direction:column}.job-speedups small{font-size:5px;color:#94a6b9}.job-speedups b{font-size:8px;margin-top:2px}
.job-complete-reveal{text-align:center}.job-complete-ring{width:98px;height:98px;margin:5px auto 14px;border-radius:50%;display:grid;place-items:center;font-size:39px;color:#caffdf;background:radial-gradient(circle,#2c7452,#14251f 67%);border:1px solid rgba(96,229,161,.42);box-shadow:0 0 34px rgba(76,222,151,.18);animation:rewardPop .6s cubic-bezier(.2,.9,.2,1.3)}
.base-job-banner{position:relative;z-index:11;margin:-2px 12px 8px;width:calc(100% - 24px);padding:9px 10px;display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;text-align:left;border:1px solid rgba(109,126,255,.22);border-radius:13px;background:linear-gradient(110deg,rgba(30,31,66,.95),rgba(13,20,31,.96));color:white;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.base-job-banner>span{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#2a2e61;color:#c9d1ff;font-size:19px;animation:clockPulse 1.5s ease-in-out infinite}
.base-job-banner>div{display:flex;flex-direction:column}.base-job-banner b{font-size:9px}.base-job-banner small{font-size:6px;color:#929fc3;margin-top:2px}.base-job-banner>i{font-style:normal;font-size:17px;color:#9eaaff}
@keyframes clockPulse{50%{box-shadow:0 0 16px rgba(126,118,255,.30);transform:scale(1.06)}}
.map-world-cell.job-active{border-color:rgba(135,117,255,.62)!important;box-shadow:inset 0 0 20px rgba(109,95,255,.16),0 0 14px rgba(104,94,255,.18)!important}
.map-job-icon{font-size:19px;color:#c1bdff;text-shadow:0 0 9px rgba(130,112,255,.5);animation:clockPulse 1.5s ease-in-out infinite}
.map-job-time{position:absolute!important;left:50%!important;bottom:-18px!important;transform:translateX(-50%) rotate(-45deg)!important;min-width:54px;padding:3px 4px!important;border-radius:6px!important;background:#191833!important;border:1px solid rgba(147,130,255,.35)!important;color:#d9d4ff!important;font-size:5px!important;font-style:normal!important;white-space:nowrap;z-index:40!important}
.speedup-drop{margin:9px 0 12px;padding:9px;border-radius:12px;display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;text-align:left;background:linear-gradient(145deg,rgba(104,83,255,.12),rgba(18,22,37,.88));border:1px solid rgba(139,116,255,.22)}
.speedup-drop>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#2a2552;font-size:17px}.speedup-drop>div{display:flex;flex-direction:column}.speedup-drop small{font-size:5px;color:#a797ff;letter-spacing:.08em}.speedup-drop b{font-size:9px}.speedup-drop em{font-size:6px;color:#8693a8;font-style:normal}
.lab-job-active{background:linear-gradient(100deg,#3b2d74,#215d70)!important}
@media(max-width:390px){.job-speedups{gap:4px}.job-speedups button{min-height:67px}.coach-pointer{max-width:205px}}
@media(prefers-reduced-motion:reduce){
  .view-transition-in,.view-soft-enter,.modal-card-in,.modal-card-out,.coach-target-strong,.coach-spotlight>i,.coach-spotlight>b,.coach-arrow,.job-orbit>i,.job-orbit>em,.base-job-banner>span,.map-job-icon{animation:none!important;transition:none!important}
}

.time-preview{margin:9px 0 11px;padding:9px 10px;border-radius:12px;background:linear-gradient(145deg,#151c2a,#0f1621);border:1px solid rgba(134,116,255,.16);display:grid;grid-template-columns:1fr auto;gap:2px 8px;align-items:center}
.time-preview>span{font-size:7px;color:#93a2b5;font-weight:850}.time-preview>b{font-size:10px;color:#d9d5ff;font-variant-numeric:tabular-nums}.time-preview>small{grid-column:1/-1;font-size:6px;color:#6f7d91}
.time-preview.free{border-color:rgba(78,219,153,.21);background:linear-gradient(145deg,#153027,#101b18)}.time-preview.free>b{color:#9ce6bd}.time-preview.free>small{color:#77a88d}
.warehouse-speedups{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 9px 12px}.warehouse-speedup{min-height:92px;padding:9px 7px;border-radius:14px;border:1px solid rgba(131,111,255,.16);background:linear-gradient(145deg,#1b1c34,#101621);color:white;text-align:left;display:flex;flex-direction:column;gap:5px;justify-content:center}.warehouse-speedup>span{font-size:22px;filter:drop-shadow(0 0 8px rgba(129,112,255,.28))}.warehouse-speedup>div{display:flex;flex-direction:column}.warehouse-speedup small{font-size:5px;color:#aaa0ff;letter-spacing:.06em}.warehouse-speedup b{font-size:8px;margin:2px 0}.warehouse-speedup em{font-size:6px;color:#7f8ba0;font-style:normal}
@media(max-width:390px){.warehouse-speedups{gap:5px}.warehouse-speedup{min-height:88px;padding:8px 6px}}
.job-free-finish{min-height:52px!important;background:linear-gradient(100deg,#2bcf8a,#32d7c4)!important;color:#071814!important;font-size:9px!important;font-weight:950!important;box-shadow:0 0 28px rgba(49,220,170,.20)!important}
.job-early-note{text-align:center!important;color:#89b9a2!important}.job-early-note b{color:#baffd5;font-size:8px}
.job-back{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important}.job-back small{font-size:6px!important;color:#77869a!important;font-weight:600!important}

/* Map visibility fix: keep the full rotated 7x7 board inside its viewport */
.map-world-wrap{height:500px!important;margin-top:-4px!important;overflow:hidden!important}
.map-world-grid{top:49%!important;transform:translate(-50%,-50%) rotate(45deg) scale(.86)!important}
.map-legend{margin-top:-18px!important}
@media(max-width:430px){
  .map-world-wrap{height:475px!important;margin-top:0!important}
  .map-world-grid{top:50%!important;transform:translate(-50%,-50%) rotate(45deg) scale(.79)!important}
  .map-legend{margin-top:-9px!important}
}
@media(max-width:370px){
  .map-world-grid{transform:translate(-50%,-50%) rotate(45deg) scale(.74)!important}
}
/* keep context readable while MIRA highlights one tile */
.coach-spotlight{box-shadow:0 0 0 9999px rgba(2,5,10,.44),0 0 0 7px rgba(49,217,255,.14),0 0 38px rgba(49,217,255,.62),inset 0 0 22px rgba(49,217,255,.13)!important}

/* PULSE 1.5.4 — adaptive expedition map fit */
.map-game-screen{
  min-height:calc(100dvh - 118px);
  overflow:hidden;
}
.map-world-wrap{
  position:relative!important;
  width:100%!important;
  height:clamp(470px,58dvh,650px)!important;
  margin:2px 0 0!important;
  padding:0!important;
  overflow:hidden!important;
}
.map-world-grid{
  --map-fit:1;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%) rotate(45deg) scale(var(--map-fit))!important;
  transform-origin:center center!important;
  will-change:transform;
}
.map-legend{
  margin-top:-3px!important;
  padding-bottom:5px;
}
.map-bottom-console{
  margin-top:6px!important;
}
@media(max-width:430px){
  .map-world-wrap{height:clamp(430px,55dvh,520px)!important}
  .map-world-grid{top:50%!important;transform:translate(-50%,-50%) rotate(45deg) scale(var(--map-fit))!important}
}
@media(max-width:370px){
  .map-world-wrap{height:425px!important}
  .map-world-grid{transform:translate(-50%,-50%) rotate(45deg) scale(var(--map-fit))!important}
}

/* PULSE 1.5.5 — guided building choice */
.build-guide-head{margin-bottom:9px}.build-guide-head h2{margin:3px 0 8px}
.build-mission-progress{padding:10px 11px;border-radius:13px;background:linear-gradient(145deg,rgba(31,66,78,.48),rgba(14,23,34,.92));border-left:3px solid var(--cyan);display:grid;grid-template-columns:1fr auto;gap:3px 8px}
.build-mission-progress span{font-size:6px;color:var(--cyan);font-weight:950;letter-spacing:.09em}.build-mission-progress>b{font-size:13px;color:#dffbff}.build-mission-progress>small{grid-column:1/-1;font-size:7px;line-height:1.35;color:#94a4b5}
.build-recommended{margin:11px 0 9px;padding:12px;border-radius:16px;background:linear-gradient(145deg,#153b3b,#101d29 72%);border:1px solid rgba(66,226,219,.30);box-shadow:0 14px 30px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.04)}
.build-rec-label{font-size:6px;color:#66efde;font-weight:950;letter-spacing:.12em;margin-bottom:8px}
.build-rec-main{display:grid;grid-template-columns:47px 1fr;gap:10px;align-items:center;text-align:left}.build-rec-main>span{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:rgba(7,15,21,.42);border:1px solid rgba(255,255,255,.07);font-size:28px}.build-rec-main>span .resource-icon{width:34px;height:34px}
.build-rec-main h3{margin:0;font-size:15px}.build-rec-main p{margin:2px 0;font-size:8px;color:#b7c4ce}.build-rec-main small{display:block;font-size:7px;color:#83a0aa;line-height:1.35}
.build-rec-cost{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.build-rec-cost .resource-pill{min-height:29px;padding:3px 6px!important}.build-rec-cost .resource-icon{width:18px;height:18px;flex-basis:18px}
#buildRecommended{min-height:48px;font-size:9px;display:flex;align-items:center;justify-content:center;gap:7px;box-shadow:0 0 24px rgba(56,224,206,.13)}#buildRecommended i{font-style:normal;font-size:17px}
.build-alt-toggle{width:100%;min-height:45px;padding:8px 10px;margin:4px 0 8px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:#111928;color:white;display:grid;grid-template-columns:1fr auto;grid-template-areas:"title icon" "sub icon";text-align:left}.build-alt-toggle>span{grid-area:title;font-size:8px;font-weight:850}.build-alt-toggle>small{grid-area:sub;font-size:6px;color:#748196;margin-top:2px}.build-alt-toggle>i{grid-area:icon;align-self:center;font-style:normal;color:#7f8da0;font-size:16px;transition:transform .18s ease}.build-alt-toggle.open>i{transform:rotate(180deg)}
.build-alt-list{max-height:1000px;opacity:1;overflow:hidden;transition:max-height .26s ease,opacity .2s ease,margin .2s ease}.build-alt-list.collapsed{max-height:0;opacity:0;margin:0!important;pointer-events:none}
.build-alt-list button{grid-template-columns:38px 1fr auto!important}.build-alt-list button>strong{align-self:center;font-size:7px;color:#7fddec;white-space:nowrap}
.build-alt-list button>span{font-size:24px}.build-alt-list button>span .resource-icon{width:28px;height:28px}
@media(max-width:390px){.build-rec-main{grid-template-columns:42px 1fr}.build-rec-main>span{width:40px;height:40px}.build-rec-main h3{font-size:13px}.build-recommended{padding:10px}}

/* =========================================================
   PULSE 1.6 — cinematic intro + scene transitions
   ========================================================= */
.video-impact-scene{position:relative;min-height:100dvh;padding:0!important;overflow:hidden;background:#02050a}
.meteor-intro-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;background:#000}
.meteor-video-shade{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(0,0,0,.42),transparent 24%,transparent 62%,rgba(0,0,0,.78) 100%),
  radial-gradient(circle at 50% 48%,transparent 0 42%,rgba(0,0,0,.34) 78%,rgba(0,0,0,.64) 100%)}
.meteor-cinema-bars:before,.meteor-cinema-bars:after{content:"";position:absolute;left:0;right:0;height:5.2dvh;background:#000;z-index:7;transition:height .45s ease}.meteor-cinema-bars:before{top:0}.meteor-cinema-bars:after{bottom:0}
.meteor-telemetry{position:absolute;z-index:8;top:7.5dvh;display:flex;flex-direction:column;gap:2px;text-shadow:0 2px 8px #000}.meteor-telemetry.top-left{left:16px}.meteor-telemetry.top-right{right:16px;text-align:right}.meteor-telemetry span{font-size:6px;color:#77eaff;letter-spacing:.12em;font-weight:950}.meteor-telemetry b{font-size:10px;color:#f5fbff}.meteor-telemetry small{font-size:6px;color:#9aabba}
.meteor-video-caption{position:absolute;z-index:8;left:16px;right:16px;bottom:9.5dvh;max-width:390px}.meteor-video-caption h1{font-size:25px;line-height:1.04;margin:4px 0 7px;color:#fff;text-shadow:0 4px 18px #000}.meteor-video-caption p{font-size:9px;line-height:1.45;color:#c4d0d9;margin:0;max-width:310px;text-shadow:0 2px 10px #000}
.meteor-sound,.meteor-skip{position:absolute;z-index:9;top:14.5dvh;border-radius:10px;border:1px solid rgba(255,255,255,.13);background:rgba(5,10,16,.48);backdrop-filter:blur(8px);color:#dce7ef;font:inherit}.meteor-sound{left:16px;padding:6px 8px;font-size:8px}.meteor-sound span{font-size:5px;letter-spacing:.07em;color:#8ca0ae}.meteor-skip{right:16px;padding:7px 10px;font-size:7px}
.meteor-progress{position:absolute;z-index:10;left:5.5dvw;right:5.5dvw;bottom:5.7dvh;height:3px;border-radius:99px;background:rgba(255,255,255,.13);overflow:hidden}.meteor-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,#45dbff,#ff8358);box-shadow:0 0 11px rgba(75,216,255,.45);transition:width .2s linear}
.meteor-impact-message{position:absolute;z-index:9;left:50%;top:46%;transform:translate(-50%,-50%) scale(.88);opacity:0;text-align:center;pointer-events:none}.meteor-impact-message span{display:block;font-size:7px;color:#ffbf97;font-weight:950;letter-spacing:.18em}.meteor-impact-message b{display:block;font-size:30px;color:#fff;margin-top:3px;text-shadow:0 0 24px rgba(255,111,59,.64)}
.video-impact-scene.meteor-near-impact{animation:impactShake .11s linear 8}.video-impact-scene.meteor-near-impact .meteor-video-shade{background:linear-gradient(180deg,rgba(0,0,0,.3),transparent 30%,rgba(255,105,57,.06) 68%,rgba(0,0,0,.64))}
.video-impact-scene.meteor-after-impact .meteor-impact-message{animation:impactMessage 1.25s cubic-bezier(.2,.8,.2,1) forwards}.video-impact-scene.meteor-after-impact .meteor-video-caption{opacity:.25;transform:translateY(12px);transition:.5s ease}
.video-impact-scene.impact-exit{animation:introFilmOut .42s ease forwards}
@keyframes impactShake{0%,100%{transform:translate(0)}25%{transform:translate(2px,-1px)}50%{transform:translate(-2px,1px)}75%{transform:translate(1px,2px)}}
@keyframes impactMessage{0%{opacity:0;transform:translate(-50%,-50%) scale(.78);filter:blur(6px)}28%{opacity:1;transform:translate(-50%,-50%) scale(1.06);filter:blur(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes introFilmOut{to{opacity:0;filter:blur(10px);transform:scale(1.035)}}

/* assignment scene */
.assignment-scene{position:relative;min-height:100dvh;overflow:hidden;background:linear-gradient(180deg,#07121b,#0a151d 48%,#070b10);padding:8.5dvh 16px 7dvh!important}
.assignment-backdrop{position:absolute;inset:0;z-index:0;overflow:hidden}.assignment-backdrop img{width:100%;height:100%;object-fit:cover;filter:brightness(.23) saturate(.6) blur(2px);transform:scale(1.06)}.assignment-backdrop:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,9,14,.38),rgba(5,13,20,.82) 42%,#071018 78%)}
.assignment-backdrop>i{position:absolute;z-index:2;left:50%;top:33%;width:280px;height:280px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(54,219,255,.16),transparent 64%);filter:blur(3px);animation:sampleBreath 2.7s ease-in-out infinite}
.assignment-scanline{position:absolute;z-index:2;left:0;right:0;height:1px;top:13%;background:linear-gradient(90deg,transparent,#4de1ff,transparent);box-shadow:0 0 10px #45d8f6;opacity:.5;animation:assignmentScan 5s linear infinite}
.assignment-header{position:relative;z-index:4;display:flex;flex-direction:column;gap:2px}.assignment-header span{font-size:6px;color:#58ddf8;font-weight:950;letter-spacing:.13em}.assignment-header b{font-size:9px;color:#edf7fb}
.assignment-core{position:relative;z-index:4;width:124px;height:124px;margin:23px auto 8px;display:grid;place-items:center}.assignment-core .signal-ring{position:absolute;inset:8px;border-radius:50%;border:1px solid rgba(78,218,245,.28);animation:signalRing 2.8s ease-out infinite}.assignment-core .signal-ring.r2{inset:24px;animation-delay:.7s}.assignment-core .signal-orb{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#7eebff,#18465a 68%,#0d1c27);border:1px solid rgba(128,235,255,.45);color:#d8fbff;font-size:22px;box-shadow:0 0 30px rgba(49,217,255,.28)}
.assignment-dossier{position:relative;z-index:4;margin:5px 0 10px;padding:14px;border-radius:18px;background:linear-gradient(145deg,rgba(19,36,48,.88),rgba(9,18,28,.94));border:1px solid rgba(82,219,245,.16);box-shadow:0 20px 40px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(10px)}
.assignment-dossier h1{font-size:24px;line-height:1.05;margin:5px 0 8px;color:#f1f8fb}.assignment-dossier>p{font-size:8px;line-height:1.55;color:#9eb0bb;margin:0 0 12px}
.assignment-tasks{display:grid;gap:6px}.assignment-tasks>span{min-height:34px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);display:grid;grid-template-columns:26px 1fr;gap:7px;align-items:center}.assignment-tasks i{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#102f3b;color:#6ce5fa;font-size:6px;font-style:normal;font-weight:950}.assignment-tasks b{font-size:8px;color:#dbe6eb}
.assignment-status{position:relative;z-index:4;margin:8px 2px 12px;display:grid;grid-template-columns:8px 1fr auto;gap:6px;align-items:center}.assignment-status i{width:7px;height:7px;border-radius:50%;background:#61e9a7;box-shadow:0 0 10px rgba(97,233,167,.55);animation:sampleBreath 1.4s ease-in-out infinite}.assignment-status span{font-size:6px;color:#73dca5;font-weight:900;letter-spacing:.08em}.assignment-status b{font-size:5px;color:#677685}
.assignment-accept{position:relative;z-index:4;min-height:50px!important}
@keyframes assignmentScan{0%{top:13%;opacity:0}8%{opacity:.55}92%{opacity:.55}100%{top:88%;opacity:0}}

/* cinematic screen transitions */
.screen-film-transition{position:fixed;inset:0;z-index:260;pointer-events:none;opacity:0;overflow:hidden;background:#050911;transition:opacity .18s ease}.screen-film-transition.active{opacity:1}.screen-film-transition.leave{opacity:0;transition-duration:.34s}
.film-noise{position:absolute;inset:-40%;opacity:.10;background:repeating-linear-gradient(0deg,rgba(255,255,255,.14) 0 1px,transparent 1px 4px);transform:rotate(7deg);animation:filmNoise .22s steps(2) infinite}
.film-sweep{position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 30%,rgba(49,217,255,.13) 44%,rgba(127,99,255,.16) 53%,transparent 67%);transform:translateX(-65%);animation:filmSweep .58s cubic-bezier(.2,.8,.2,1) forwards}
.film-route{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.88);display:grid;grid-template-columns:42px auto;grid-template-areas:"icon title" "icon sub";gap:1px 10px;align-items:center;opacity:0;animation:filmRoute .5s .06s cubic-bezier(.2,.8,.2,1) forwards}.film-route>span{grid-area:icon;width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#112634;border:1px solid rgba(82,218,245,.21);color:#93eeff;font-size:19px}.film-route>b{grid-area:title;font-size:11px;color:#eef9ff;letter-spacing:.08em}.film-route>small{grid-area:sub;font-size:5px;color:#64798a;letter-spacing:.12em}
.focus-film-transition{position:fixed;inset:0;z-index:215;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,transparent 0 16%,rgba(3,7,12,.6) 59%,rgba(3,7,12,.85));backdrop-filter:blur(0);transition:opacity .18s ease,backdrop-filter .22s ease}.focus-film-transition.active{opacity:1;backdrop-filter:blur(4px)}.focus-film-transition.leave{opacity:0}.focus-film-transition>i{position:absolute;left:50%;top:44%;width:110px;height:110px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(69,220,248,.25);box-shadow:0 0 28px rgba(49,217,255,.09);animation:signalRing 1.3s ease-out infinite}.focus-film-transition>b{position:absolute;left:50%;top:54%;transform:translateX(-50%);font-size:7px;color:#9eefff;letter-spacing:.14em}
.intro-scene-enter{animation:introSceneEnter .58s cubic-bezier(.18,.82,.2,1)}
@keyframes introSceneEnter{0%{opacity:0;transform:scale(1.025);filter:blur(9px)}100%{opacity:1;transform:none;filter:none}}
@keyframes filmNoise{50%{transform:translate(2%,1%) rotate(7deg)}}
@keyframes filmSweep{to{transform:translateX(65%)}}
@keyframes filmRoute{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media(max-width:390px){.assignment-scene{padding-left:13px!important;padding-right:13px!important}.assignment-dossier h1{font-size:21px}.meteor-video-caption h1{font-size:23px}}
@media(prefers-reduced-motion:reduce){.film-noise,.film-sweep,.film-route,.assignment-scanline,.intro-scene-enter,.meteor-impact-message{animation:none!important}.screen-film-transition,.focus-film-transition{transition:none!important}}
.intro-overlay.intro-video-mode{overflow:hidden;background:#000}
.intro-overlay.intro-video-mode .intro-safe{width:min(520px,100%);padding:0;min-height:100dvh}
.intro-overlay.intro-video-mode .intro-steps{display:none}
.intro-overlay.intro-video-mode .intro-scene{min-height:100dvh}

/* PULSE 1.6.1 — route-specific cinematic motion */
.film-depth,.film-door{position:absolute;pointer-events:none;opacity:0}.film-depth{left:50%;top:50%;width:62vmin;height:62vmin;border:1px solid rgba(67,224,255,.16);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 45px rgba(42,200,255,.06),inset 0 0 40px rgba(42,200,255,.035)}
.route-home-to-map,.route-map-to-home{background:radial-gradient(circle at 50% 50%,#101b28 0,#070c14 54%,#03060b 100%)}
.route-home-to-map.active .depth-a{animation:mapPullUp .55s cubic-bezier(.18,.82,.2,1) forwards}.route-home-to-map.active .depth-b{animation:mapPullUp .55s .07s cubic-bezier(.18,.82,.2,1) forwards}
.route-map-to-home.active .depth-a{animation:mapDropIn .55s cubic-bezier(.18,.82,.2,1) forwards}.route-map-to-home.active .depth-b{animation:mapDropIn .55s .07s cubic-bezier(.18,.82,.2,1) forwards}
.route-home-to-map .film-route,.route-map-to-home .film-route{animation-duration:.42s}.route-home-to-map .film-sweep,.route-map-to-home .film-sweep{filter:blur(2px)}
.route-home-to-storage{background:#070b10}.route-home-to-storage .film-door{top:0;bottom:0;width:52%;opacity:1;background:linear-gradient(90deg,#101923,#0b1119);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 0 30px rgba(0,0,0,.5)}.route-home-to-storage .film-door.left{left:-52%;animation:doorCloseLeft .42s cubic-bezier(.3,.8,.2,1) forwards}.route-home-to-storage .film-door.right{right:-52%;transform:scaleX(-1);animation:doorCloseRight .42s cubic-bezier(.3,.8,.2,1) forwards}.route-home-to-storage .film-sweep{background:linear-gradient(90deg,transparent,rgba(255,187,91,.12),transparent)}
.focus-film-transition>em{display:none}.focus-film-transition.lab-focus{background:rgba(1,11,17,.72)}.focus-film-transition.lab-focus>em{display:block;position:absolute;z-index:2;left:4%;right:4%;top:12%;height:2px;background:linear-gradient(90deg,transparent,#61efff,transparent);box-shadow:0 0 18px rgba(49,217,255,.7);animation:labScanSweep .46s cubic-bezier(.2,.8,.2,1) forwards}.focus-film-transition.lab-focus:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 5px,rgba(55,229,255,.035) 5px 6px);mix-blend-mode:screen}
.video-impact-scene:after{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;background:#fff;opacity:0}.video-impact-scene.meteor-after-impact:after{animation:meteorUiFlash .7s ease-out 1}
@keyframes mapPullUp{0%{opacity:0;transform:translate(-50%,-38%) rotate(45deg) scale(.46);filter:blur(8px)}55%{opacity:.72}100%{opacity:.08;transform:translate(-50%,-62%) rotate(45deg) scale(1.9);filter:blur(0)}}@keyframes mapDropIn{0%{opacity:.08;transform:translate(-50%,-62%) rotate(45deg) scale(1.9);filter:blur(3px)}55%{opacity:.62}100%{opacity:0;transform:translate(-50%,-38%) rotate(45deg) scale(.48);filter:blur(8px)}}@keyframes doorCloseLeft{0%{left:-52%}58%,78%{left:0}100%{left:-8%}}@keyframes doorCloseRight{0%{right:-52%}58%,78%{right:0}100%{right:-8%}}@keyframes labScanSweep{0%{top:12%;opacity:0}12%{opacity:1}100%{top:88%;opacity:0}}@keyframes meteorUiFlash{0%{opacity:0}7%{opacity:.92}18%{opacity:.18}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.film-depth,.film-door,.focus-film-transition.lab-focus>em,.video-impact-scene:after{animation:none!important}}

.reward-reveal:before{content:"";position:absolute;z-index:0;inset:4% 8% 18%;pointer-events:none;opacity:0;background:radial-gradient(circle at 18% 70%,var(--rar) 0 2px,transparent 3px),radial-gradient(circle at 82% 62%,var(--rar) 0 2px,transparent 3px),radial-gradient(circle at 34% 28%,#fff 0 1px,transparent 2px),radial-gradient(circle at 69% 23%,#fff 0 1px,transparent 2px),radial-gradient(circle at 52% 82%,var(--rar) 0 2px,transparent 3px);animation:rewardParticles .85s cubic-bezier(.2,.8,.2,1) .08s forwards}.reward-reveal>*{position:relative;z-index:1}
.upgrade-success{position:relative;overflow:hidden}.upgrade-success:before{content:"";position:absolute;left:50%;top:58px;width:170px;height:170px;border-radius:50%;transform:translate(-50%,-50%) scale(.3);border:2px solid color-mix(in srgb,var(--tier,#58a8ff) 48%,transparent);box-shadow:0 0 36px color-mix(in srgb,var(--tier,#58a8ff) 30%,transparent);opacity:0;animation:upgradePulse .72s ease-out forwards}
@keyframes rewardParticles{0%{opacity:0;transform:translateY(18px) scale(.72)}24%{opacity:.9}100%{opacity:0;transform:translateY(-46px) scale(1.25)}}@keyframes upgradePulse{0%{opacity:.8;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.65)}}
@media(prefers-reduced-motion:reduce){.reward-reveal:before,.upgrade-success:before{animation:none!important}}

/* =========================================================
   PULSE 1.7 — rich world + massive expedition map
   ========================================================= */
.base-aurora{position:absolute;left:-18%;right:-18%;top:-18%;height:74%;opacity:.42;filter:blur(22px);background:conic-gradient(from 205deg at 50% 100%,transparent 0 22%,rgba(38,184,255,.20) 28%,rgba(105,89,255,.17) 35%,transparent 44% 100%);transform:skewY(-7deg);animation:auroraDrift 12s ease-in-out infinite alternate}
.base-horizon{position:absolute;left:-8%;right:-8%;bottom:-5px;height:54%;opacity:.74;background:linear-gradient(155deg,transparent 0 29%,#101a20 30% 37%,transparent 38%),linear-gradient(205deg,transparent 0 34%,#0c161c 35% 43%,transparent 44%),linear-gradient(165deg,transparent 0 48%,#121d20 49% 60%,transparent 61%);filter:drop-shadow(0 -10px 25px rgba(24,65,77,.2))}
.base-orbit{position:absolute;border-radius:50%;border:1px solid rgba(78,226,255,.10);pointer-events:none}.orbit-a{width:230px;height:82px;right:-36px;bottom:8px;transform:rotate(-13deg);animation:orbitGlow 5s ease-in-out infinite}.orbit-b{width:170px;height:58px;right:-3px;bottom:22px;transform:rotate(-13deg);border-style:dashed;animation:orbitGlow 7s ease-in-out infinite reverse}
.base-satellite{position:absolute;left:19%;top:14%;width:28px;height:10px;opacity:.68;animation:satelliteDrift 13s linear infinite}.base-satellite i{position:absolute;left:10px;top:2px;width:9px;height:6px;background:#8296a8;border:1px solid #b6cad7;box-shadow:0 0 8px rgba(110,226,255,.22)}.base-satellite b,.base-satellite:after{content:"";position:absolute;top:1px;width:9px;height:8px;background:linear-gradient(90deg,#183d59,#2a6e8d);border:1px solid rgba(86,183,224,.42)}.base-satellite b{left:0}.base-satellite:after{right:0}

.camp-scene:before{content:"";position:absolute;z-index:0;left:-12%;right:-12%;top:2%;height:34%;pointer-events:none;opacity:.74;background:linear-gradient(160deg,transparent 0 22%,rgba(13,26,30,.96) 23% 35%,transparent 36%),linear-gradient(205deg,transparent 0 30%,rgba(10,20,25,.98) 31% 45%,transparent 46%),linear-gradient(173deg,transparent 0 43%,rgba(17,31,34,.92) 44% 58%,transparent 59%);filter:drop-shadow(0 13px 16px rgba(0,0,0,.3))}
.camp-scene:after{content:"";position:absolute;z-index:1;inset:8% -20% 20%;pointer-events:none;background:radial-gradient(ellipse at 44% 42%,rgba(64,218,255,.055),transparent 25%),radial-gradient(ellipse at 68% 52%,rgba(255,163,82,.055),transparent 22%),linear-gradient(180deg,transparent,rgba(150,180,178,.035) 64%,transparent);mix-blend-mode:screen}
.camp-light-beam{position:absolute;z-index:5;pointer-events:none;width:95px;height:240px;opacity:.22;filter:blur(5px);background:linear-gradient(180deg,rgba(116,231,255,.34),rgba(76,177,235,.08) 35%,transparent 80%);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);transform-origin:50% 0}.beam-a{left:25%;top:15%;transform:rotate(15deg);animation:searchBeamA 8s ease-in-out infinite alternate}.beam-b{right:18%;top:11%;transform:rotate(-21deg);animation:searchBeamB 9s ease-in-out infinite alternate}
.camp-drone{position:absolute;z-index:18;width:23px;height:8px;border-radius:7px;background:linear-gradient(180deg,#697a86,#26323a);border:1px solid rgba(190,219,232,.25);box-shadow:0 5px 9px rgba(0,0,0,.4),0 0 9px rgba(73,222,255,.12);pointer-events:none}.camp-drone:before,.camp-drone:after{content:"";position:absolute;top:2px;width:8px;height:2px;background:#52616a}.camp-drone:before{left:-7px}.camp-drone:after{right:-7px}.camp-drone i,.camp-drone b{position:absolute;top:-3px;width:4px;height:4px;border-radius:50%;background:#76ecff;box-shadow:0 0 7px #48d9ff}.camp-drone i{left:-8px}.camp-drone b{right:-8px}.drone-a{left:18%;top:21%;animation:dronePatrolA 10s ease-in-out infinite}.drone-b{right:22%;top:40%;transform:scale(.72);opacity:.78;animation:dronePatrolB 12s ease-in-out infinite}
.camp-sparks{position:absolute;z-index:6;inset:0;pointer-events:none}.camp-sparks i{position:absolute;width:2px;height:2px;border-radius:50%;background:#ffbd75;box-shadow:0 0 6px #ff8f55;opacity:0;animation:campSpark 4.8s linear infinite}.camp-sparks i:nth-child(1){left:35%;top:60%;animation-delay:0s}.camp-sparks i:nth-child(2){left:42%;top:58%;animation-delay:.9s}.camp-sparks i:nth-child(3){left:67%;top:54%;animation-delay:1.6s}.camp-sparks i:nth-child(4){left:74%;top:48%;animation-delay:2.2s}.camp-sparks i:nth-child(5){left:24%;top:47%;animation-delay:3s}.camp-sparks i:nth-child(6){left:57%;top:38%;animation-delay:3.8s}
.camp-building .body:after{content:"";position:absolute;left:10%;right:10%;top:5px;height:1px;background:linear-gradient(90deg,transparent,rgba(229,248,255,.28),transparent);box-shadow:0 8px 0 rgba(255,255,255,.025)}
.camp-building .roof:after{filter:drop-shadow(0 0 4px rgba(107,223,255,.16))}
.camp-building .building-glow{animation:buildingGroundGlow 3.1s ease-in-out infinite alternate}
.camp-building.action-ready .building-glow{background:rgba(58,223,255,.38)!important;filter:blur(8px);box-shadow:0 0 19px rgba(49,217,255,.35)}
.scene-next-objective{border-color:rgba(75,226,255,.30)!important;background:linear-gradient(115deg,rgba(9,35,48,.97),rgba(13,20,35,.97) 68%,rgba(35,28,67,.92))!important;box-shadow:0 18px 40px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.055),0 0 24px rgba(49,217,255,.055)!important}.scene-next-objective:before{content:"M";width:24px;height:24px;position:absolute;right:36px;top:8px;border-radius:8px;display:grid;place-items:center;background:rgba(49,217,255,.10);border:1px solid rgba(73,226,255,.17);color:#8aeeff;font-size:8px;font-weight:950}.scene-next-objective small{max-width:92%;line-height:1.32;color:#aebccd!important}

/* massive 21x21 expedition viewport */
.map-game-screen{background:radial-gradient(circle at 78% 14%,rgba(239,99,47,.16),transparent 23%),linear-gradient(180deg,#101b28 0,#101b1e 45%,#070c0b 100%)!important}
.map-world-wrap{height:clamp(500px,61dvh,680px)!important;touch-action:none;cursor:grab;overscroll-behavior:contain;isolation:isolate;background:radial-gradient(circle at 50% 48%,rgba(36,80,72,.17),transparent 34%),linear-gradient(180deg,rgba(4,10,14,.14),rgba(3,9,10,.46));border-top:1px solid rgba(87,213,220,.055);border-bottom:1px solid rgba(87,213,220,.055)}
.map-world-wrap.dragging{cursor:grabbing}
.map-world-grid{--map-pan-x:0px;--map-pan-y:0px;--map-zoom:.76;left:calc(50% + var(--map-pan-x))!important;top:calc(50% + var(--map-pan-y))!important;grid-template-columns:repeat(var(--map-cols,21),46px)!important;grid-template-rows:repeat(var(--map-rows,21),46px)!important;gap:5px!important;transform:translate(-50%,-50%) rotate(45deg) scale(var(--map-zoom))!important;transform-origin:center!important;transition:filter .18s ease;filter:drop-shadow(0 38px 30px rgba(0,0,0,.56)) drop-shadow(0 0 22px rgba(23,98,85,.08))!important}
.map-world-wrap.dragging .map-world-grid{filter:drop-shadow(0 42px 34px rgba(0,0,0,.64))!important}
.map-depth-lines{position:absolute;z-index:0;inset:-35%;pointer-events:none;opacity:.24;background:repeating-linear-gradient(45deg,rgba(85,195,187,.055) 0 1px,transparent 1px 42px),repeating-linear-gradient(-45deg,rgba(85,195,187,.04) 0 1px,transparent 1px 42px);transform:perspective(520px) rotateX(57deg) scale(1.4);mask-image:radial-gradient(circle at center,#000 25%,transparent 68%)}
.map-radar-sweep{position:absolute;z-index:1;left:50%;top:50%;width:560px;height:560px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;opacity:.24;background:conic-gradient(from 0deg,rgba(63,232,255,.0) 0 70%,rgba(63,232,255,.02) 77%,rgba(63,232,255,.18) 84%,rgba(63,232,255,0) 91%);animation:mapRadarSpin 10s linear infinite;mask-image:radial-gradient(circle,transparent 0 19%,#000 20% 67%,transparent 76%)}
.map-viewport-hud{position:absolute;z-index:18;left:11px;top:11px;padding:7px 9px;border-left:2px solid rgba(76,225,247,.55);background:linear-gradient(90deg,rgba(7,17,25,.78),rgba(7,17,25,.24));backdrop-filter:blur(7px);pointer-events:none;display:flex;flex-direction:column}.map-viewport-hud span{font-size:7px;color:#83efff;font-weight:950;letter-spacing:.12em}.map-viewport-hud small{font-size:6px;color:#788b9b;margin-top:2px}
.map-viewport-controls{position:absolute;z-index:24;right:10px;top:10px;display:grid;grid-template-columns:34px 46px 34px;gap:4px;pointer-events:auto}.map-viewport-controls button,.map-viewport-controls b{height:34px;border-radius:10px;border:1px solid rgba(152,195,213,.13);background:rgba(8,14,22,.80);backdrop-filter:blur(8px);color:#dcecf3;display:grid;place-items:center;font:inherit}.map-viewport-controls button{font-size:17px;font-weight:700}.map-viewport-controls b{font-size:7px;color:#80eaff}.map-viewport-controls #mapRecenter{grid-column:1/-1;height:29px;font-size:14px;background:rgba(12,27,34,.82);color:#78e7f6}
.map-fog-overlay{z-index:11!important;height:125px!important;background:linear-gradient(180deg,transparent,rgba(94,125,121,.09),rgba(8,16,15,.72))!important;filter:blur(10px)!important;pointer-events:none}
.map-world-cell{border-radius:6px!important;border-color:rgba(153,194,178,.10)!important;box-shadow:inset 2px 2px rgba(255,255,255,.028),inset -7px -7px 11px rgba(0,0,0,.28),5px 7px 8px rgba(0,0,0,.28)!important}
.map-world-cell.terrain-forest{background:radial-gradient(circle at 24% 32%,#3d6943 0 8%,transparent 9%),radial-gradient(circle at 68% 64%,#2e5837 0 10%,transparent 11%),radial-gradient(circle at 71% 18%,#355e3b 0 8%,transparent 9%),linear-gradient(145deg,#294a31,#14251b)!important}
.map-world-cell.terrain-meadow{background:radial-gradient(circle at 28% 34%,rgba(197,204,108,.13) 0 4%,transparent 5%),radial-gradient(circle at 71% 63%,rgba(182,207,100,.10) 0 4%,transparent 5%),linear-gradient(145deg,#586840,#283621)!important}
.map-world-cell.terrain-rock{background:linear-gradient(28deg,transparent 0 38%,rgba(255,255,255,.05) 39% 42%,transparent 43%),linear-gradient(122deg,transparent 0 56%,rgba(0,0,0,.18) 57% 63%,transparent 64%),linear-gradient(145deg,#596164,#292f32)!important}
.map-world-cell.terrain-ruins{background:repeating-linear-gradient(0deg,transparent 0 8px,rgba(31,22,18,.13) 9px 10px),repeating-linear-gradient(90deg,transparent 0 12px,rgba(245,190,139,.045) 13px 14px),linear-gradient(145deg,#6f5749,#342b28)!important}
.map-world-cell.fog{opacity:.78!important;background:radial-gradient(circle at 36% 30%,rgba(115,132,137,.13),transparent 32%),linear-gradient(145deg,#172126,#090e12)!important;filter:saturate(.65)}
.map-world-cell.fog:after{inset:-18px!important;background:radial-gradient(circle,rgba(153,171,176,.18),rgba(77,94,99,.08) 37%,transparent 68%)!important;filter:blur(9px)!important}
.map-world-cell.revealed{z-index:16;border-color:rgba(79,231,255,.82)!important;box-shadow:inset 0 0 19px rgba(49,217,255,.16),0 0 19px rgba(49,217,255,.25),5px 7px 8px rgba(0,0,0,.26)!important}
.map-world-cell.cleared{filter:saturate(1.08) brightness(1.03)}
.map-world-cell.has-building{z-index:18!important;box-shadow:inset 0 0 15px rgba(57,219,245,.12),0 0 13px rgba(39,190,225,.09),6px 8px 9px rgba(0,0,0,.31)!important}
.map-bottom-console{position:relative;z-index:26;background:linear-gradient(100deg,rgba(8,34,44,.95),rgba(10,16,27,.90))!important;border-left-color:#5deaff!important;box-shadow:0 14px 30px rgba(0,0,0,.28);backdrop-filter:blur(9px)}
.map-bottom-console small{line-height:1.3!important;color:#9fb0bd!important}
.map-legend{position:relative;z-index:22!important}

@keyframes auroraDrift{to{transform:translateX(8%) skewY(-3deg) scaleY(1.08);opacity:.58}}
@keyframes orbitGlow{50%{opacity:.45;box-shadow:0 0 18px rgba(56,220,255,.10)}}
@keyframes satelliteDrift{0%{transform:translate(-55px,8px) scale(.75);opacity:0}12%{opacity:.68}88%{opacity:.68}100%{transform:translate(315px,-33px) scale(.92);opacity:0}}
@keyframes searchBeamA{to{transform:rotate(-15deg) translateX(28px);opacity:.12}}
@keyframes searchBeamB{to{transform:rotate(12deg) translateX(-22px);opacity:.14}}
@keyframes dronePatrolA{0%,100%{transform:translate(0,0)}35%{transform:translate(64px,-20px)}68%{transform:translate(94px,13px)}}
@keyframes dronePatrolB{0%,100%{transform:translate(0,0) scale(.72)}44%{transform:translate(-70px,-18px) scale(.78)}75%{transform:translate(-105px,8px) scale(.72)}}
@keyframes campSpark{0%,70%{opacity:0;transform:translate(0,0) scale(.5)}76%{opacity:.9}100%{opacity:0;transform:translate(12px,-48px) scale(1.2)}}
@keyframes buildingGroundGlow{to{opacity:.62;transform:scaleX(1.12)}}
@keyframes mapRadarSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}

@media(max-width:430px){
  .map-world-wrap{height:clamp(475px,59dvh,560px)!important}
  .map-world-grid{grid-template-columns:repeat(var(--map-cols,21),44px)!important;grid-template-rows:repeat(var(--map-rows,21),44px)!important;gap:4px!important}
  .map-radar-sweep{width:460px;height:460px}
  .map-viewport-controls{right:8px;top:8px}
  .camp-light-beam{height:205px}
}
@media(max-width:370px){
  .map-world-wrap{height:455px!important}
  .map-world-grid{grid-template-columns:repeat(var(--map-cols,21),42px)!important;grid-template-rows:repeat(var(--map-rows,21),42px)!important}
}
@media(prefers-reduced-motion:reduce){
  .base-aurora,.base-satellite,.camp-light-beam,.camp-drone,.camp-sparks i,.camp-building .building-glow,.map-radar-sweep{animation:none!important}
}

/* rich treatment across remaining major screens */
.hero-game-screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 38%,rgba(61,220,255,.08),transparent 18%),linear-gradient(115deg,transparent 0 44%,rgba(87,109,255,.035) 50%,transparent 57%);mix-blend-mode:screen}.hero-stage:before{content:"";position:absolute;left:50%;top:8%;width:320px;height:360px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(94,214,255,.13),transparent 70%);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);filter:blur(13px);pointer-events:none}.hero-radar{box-shadow:0 0 45px rgba(49,217,255,.07),inset 0 0 45px rgba(49,217,255,.04)}
.warehouse-bg:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 18%,rgba(124,175,206,.13),transparent 14%),radial-gradient(circle at 85% 22%,rgba(123,101,255,.11),transparent 15%),linear-gradient(180deg,transparent 58%,rgba(0,0,0,.28));mix-blend-mode:screen}.warehouse-door:after{content:"";position:absolute;left:12%;right:12%;top:22%;height:1px;background:linear-gradient(90deg,transparent,rgba(139,224,255,.4),transparent);box-shadow:0 42px 0 rgba(139,224,255,.08),0 84px 0 rgba(139,224,255,.05);animation:warehouseScan 4.8s ease-in-out infinite}.warehouse-light{animation:warehouseLight 5s ease-in-out infinite alternate}.warehouse-light.l2{animation-delay:1.7s}
.training-bg:after{content:"";position:absolute;left:50%;top:90px;width:360px;height:360px;transform:translateX(-50%);border-radius:50%;background:conic-gradient(from 0deg,transparent,rgba(60,212,255,.06),transparent 28%,rgba(105,88,255,.06),transparent 55%);filter:blur(7px);animation:orbitSpin 18s linear infinite}.training-light{opacity:.86;box-shadow:0 0 90px rgba(65,203,255,.07)}.training-screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.8%,rgba(99,221,255,.025) 50%,transparent 50.2%),radial-gradient(circle at 50% 44%,rgba(91,218,255,.04),transparent 34%)}
.world-scene:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 74% 16%,rgba(255,112,62,.14),transparent 20%),radial-gradient(circle at 24% 7%,rgba(87,103,255,.09),transparent 23%),linear-gradient(160deg,transparent 0 32%,rgba(74,191,220,.035) 38%,transparent 46%);mix-blend-mode:screen}.world-event-art{filter:saturate(1.12) contrast(1.04)}.world-signal-ring{box-shadow:0 0 45px rgba(73,218,255,.08),inset 0 0 32px rgba(73,218,255,.05)}
@keyframes warehouseScan{0%,100%{transform:translateY(-12px);opacity:.25}50%{transform:translateY(90px);opacity:.8}}@keyframes warehouseLight{to{opacity:.55;filter:blur(5px)}}

/* massive-map performance: keep rich global fog, avoid 430 simultaneous blur layers */
.map-world-cell.fog:after{filter:none!important;inset:1px!important;border-radius:5px;background:radial-gradient(circle at 45% 38%,rgba(157,177,181,.12),rgba(64,79,84,.08) 42%,rgba(4,8,11,.20) 100%)!important}
.map-world-cell.fog{will-change:auto!important}

@media(max-width:370px){.camp-scene{height:440px!important;min-height:440px!important}.scene-next-objective{margin-top:-14px!important}}

/* map coach must stay physically attached to the moving tile */
.coach-spotlight.map-coach{transition:none!important;will-change:left,top,width,height}
.coach-pointer.map-coach{will-change:left,top}

.coach-spotlight.map-coach.coach-offscreen,.coach-pointer.map-coach.coach-offscreen{opacity:0!important;visibility:hidden!important}

/* chapter blocker — actionable, not a dead end */
.chapter-blocker>h2{margin:5px 0 4px;font-size:26px}.chapter-blocker>p{margin:0 0 13px;color:#9eabc0;font-size:10px;line-height:1.45}
.chapter-blocker-progress{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;padding:8px 10px;border-radius:11px;background:rgba(79,210,239,.06);border:1px solid rgba(79,210,239,.13)}.chapter-blocker-progress span{font-size:7px;color:#85e9f7;font-weight:900;letter-spacing:.08em}.chapter-blocker-progress b{font-size:11px;color:#d9f9ff}
.chapter-blocker-list{display:flex;flex-direction:column;gap:7px;margin-bottom:12px}.chapter-blocker-row{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:center;padding:9px 10px;border-radius:13px;background:#121a28;border:1px solid rgba(255,255,255,.07)}.chapter-blocker-row>span{width:29px;height:29px;border-radius:9px;display:grid;place-items:center;background:#1a2333;color:#718099;font-size:13px;font-weight:950}.chapter-blocker-row>div{display:flex;flex-direction:column;min-width:0}.chapter-blocker-row b{font-size:9px}.chapter-blocker-row small{font-size:6px;color:#8e9bb0;margin-top:2px;line-height:1.35}.chapter-blocker-row i{height:4px;margin-top:6px;border-radius:99px;background:#202a3b;overflow:hidden}.chapter-blocker-row i em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#695cff,#3de3ff)}
.chapter-blocker-row.done{opacity:.62;border-color:rgba(80,220,151,.14)}.chapter-blocker-row.done>span{background:rgba(55,204,135,.12);color:#81ebb4}.chapter-blocker-row.done i em{background:#4fd694}
.chapter-blocker-row.pending{border-color:rgba(75,220,246,.18);box-shadow:inset 3px 0 rgba(70,218,245,.38)}
.chapter-next-action{min-height:64px!important;margin:0 0 8px;padding:10px 13px!important;display:grid!important;grid-template-columns:1fr auto;grid-template-areas:"label arrow" "title arrow" "hint arrow";text-align:left!important;gap:1px 10px}.chapter-next-action>span{grid-area:label;font-size:6px;color:#c9faff;letter-spacing:.12em}.chapter-next-action>b{grid-area:title;font-size:11px}.chapter-next-action>small{grid-area:hint;font-size:6px;color:rgba(255,255,255,.72);font-weight:650}.chapter-next-action>i{grid-area:arrow;align-self:center;font-style:normal;font-size:24px}
@media(max-width:390px){.chapter-blocker>h2{font-size:22px}.chapter-blocker-row{padding:8px}.chapter-next-action{min-height:60px!important}}

/* 1.8 map navigation layer */
.map-minimap{position:absolute;z-index:27;left:10px;bottom:11px;width:126px;padding:7px;border-radius:13px;background:rgba(7,13,19,.86);border:1px solid rgba(95,224,239,.18);box-shadow:0 13px 32px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(9px);pointer-events:auto}
.map-minimap-head{height:17px;display:flex;align-items:center;justify-content:space-between;gap:5px}.map-minimap-head span{font-size:6px;font-weight:950;letter-spacing:.13em;color:#78929f}.map-minimap-head button{min-height:0!important;height:16px;padding:0 5px;border-radius:6px;border:1px solid rgba(74,226,247,.21);background:rgba(45,205,231,.08);color:#8cf1ff;font-size:5px;font-weight:950;letter-spacing:.07em}
.map-minimap-grid{position:relative;display:grid;grid-template-columns:repeat(var(--mini-cols,21),1fr);gap:1px;width:100%;aspect-ratio:1/1;padding:3px;border-radius:8px;background:#070c11;border:1px solid rgba(255,255,255,.045);overflow:hidden}
.map-mini-cell{min-width:0!important;min-height:0!important;width:auto!important;height:auto!important;aspect-ratio:1/1;padding:0!important;border:0!important;border-radius:1px!important;background:#111a20!important;box-shadow:none!important;opacity:.58}
.map-mini-cell.cleared{background:#36634a!important;opacity:.9}.map-mini-cell.revealed{background:#27a9bd!important;opacity:1;box-shadow:0 0 3px rgba(61,229,255,.35)!important}.map-mini-cell.building{background:#bca75e!important;opacity:1}.map-mini-cell.objective{background:#6cf0ff!important;opacity:1;box-shadow:0 0 0 1px #d7fbff,0 0 8px rgba(67,230,255,.95)!important;animation:miniObjectivePulse 1s ease-in-out infinite}
#mapMiniViewport{position:absolute;z-index:4;left:var(--mini-x,50%);top:var(--mini-y,50%);width:var(--mini-size,32%);height:var(--mini-size,32%);transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.76);border-radius:3px;box-shadow:0 0 0 1px rgba(52,222,255,.32),0 0 8px rgba(52,222,255,.16);pointer-events:none}
@keyframes miniObjectivePulse{50%{filter:brightness(1.75);transform:scale(1.18)}}
@media(max-width:430px){.map-minimap{width:106px;left:8px;bottom:9px;padding:6px}.map-minimap-head{height:15px}.map-minimap-head button{height:15px}.map-minimap-grid{gap:1px;padding:2px}}
@media(prefers-reduced-motion:reduce){.map-mini-cell.objective{animation:none!important}}

/* chapter progress on base */
.base-chapter-progress{position:relative;width:100%;min-height:58px;margin:8px 0 0;padding:10px 12px 14px;border:1px solid rgba(121,101,255,.18);border-radius:15px;background:linear-gradient(110deg,rgba(25,24,48,.92),rgba(11,20,29,.94));color:white;display:grid;grid-template-columns:1fr auto;gap:4px 12px;text-align:left;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.18)}
.base-chapter-progress>div{display:flex;flex-direction:column;min-width:0}.base-chapter-progress span{font-size:6px;color:#9f91ff;font-weight:950;letter-spacing:.13em}.base-chapter-progress b{font-size:11px;margin:2px 0}.base-chapter-progress small{font-size:7px;color:#98a7bb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-chapter-progress>strong{align-self:center;font-size:15px;color:#dcd7ff}.base-chapter-progress>i{position:absolute;left:10px;right:10px;bottom:7px;height:3px;border-radius:99px;background:#24283a;overflow:hidden}.base-chapter-progress>i em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#7664ff,#42ddff);box-shadow:0 0 8px rgba(66,221,255,.22)}
.base-chapter-progress.complete{border-color:rgba(78,220,151,.26);background:linear-gradient(110deg,rgba(17,48,39,.92),rgba(11,24,27,.94))}.base-chapter-progress.complete span,.base-chapter-progress.complete>strong{color:#8cf0b9}.base-chapter-progress.complete>i em{background:#55d99a}

/* 1.9 live camp feedback */
.pulse-toast-stack{position:fixed;z-index:9999;right:max(12px,env(safe-area-inset-right));top:max(74px,calc(env(safe-area-inset-top) + 66px));display:flex;flex-direction:column;gap:8px;width:min(320px,calc(100vw - 24px));pointer-events:none}
.pulse-toast{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;padding:9px 11px;border-radius:14px;background:rgba(8,15,24,.94);border:1px solid rgba(84,221,242,.2);box-shadow:0 16px 40px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(11px);opacity:0;transform:translateY(-12px) scale(.98);transition:.22s ease}.pulse-toast.show{opacity:1;transform:none}.pulse-toast.leave{opacity:0;transform:translateY(-8px) scale(.97)}
.pulse-toast>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(55,223,247,.16),rgba(91,76,255,.12));color:#8cefff;font-size:15px;font-weight:950;border:1px solid rgba(95,223,244,.14)}.pulse-toast>div{display:flex;flex-direction:column;min-width:0}.pulse-toast small{font-size:5px;letter-spacing:.13em;color:#73dff0;font-weight:950}.pulse-toast b{font-size:9px;color:#f3f6fa;margin-top:1px}.pulse-toast em{font-style:normal;font-size:6px;color:#95a4b8;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.base-activity-panel{margin:8px 12px 0;border:1px solid rgba(83,185,215,.12);border-radius:15px;background:linear-gradient(120deg,rgba(10,20,31,.9),rgba(9,15,24,.88));overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.16)}
.base-activity-head{display:flex;align-items:center;justify-content:space-between;padding:9px 10px 7px;border-bottom:1px solid rgba(255,255,255,.045)}.base-activity-head>div{display:flex;flex-direction:column}.base-activity-head span{font-size:5px;letter-spacing:.13em;color:#6fe3f0;font-weight:950}.base-activity-head b{font-size:9px;color:#e7edf5;margin-top:1px}.base-activity-head button{min-height:0!important;padding:4px 7px;border-radius:7px;border:1px solid rgba(88,213,232,.14);background:rgba(55,194,220,.055);color:#7be8f5;font-size:6px;font-weight:850}
.base-activity-list,.activity-log-list{display:flex;flex-direction:column}.activity-row{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.035)}.activity-row:last-child{border-bottom:0}.activity-row>span{width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:#182431;color:#8aeaf6;font-size:12px;font-weight:900}.activity-row>div{display:flex;flex-direction:column;min-width:0}.activity-row small{font-size:5px;color:#6f8497;letter-spacing:.07em}.activity-row b{font-size:8px;color:#dce6ef;margin-top:1px}.activity-row em{font-style:normal;font-size:6px;color:#8595a7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.activity-empty{padding:12px 11px;display:flex;flex-direction:column}.activity-empty b{font-size:8px;color:#bac6d2}.activity-empty small{font-size:6px;color:#6e7c8d;margin-top:2px}
.activity-log-modal>h2{margin:5px 0 11px}.activity-log-list{max-height:min(58vh,520px);overflow:auto;border:1px solid rgba(91,203,225,.09);border-radius:14px;background:rgba(8,15,23,.6);margin-bottom:11px}.activity-log-list .activity-row{padding:10px}.activity-log-list .activity-row>span{width:32px;height:32px}.activity-log-list .activity-row b{font-size:9px}.activity-log-list .activity-row em{font-size:7px}
.map-world-cell:active{filter:brightness(1.16)!important;transform:scale(.97)}.map-world-cell.revealed:active{box-shadow:inset 0 0 26px rgba(49,217,255,.23),0 0 28px rgba(49,217,255,.35)!important}
@media(max-width:430px){.pulse-toast-stack{top:max(66px,calc(env(safe-area-inset-top) + 58px));width:calc(100vw - 20px);right:10px}.base-activity-panel{margin-left:10px;margin-right:10px}.activity-row{padding:7px 9px}}
@media(prefers-reduced-motion:reduce){.pulse-toast{transition:none!important}}

.global-resource-hud.hud-feedback{animation:hudFeedback .7s ease-out 1}@keyframes hudFeedback{0%{box-shadow:inset 0 0 0 rgba(74,230,255,0)}20%{box-shadow:inset 0 -2px 0 rgba(74,230,255,.48),0 8px 28px rgba(49,217,255,.09)}100%{box-shadow:inset 0 0 0 rgba(74,230,255,0)}}
@media(prefers-reduced-motion:reduce){.global-resource-hud.hud-feedback{animation:none!important}}

/* =========================================================
   PULSE 1.10 — depth lighting / atmospheric graphics
   ========================================================= */
.base-game-screen,.map-game-screen{--phase-glow:rgba(66,222,255,.08);--phase-warm:rgba(255,155,89,.08)}
.base-game-screen.phase-day{--phase-glow:rgba(97,218,255,.11);--phase-warm:rgba(255,187,107,.10)}
.base-game-screen.phase-dawn,.base-game-screen.phase-dusk{--phase-glow:rgba(95,169,255,.10);--phase-warm:rgba(255,120,76,.18)}
.base-game-screen.phase-night{--phase-glow:rgba(85,99,255,.13);--phase-warm:rgba(255,124,72,.045)}
.base-game-screen.phase-day .base-atmosphere{background:radial-gradient(circle at 78% 20%,rgba(255,214,139,.18),transparent 20%),linear-gradient(180deg,#172739 0,#203845 58%,rgba(19,32,38,0) 100%)!important}
.base-game-screen.phase-dawn .base-atmosphere{background:radial-gradient(circle at 78% 23%,rgba(255,154,97,.28),transparent 20%),linear-gradient(180deg,#171d32 0,#443341 43%,#293b44 72%,rgba(24,35,42,0) 100%)!important}
.base-game-screen.phase-dusk .base-atmosphere{background:radial-gradient(circle at 78% 23%,rgba(255,104,70,.30),transparent 21%),linear-gradient(180deg,#11172c 0,#39243a 45%,#23343d 73%,rgba(18,30,36,0) 100%)!important}
.base-game-screen.phase-night .base-atmosphere{background:radial-gradient(circle at 78% 19%,rgba(91,108,255,.10),transparent 20%),linear-gradient(180deg,#070d1c 0,#111a2a 58%,rgba(9,19,25,0) 100%)!important}
.base-game-screen.phase-night .base-atmosphere:after{opacity:.8!important;filter:drop-shadow(0 0 3px rgba(201,238,255,.24))}
.base-game-screen.phase-day .base-atmosphere:after{opacity:.20!important}

.base-celestial{position:absolute;z-index:1;right:14%;top:12%;width:58px;height:58px;border-radius:50%;pointer-events:none;opacity:.85}
.base-celestial i,.base-celestial b{position:absolute;inset:0;border-radius:inherit}
.phase-day .base-celestial i{background:radial-gradient(circle,#fff4cd 0 18%,#ffd17c 39%,rgba(255,175,84,.18) 61%,transparent 72%);box-shadow:0 0 40px rgba(255,190,93,.15)}
.phase-dawn .base-celestial i,.phase-dusk .base-celestial i{background:radial-gradient(circle,#ffd2aa 0 20%,#ff8d65 42%,rgba(255,99,76,.12) 63%,transparent 73%);box-shadow:0 0 50px rgba(255,105,75,.15)}
.phase-night .base-celestial i{inset:9px;background:radial-gradient(circle at 34% 34%,#eaf7ff,#93b5ce 55%,#68849b 72%);box-shadow:0 0 25px rgba(161,215,255,.16)}
.phase-night .base-celestial b{left:22px;top:5px;width:43px;height:43px;background:#0d1624;opacity:.78}
.base-horizon-lights{position:absolute;left:12%;right:8%;bottom:14%;height:25px;opacity:.18}
.base-horizon-lights i{position:absolute;bottom:0;width:3px;height:3px;border-radius:50%;background:#8deeff;box-shadow:0 0 5px #5edff7,0 0 14px rgba(80,215,245,.25);animation:horizonBlink 3.4s ease-in-out infinite}
.base-horizon-lights i:nth-child(1){left:6%;animation-delay:.2s}.base-horizon-lights i:nth-child(2){left:31%;animation-delay:1.1s}.base-horizon-lights i:nth-child(3){left:53%;animation-delay:2s}.base-horizon-lights i:nth-child(4){left:72%;animation-delay:.7s}.base-horizon-lights i:nth-child(5){left:91%;animation-delay:2.7s}
.phase-night .base-horizon-lights,.phase-dusk .base-horizon-lights{opacity:.72}
.base-sky-beam{position:absolute;z-index:2;left:48%;top:8%;width:80px;height:240px;opacity:.08;transform:rotate(7deg);transform-origin:50% 0;background:linear-gradient(180deg,rgba(90,231,255,.4),rgba(70,190,255,.04) 52%,transparent);clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);filter:blur(5px)}
.atmo-signal .base-sky-beam{opacity:.28;animation:skyBeamSweep 8s ease-in-out infinite alternate}
.base-weather{position:absolute;z-index:3;inset:0;pointer-events:none;opacity:0}
.atmo-mist .base-weather{opacity:.48;background:linear-gradient(180deg,transparent 22%,rgba(163,193,202,.055) 52%,transparent 77%),radial-gradient(ellipse at 20% 58%,rgba(172,201,206,.10),transparent 28%),radial-gradient(ellipse at 76% 64%,rgba(172,201,206,.08),transparent 24%);filter:blur(10px);animation:weatherMist 12s ease-in-out infinite alternate}
.atmo-signal .base-weather{opacity:.28;background:repeating-linear-gradient(0deg,transparent 0 13px,rgba(71,227,255,.025) 14px 15px);mix-blend-mode:screen}

.camp-ground-light{position:absolute;z-index:4;width:130px;height:54px;border-radius:50%;pointer-events:none;filter:blur(13px);opacity:.13;background:radial-gradient(ellipse,rgba(62,228,255,.35),transparent 70%)}.gl-a{left:11%;bottom:24%}.gl-b{right:7%;bottom:19%;background:radial-gradient(ellipse,rgba(255,177,89,.30),transparent 70%)}
.phase-night .camp-ground-light,.phase-dusk .camp-ground-light{opacity:.32}.phase-day .camp-ground-light{opacity:.08}
.camp-motes{position:absolute;z-index:19;inset:0;pointer-events:none}.camp-motes i{position:absolute;width:2px;height:2px;border-radius:50%;background:#aeefff;box-shadow:0 0 7px rgba(89,225,255,.7);opacity:0;animation:campMote 7s linear infinite}
.camp-motes i:nth-child(1){left:11%;top:68%;animation-delay:.3s}.camp-motes i:nth-child(2){left:24%;top:51%;animation-delay:2.2s}.camp-motes i:nth-child(3){left:37%;top:75%;animation-delay:4.5s}.camp-motes i:nth-child(4){left:49%;top:42%;animation-delay:1.4s}.camp-motes i:nth-child(5){left:61%;top:66%;animation-delay:3.6s}.camp-motes i:nth-child(6){left:73%;top:45%;animation-delay:5.1s}.camp-motes i:nth-child(7){left:84%;top:72%;animation-delay:2.9s}.camp-motes i:nth-child(8){left:92%;top:53%;animation-delay:6.1s}
.atmo-mist .camp-motes i{background:#d8eef0;box-shadow:0 0 5px rgba(214,238,240,.5);animation-duration:10s}
.camp-foreground{position:absolute;z-index:30;left:-5%;right:-5%;bottom:-11px;height:72px;pointer-events:none;opacity:.67}.camp-foreground:before,.camp-foreground:after,.camp-foreground i,.camp-foreground b,.camp-foreground em{content:"";position:absolute;bottom:0;background:linear-gradient(180deg,#162122,#080d0f)}.camp-foreground:before{left:0;width:31%;height:46px;clip-path:polygon(0 60%,14% 35%,25% 48%,35% 19%,50% 46%,64% 28%,76% 53%,100% 40%,100% 100%,0 100%)}.camp-foreground:after{right:0;width:31%;height:52px;clip-path:polygon(0 47%,18% 29%,28% 50%,42% 20%,57% 44%,72% 22%,84% 49%,100% 33%,100% 100%,0 100%)}.camp-foreground i{left:30%;width:24%;height:20px;border-radius:50% 50% 0 0}.camp-foreground b{right:28%;width:22%;height:17px;border-radius:50% 50% 0 0}.camp-foreground em{left:48%;width:9%;height:28px;clip-path:polygon(0 100%,42% 0,58% 0,100% 100%)}
.camp-vignette{position:absolute;z-index:31;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 44%,transparent 42%,rgba(2,5,8,.12) 71%,rgba(2,5,8,.42) 100%);mix-blend-mode:multiply}

.camp-building .window{position:absolute;z-index:8;width:7px;height:6px;border-radius:2px;background:#7deaff;border:1px solid rgba(203,248,255,.26);box-shadow:0 0 7px rgba(68,222,255,.42);opacity:.55}.camp-building .w1{left:20px;bottom:23px}.camp-building .w2{right:20px;bottom:23px}
.phase-night .camp-building .window,.phase-dusk .camp-building .window{opacity:.95;box-shadow:0 0 9px rgba(68,222,255,.62)}.phase-day .camp-building .window{opacity:.38}
.camp-building .vent{position:absolute;z-index:7;right:9px;top:16px;width:10px;height:6px;border-radius:4px 4px 1px 1px;background:linear-gradient(#83939d,#35434b);border-bottom:1px solid #10171c}
.camp-building .vent:after{content:"";position:absolute;left:3px;top:-9px;width:4px;height:10px;border-radius:50%;background:linear-gradient(180deg,rgba(198,223,226,.15),transparent);filter:blur(2px);animation:ventSteam 3.8s ease-out infinite}
.camp-building .power-trace{position:absolute;z-index:7;left:17px;right:17px;bottom:14px;height:1px;background:linear-gradient(90deg,transparent,#4de4ff,transparent);opacity:.33;box-shadow:0 0 5px rgba(77,228,255,.28);animation:powerTrace 2.5s ease-in-out infinite}
.building-generator .window{background:#ffc45f;box-shadow:0 0 9px rgba(255,182,72,.62)}.building-generator .power-trace{background:linear-gradient(90deg,transparent,#ffb84f,#fff0b2,#ffb84f,transparent);opacity:.62}
.building-lab .window{background:#62f0ff}.building-radio .window{background:#9c8cff;box-shadow:0 0 9px rgba(144,118,255,.58)}.building-storage .window{background:#f0b86a;box-shadow:0 0 7px rgba(239,170,82,.44)}.building-training .window{background:#ff6f77;box-shadow:0 0 7px rgba(255,91,106,.45)}
@media(hover:hover) and (pointer:fine){.camp-building:hover{filter:drop-shadow(0 20px 15px rgba(0,0,0,.48)) drop-shadow(0 0 12px var(--phase-glow));z-index:40}.camp-building:hover .structure{transform:translateX(-50%) translateY(-4px) scale(1.035);transition:transform .18s ease}.camp-building:hover .building-glow{opacity:.95;transform:scaleX(1.22)}}

/* map atmosphere and terrain depth */
.map-game-screen.phase-day{background:radial-gradient(circle at 78% 13%,rgba(255,169,91,.13),transparent 23%),linear-gradient(180deg,#142231 0,#122222 45%,#070d0d 100%)!important}
.map-game-screen.phase-dawn,.map-game-screen.phase-dusk{background:radial-gradient(circle at 80% 11%,rgba(255,96,69,.18),transparent 24%),linear-gradient(180deg,#171a2b 0,#24202b 38%,#0a1314 100%)!important}
.map-game-screen.phase-night{background:radial-gradient(circle at 78% 12%,rgba(81,96,255,.12),transparent 24%),linear-gradient(180deg,#080f1d 0,#0b171a 46%,#05090b 100%)!important}
.map-celestial{position:absolute;right:13%;top:16%;width:46px;height:46px;border-radius:50%;opacity:.65}
.phase-day .map-celestial{background:radial-gradient(circle,#ffe8a9,#ffad66 46%,transparent 70%);box-shadow:0 0 35px rgba(255,177,92,.14)}.phase-night .map-celestial{width:26px;height:26px;right:17%;top:17%;background:#b9d4e4;box-shadow:0 0 19px rgba(152,210,247,.17)}.phase-dawn .map-celestial,.phase-dusk .map-celestial{background:radial-gradient(circle,#ffd1ad,#ff8062 48%,transparent 72%)}
.map-sky-haze{position:absolute;left:-10%;right:-10%;bottom:-5%;height:44%;background:linear-gradient(180deg,transparent,rgba(111,154,160,.07));filter:blur(11px);opacity:.35}.atmo-mist .map-sky-haze{opacity:.8;background:radial-gradient(ellipse at 30% 70%,rgba(174,203,204,.12),transparent 36%),radial-gradient(ellipse at 75% 73%,rgba(174,203,204,.11),transparent 34%)}
.map-signal-column{position:absolute;left:49%;top:12%;width:54px;height:210px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(62,227,255,.32),rgba(59,182,255,.04) 50%,transparent);clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);filter:blur(5px);opacity:.05}.atmo-signal .map-signal-column{opacity:.28;animation:signalColumn 5.5s ease-in-out infinite alternate}
.map-contours{position:absolute;z-index:1;inset:-15%;pointer-events:none;opacity:.13;background:repeating-radial-gradient(ellipse at 48% 49%,transparent 0 34px,rgba(103,213,201,.15) 35px 36px,transparent 37px 68px);transform:rotate(-4deg) scale(1.16);mask-image:radial-gradient(ellipse,#000 20%,transparent 70%)}
.map-ambient-light{position:absolute;z-index:2;left:50%;top:50%;width:520px;height:380px;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(ellipse,var(--phase-glow),transparent 64%);filter:blur(20px);opacity:.75}
.map-drift-motes{position:absolute;z-index:12;inset:0;pointer-events:none;opacity:.20;background-image:radial-gradient(circle at 12% 30%,#bdeff2 0 1px,transparent 1.4px),radial-gradient(circle at 68% 17%,#bdeff2 0 1px,transparent 1.4px),radial-gradient(circle at 85% 57%,#bdeff2 0 1px,transparent 1.4px),radial-gradient(circle at 42% 74%,#bdeff2 0 1px,transparent 1.4px);background-size:191px 173px,247px 221px,213px 199px,171px 187px;animation:mapMotesDrift 18s linear infinite}
.atmo-mist .map-drift-motes{opacity:.11;filter:blur(1px)}
.map-world-cell{transform-style:preserve-3d}.map-world-cell.cleared:not(.fog){filter:saturate(1.11) brightness(1.04) drop-shadow(2px 4px 2px rgba(0,0,0,.22))}.map-world-cell.has-building>span>b{box-shadow:inset 0 1px rgba(255,255,255,.06),0 0 10px rgba(46,214,239,.08)!important}
.map-world-cell.terrain-rock>span>b{filter:drop-shadow(2px 3px 2px rgba(0,0,0,.42))}.map-world-cell.terrain-forest>span>b{filter:drop-shadow(0 4px 3px rgba(0,0,0,.38))}
.map-fog-overlay{box-shadow:inset 0 -42px 55px rgba(3,8,9,.46)}

/* richer modal surface */
.modal{background:radial-gradient(circle at 50% 90%,rgba(57,80,128,.10),transparent 34%),rgba(2,5,10,.76)!important}
.modal-card{position:relative;background:linear-gradient(145deg,rgba(18,25,42,.98),rgba(10,15,27,.99) 68%)!important;border-color:rgba(105,131,196,.30)!important;box-shadow:0 -25px 90px rgba(0,0,0,.62),inset 0 1px rgba(255,255,255,.045),0 0 36px rgba(62,103,181,.05)!important}
.modal-card:before{content:"";position:absolute;z-index:0;left:24px;right:24px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(82,229,255,.56),rgba(138,112,255,.42),transparent);box-shadow:0 0 15px rgba(64,220,255,.18);pointer-events:none}
.modal-card:after{content:"";position:absolute;z-index:0;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.025),transparent 28%),repeating-linear-gradient(0deg,transparent 0 9px,rgba(75,208,234,.008) 10px 11px);mask-image:linear-gradient(#000,transparent 68%)}
.modal-card>*{position:relative;z-index:1}

@keyframes horizonBlink{50%{opacity:.35;transform:scale(.7)}}
@keyframes skyBeamSweep{to{transform:translateX(42px) rotate(-9deg);opacity:.16}}
@keyframes weatherMist{to{transform:translateX(5%) scale(1.03)}}
@keyframes campMote{0%{opacity:0;transform:translateY(16px)}15%{opacity:.7}75%{opacity:.25}100%{opacity:0;transform:translate(14px,-72px)}}
@keyframes ventSteam{0%{opacity:0;transform:translateY(3px) scale(.7)}28%{opacity:.34}100%{opacity:0;transform:translate(4px,-16px) scale(1.5)}}
@keyframes powerTrace{50%{opacity:.72;filter:brightness(1.4)}}
@keyframes signalColumn{to{transform:translateX(-50%) scaleX(1.3);opacity:.11}}
@keyframes mapMotesDrift{to{background-position:23px -31px,-37px 18px,42px -26px,-21px 37px}}

@media(max-width:430px){
  .base-celestial{right:8%;top:11%;transform:scale(.78)}
  .camp-foreground{opacity:.58;height:60px}
  .camp-building .window{transform:scale(.88)}
  .map-contours{opacity:.09}
}
@media(prefers-reduced-motion:reduce){
  .base-horizon-lights i,.base-sky-beam,.base-weather,.camp-motes i,.camp-building .vent:after,.camp-building .power-trace,.map-signal-column,.map-drift-motes{animation:none!important}
}

/* 1.10 unified scene richness */
.hero-game-screen{background:radial-gradient(circle at 50% 34%,rgba(43,113,139,.23),transparent 24%),radial-gradient(circle at 50% 70%,rgba(77,70,160,.07),transparent 32%),linear-gradient(180deg,#101b28,#080d15 77%)!important}
.hero-game-screen:before{box-shadow:inset 0 0 80px rgba(35,195,222,.025);animation:heroRadarBreathe 5s ease-in-out infinite alternate}
.operator-model:before{content:"";position:absolute;z-index:-1;left:50%;top:-24px;width:165px;height:338px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(85,229,255,.15),rgba(85,229,255,.025) 55%,transparent);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);filter:blur(11px);opacity:.72}
.operator-model:after{content:"";position:absolute;left:50%;top:70px;width:72px;height:132px;transform:translateX(-50%);border:1px solid rgba(81,230,255,.11);border-radius:42%;box-shadow:0 0 28px rgba(49,217,255,.06);animation:operatorScan 3.7s ease-in-out infinite}
.operator-head{background:linear-gradient(145deg,#6c8290 0,#334854 48%,#17252e 100%)!important;box-shadow:inset 7px 4px 9px rgba(255,255,255,.06),inset -8px -12px 16px rgba(0,0,0,.36),0 0 12px rgba(51,215,241,.07)!important}
.operator-torso{background:linear-gradient(130deg,#5a7180 0,#344751 37%,#1a2831 70%,#101b22 100%)!important;box-shadow:inset 7px 0 8px rgba(255,255,255,.035),inset -8px -8px 13px rgba(0,0,0,.28)}
.operator-arm,.operator-leg{box-shadow:inset 5px 0 6px rgba(255,255,255,.025),inset -6px -5px 8px rgba(0,0,0,.26)}
.hero-slot.filled{box-shadow:0 0 0 4px rgba(255,255,255,.014),0 12px 24px rgba(0,0,0,.24),0 0 18px color-mix(in srgb,var(--rar) 14%,transparent)!important}.hero-slot.filled:before{content:"";position:absolute;inset:5px;border-radius:50%;border:1px dashed color-mix(in srgb,var(--rar) 34%,transparent);animation:orbitSpin 11s linear infinite}
.hero-power{box-shadow:0 10px 28px rgba(0,0,0,.25),0 0 18px rgba(49,217,255,.045)!important}

.warehouse-screen:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 12%,rgba(116,196,224,.07),transparent 19%),linear-gradient(90deg,rgba(83,120,137,.025),transparent 18%,transparent 82%,rgba(83,120,137,.025));mix-blend-mode:screen}
.warehouse-screen:after{content:"";position:absolute;z-index:1;left:0;right:0;top:0;height:310px;pointer-events:none;opacity:.18;background-image:radial-gradient(circle at 13% 33%,#cceaff 0 1px,transparent 1.4px),radial-gradient(circle at 62% 16%,#cceaff 0 1px,transparent 1.4px),radial-gradient(circle at 88% 51%,#cceaff 0 1px,transparent 1.4px);background-size:173px 157px,211px 191px,239px 223px;animation:warehouseDust 18s linear infinite}
.warehouse-door{box-shadow:inset 0 0 60px rgba(0,0,0,.66),0 0 38px rgba(110,124,255,.04)!important}.warehouse-door:before{content:"";position:absolute;left:50%;top:21px;bottom:0;width:1px;background:linear-gradient(180deg,rgba(139,224,255,.28),transparent 55%);box-shadow:-60px 30px 0 rgba(255,255,255,.025),60px 30px 0 rgba(255,255,255,.025)}
.roulette-machine{box-shadow:0 18px 42px rgba(0,0,0,.31),inset 0 1px rgba(255,255,255,.035),0 0 30px rgba(132,105,255,.045)!important}
.roulette-core:before{content:"";position:absolute;inset:-7px;border-radius:50%;border:1px solid rgba(107,91,255,.10);box-shadow:0 0 24px rgba(132,105,255,.08);animation:rouletteHalo 3.2s ease-in-out infinite}
.warehouse-chest{transition:transform .16s ease,filter .18s ease,box-shadow .18s ease}.warehouse-chest:hover{transform:translateY(-4px);filter:brightness(1.08);box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--rar) 55%,transparent),0 13px 25px rgba(0,0,0,.22),0 0 17px color-mix(in srgb,var(--rar) 11%,transparent)!important}.warehouse-chest:hover .chest-pedestal>span{transform:translateY(-3px) scale(1.05)}
.chest-pedestal:after{content:"";position:absolute;left:50%;bottom:7px;width:58px;height:18px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--rar) 28%,transparent),transparent 68%);filter:blur(3px);opacity:.55}

.training-screen{background:radial-gradient(circle at 50% 22%,rgba(47,131,163,.08),transparent 22%),linear-gradient(180deg,#0e1723,#080d14 74%)!important}.training-screen:before{content:"";position:absolute;z-index:1;left:50%;top:75px;width:330px;height:510px;transform:translateX(-50%);pointer-events:none;background:linear-gradient(180deg,rgba(73,217,255,.08),transparent 72%);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);filter:blur(16px)}
.training-hall:before{content:"";position:absolute;left:50%;top:49%;width:360px;height:360px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(65,218,241,.055);box-shadow:0 0 0 45px rgba(65,218,241,.012),0 0 0 90px rgba(65,218,241,.008);pointer-events:none}
.training-core{box-shadow:0 15px 38px rgba(0,0,0,.34),0 0 26px rgba(72,219,244,.07)!important}.training-core:before{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px dashed rgba(72,218,243,.14);animation:orbitSpin 15s linear infinite}
.training-station{transition:transform .16s ease,box-shadow .18s ease,filter .18s ease}.training-station:hover{transform:translateY(-5px);filter:brightness(1.06);box-shadow:0 18px 32px rgba(0,0,0,.28),0 0 18px rgba(62,218,241,.055)!important}

.world-event-art{background:radial-gradient(circle at 72% 20%,rgba(255,105,58,.26),transparent 23%),radial-gradient(circle at 25% 12%,rgba(88,99,255,.08),transparent 24%),linear-gradient(180deg,#13182a,#211d2d 57%,rgba(19,24,41,0))!important}
.world-meteor i{height:10px!important;background:linear-gradient(90deg,transparent,rgba(97,83,255,.42),#ad72ff 34%,#ffb260 76%,#fff0bf)!important;box-shadow:0 0 9px rgba(255,147,77,.25)}
.world-meteor:after{content:"";position:absolute;right:23px;top:42px;width:105px;height:3px;border-radius:99px;background:linear-gradient(90deg,transparent,rgba(255,214,173,.46));filter:blur(3px);transform:rotate(1deg);animation:meteorTrailFlicker 1.7s ease-in-out infinite}
.world-crater{box-shadow:0 0 45px rgba(255,95,52,.09)}.world-crater:after{content:"";position:absolute;inset:15% 15%;border-radius:50%;background:radial-gradient(ellipse,rgba(255,183,92,.12),transparent 62%);filter:blur(4px);animation:craterHeat 2.4s ease-in-out infinite alternate}
.world-decision-console{box-shadow:0 22px 46px rgba(0,0,0,.27),inset 0 1px rgba(255,255,255,.03)!important}.world-decision-button{transition:transform .14s ease,border-color .16s ease,background .16s ease}.world-decision-button:hover{border-color:rgba(80,225,247,.28);background:linear-gradient(145deg,#1a293d,#111c2a);transform:translateX(3px)}
.world-vitals{box-shadow:0 14px 32px rgba(0,0,0,.23),inset 0 1px rgba(255,255,255,.025)}

@keyframes heroRadarBreathe{to{opacity:.68;transform:translateX(-50%) scale(1.035)}}
@keyframes operatorScan{0%,100%{opacity:.12;transform:translateX(-50%) scale(.94)}50%{opacity:.48;transform:translateX(-50%) scale(1.05)}}
@keyframes warehouseDust{to{background-position:37px -21px,-23px 31px,44px -27px}}
@keyframes rouletteHalo{50%{transform:scale(1.06);opacity:.45}}
@keyframes meteorTrailFlicker{50%{opacity:.35;transform:translateX(-8px) rotate(1deg)}}
@keyframes craterHeat{to{opacity:.35;transform:scale(1.08)}}

@media(hover:none){.warehouse-chest:hover,.training-station:hover,.world-decision-button:hover{transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){.hero-game-screen:before,.operator-model:after,.hero-slot.filled:before,.warehouse-screen:after,.roulette-core:before,.training-core:before,.world-meteor:after,.world-crater:after{animation:none!important}}

/* Android-safe guided spotlight: avoid huge 9999px box-shadow compositing artifacts */
.coach-spotlight{
  box-shadow:0 0 0 7px rgba(49,217,255,.14),0 0 38px rgba(49,217,255,.62),inset 0 0 22px rgba(49,217,255,.13)!important
}
.coach-dimmer{
  position:fixed;z-index:223;pointer-events:none;background:rgba(2,5,10,.48)
}
.coach-dimmer.coach-offscreen{opacity:0!important;visibility:hidden!important}

/* Android modal compositing safety */
@media(max-width:520px){
  .modal{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    background:radial-gradient(circle at 50% 88%,rgba(52,72,118,.13),transparent 32%),rgba(2,5,10,.88)!important;
  }
  .modal-card:after{
    mask-image:none!important;
    -webkit-mask-image:none!important;
    opacity:.30;
  }
  .modal-card{transform:translateZ(0);backface-visibility:hidden}
}

/* =========================================================
   PULSE 1.11 — MERGE REACTOR
   ========================================================= */
/* six-station training layout */
.training-hall{
  height:548px!important;
  padding-top:164px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,126px));
  grid-auto-rows:105px;
  gap:12px 18px;
  justify-content:center;
  align-content:start;
}
.training-core{top:78px!important}
.training-station{
  position:relative!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  width:100%!important;height:105px!important;
  transform:none!important;
}
.training-station:active{transform:scale(.96)!important}
.training-station.station-6 .station-machine{
  background:radial-gradient(circle at 50% 35%,#44366d,#1c2440 67%,#101724);
  border-color:rgba(157,123,255,.26);
  box-shadow:inset 0 0 18px rgba(111,89,255,.08),0 0 14px rgba(73,218,255,.04)
}
.training-station.station-6 .station-machine b{
  background:linear-gradient(90deg,#8d6cff,#49e2ff);
  box-shadow:0 0 10px rgba(107,106,255,.5)
}
.training-station.station-6 .station-machine span{color:#d9d2ff;text-shadow:0 0 12px rgba(123,104,255,.5)}

.merge-game{text-align:center;max-width:430px;margin:0 auto}
.merge-game h2{margin:4px 0 5px;font-size:25px;letter-spacing:-.025em}
.merge-rule{margin:0 auto 10px;max-width:350px;color:#8e9db1;font-size:8px;line-height:1.45}
.merge-rule b{color:#d9faff}
.merge-hud{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:8px 0 10px}
.merge-hud>span{min-width:0;padding:7px 4px;border-radius:11px;background:linear-gradient(145deg,#121c2b,#0c131e);border:1px solid rgba(91,217,244,.10);display:flex;flex-direction:column;align-items:center}
.merge-hud small{font-size:5px;color:#70849b;letter-spacing:.08em;font-weight:900}
.merge-hud b{margin-top:2px;font-size:10px;color:#d9f8ff;font-variant-numeric:tabular-nums}
#mergeTime.danger{color:#ff827d!important;text-shadow:0 0 9px rgba(255,82,82,.35);animation:mergeDanger .6s ease-in-out infinite alternate}

.merge-reactor-shell{position:relative;margin:0 auto 10px;padding:13px 13px 37px;border-radius:24px;background:
  radial-gradient(circle at 50% 45%,rgba(61,211,244,.10),transparent 38%),
  linear-gradient(145deg,#111c2a,#090f18 78%);
  border:1px solid rgba(75,220,247,.16);
  box-shadow:inset 0 0 36px rgba(43,176,208,.035),0 18px 35px rgba(0,0,0,.28);
  overflow:hidden
}
.merge-reactor-shell:before{content:"";position:absolute;inset:9px;border-radius:18px;border:1px solid rgba(117,96,255,.08);pointer-events:none}
.merge-reactor-ring{position:absolute;left:50%;top:46%;border-radius:50%;border:1px dashed rgba(68,220,244,.12);pointer-events:none;transform:translate(-50%,-50%);animation:orbitSpin 16s linear infinite}
.merge-reactor-ring.r1{width:315px;height:315px}.merge-reactor-ring.r2{width:255px;height:255px;border-color:rgba(132,103,255,.12);animation-direction:reverse;animation-duration:11s}

.merge-board{position:relative;z-index:3;width:min(100%,310px);aspect-ratio:1/1;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:8px;border-radius:19px;background:
  linear-gradient(90deg,rgba(62,213,239,.025) 1px,transparent 1px),
  linear-gradient(rgba(62,213,239,.025) 1px,transparent 1px),
  rgba(5,11,18,.86);
  background-size:25% 25%;
  border:1px solid rgba(80,218,242,.13);
  box-shadow:inset 0 0 28px rgba(0,0,0,.52),0 0 28px rgba(49,217,255,.035)
}
.merge-cell{position:relative;min-width:0!important;min-height:0!important;padding:0!important;aspect-ratio:1/1;border-radius:15px;border:1px solid rgba(255,255,255,.10);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;overflow:hidden;touch-action:manipulation;box-shadow:inset 0 1px rgba(255,255,255,.045),0 5px 12px rgba(0,0,0,.24)}
.merge-cell:before{content:"";position:absolute;inset:5px;border-radius:11px;border:1px solid rgba(255,255,255,.05);pointer-events:none}
.merge-cell:after{content:"";position:absolute;width:33px;height:33px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 68%);filter:blur(3px);opacity:.45}
.merge-cell>i{position:relative;z-index:2;font-style:normal;font-size:22px;line-height:1;filter:drop-shadow(0 0 7px currentColor)}
.merge-cell>b{position:relative;z-index:2;font-size:7px;letter-spacing:.08em}
.merge-cell>small{position:relative;z-index:2;font-size:4px;color:rgba(255,255,255,.58);letter-spacing:.05em}
.merge-cell.empty{background:rgba(18,26,36,.36)!important;border-style:dashed;border-color:rgba(109,132,157,.10);box-shadow:inset 0 0 12px rgba(0,0,0,.16)}
.merge-cell.empty:before,.merge-cell.empty:after{display:none}
.merge-cell.empty>span{width:8px;height:8px;border-radius:50%;border:1px solid rgba(106,220,240,.10)}

.merge-cell.level-1{background:linear-gradient(145deg,#173442,#10222e);color:#70e7ff;border-color:rgba(91,225,246,.25)}
.merge-cell.level-2{background:linear-gradient(145deg,#1b4b43,#15312d);color:#76f3bd;border-color:rgba(91,235,174,.25)}
.merge-cell.level-3{background:linear-gradient(145deg,#394225,#262f1b);color:#d0ef6d;border-color:rgba(197,230,83,.25)}
.merge-cell.level-4{background:linear-gradient(145deg,#5a3e20,#392616);color:#ffc05f;border-color:rgba(255,180,76,.30)}
.merge-cell.level-5{background:linear-gradient(145deg,#65303a,#3c1c26);color:#ff8b9c;border-color:rgba(255,106,129,.32)}
.merge-cell.level-6{background:linear-gradient(145deg,#49336d,#291f48);color:#b99cff;border-color:rgba(165,126,255,.38);box-shadow:inset 0 1px rgba(255,255,255,.07),0 0 18px rgba(129,89,255,.13)}
.merge-cell.level-7{background:radial-gradient(circle at 50% 30%,#2b6071,#34255d 68%,#15182a);color:#d6f9ff;border-color:rgba(112,232,255,.48);box-shadow:inset 0 0 18px rgba(111,98,255,.12),0 0 22px rgba(65,222,255,.18)}
.merge-cell.selected{transform:scale(.92);border-color:#d7fbff!important;box-shadow:0 0 0 2px rgba(75,225,248,.55),0 0 22px rgba(75,225,248,.26),inset 0 0 15px rgba(255,255,255,.08)!important;filter:brightness(1.22)}
.merge-cell.mismatch{animation:mergeMismatch .24s ease 1}
.merge-cell.merged{animation:mergeBurst .42s cubic-bezier(.2,.9,.25,1.3) 1;z-index:5}
.merge-cell.merged:after{animation:mergeGlow .42s ease-out 1}
.merge-board.stabilize{animation:mergeShuffle .42s ease-in-out 1}

.merge-status{position:absolute;z-index:4;left:18px;right:18px;bottom:10px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:9px;background:rgba(6,13,21,.72);border:1px solid rgba(78,216,240,.08);font-size:6px;color:#85a4b6;letter-spacing:.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.merge-score-line{display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center;margin:0 0 10px;padding:8px 10px;border-radius:12px;background:#101823;border:1px solid rgba(91,215,240,.09);text-align:left}
.merge-score-line>span{font-size:5px;color:#7290a1;font-weight:900;letter-spacing:.11em}.merge-score-line>b{font-size:12px;color:#c9f8ff}
.merge-score-line>i{grid-column:1/-1;display:block;height:5px;border-radius:99px;background:#202a39;overflow:hidden}.merge-score-line em{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,#735fff,#41e1ff);box-shadow:0 0 9px rgba(72,222,255,.22);transition:width .2s ease}

@keyframes mergeBurst{0%{transform:scale(.72);filter:brightness(2.1)}62%{transform:scale(1.11)}100%{transform:scale(1)}}
@keyframes mergeGlow{0%{opacity:1;transform:scale(.4)}100%{opacity:0;transform:scale(2.2)}}
@keyframes mergeMismatch{0%,100%{transform:translateX(0)}33%{transform:translateX(-3px)}66%{transform:translateX(3px)}}
@keyframes mergeShuffle{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@keyframes mergeDanger{to{opacity:.48}}

@media(max-width:390px){
  .training-hall{grid-template-columns:repeat(2,minmax(0,119px));gap:11px 12px;height:538px}
  .merge-reactor-shell{padding-left:10px;padding-right:10px}
  .merge-board{gap:5px;padding:6px}
  .merge-cell{border-radius:12px}.merge-cell:before{inset:4px;border-radius:9px}
  .merge-cell>i{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
  .merge-reactor-ring,.merge-cell.merged,.merge-cell.mismatch,.merge-board.stabilize,#mergeTime.danger{animation:none!important}
}

/* Merge energy economy */
.merge-energy-gate{text-align:center}.merge-energy-gate h2{margin:5px 0 8px}
.merge-energy-orb{width:112px;height:112px;margin:4px auto 11px;border-radius:50%;display:grid;grid-template-columns:auto auto;align-content:center;justify-content:center;gap:0 3px;background:radial-gradient(circle at 50% 38%,#58e2ff,#173b50 52%,#0c1722 75%);border:1px solid rgba(73,222,248,.42);box-shadow:0 0 38px rgba(49,217,255,.18),inset 0 0 24px rgba(255,255,255,.05)}
.merge-energy-orb i{grid-column:1/-1;font-style:normal;font-size:24px;filter:drop-shadow(0 0 8px rgba(83,226,255,.8))}.merge-energy-orb b{font-size:31px;line-height:1}.merge-energy-orb small{align-self:end;font-size:9px;color:#a8c1cf;margin-bottom:3px}
.merge-energy-status{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:11px 0}.merge-energy-status>span{padding:9px 7px;border-radius:12px;background:#111b29;border:1px solid rgba(81,217,241,.10);display:flex;flex-direction:column}.merge-energy-status small{font-size:5px;color:#708398;letter-spacing:.08em}.merge-energy-status b{font-size:9px;color:#d8f7ff;margin-top:3px}.merge-energy-status.boosted>span{border-color:rgba(116,97,255,.22);background:linear-gradient(145deg,#171a31,#0f1a26)}
.merge-energy-start{margin-bottom:8px}.merge-energy-start:disabled{opacity:.45;filter:grayscale(.35)}
.merge-refill-btn,.merge-paid-boost{width:100%;min-height:58px;margin:7px 0;padding:8px 10px;border-radius:14px;color:white;text-align:left;display:grid;grid-template-columns:58px 1fr auto;gap:9px;align-items:center}
.merge-refill-btn{border:1px solid rgba(115,96,255,.22);background:linear-gradient(135deg,#211d3a,#101a29)}.merge-refill-btn>span{font-size:14px;font-weight:950;color:#e4dcff}.merge-refill-btn>div,.merge-paid-boost>div{display:flex;flex-direction:column}.merge-refill-btn small,.merge-paid-boost small{font-size:5px;color:#8e9bb0;letter-spacing:.08em}.merge-refill-btn b,.merge-paid-boost b{font-size:8px;margin-top:2px;display:flex;align-items:center;gap:4px}.merge-refill-btn .resource-icon{width:15px;height:15px}.merge-refill-btn>i{font-style:normal;font-size:19px;color:#8bdbff}
.merge-paid-boost{grid-template-columns:48px 1fr;border:1px solid rgba(78,219,242,.15);background:linear-gradient(135deg,#112934,#111725)}.merge-paid-boost>span{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:radial-gradient(circle,#54def9,#1d5267);font-size:16px;font-weight:950;box-shadow:0 0 15px rgba(68,220,245,.14)}.merge-paid-boost em{font-style:normal;font-size:5px;color:#69798d;margin-top:2px}.merge-paid-boost.active{border-color:rgba(117,100,255,.28);background:linear-gradient(135deg,#251d42,#112331)}.merge-paid-boost.active>span{background:radial-gradient(circle,#9d85ff,#45366e)}
.merge-energy-note{margin:8px 4px 12px;font-size:6px;line-height:1.4;color:#68798d}
.merge-billing-info{text-align:center}.merge-billing-info .big-number{color:#8cf0ff;text-shadow:0 0 20px rgba(71,222,247,.22)}
.merge-turnbased .merge-finish-run{margin-top:4px}.merge-turnbased .merge-hud>span:first-child b{color:#9ff3ff}
@media(max-width:390px){.merge-energy-orb{width:100px;height:100px}.merge-refill-btn,.merge-paid-boost{min-height:54px}.merge-energy-status{gap:5px}}

/* PULSE 1.12 — persistent merge reactor */
.merge-reactor-meta{margin:9px 0;padding:10px;border-radius:15px;background:linear-gradient(145deg,#121a2a,#0b1420);border:1px solid rgba(95,219,242,.12);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.merge-reactor-level{display:flex;align-items:center;justify-content:space-between;gap:8px}.merge-reactor-level span{font-size:7px;font-weight:950;letter-spacing:.11em;color:#84ebff}.merge-reactor-level b{font-size:8px;color:#d8e7f4}
.merge-reactor-xp{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;margin:7px 0}.merge-reactor-xp>i{display:block;height:6px;border-radius:99px;background:#202a3b;overflow:hidden}.merge-reactor-xp em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7960ff,#4ce4f7);box-shadow:0 0 9px rgba(68,223,247,.2)}.merge-reactor-xp small{font-size:5px;color:#75889e}
.merge-reactor-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.merge-reactor-stats span{padding:6px 3px;border-radius:9px;background:rgba(255,255,255,.022);display:flex;flex-direction:column}.merge-reactor-stats small{font-size:4px;color:#65798e;letter-spacing:.08em}.merge-reactor-stats b{font-size:8px;color:#c7d9e7;margin-top:1px}
.merge-discovery-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-top:7px}.merge-discovery-strip i{font-style:normal;font-size:4px;padding:4px 1px;border-radius:6px;text-align:center}.merge-discovery-strip i.open{color:#a7f2ff;background:rgba(52,205,230,.09);border:1px solid rgba(79,219,243,.12)}.merge-discovery-strip i.locked{color:#3d4857;background:#0b111a;border:1px solid rgba(255,255,255,.03);filter:saturate(.1)}

.merge-session-objective{margin:8px auto;padding:7px 10px;border-radius:11px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:0 8px;align-items:center;text-align:left;background:linear-gradient(135deg,rgba(116,91,255,.12),rgba(47,214,239,.06));border:1px solid rgba(123,105,255,.16)}
.merge-session-objective>span{grid-row:1/-1;font-size:5px;color:#a899ff;font-weight:950;letter-spacing:.1em}.merge-session-objective>b{font-size:8px;color:#dbe8ff}.merge-session-objective>small{font-size:5px;color:#73869d}.merge-session-objective.completed{border-color:rgba(89,239,190,.22);background:linear-gradient(135deg,rgba(52,201,160,.11),rgba(48,213,237,.07));animation:mergeObjectiveDone .5s ease}.merge-session-objective.completed>span{color:#7af0c4}.merge-session-objective.completed>b{color:#c8ffeb}
.merge-cell.candidate{border-color:rgba(112,244,218,.7)!important;box-shadow:0 0 0 2px rgba(91,232,207,.16),0 0 22px rgba(80,231,214,.22),inset 0 0 14px rgba(111,255,227,.07)!important;animation:mergeCandidate 1s ease-in-out infinite alternate}

.merge-result-progress{margin:10px 0;padding:10px;border-radius:14px;background:linear-gradient(145deg,#121b2a,#0b121d);border:1px solid rgba(81,220,244,.12)}
.merge-result-level{display:flex;justify-content:space-between;align-items:center}.merge-result-level span{font-size:7px;font-weight:950;letter-spacing:.1em;color:#8beeff}.merge-result-level b{font-size:8px;color:#c8f6ff}
.merge-result-xp{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:center;margin:7px 0}.merge-result-xp i{height:6px;border-radius:99px;background:#202a39;overflow:hidden}.merge-result-xp em{display:block;height:100%;background:linear-gradient(90deg,#7a60ff,#45e0f7);border-radius:inherit}.merge-result-xp small{font-size:5px;color:#75889a}
.merge-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.merge-result-stats span{display:flex;flex-direction:column;padding:5px;border-radius:8px;background:rgba(255,255,255,.022)}.merge-result-stats small{font-size:4px;color:#68798e}.merge-result-stats b{font-size:8px;color:#d9e8f4}
.merge-unlock{margin-top:8px;padding:8px;border-radius:10px;border:1px solid rgba(142,113,255,.24);background:linear-gradient(135deg,rgba(111,89,255,.11),rgba(52,216,239,.06));display:grid;grid-template-columns:1fr auto;gap:2px 8px;text-align:left}.merge-unlock strong{font-size:5px;color:#a993ff;letter-spacing:.09em}.merge-unlock span{font-size:9px;color:#e4dcff;font-weight:900}.merge-unlock em{grid-row:1/3;grid-column:2;font-style:normal;font-size:7px;color:#bcefff;display:flex;align-items:center;gap:4px}.merge-unlock .resource-icon{width:15px;height:15px}

@keyframes mergeCandidate{to{filter:brightness(1.14);box-shadow:0 0 0 2px rgba(91,232,207,.22),0 0 28px rgba(80,231,214,.3),inset 0 0 16px rgba(111,255,227,.09)}}
@keyframes mergeObjectiveDone{50%{transform:scale(1.02);box-shadow:0 0 18px rgba(87,235,191,.12)}}
@media(prefers-reduced-motion:reduce){.merge-cell.candidate,.merge-session-objective.completed{animation:none!important}}

/* PULSE 1.12.1 — compact mobile HQ header */
@media(max-width:520px){
  .command-center-view .command-center-visual{
    height:54px!important;
    min-height:54px!important;
    margin:0 0 9px!important;
    border-radius:14px!important;
    background:
      radial-gradient(circle at 50% 50%,rgba(49,217,255,.12),transparent 36%),
      linear-gradient(145deg,#142334,#0c1420)!important;
  }
  .command-center-view .command-center-visual i{
    width:88px!important;
    height:88px!important;
    opacity:.7;
  }
  .command-center-view .command-center-visual b{
    font-size:14px!important;
    letter-spacing:.22em!important;
  }
  .command-center-view>.eyebrow{margin-top:2px}
  .command-center-view>h2{margin-top:5px;margin-bottom:11px}
}
@media(max-width:390px){
  .command-center-view .command-center-visual{
    height:48px!important;
    min-height:48px!important;
  }
  .command-center-view .command-center-visual i{width:78px!important;height:78px!important}
  .command-center-view .command-center-visual b{font-size:13px!important}
}

/* PULSE 1.12.2 — Samsung/Android long-modal rendering fix */
@media(max-width:520px){
  .modal{
    overflow:hidden!important;
    contain:none!important;
  }
  .modal-card{
    transform:none!important;
    backface-visibility:visible!important;
    will-change:auto!important;
    contain:none!important;
    isolation:auto!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:auto!important;
    max-height:calc(100dvh - max(8px,env(safe-area-inset-top)))!important;
  }
  .modal-card.modal-card-in,
  .modal-card.modal-card-out{
    animation:none!important;
    transform:none!important;
    opacity:1!important;
  }
  .modal-card:after{
    content:none!important;
    display:none!important;
  }
  .modal-card:before{
    box-shadow:none!important;
  }
}

/* PULSE 1.13 — Android scroll performance */
@media(max-width:520px){
  html{scroll-behavior:auto!important}
  #view{
    will-change:auto!important;
    transform:none!important;
  }

  /* Fixed/sticky translucent layers are expensive to composite while scrolling. */
  .topbar,
  .nav,
  .global-resource-hud,
  .base-scene-header>button,
  .world-vitals,
  .scene-next-objective,
  .scene-story-strip,
  .map-bottom-console,
  .camp-building .building-status{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .topbar{background:rgba(8,12,20,.985)!important}
  .nav{background:rgba(8,12,20,.99)!important}
  .global-resource-hud{background:rgba(8,12,20,.99)!important}

  /* Allow browser to skip painting large scenes after they leave viewport. */
  .camp-scene,
  .hero-stage,
  .training-hall,
  .world-event-art{
    content-visibility:auto;
    contain-intrinsic-size:auto 560px;
  }

  /* Long modal: keep one simple scrolling surface. */
  .modal-card{
    overscroll-behavior:contain;
    scroll-behavior:auto!important;
  }

  /* Background scene is decorative while a modal is open. */
  body.modal-open #app *{
    animation-play-state:paused!important;
  }
  body.modal-open #app .meteor-cloud,
  body.modal-open #app .camp-fog,
  body.modal-open #app .camp-light-beam,
  body.modal-open #app .camp-ground-light,
  body.modal-open #app .base-weather,
  body.modal-open #app .map-sky-haze,
  body.modal-open #app .world-smoke,
  body.modal-open #app .training-light,
  body.modal-open #app .warehouse-light{
    filter:none!important;
  }

  /* During the finger gesture prioritize scroll FPS over decoration. */
  html.perf-scrolling #view *,
  html.perf-scrolling .modal-card *{
    animation-play-state:paused!important;
  }
  html.perf-scrolling .topbar,
  html.perf-scrolling .nav,
  html.perf-scrolling .global-resource-hud,
  html.perf-scrolling .global-next-step{
    box-shadow:none!important;
  }
  html.perf-scrolling .meteor-cloud,
  html.perf-scrolling .camp-fog,
  html.perf-scrolling .camp-light-beam,
  html.perf-scrolling .camp-ground-light,
  html.perf-scrolling .camp-motes,
  html.perf-scrolling .base-weather,
  html.perf-scrolling .map-sky-haze,
  html.perf-scrolling .map-drift-motes,
  html.perf-scrolling .world-smoke,
  html.perf-scrolling .training-light,
  html.perf-scrolling .warehouse-light{
    filter:none!important;
  }

  /* Decorative blur that costs every frame but adds little on phone. */
  .base-scene-header>button,
  .scene-next-objective,
  .scene-story-strip,
  .world-vitals,
  .map-bottom-console{
    box-shadow:none;
  }
}

@media(max-width:520px){
  body.modal-open #view{
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.modal-open .modal{
    background:
      radial-gradient(circle at 50% 18%,rgba(37,78,105,.16),transparent 30%),
      linear-gradient(180deg,rgba(4,8,14,.96),rgba(2,5,10,.99))!important;
  }
}

/* =========================================================
   PULSE 1.14 — Games Hub + richer material art direction
   ========================================================= */
.nav .games-nav{position:relative}
.nav .games-nav.games-new:after{
  content:"NEW";position:absolute;right:7px;top:4px;padding:2px 4px;border-radius:5px;
  background:#47def4;color:#061017;font-size:4px;font-weight:1000;letter-spacing:.08em;
  box-shadow:0 0 12px rgba(71,222,244,.35)
}
.nav .games-nav>span{color:#9d8bff}
.nav .games-nav.active>span{color:#b8aaff;text-shadow:0 0 12px rgba(134,104,255,.5)}

/* Games hub */
.games-hub-screen{position:relative;min-height:calc(100vh - 170px);padding:18px 14px 118px;overflow:hidden;background:linear-gradient(180deg,#080e18 0,#070b12 100%);isolation:isolate}
.games-hub-bg{position:absolute;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.games-grid{position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(71,214,238,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(71,214,238,.08) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(#000,transparent 78%)}
.games-orbit{position:absolute;border:1px solid rgba(106,89,255,.11);border-radius:50%;transform:rotate(-12deg)}.games-orbit.go1{width:430px;height:210px;right:-180px;top:95px}.games-orbit.go2{width:360px;height:170px;left:-170px;top:470px;border-color:rgba(65,218,244,.08)}
.games-haze{position:absolute;left:50%;top:0;width:470px;height:420px;transform:translateX(-50%);background:radial-gradient(ellipse at 50% 12%,rgba(60,218,245,.08),transparent 52%),radial-gradient(ellipse at 70% 58%,rgba(126,90,255,.06),transparent 44%)}
.games-hub-head{position:relative;z-index:2;display:grid;grid-template-columns:1fr 58px;gap:12px;align-items:center;margin-bottom:14px}
.games-hub-head span{font-size:7px;color:#43dff4;font-weight:950;letter-spacing:.16em}.games-hub-head h1{font-size:29px;margin:4px 0 3px;letter-spacing:-.035em}.games-hub-head p{margin:0;color:#7e8ca2;font-size:8px;line-height:1.45;max-width:290px}
.games-hub-pulse{width:54px;height:54px;border-radius:17px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#15253a,#0b1420);border:1px solid rgba(71,222,244,.18);box-shadow:inset 0 1px rgba(255,255,255,.04),0 10px 25px rgba(0,0,0,.28)}
.games-hub-pulse i{position:absolute;inset:7px;border:1px solid rgba(74,226,246,.19);border-radius:50%}.games-hub-pulse b{font-size:20px;color:#bff6ff;text-shadow:0 0 12px rgba(72,225,247,.33)}

.games-feature-card{position:relative;z-index:2;width:100%;min-height:184px;margin:10px 0;padding:0;border-radius:21px;overflow:hidden;text-align:left;color:white;border:1px solid rgba(255,255,255,.08);background:#111a26;box-shadow:0 16px 34px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.035);display:grid;grid-template-columns:132px 1fr;grid-template-rows:1fr 37px}
.games-feature-card:active{transform:scale(.987)}
.games-feature-card:before{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:linear-gradient(118deg,rgba(255,255,255,.025),transparent 28%)}
.games-feature-art{position:relative;z-index:1;grid-row:1;min-height:145px;overflow:hidden;border-right:1px solid rgba(255,255,255,.045)}
.games-feature-copy{position:relative;z-index:2;padding:15px 13px 10px;min-width:0}.games-feature-copy>span{font-size:5px;font-weight:950;letter-spacing:.12em}.games-feature-copy h2{font-size:18px;margin:5px 0 4px;line-height:1.05}.games-feature-copy p{font-size:7px;line-height:1.38;color:#90a0b4;margin:0}
.games-feature-stats{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.games-feature-stats b{font-size:6px;padding:4px 6px;border-radius:7px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.05);color:#c7d8e7}
.games-feature-card>strong{position:relative;z-index:2;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border-top:1px solid rgba(255,255,255,.055);font-size:7px;letter-spacing:.08em}.games-feature-card>strong i{font-style:normal;font-size:17px}
.games-mini-progress{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;margin-top:8px}.games-mini-progress>i{height:4px;border-radius:99px;background:#273044;overflow:hidden}.games-mini-progress em{display:block;height:100%;border-radius:inherit}.games-mini-progress small{font-size:5px;color:#718298}

/* Merge hero */
.merge-feature{background:linear-gradient(145deg,#16162a,#101a2c 60%,#0d1720);border-color:rgba(126,101,255,.25)}.merge-feature.ready{box-shadow:0 18px 38px rgba(0,0,0,.3),0 0 28px rgba(100,83,255,.08),inset 0 1px rgba(255,255,255,.05)}
.merge-feature .games-feature-copy>span{color:#a996ff}.merge-feature>strong{color:#c7baff;background:linear-gradient(90deg,rgba(112,85,255,.08),rgba(50,218,244,.04))}
.merge-feature .games-mini-progress em{background:linear-gradient(90deg,#795cff,#4be2f4)}
.merge-art{background:radial-gradient(circle at 50% 45%,rgba(96,83,255,.28),transparent 28%),linear-gradient(150deg,#1c1834,#0c1723)}
.merge-art:before,.merge-art:after{content:"";position:absolute;left:50%;top:48%;border:1px solid rgba(129,106,255,.17);border-radius:50%;transform:translate(-50%,-50%)}.merge-art:before{width:112px;height:112px}.merge-art:after{width:82px;height:82px;border-color:rgba(67,224,245,.13)}
.merge-core-mini{position:absolute;left:50%;top:48%;width:54px;height:54px;transform:translate(-50%,-50%) rotate(30deg);border-radius:16px;display:grid;place-items:center;font-size:25px;color:#d9f7ff;background:linear-gradient(145deg,#684eff,#27697b);box-shadow:0 0 24px rgba(92,83,255,.26),inset 0 1px rgba(255,255,255,.12)}
.merge-core-mini::first-letter{transform:rotate(-30deg)}
.merge-hex{position:absolute;font-style:normal;color:#7beeff;opacity:.62;text-shadow:0 0 12px currentColor}.merge-hex.h1{left:17px;top:24px;font-size:16px}.merge-hex.h2{right:17px;top:30px;font-size:19px;color:#a98bff}.merge-hex.h3{right:25px;bottom:23px;font-size:14px}

/* Trials */
.trials-feature{background:linear-gradient(145deg,#101c29,#0d1721 65%,#0b1019);border-color:rgba(71,218,243,.16)}.trials-feature .games-feature-copy>span{color:#61def2}.trials-feature>strong{color:#9eeeff;background:rgba(54,211,237,.035)}
.trials-art{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:20px;background:linear-gradient(145deg,#12283a,#0a141e)}.trials-art i{font-style:normal;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#1d3142,#101c27);border:1px solid rgba(71,222,244,.12);font-size:18px;color:#9eeeff;box-shadow:inset 0 1px rgba(255,255,255,.03)}.trials-art i:nth-child(2){color:#b79cff}.trials-art i:nth-child(3){color:#74f0bf}.trials-art i:nth-child(4){color:#ffc36c}

/* World */
.world-feature{min-height:155px;background:linear-gradient(145deg,#1a1524,#101721 62%);border-color:rgba(255,132,85,.14)}.world-feature .games-feature-copy>span{color:#ff9a75}.world-feature>strong{color:#ffc0a4;background:rgba(255,117,75,.03)}
.world-art{background:radial-gradient(circle at 50% 47%,rgba(255,97,62,.15),transparent 28%),linear-gradient(155deg,#211728,#0b1420)}.signal-planet{position:absolute;left:50%;top:49%;width:62px;height:62px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#d8edf8,#6c8399 37%,#293548 70%);box-shadow:-17px 5px 0 -3px #0d1420,0 0 25px rgba(133,184,218,.11)}.world-art>i{position:absolute;left:50%;top:49%;width:104px;height:50px;transform:translate(-50%,-50%) rotate(-10deg);border:1px solid rgba(255,154,104,.22);border-radius:50%}.world-art>b{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);font-size:20px;color:#ffb17e;text-shadow:0 0 14px rgba(255,124,80,.34)}

.games-hub-footer{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.games-hub-footer>div{padding:9px 6px;border-radius:12px;background:#0e1621;border:1px solid rgba(255,255,255,.055);display:flex;flex-direction:column}.games-hub-footer span{font-size:4px;color:#677a90;letter-spacing:.1em}.games-hub-footer b{font-size:8px;color:#d6e6f3;margin-top:2px}.games-hub-footer small{font-size:5px;color:#728399;margin-top:1px}

/* Base art direction: sharper materials, layered deck, less fog */
.camp-fog{opacity:.22!important;filter:blur(8px)!important}
.camp-ground{
  background:
    radial-gradient(circle at 50% 50%,rgba(86,115,111,.18) 0 2%,transparent 2.5%),
    repeating-radial-gradient(circle at 50% 50%,transparent 0 24px,rgba(140,174,165,.045) 25px 26px,transparent 27px 49px),
    linear-gradient(155deg,#37483f 0,#26362f 42%,#18251f 100%)!important;
  border:1px solid rgba(137,174,162,.18)!important;
  box-shadow:inset 0 0 0 8px rgba(6,12,12,.23),inset 0 -24px 40px rgba(0,0,0,.34),0 30px 50px rgba(0,0,0,.4)!important
}
.camp-ground:before{opacity:.55!important}
.camp-ground:after{border-color:rgba(171,207,196,.12)!important}
.camp-ground .deck-ring{position:absolute;left:50%;top:50%;border-radius:50%;border:1px solid rgba(126,174,161,.13);transform:translate(-50%,-50%);pointer-events:none}.camp-ground .dr1{width:84%;height:68%}.camp-ground .dr2{width:57%;height:46%;border-style:dashed}
.camp-ground .deck-core{position:absolute;left:50%;top:50%;width:47px;height:47px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(58,217,239,.12),rgba(20,40,39,.1) 45%,transparent 70%);border:1px solid rgba(66,218,238,.12)}
.camp-ground .deck-sector{position:absolute;width:76px;height:45px;border:1px solid rgba(217,236,226,.045);background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(0,0,0,.05));clip-path:polygon(10% 0,90% 0,100% 50%,90% 100%,10% 100%,0 50%)}.camp-ground .ds1{left:17%;top:22%;transform:rotate(-17deg)}.camp-ground .ds2{right:13%;top:29%;transform:rotate(13deg)}.camp-ground .ds3{left:42%;bottom:11%;transform:rotate(3deg)}
.camp-ground .road{height:12px!important;background:linear-gradient(180deg,#463f35,#282722)!important;border:1px solid rgba(208,178,130,.045);box-shadow:inset 0 2px 2px rgba(255,255,255,.02),inset 0 -3px 5px rgba(0,0,0,.24)!important}

/* More material definition on buildings */
.camp-building{--mat-accent:#5ce1f5;filter:drop-shadow(0 16px 10px rgba(0,0,0,.5))!important}
.camp-building .body{box-shadow:inset 5px 0 8px rgba(255,255,255,.035),inset -8px -8px 12px rgba(0,0,0,.3),0 5px 0 rgba(0,0,0,.16)}
.camp-building .roof{box-shadow:inset 0 2px rgba(255,255,255,.075),inset 0 -5px 8px rgba(0,0,0,.18),0 3px 5px rgba(0,0,0,.28)}
.camp-building .panel{position:absolute;z-index:7;display:block;border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(0,0,0,.12));border-radius:2px}.camp-building .p1{left:13px;bottom:23px;width:10px;height:13px}.camp-building .p2{right:13px;bottom:23px;width:8px;height:10px}
.camp-building .accent-rail{position:absolute;z-index:9;left:12px;right:12px;bottom:14px;height:2px;background:linear-gradient(90deg,transparent,var(--mat-accent),transparent);box-shadow:0 0 6px color-mix(in srgb,var(--mat-accent) 55%,transparent);opacity:.62}
.camp-building .service-port{position:absolute;z-index:8;right:8px;top:28px;width:5px;height:5px;border-radius:50%;background:var(--mat-accent);box-shadow:0 0 7px var(--mat-accent)}
.camp-building .building-caption{left:4px;right:4px;bottom:-2px;padding:4px 2px 3px;border-radius:7px;background:linear-gradient(180deg,rgba(6,10,15,.10),rgba(6,10,15,.76));text-shadow:none!important}
.camp-building .building-caption b{font-size:9px!important;text-shadow:0 2px 3px #000!important}.camp-building .building-caption small{font-size:6px!important;color:#93a3b5!important}
.camp-building .foundation{height:20px!important;background:radial-gradient(ellipse,rgba(0,0,0,.65),rgba(0,0,0,.08) 61%,transparent 72%)!important}

/* each building gets a different material language */
.building-hq{--mat-accent:#59dff5}.building-hq .body{background:linear-gradient(135deg,#728391,#3d4c59 48%,#202c35)!important}.building-hq .roof{background:linear-gradient(180deg,#a6b4bd,#53636e)!important}.building-hq .panel{border-color:rgba(89,223,245,.22);background:#173441}.building-hq .accent-rail{opacity:.9}
.building-lab{--mat-accent:#61efff}.building-lab .body{background:linear-gradient(140deg,#35738b,#1d4355 62%,#132a37)!important}.building-lab .roof{background:linear-gradient(180deg,rgba(116,232,246,.86),rgba(41,113,138,.88))!important}.building-lab .panel{background:rgba(72,217,238,.13)}
.building-radio{--mat-accent:#9e86ff}.building-radio .body{background:linear-gradient(145deg,#43445c,#292b3c)!important}.building-radio .service-port{background:#a78cff;box-shadow:0 0 9px #8f72ff}.building-radio .accent-rail{background:linear-gradient(90deg,transparent,#957cff,transparent)}
.building-training{--mat-accent:#ff6e84}.building-training .body{background:linear-gradient(140deg,#754858,#3d2935 62%,#261c25)!important}.building-training .panel{background:rgba(255,95,122,.12);border-color:rgba(255,114,135,.2)}
.building-storage{--mat-accent:#e9b467}.building-storage .body{background:linear-gradient(140deg,#80694b,#4a3b2e 65%,#2c261f)!important}.building-storage .panel{background:#49392a;border-color:rgba(230,181,105,.18)}
.building-generator{--mat-accent:#ffbd5f}.building-generator .body{background:linear-gradient(135deg,#6f654b,#403a2e 62%,#29261f)!important}.building-generator .accent-rail{background:linear-gradient(90deg,transparent,#ffb84f,#fff0aa,#ffb84f,transparent);opacity:1}
.building-farm{--mat-accent:#70e79b}.building-farm .body{background:linear-gradient(135deg,#3f6648,#294632 65%,#1c3023)!important}.building-farm .panel{background:rgba(93,216,131,.11);border-color:rgba(112,231,155,.18)}
.building-lumberyard{--mat-accent:#e5a467}.building-lumberyard .body{background:linear-gradient(135deg,#825f40,#4a3729 64%,#2d241e)!important}.building-lumberyard .panel{background:#563b29;border-color:rgba(224,160,98,.18)}
.building-quarry,.building-mine{--mat-accent:#9db6c7}
.building-gate{--mat-accent:#66c8ff}

/* stronger HQ hierarchy */
.building-hq{transform:translate(-50%,-50%) scale(1.28)!important}
.building-hq:active{transform:translate(-50%,-50%) scale(1.21)!important}
.building-hq .structure:before{content:"";position:absolute;left:50%;top:50%;width:96px;height:96px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(76,221,243,.09);box-shadow:0 0 0 9px rgba(76,221,243,.018);pointer-events:none}

/* less washed out atmosphere */
.base-game-screen .base-atmosphere{filter:saturate(.9) contrast(1.08)}
.base-game-screen .base-weather{opacity:.16!important}
.camp-scene:after{opacity:.52!important}
.camp-ground-light{opacity:.15!important;filter:blur(9px)!important}

@media(max-width:430px){
  .games-hub-screen{padding:14px 11px 112px}
  .games-feature-card{grid-template-columns:112px 1fr;min-height:172px}
  .games-feature-art{min-height:132px}
  .games-feature-copy{padding:13px 10px 8px}
  .games-feature-copy h2{font-size:16px}
  .games-feature-copy p{font-size:6.5px}
  .games-hub-head h1{font-size:26px}
  .games-hub-pulse{width:49px;height:49px}
}
@media(max-width:370px){
  .games-feature-card{grid-template-columns:98px 1fr}
  .games-feature-stats b{font-size:5.5px}
  .games-feature-copy h2{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  .games-orbit,.games-hub-pulse i{animation:none!important}
}

/* five classic mini-games: center the last station */
.training-hall .training-station.station-5{grid-column:1/-1;width:126px!important;justify-self:center}
@media(max-width:390px){.training-hall .training-station.station-5{width:119px!important}}

/* PULSE 1.14.2 — mobile intro fail-safe + lighter video compositing */
@media(max-width:520px){
  .video-impact-scene.meteor-near-impact{
    animation:none!important;
  }
  .meteor-sound,
  .meteor-skip{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    background:rgba(5,10,16,.88)!important;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
  }
  .meteor-skip{
    z-index:40!important;
    min-width:96px;
    min-height:44px;
    display:grid;
    place-items:center;
    pointer-events:auto!important;
    font-size:8px!important;
    border-color:rgba(116,231,255,.22)!important;
    box-shadow:0 8px 20px rgba(0,0,0,.28);
  }
  .meteor-sound{
    z-index:39!important;
    min-height:40px;
  }
  .meteor-intro-video{
    transform:none!important;
    will-change:auto!important;
  }
}

/* PULSE 1.15 — MIRA voice system */
.stats{align-items:center}
.voice-toggle{
  width:34px;height:34px;min-height:34px;padding:0;border-radius:999px;
  border:1px solid rgba(90,220,244,.18);background:linear-gradient(145deg,#132332,#0b141f);
  color:#c7f5ff;display:grid;place-items:center;font-size:14px;cursor:pointer;
  box-shadow:inset 0 1px rgba(255,255,255,.04),0 6px 14px rgba(0,0,0,.22);
  transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease
}
.voice-toggle.off{opacity:.48;filter:grayscale(.65)}
.voice-toggle:active{transform:scale(.93)}
body.mira-speaking .voice-toggle{
  border-color:rgba(91,230,250,.58);
  box-shadow:0 0 0 4px rgba(63,217,239,.08),0 0 18px rgba(63,217,239,.34),inset 0 1px rgba(255,255,255,.08);
  animation:miraVoicePulse 1.05s ease-in-out infinite alternate
}
.voice-settings{text-align:center}
.voice-orb{
  position:relative;width:84px;height:84px;margin:0 auto 13px;border-radius:50%;
  display:grid;place-items:center;background:radial-gradient(circle at 42% 36%,#5be3f7,#244d69 46%,#101a2b 72%);
  border:1px solid rgba(112,231,250,.28);box-shadow:0 0 34px rgba(61,214,239,.18),inset 0 0 18px rgba(255,255,255,.08)
}
.voice-orb i{position:absolute;inset:-9px;border-radius:50%;border:1px solid rgba(110,229,248,.13)}
.voice-orb b{font-size:28px;color:#e2fbff;text-shadow:0 0 14px rgba(72,225,246,.42)}
body.mira-speaking .voice-orb i{animation:miraVoiceRing 1.25s ease-out infinite}
.voice-setting-row,.voice-volume-row{
  margin:12px 0;padding:12px;border-radius:15px;background:linear-gradient(145deg,#151f2e,#0d1521);
  border:1px solid rgba(145,170,206,.10);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left
}
.voice-setting-row>span,.voice-volume-row>span{display:flex;flex-direction:column;gap:2px}
.voice-setting-row b,.voice-volume-row b{font-size:9px;color:#dbeaf4}.voice-setting-row small,.voice-volume-row small{font-size:6px;color:#75869a}
.voice-setting-row input{width:23px;height:23px;accent-color:#53dff4}
.voice-volume-row{display:grid;grid-template-columns:1fr 120px;align-items:center}
.voice-volume-row input{width:100%;accent-color:#59dff4}
.meteor-sound{border-color:rgba(91,225,246,.2)!important;color:#d9faff!important}
body.mira-speaking .meteor-sound{box-shadow:0 0 16px rgba(68,223,244,.24);border-color:rgba(91,225,246,.54)!important}
@keyframes miraVoicePulse{to{transform:scale(1.06);filter:brightness(1.14)}}
@keyframes miraVoiceRing{0%{transform:scale(.82);opacity:.7}100%{transform:scale(1.35);opacity:0}}
@media(max-width:390px){
  .voice-toggle{width:30px;height:30px;min-height:30px;font-size:12px}
  .stats{gap:5px}
  .stats span{padding-left:8px;padding-right:8px}
  .voice-volume-row{grid-template-columns:1fr 105px}
}
@media(prefers-reduced-motion:reduce){
  body.mira-speaking .voice-toggle,body.mira-speaking .voice-orb i{animation:none!important}
}

/* PULSE 1.16 — Merge Reactor 2.0: 7x7 + orders + energy packs */
.merge-v2{max-width:440px}
.merge-v2-head{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;margin-bottom:8px}
.merge-v2-head h2{margin:2px 0 0}
.merge-energy-chip{width:auto!important;min-width:82px!important;min-height:42px!important;padding:7px 10px!important;border-radius:13px!important;border:1px solid rgba(82,223,247,.2)!important;background:linear-gradient(145deg,#143047,#0d1825)!important;color:#d8fbff!important;display:flex!important;align-items:baseline;justify-content:center;gap:3px;font-size:12px!important;font-weight:950}
.merge-energy-chip b{font-size:16px}.merge-energy-chip small{font-size:6px;color:#8da5b8}.merge-energy-chip.empty{border-color:rgba(255,111,105,.35)!important;color:#ffaaa5!important}

.merge-orders-panel{margin:8px 0 10px;padding:8px;border-radius:16px;background:linear-gradient(145deg,#111a28,#0a111b);border:1px solid rgba(88,220,244,.11);text-align:left}
.merge-orders-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-end;margin:0 2px 7px}
.merge-orders-head>div{display:flex;flex-direction:column}.merge-orders-head span{font-size:5px;font-weight:1000;letter-spacing:.12em;color:#6ee9fb}.merge-orders-head b{font-size:9px;color:#e0edf7;margin-top:2px}.merge-orders-head>small{font-size:5px;color:#708196;text-align:right;max-width:145px}
.merge-orders-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.merge-order-card{min-width:0;padding:7px 6px 6px;border-radius:11px;background:linear-gradient(150deg,#151f2e,#0c141f);border:1px solid rgba(255,255,255,.065);box-shadow:inset 0 1px rgba(255,255,255,.025);transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease}
.merge-order-card.mslot-2{background:linear-gradient(150deg,#191d31,#0e1421)}.merge-order-card.mslot-3{background:linear-gradient(150deg,#241b2a,#10141f)}
.merge-order-top{display:flex;flex-direction:column;min-height:29px}.merge-order-top span{font-size:4px;color:#6f8296;letter-spacing:.1em;font-weight:950}.merge-order-top b{font-size:7px;line-height:1.18;color:#d7e7f3;margin-top:2px}
.merge-order-reqs{display:flex;gap:3px;flex-wrap:wrap;margin:6px 0}
.merge-order-req{min-width:39px;padding:4px 3px;border-radius:7px;display:flex;align-items:center;justify-content:space-between;gap:3px;background:#0a111a;border:1px solid rgba(255,255,255,.055)}
.merge-order-req i{font-style:normal;font-size:5px;color:#8ea0b3}.merge-order-req b{font-size:6px;color:#c7d8e5;font-variant-numeric:tabular-nums}.merge-order-req.done{background:rgba(65,211,165,.08);border-color:rgba(90,238,187,.2)}.merge-order-req.done i,.merge-order-req.done b{color:#83f2c8}
.merge-order-reward{min-height:31px;display:flex;flex-direction:column}.merge-order-reward small{font-size:4px;letter-spacing:.09em;color:#6c7c8d}.merge-order-reward b{font-size:5px;line-height:1.3;color:#d7c8ff;margin-top:2px}
.merge-order-card>button{width:100%;min-height:27px!important;margin-top:5px;padding:5px!important;border-radius:8px!important;border:1px solid rgba(91,218,241,.11)!important;background:#111b27!important;color:#5f7186!important;font-size:5px!important;font-weight:1000;letter-spacing:.06em}
.merge-order-card.ready{border-color:rgba(85,236,185,.38);box-shadow:0 0 20px rgba(55,220,170,.08),inset 0 1px rgba(255,255,255,.045)}
.merge-order-card.ready>button{background:linear-gradient(135deg,#1f8d71,#196a62)!important;border-color:rgba(111,255,210,.35)!important;color:white!important;box-shadow:0 0 14px rgba(64,224,177,.12)}
.merge-order-card.ready:before{content:"ГОТОВО";display:block;position:absolute}
.merge-order-card{position:relative}.merge-order-card.ready:before{right:5px;top:4px;font-size:3.5px;font-weight:1000;letter-spacing:.08em;color:#8ff1cc}

.merge-v2-shell{padding:9px 8px 35px!important;border-radius:20px!important}
.merge-board-v2{width:min(100%,344px)!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:3px!important;padding:5px!important;border-radius:15px!important;background-size:14.285% 14.285%!important}
.merge-board-v2 .merge-cell{border-radius:8px!important;touch-action:none!important;box-shadow:inset 0 1px rgba(255,255,255,.035),0 2px 5px rgba(0,0,0,.2)!important}
.merge-board-v2 .merge-cell:before{inset:2px!important;border-radius:6px!important}
.merge-board-v2 .merge-cell:after{width:20px;height:20px;filter:none}
.merge-board-v2 .merge-cell>i{font-size:13px!important;filter:drop-shadow(0 0 4px currentColor)}
.merge-board-v2 .merge-cell>b{font-size:4.5px!important;letter-spacing:.02em}.merge-board-v2 .merge-cell>small{display:none}
.merge-board-v2 .merge-cell.empty>span{width:4px;height:4px}
.merge-board-v2 .merge-cell.held{z-index:12;transform:scale(1.12);filter:brightness(1.2);box-shadow:0 7px 18px rgba(0,0,0,.38),0 0 0 2px rgba(111,236,255,.35)!important}
.merge-board-v2.drag-active .merge-cell:not(.held){opacity:.82}
.merge-board-v2 .merge-cell.drop-target{opacity:1!important}
.merge-board-v2 .merge-cell.drop-empty{border-color:rgba(92,225,248,.55)!important;background:rgba(49,150,174,.13)!important}
.merge-board-v2 .merge-cell.drop-swap{border-color:rgba(184,143,255,.62)!important;box-shadow:0 0 12px rgba(153,105,255,.2)!important}
.merge-board-v2 .merge-cell.drop-merge{border-color:rgba(96,247,186,.8)!important;box-shadow:0 0 0 2px rgba(79,226,173,.22),0 0 16px rgba(72,227,177,.28)!important;filter:brightness(1.2)}
.merge-board-v2.energy-empty{filter:saturate(.25) brightness(.55);pointer-events:none}

.merge-energy-lock{display:none;position:absolute;z-index:20;inset:9px 8px 35px;border-radius:15px;background:rgba(4,8,13,.91);align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}
.merge-energy-lock.show{display:flex}.merge-energy-lock>div{font-size:25px;font-weight:1000;color:#ffaaa1}.merge-energy-lock>b{font-size:9px;letter-spacing:.08em;color:#f2d7d4;margin-top:4px}.merge-energy-lock>span{font-size:6px;color:#8e8290;margin-top:3px}.merge-energy-lock>small{font-size:7px;color:#91dff1;margin:8px 0}
.merge-energy-lock>button{width:auto!important;min-height:34px!important;padding:7px 12px!important;border-radius:10px!important;background:linear-gradient(135deg,#5f4ee0,#2e7d91)!important;color:white!important;border:1px solid rgba(133,112,255,.32)!important;font-size:7px!important}

.merge-v2-help{display:flex;justify-content:space-between;gap:7px;margin:7px 0 9px;padding:7px 9px;border-radius:10px;background:#0d151f;border:1px solid rgba(255,255,255,.05);font-size:5px;color:#6f8296}.merge-v2-help b{color:#a9f4ff}
.merge-shop-drawer{position:absolute;z-index:50;inset:0;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .16s ease,visibility .16s ease}.merge-shop-drawer.open{pointer-events:auto;opacity:1;visibility:visible}
.merge-shop-backdrop{position:absolute;inset:0;background:rgba(2,5,9,.78)}
.merge-shop-panel{position:absolute;left:7px;right:7px;bottom:7px;padding:12px;border-radius:18px;background:linear-gradient(145deg,#151e2b,#09111a);border:1px solid rgba(87,222,246,.18);box-shadow:0 -18px 42px rgba(0,0,0,.42)}
.merge-shop-head{display:flex;justify-content:space-between;align-items:center}.merge-shop-head>div{display:flex;flex-direction:column;text-align:left}.merge-shop-head span{font-size:5px;color:#69e1f4;letter-spacing:.1em}.merge-shop-head b{font-size:14px;color:#e2faff;margin-top:2px}.merge-shop-head>button{width:31px!important;height:31px!important;min-height:31px!important;padding:0!important;border-radius:50%!important;background:#202b38!important;color:#a8b9c8!important}
.merge-shop-balance{margin:7px 0 10px;padding:6px 8px;border-radius:8px;background:#0b121a;font-size:6px;color:#8294a8;text-align:left}.merge-shop-balance b{color:#d9c9ff}
.merge-shop-panel h4{text-align:left;margin:9px 0 5px;font-size:6px;color:#899bb0;letter-spacing:.08em}
.merge-pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.merge-pack{min-width:0!important;min-height:53px!important;padding:7px!important;border-radius:11px!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;text-align:left!important;color:white!important}
.merge-pack>span{font-size:10px;font-weight:1000}.merge-pack>div{display:flex;flex-direction:column}.merge-pack b{font-size:6px}.merge-pack small{font-size:5px;color:#8b9bad}.merge-pack.shard-pack{background:linear-gradient(145deg,#211b38,#121827)!important;border:1px solid rgba(128,102,255,.19)!important}.merge-pack.paid-pack{background:linear-gradient(145deg,#15313b,#111a24)!important;border:1px solid rgba(71,219,242,.16)!important}
.merge-shop-note{font-size:5px;color:#6d7c8d;line-height:1.4;margin:9px 2px 1px;text-align:left}

.merge-shop-section{margin:10px 0}.merge-shop-title{display:flex;justify-content:space-between;align-items:end;margin:0 2px 5px;text-align:left}.merge-shop-title span{font-size:6px;font-weight:950;color:#9d8cff;letter-spacing:.09em}.merge-shop-title small{font-size:5px;color:#687a8e}
.merge-v2-gate .merge-pack-grid{margin-bottom:6px}

@media(max-width:390px){
  .merge-orders-panel{padding:6px}.merge-orders-row{gap:4px}
  .merge-order-card{padding:6px 4px}.merge-order-top b{font-size:6.3px}.merge-order-reward b{font-size:4.6px}
  .merge-board-v2{gap:2px!important;padding:4px!important}
  .merge-board-v2 .merge-cell{border-radius:7px!important}.merge-board-v2 .merge-cell>i{font-size:11px!important}.merge-board-v2 .merge-cell>b{font-size:4px!important}
  .merge-pack{padding:5px!important}.merge-pack>span{font-size:9px}
}

/* PULSE 1.17 — audio layer */
.audio-settings-group{margin:10px 0;padding:8px;border-radius:16px;background:linear-gradient(145deg,rgba(17,28,42,.82),rgba(8,14,23,.9));border:1px solid rgba(86,214,239,.09)}
.audio-settings-group>span{display:block;margin:1px 3px 5px;text-align:left;font-size:5px;font-weight:950;letter-spacing:.12em;color:#70dff2}
.audio-settings-group .voice-setting-row,.audio-settings-group .voice-volume-row{margin:6px 0;padding:9px 10px;border-radius:12px;background:rgba(13,22,34,.86)}
.audio-settings-group .voice-volume-row{grid-template-columns:1fr 118px}
.voice-settings .muted{max-width:330px;margin-left:auto;margin-right:auto}
.meteor-sound span{min-width:25px;display:inline-block}
@media(max-width:390px){.audio-settings-group{padding:6px}.audio-settings-group .voice-volume-row{grid-template-columns:1fr 98px}.audio-settings-group .voice-setting-row,.audio-settings-group .voice-volume-row{padding:8px}}

/* PULSE 1.18 — Android scroll stability */
@media(max-width:520px){
  html,body{background:#080b12!important}
  .camp-scene,.hero-stage,.training-hall,.world-event-art{
    content-visibility:visible!important;
    contain:layout paint style;
    contain-intrinsic-size:none!important;
  }
  .topbar,.global-resource-hud{
    transform:translateZ(0);
    -webkit-transform:translateZ(0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    contain:paint;
  }
  .nav{
    transform:translateX(-50%) translateZ(0);
    -webkit-transform:translateX(-50%) translateZ(0);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    contain:paint;
  }
  html.perf-scrolling #view *,
  html.perf-scrolling .modal-card *{
    transition:none!important;
  }
  html.perf-scrolling .camp-building,
  html.perf-scrolling .operator-model,
  html.perf-scrolling .guide-crate-visual,
  html.perf-scrolling .world-meteor,
  html.perf-scrolling .meteorite-rock,
  html.perf-scrolling .warehouse-door,
  html.perf-scrolling .training-core,
  html.perf-scrolling .map-world-grid{
    filter:none!important;
  }
  html.perf-scrolling .camp-building,
  html.perf-scrolling .scene-next-objective,
  html.perf-scrolling .scene-story-strip,
  html.perf-scrolling .world-vitals,
  html.perf-scrolling .resource-strip>div,
  html.perf-scrolling .card,
  html.perf-scrolling .modal-card{
    box-shadow:none!important;
  }
}

/* PULSE 1.18.3 — direct equipment controls */
.inventory-item-wrap{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:7px;align-items:stretch}
.inventory-item-wrap>.inventory-item{width:100%;min-width:0}
.inventory-equip-btn{border:1px solid color-mix(in srgb,var(--rar,#58a8ff) 38%,transparent);border-radius:12px;background:linear-gradient(145deg,#192436,#101824);color:#d9e8f5;font-size:7px;font-weight:950;padding:0 8px}
.inventory-equip-btn.active{background:linear-gradient(145deg,rgba(49,217,255,.14),rgba(49,217,255,.05));color:#8feeff;border-color:rgba(49,217,255,.34)}
.inventory-equip-btn:disabled{opacity:.58}
.inventory-item-wrap.equipped{padding:2px;border-radius:15px;background:rgba(49,217,255,.035)}

.gear-replace-note{margin:10px 0;padding:9px 11px;border-radius:12px;background:rgba(255,174,78,.06);border:1px solid rgba(255,174,78,.15);display:flex;flex-direction:column;text-align:left}
.gear-replace-note span{font-size:6px;font-weight:900;letter-spacing:.08em;color:#c79866;text-transform:uppercase}
.gear-replace-note b{font-size:9px;color:#f2d5b2;margin-top:2px}
.gear-replace-note small{font-size:7px;color:#8d8176;margin-top:1px}

.warehouse-gear-inventory{display:flex;flex-direction:column;gap:7px;padding:0 9px 18px}
.warehouse-gear-row{--row-rar:var(--rar,#aab1c0);display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:7px;align-items:stretch;padding:3px;border:1px solid color-mix(in srgb,var(--rar,#aab1c0) 28%,transparent);border-radius:14px;background:linear-gradient(145deg,#151c27,#0d121a)}
.warehouse-gear-row.equipped{border-color:rgba(49,217,255,.35);box-shadow:inset 0 0 0 1px rgba(49,217,255,.08),0 0 18px rgba(49,217,255,.04)}
.warehouse-gear-main{min-width:0;display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center;padding:8px;border:0;border-radius:11px;background:transparent;color:white;text-align:left}
.warehouse-gear-main>span{font-size:27px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}
.warehouse-gear-main>div{display:flex;flex-direction:column;min-width:0}
.warehouse-gear-main small{font-size:6px;color:var(--rar,#aab1c0);letter-spacing:.04em;text-transform:uppercase}
.warehouse-gear-main b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}
.warehouse-gear-main em{font-style:normal;font-size:6.5px;color:#9ba8b9;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warehouse-gear-main i{font-style:normal;font-size:6px;color:#c79f74;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.warehouse-gear-equip{border:1px solid color-mix(in srgb,var(--rar,#58a8ff) 36%,transparent);border-radius:11px;background:linear-gradient(145deg,#1a2434,#111822);color:#e2edf7;font-size:7px;font-weight:950;padding:0 7px}
.warehouse-gear-equip.active{border-color:rgba(49,217,255,.34);background:rgba(49,217,255,.08);color:#91ecfb}
.warehouse-gear-equip:disabled{opacity:.55}
@media(max-width:390px){
  .inventory-item-wrap{grid-template-columns:minmax(0,1fr) 76px}
  .warehouse-gear-row{grid-template-columns:minmax(0,1fr) 82px}
  .warehouse-gear-equip,.inventory-equip-btn{font-size:6.5px}
}

/* PULSE 1.19 — Merge Reactor 3.0 */
.merge-v3 .merge-v2-shell{padding-top:10px!important}
.merge-base-generator{position:relative;z-index:6;width:min(100%,344px);min-height:58px;margin:0 auto 7px;padding:7px 9px;border-radius:14px;border:1px solid rgba(88,224,248,.22);background:
radial-gradient(circle at 13% 50%,rgba(72,229,255,.16),transparent 24%),
linear-gradient(145deg,#15283a,#0d1724 72%);color:white;display:grid;grid-template-columns:44px 1fr 26px;gap:8px;align-items:center;text-align:left;box-shadow:inset 0 1px rgba(255,255,255,.04),0 8px 22px rgba(0,0,0,.20)}
.merge-base-generator:before{content:"";position:absolute;inset:3px;border-radius:11px;border:1px solid rgba(255,255,255,.03);pointer-events:none}
.merge-generator-core{position:relative;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:radial-gradient(circle at 45% 38%,#8bf2ff,#22627a 45%,#102536 72%);border:1px solid rgba(106,239,255,.35);box-shadow:0 0 18px rgba(61,218,247,.18),inset 0 0 12px rgba(255,255,255,.05)}
.merge-generator-core:before,.merge-generator-core:after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(158,246,255,.34);inset:6px;animation:orbitSpin 4.5s linear infinite}
.merge-generator-core:after{inset:11px;border-color:rgba(168,127,255,.42);animation-direction:reverse;animation-duration:2.7s}
.merge-generator-core i{position:relative;z-index:2;font-style:normal;font-size:17px;filter:drop-shadow(0 0 7px #72e9ff)}
.merge-base-generator>div{display:flex;flex-direction:column;min-width:0}.merge-base-generator small{font-size:5px;color:#69dff3;font-weight:950;letter-spacing:.11em}.merge-base-generator b{font-size:9px;margin:2px 0;color:#e6f9ff}.merge-base-generator em{font-style:normal;font-size:6px;color:#7d91a6}.merge-base-generator strong{color:#c5f6ff}
.merge-generator-plus{font-style:normal;font-size:22px;color:#78e8fa;justify-self:center}
.merge-base-generator.generating .merge-generator-core{animation:mergeGeneratorPulse .45s ease infinite alternate}.merge-base-generator.generating .merge-generator-plus{animation:orbitSpin .7s linear infinite}
.merge-base-generator:disabled{opacity:.48;filter:saturate(.5)}.merge-base-generator.board-full{border-color:rgba(255,190,93,.18)}.merge-base-generator.empty-energy{border-color:rgba(255,105,101,.22)}
@keyframes mergeGeneratorPulse{to{transform:scale(1.08);filter:brightness(1.25)}}

.merge-family-legend{position:relative;z-index:5;width:min(100%,344px);margin:0 auto 5px;display:grid;grid-template-columns:repeat(4,1fr);gap:3px}
.merge-family-legend span{padding:4px 2px;border-radius:7px;text-align:center;font-size:4.5px;font-weight:950;letter-spacing:.05em;border:1px solid rgba(255,255,255,.05);background:#0b131d}
.merge-family-legend .family-tech{color:#71e6ff;border-color:rgba(71,220,255,.13)}.merge-family-legend .family-material{color:#ffc16f;border-color:rgba(255,185,96,.13)}.merge-family-legend .family-bio{color:#7af0aa;border-color:rgba(94,228,147,.13)}.merge-family-legend .family-signal{color:#c59cff;border-color:rgba(177,126,255,.15)}

.merge-board-v2 .merge-cell.family-tech{--family:#67dff6;background:linear-gradient(145deg,#15384a,#102431)!important;color:#75ecff!important;border-color:rgba(92,225,248,.28)!important}
.merge-board-v2 .merge-cell.family-material{--family:#f2ae62;background:linear-gradient(145deg,#493522,#2c241b)!important;color:#ffc579!important;border-color:rgba(244,179,99,.28)!important}
.merge-board-v2 .merge-cell.family-bio{--family:#68dc96;background:linear-gradient(145deg,#183d31,#11291f)!important;color:#84f1b1!important;border-color:rgba(97,224,150,.27)!important}
.merge-board-v2 .merge-cell.family-signal{--family:#aa83f5;background:linear-gradient(145deg,#342650,#211b39)!important;color:#c3a4ff!important;border-color:rgba(169,129,247,.30)!important}
.merge-board-v2 .merge-cell.level-4,.merge-board-v2 .merge-cell.level-5,.merge-board-v2 .merge-cell.level-6,.merge-board-v2 .merge-cell.level-7{box-shadow:inset 0 0 10px color-mix(in srgb,var(--family,#72e6ff) 12%,transparent),0 0 10px color-mix(in srgb,var(--family,#72e6ff) 10%,transparent)!important}
.merge-board-v2 .merge-cell.level-6,.merge-board-v2 .merge-cell.level-7{filter:brightness(1.12) saturate(1.12)}
.merge-board-v2 .merge-cell.generated{animation:mergeGenerated .55s cubic-bezier(.2,.9,.2,1.25)}
@keyframes mergeGenerated{0%{transform:scale(.45);opacity:.25;filter:brightness(2.2)}70%{transform:scale(1.12);opacity:1}100%{transform:none}}
.merge-order-req.family-tech i{color:#70dff5}.merge-order-req.family-material i{color:#edb36f}.merge-order-req.family-bio i{color:#7be8aa}.merge-order-req.family-signal i{color:#bea0f7}
.merge-order-req.done i{color:#83f2c8!important}
.merge-v3 .merge-energy-lock{inset:9px 8px 35px}
@media(max-width:390px){
  .merge-base-generator{grid-template-columns:39px 1fr 22px;padding:6px 7px;min-height:52px}
  .merge-generator-core{width:37px;height:37px;border-radius:12px}
  .merge-base-generator b{font-size:8px}.merge-base-generator em{font-size:5.5px}
}

/* PULSE 1.20 — biome expedition layer + Merge Reactor 4.0 */
.map-gear-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:5px 12px 7px;padding:5px;border-radius:10px;background:rgba(7,14,22,.72);border:1px solid rgba(72,205,233,.08)}
.map-gear-strip span{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:4px 5px;border-radius:7px;background:rgba(255,255,255,.025);font-size:5px;color:#74879a}
.map-gear-strip b{color:#aeeeff;font-size:5.5px}
.map-biome-legend{display:flex;gap:4px;overflow-x:auto;padding:4px 12px 2px;scrollbar-width:none}
.map-biome-legend::-webkit-scrollbar{display:none}
.map-biome-legend span{flex:0 0 auto;padding:4px 6px;border-radius:7px;font-size:4.5px;font-weight:900;letter-spacing:.03em;background:#0c141e;border:1px solid rgba(255,255,255,.05)}
.map-biome-legend .b-core{color:#8eeeff}.map-biome-legend .b-green{color:#80e7ad}.map-biome-legend .b-frost{color:#a5ddff}.map-biome-legend .b-ash{color:#efac6d}.map-biome-legend .b-marsh{color:#75dccc}.map-biome-legend .b-ruins{color:#c4a5e9}.map-biome-legend .b-anomaly{color:#ef8cff}

.map-world-cell.biome-core{--biome:#62d9ed}
.map-world-cell.biome-green{--biome:#5edc91}
.map-world-cell.biome-frost{--biome:#8fd8ff}
.map-world-cell.biome-ash{--biome:#dd8d52}
.map-world-cell.biome-marsh{--biome:#56c8ba}
.map-world-cell.biome-ruins{--biome:#a783cf}
.map-world-cell.biome-anomaly{--biome:#d969d8}
.map-world-cell:not(.fog){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--biome,#60d9ee) 12%,transparent),0 2px 8px rgba(0,0,0,.18)}
.map-world-cell.revealed{border-color:color-mix(in srgb,var(--biome,#60d9ee) 65%,transparent)!important}
.map-world-cell .map-biome-mark{position:absolute!important;right:4px!important;top:3px!important;font-style:normal!important;font-size:6px!important;line-height:1!important;opacity:.62;color:var(--biome,#78dff0)!important;background:none!important;border:0!important}
.map-world-cell .map-discovery-ping{position:absolute!important;left:3px!important;top:3px!important;width:12px!important;height:12px!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-style:normal!important;font-size:6px!important;font-weight:1000!important;color:#fff!important;background:color-mix(in srgb,var(--biome,#9f7cff) 72%,#10141d)!important;border:1px solid rgba(255,255,255,.28)!important;box-shadow:0 0 10px color-mix(in srgb,var(--biome,#9f7cff) 42%,transparent)!important;animation:mapDiscoveryPulse 1.6s ease-in-out infinite}
@keyframes mapDiscoveryPulse{50%{transform:scale(1.12);filter:brightness(1.28)}}

.expedition-preview{--zone:#67dff5;text-align:left}
.expedition-preview.biome-green{--zone:#64df95}.expedition-preview.biome-frost{--zone:#8ed7ff}.expedition-preview.biome-ash{--zone:#e09355}.expedition-preview.biome-marsh{--zone:#55cdbb}.expedition-preview.biome-ruins{--zone:#a986db}.expedition-preview.biome-anomaly{--zone:#e16bdc}
.expedition-preview .tile-preview{position:relative;margin:7px auto 10px;border-color:color-mix(in srgb,var(--zone) 38%,transparent);box-shadow:0 0 24px color-mix(in srgb,var(--zone) 11%,transparent)}
.expedition-preview .tile-preview>span{position:absolute;right:-5px;top:-6px;width:28px;height:28px;border-radius:10px;display:grid;place-items:center;background:#111a26;border:1px solid color-mix(in srgb,var(--zone) 35%,transparent);font-size:13px}
.expedition-biome-head{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:8px 9px;margin:8px 0;border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb,var(--zone) 9%,#111a25),#0b121b);border:1px solid color-mix(in srgb,var(--zone) 20%,transparent)}
.expedition-biome-head>div:first-child{display:flex;flex-direction:column}.expedition-biome-head small{font-size:5px;letter-spacing:.08em;color:#72869a}.expedition-biome-head b{font-size:9px;color:#e7f7ff;margin-top:1px}
.danger-meter{min-width:96px;text-align:right}.danger-meter>span{display:flex;gap:2px;justify-content:flex-end;margin-top:3px}.danger-meter i{width:13px;height:4px;border-radius:4px;background:#26313f}.danger-meter i.on{background:linear-gradient(90deg,#ffc16f,#ff766c);box-shadow:0 0 6px rgba(255,120,90,.2)}
.expedition-gear-impact,.expedition-discovery{margin:7px 0;padding:8px 9px;border-radius:11px;background:#0d1620;border:1px solid rgba(78,208,236,.09)}
.expedition-gear-impact{display:flex;flex-direction:column}.expedition-gear-impact span{font-size:5px;color:#72ddef;letter-spacing:.09em}.expedition-gear-impact b{font-size:6.5px;color:#b9d4e3;margin-top:3px;line-height:1.45}
.expedition-discovery{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:center;border-color:color-mix(in srgb,var(--zone) 28%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--zone) 8%,#101722),#0c131d)}
.expedition-discovery>span{font-size:25px;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--zone) 25%,transparent))}
.expedition-discovery>div{display:flex;flex-direction:column}.expedition-discovery small{font-size:5px;color:var(--zone);letter-spacing:.09em}.expedition-discovery b{font-size:8px;color:#e4f2f9;margin-top:1px}.expedition-discovery em{font-size:5.5px;font-style:normal;color:#7d8c9a;margin-top:2px}
.expedition-found-card{display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center;margin:10px 0;padding:10px;border-radius:13px;background:linear-gradient(145deg,rgba(117,80,180,.13),rgba(17,24,35,.9));border:1px solid rgba(178,126,255,.2)}
.expedition-found-card>span{font-size:30px;text-align:center}.expedition-found-card>div{display:flex;flex-direction:column;text-align:left}.expedition-found-card small{font-size:5px;color:#b58df3;letter-spacing:.09em}.expedition-found-card b{font-size:9px;color:#f0e8ff}.expedition-found-card em{font-size:5.5px;color:#8390a1;font-style:normal;margin-top:2px}
.expedition-complete .expedition-loot{margin:8px 0}

.merge-family-legend{grid-template-columns:repeat(6,1fr)!important}
.merge-family-legend .family-medical{color:#ff9fbb;border-color:rgba(255,124,163,.14)}
.merge-family-legend .family-relic{color:#ffe078;border-color:rgba(255,213,94,.16)}
.merge-board-v2 .merge-cell.family-medical{--family:#ff91b2;background:linear-gradient(145deg,#4a2031,#2b1722)!important;color:#ffacc4!important;border-color:rgba(255,134,172,.28)!important}
.merge-board-v2 .merge-cell.family-relic{--family:#f3ce64;background:linear-gradient(145deg,#44391b,#292314)!important;color:#ffe48a!important;border-color:rgba(245,205,91,.30)!important}
.merge-order-req.family-medical i{color:#f7a1b8}.merge-order-req.family-relic i{color:#efd77f}
.merge-generator-bonus{display:block!important;margin-top:2px!important;color:#a8c8d9!important;font-size:5px!important}.merge-generator-bonus strong{color:#d7f8ff!important}
.merge-v3 .merge-family-legend span{font-size:4px;padding-left:1px;padding-right:1px}

.hero-effects-extended{grid-template-columns:repeat(4,1fr)!important}
.hero-effects-extended span:nth-child(n+5){background:linear-gradient(145deg,#111b27,#0c131d)}

@media(max-width:420px){
  .map-gear-strip{margin-left:8px;margin-right:8px;gap:3px}.map-gear-strip span{font-size:4.5px;padding:4px 3px}.map-gear-strip b{font-size:5px}
  .map-biome-legend{padding-left:8px;padding-right:8px}
  .merge-v3 .merge-family-legend{gap:2px}.merge-v3 .merge-family-legend span{font-size:3.7px}
  .hero-effects-extended{grid-template-columns:repeat(2,1fr)!important}
}


/* =========================================================
   PULSE 1.20 — rare expedition POI
   ========================================================= */
.map-world-cell.has-poi.revealed{z-index:19!important}
.map-world-cell .map-poi-ping{position:absolute!important;left:3px!important;bottom:3px!important;width:14px!important;height:14px!important;border-radius:4px!important;display:grid!important;place-items:center!important;font-style:normal!important;font-size:7px!important;font-weight:1000!important;color:#effbff!important;background:#16232d!important;border:1px solid rgba(157,229,255,.42)!important;box-shadow:0 0 0 1px rgba(5,11,16,.45),0 0 12px rgba(80,219,255,.22)!important;animation:mapPoiPulse 1.9s ease-in-out infinite}
.map-world-cell .map-poi-ping.rarity-rare{color:#9edcff!important;border-color:rgba(89,178,255,.62)!important;box-shadow:0 0 0 1px rgba(5,11,16,.45),0 0 12px rgba(89,178,255,.30)!important}
.map-world-cell .map-poi-ping.rarity-epic{color:#e0adff!important;border-color:rgba(198,111,255,.68)!important;box-shadow:0 0 0 1px rgba(5,11,16,.45),0 0 14px rgba(198,111,255,.33)!important}
.map-biome-legend .b-poi{color:#a9eaff;border-color:rgba(80,210,244,.18);background:rgba(50,175,210,.055)}
.expedition-poi,.expedition-poi-result{position:relative;margin:8px 0;padding:10px;border-radius:12px;display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;overflow:hidden;background:linear-gradient(145deg,#101c26,#0b121b);border:1px solid rgba(89,199,235,.18);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.expedition-poi:before,.expedition-poi-result:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:#68d8ff}
.expedition-poi.rarity-rare:before,.expedition-poi-result.rarity-rare:before{background:#64aefb}.expedition-poi.rarity-epic:before,.expedition-poi-result.rarity-epic:before{background:#c870ff}
.expedition-poi>span,.expedition-poi-result>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:18px;background:rgba(82,207,241,.08);border:1px solid rgba(113,219,247,.12)}
.expedition-poi>div,.expedition-poi-result>div{display:flex;min-width:0;flex-direction:column}.expedition-poi small,.expedition-poi-result small{font-size:5px;line-height:1.1;color:#72dff7;letter-spacing:.11em;font-weight:950}.expedition-poi b,.expedition-poi-result b{font-size:8.5px;color:#eef8fc;margin-top:2px}.expedition-poi p{margin:3px 0 0!important;font-size:6px!important;line-height:1.35!important;color:#889aa7!important}.expedition-poi em,.expedition-poi-result em{margin-top:3px;font-size:5.5px;font-style:normal;color:#b5c5ce}
.expedition-poi.rarity-rare,.expedition-poi-result.rarity-rare{border-color:rgba(91,170,255,.20);background:linear-gradient(145deg,rgba(22,48,73,.88),#0b131e)}.expedition-poi.rarity-epic,.expedition-poi-result.rarity-epic{border-color:rgba(195,105,255,.23);background:linear-gradient(145deg,rgba(54,27,75,.84),#10121e)}
@keyframes mapPoiPulse{0%,100%{transform:scale(.94);opacity:.82}50%{transform:scale(1.08);opacity:1}}
html.perf-scrolling .map-poi-ping{animation:none!important}
@media(prefers-reduced-motion:reduce){.map-poi-ping{animation:none!important}}


/* =========================================================
   PULSE 1.21 — chapter variety / guided objectives
   ========================================================= */
.chapter-console-row{margin:2px 0!important;padding:6px 7px!important;border:1px solid rgba(89,210,242,.12)!important;border-radius:8px!important;background:rgba(61,188,222,.045)!important;color:#aebccc!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;text-align:left!important;font-size:7px!important}
.chapter-console-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chapter-console-row i{font-style:normal;color:#63dff7;font-size:11px}
.chapter-console-row:active{transform:scale(.985);background:rgba(61,188,222,.09)!important}
.chapter-final-state{margin-top:5px!important;padding:7px!important;border-radius:8px!important;background:rgba(87,218,152,.07)!important;color:#83e9b5!important;border:1px solid rgba(87,218,152,.14)!important}


/* =========================================================
   PULSE 1.20.2 — native Android performance + layout hotfix
   ========================================================= */
html.native-android #view{will-change:auto!important}
html.native-android .view-transition-out,
html.native-android .view-transition-in,
html.native-android .view-soft-enter{animation:none!important;transition:none!important;transform:none!important}
html.native-android .modal,
html.native-android .modal-card{transition:none!important;animation:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.native-android .training-bg:after,
html.native-android .training-core:before,
html.native-android .training-core .core-ring,
html.native-android .games-orbit,
html.native-android .map-world-cell.fog:after{animation:none!important}
html.native-android .training-bg:after{display:none!important}
html.native-android .training-light{filter:none!important;opacity:.24!important}
html.native-android .training-screen:before{filter:none!important;opacity:.45!important}
html.native-android .training-station,
html.native-android .training-core,
html.native-android .map-world-cell,
html.native-android .coach-pointer,
html.native-android .coach-spotlight{filter:none!important}
html.native-android .training-station{box-shadow:0 5px 12px rgba(0,0,0,.18)!important;transition:none!important}
html.native-android .training-core{box-shadow:0 8px 18px rgba(0,0,0,.24)!important}
html.native-android .training-hall{contain:layout paint style!important}
html.native-android .coach-spotlight>i,
html.native-android .coach-spotlight>b,
html.native-android .coach-target-strong,
html.native-android .coach-arrow{animation:none!important}
html.native-android .coach-dimmer{background:rgba(2,5,10,.30)!important}
html.native-android .coach-pointer.map-coach{max-width:190px!important;padding:7px 10px 8px!important}
html.native-android .coach-pointer.map-coach strong{font-size:9px!important}
html.native-android .coach-pointer.map-coach>b{font-size:7px!important}
html.native-android .global-resource-hud,
html.native-android .global-next-step,
html.native-android .topbar,
html.native-android .nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
html.native-android .nav{background:#090e17!important}
html.native-android .global-resource-hud{background:#0a1019!important}
html.native-android .global-next-step{background:#101a28!important}
html.native-android .training-screen{padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}
html.native-android .training-rules{margin-bottom:8px!important}

html.native-android .map-world-cell.fog:after{filter:none!important;animation:none!important;opacity:.28!important}
html.native-android .map-world-cell{transition:none!important;box-shadow:none!important}
html.native-android .map-sky-haze,
html.native-android .map-drift-motes,
html.native-android .camp-fog,
html.native-android .camp-light-beam,
html.native-android .camp-ground-light{filter:none!important;animation:none!important}


/* =========================================================
   PULSE 1.22 — daily mission rotation
   ========================================================= */
.command-missions .command-mission-go{
  min-width:76px;
  padding:7px 8px;
  border:1px solid rgba(72,218,244,.18);
  background:linear-gradient(145deg,#132634,#101923);
  color:#9eefff;
  font-weight:900;
}
.command-missions .command-mission-go:active{transform:scale(.97)}
.daily-mission-reward{
  min-height:38px;
  margin:8px 0 10px;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  justify-content:center;
}
.command-subhead small{max-width:58%;text-align:right}
@media(max-width:390px){
  .command-missions>div{grid-template-columns:25px minmax(0,1fr) auto;gap:6px}
  .command-missions .command-mission-go{min-width:70px;font-size:6.5px;padding:7px 6px}
}
html.native-android .command-missions .command-mission-go{box-shadow:none!important;transition:none!important}


/* =========================================================
   PULSE 1.23 — base camp visual rebuild
   ========================================================= */
.base-game-screen.camp-v2{
  min-height:auto!important;
  overflow:visible!important;
  padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,#060b13 0,#071019 58%,#081018 100%)!important;
}
.camp-v2:before,.camp-v2:after{display:none!important}
.camp-v2 .base-scene-header{
  padding:14px 16px 10px!important;
  background:linear-gradient(180deg,rgba(5,10,18,.98),rgba(5,10,18,.82) 72%,rgba(5,10,18,0))!important;
}
.camp-v2 .base-scene-header>button{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:#0b1421!important;
  box-shadow:0 8px 18px rgba(0,0,0,.20)!important;
}
.camp-scene-v2{
  position:relative!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:480/485!important;
  margin:0!important;
  overflow:hidden!important;
  perspective:none!important;
  isolation:isolate;
  background-image:url('/assets/camp/base-v3-clean.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  border-top:1px solid rgba(62,220,255,.08);
  border-bottom:1px solid rgba(62,220,255,.08);
}
.camp-scene-v2:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(3,8,14,.08),transparent 20%,transparent 72%,rgba(3,8,14,.18)),
    radial-gradient(circle at 50% 45%,transparent 35%,rgba(1,5,10,.12) 100%);
}
.camp-art-shade{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,10,18,.03),transparent 40%,rgba(4,8,14,.08));
}
.camp-art-hotspot{
  position:absolute!important;
  z-index:5!important;
  width:31%!important;
  min-height:15%!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#fff!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  transform:translate(-50%,-50%)!important;
  box-shadow:none!important;
  filter:none!important;
  overflow:visible!important;
}
.camp-art-hotspot .hotspot-card{
  width:100%;
  min-height:42px;
  padding:7px 8px 6px 31px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:left;
  border:1px solid rgba(113,195,238,.20);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(4,10,18,.92),rgba(7,16,27,.88));
  box-shadow:0 8px 18px rgba(0,0,0,.34),inset 0 1px rgba(255,255,255,.04);
}
.camp-art-hotspot .hotspot-card b{font-size:9px;line-height:1.15;color:#f4f8ff;white-space:nowrap}
.camp-art-hotspot .hotspot-card small{font-size:6.5px;line-height:1.2;color:#a6b8ca;margin-top:2px;white-space:nowrap}
.camp-art-hotspot .hotspot-card u{font-size:5.5px;text-decoration:none;color:#7eeaff;margin-top:2px}
.camp-art-hotspot .hotspot-icon{
  position:absolute;
  left:7px;
  bottom:10px;
  z-index:2;
  width:20px;height:20px;
  border-radius:7px;
  display:grid;place-items:center;
  background:#102536;
  border:1px solid rgba(81,221,252,.25);
  color:#70e7ff;
  font-size:10px;
  font-weight:950;
}
.camp-art-hotspot .hotspot-level{
  position:absolute;
  bottom:-13px;
  left:50%;
  transform:translateX(-50%);
  min-width:48px;
  height:24px;
  display:grid;place-items:center;
  padding:0 9px;
  border-radius:12px;
  border:1px solid rgba(126,169,255,.32);
  background:#122039;
  color:#c9d7f8;
  font-size:7px;
  font-style:normal;
  font-weight:950;
  box-shadow:0 4px 12px rgba(0,0,0,.28);
}
.camp-art-hotspot .hotspot-alert{
  position:absolute;right:4px;top:-9px;
  width:22px;height:22px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(255,112,93,.34);
  background:#b94a40;color:#fff;
  font-size:9px;
  box-shadow:0 0 14px rgba(255,86,70,.24);
}
.camp-art-hotspot.action-ready .hotspot-card{border-color:rgba(75,225,255,.52);box-shadow:0 0 0 1px rgba(40,204,238,.08),0 8px 20px rgba(0,0,0,.34),0 0 18px rgba(49,217,255,.10)}
.camp-art-hotspot.locked{opacity:.72}
.camp-art-hotspot.locked .hotspot-card{border-style:dashed}
.hotspot-lab{left:20%;top:29%}
.hotspot-hq{left:50%;top:31%}
.hotspot-radio{left:81%;top:31%}
.hotspot-training{left:18%;top:57%}
.hotspot-quarry{left:82%;top:58%}
.hotspot-farm{left:50%;top:68%}
.hotspot-generator{left:24%;top:84%}
.hotspot-lumberyard{left:76%;top:84%}
.camp-utility-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  padding:10px 12px 6px;
  background:#071019;
}
.camp-utility-row>button{
  min-width:0;
  border:1px solid rgba(73,211,241,.12);
  border-radius:13px;
  background:linear-gradient(145deg,#0d1723,#0a111a);
  color:#fff;
  padding:9px 10px;
  display:grid;
  grid-template-columns:25px 1fr auto;
  gap:7px;
  align-items:center;
  text-align:left;
}
.camp-utility-row>button>span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;background:#102333;color:#6fe5ff;font-weight:900}
.camp-utility-row>button>div{display:flex;flex-direction:column;min-width:0}
.camp-utility-row b{font-size:8px}.camp-utility-row small{font-size:6px;color:#91a3b7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camp-utility-row i{font-style:normal;color:#61e1fb;font-size:15px}
.camp-v2 .scene-next-objective.camp-next-v2{
  margin:8px 12px 8px!important;
  width:calc(100% - 24px)!important;
  min-height:62px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
  position:relative!important;
  bottom:auto!important;
  transform:none!important;
}
.camp-v2 .base-chapter-progress,.camp-v2 .base-activity-panel,.camp-v2 .base-boost-banner,.camp-v2 .base-job-banner,.camp-v2 .base-vitals,.camp-v2 .scene-alert,.camp-v2 .scene-story-strip{
  position:relative!important;
  z-index:4!important;
}
.camp-vitals-v2{margin-top:8px!important}
html.native-android .camp-scene-v2{
  background-image:url('/assets/camp/base-v3-clean.webp')!important;
  contain:layout paint style!important;
}
html.native-android .camp-art-hotspot .hotspot-card,
html.native-android .camp-art-hotspot .hotspot-level{
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
@media(max-width:390px){
  .camp-art-hotspot{width:32%!important}
  .camp-art-hotspot .hotspot-card{min-height:38px;padding:6px 6px 5px 28px}
  .camp-art-hotspot .hotspot-card b{font-size:8px}
  .camp-art-hotspot .hotspot-card small{font-size:5.8px}
  .camp-art-hotspot .hotspot-icon{left:6px;bottom:9px;width:18px;height:18px;font-size:9px}
  .camp-art-hotspot .hotspot-level{height:21px;bottom:-11px;min-width:43px;font-size:6.2px}
  .camp-utility-row{padding-left:9px;padding-right:9px}
}
@media(min-width:600px){
  .camp-scene-v2{max-width:560px!important;margin:0 auto!important}
}


/* =========================================================
   PULSE 1.24 — onboarding clarity + audio UX
   ========================================================= */
.intro-steps{grid-template-columns:repeat(7,1fr)}
.loop-briefing-scene{
  padding:18px 14px 24px;
  justify-content:flex-start!important;
}
.loop-briefing-scene .intro-copy{margin:8px auto 14px;max-width:440px}
.loop-briefing-scene .intro-copy h1{font-size:27px;line-height:1.05;margin-bottom:8px}
.loop-briefing-scene .intro-copy p{font-size:11px;line-height:1.45;color:#aeb9cb}
.loop-briefing-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:0 auto 11px;
  width:100%;
  max-width:460px;
}
.loop-node{
  min-height:126px;
  padding:12px 11px 11px;
  border:1px solid rgba(90,207,244,.16);
  border-radius:16px;
  background:linear-gradient(145deg,#101a28,#0a121d);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.loop-node>span{
  width:30px;height:30px;border-radius:10px;display:grid;place-items:center;
  margin-bottom:8px;background:#10283a;border:1px solid rgba(82,226,255,.22);
  color:#79e8ff;font-size:14px;font-weight:950;
}
.loop-node>b{font-size:9px;letter-spacing:.08em;color:#eef7ff}
.loop-node>p{margin:5px 0 7px;font-size:8px;line-height:1.35;color:#c4cfdd}
.loop-node>small{margin-top:auto;font-size:7px;line-height:1.3;color:#7f91a7}
.loop-node.lab>span{color:#bda2ff;border-color:rgba(173,137,255,.25);background:#1b1731}
.loop-node.skill>span{color:#ffd17b;border-color:rgba(255,194,89,.24);background:#2b2013}
.loop-node.base>span{color:#7fe6a8;border-color:rgba(102,227,156,.22);background:#102a22}
.loop-briefing-rule{
  width:100%;max-width:460px;margin:0 auto 12px;padding:10px 12px;
  border-left:3px solid #42d9f6;border-radius:12px;
  background:#0d1824;display:flex;flex-direction:column;gap:3px;
}
.loop-briefing-rule span{font-size:7px;color:#55def8;font-weight:950;letter-spacing:.1em}
.loop-briefing-rule b{font-size:9px;line-height:1.4;color:#d6e0ec}
.loop-briefing-scene .intro-primary{max-width:460px;margin-left:auto;margin-right:auto}

.field-guide-card .guide-now{font-size:11px!important;line-height:1.5!important;color:#d0d8e5!important}
.guide-learning-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  margin:0 0 10px;
}
.guide-learning-grid>div{
  display:grid;
  grid-template-columns:66px 1fr;
  gap:8px;
  align-items:start;
  padding:8px 9px;
  border-radius:11px;
  border:1px solid rgba(94,149,210,.11);
  background:#0d1723;
}
.guide-learning-grid span{
  font-size:7px;line-height:1.35;font-weight:950;letter-spacing:.09em;color:#7d8ea5;
}
.guide-learning-grid b{
  font-size:9px;line-height:1.4;color:#c9d4e2;font-weight:700;
}
.guide-learning-grid .why{border-color:rgba(158,127,255,.16);background:rgba(96,70,150,.08)}
.guide-learning-grid .why span{color:#b69dff}
.guide-learning-grid .result{border-color:rgba(74,222,164,.14);background:rgba(43,124,89,.08)}
.guide-learning-grid .result span{color:#7ee1ae}
.guide-learning-grid .next{border-color:rgba(65,218,246,.14);background:rgba(35,118,137,.08)}
.guide-learning-grid .next span{color:#69def5}

html.native-android .loop-node,
html.native-android .guide-learning-grid>div{
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
@media(max-width:390px){
  .intro-steps{gap:2px}
  .intro-steps span small{font-size:5.2px}
  .loop-briefing-scene{padding-left:10px;padding-right:10px}
  .loop-briefing-grid{gap:6px}
  .loop-node{min-height:119px;padding:10px 9px}
  .loop-node>p{font-size:7.3px}
  .loop-node>small{font-size:6.5px}
}


/* =========================================================
   PULSE 1.25 — causal core loop
   ========================================================= */
.starter-cause{
  margin-top:7px;
  padding:8px 9px;
  border-radius:10px;
  display:grid;
  grid-template-columns:64px 1fr;
  gap:5px 8px;
  background:linear-gradient(145deg,rgba(31,44,62,.92),rgba(16,25,37,.96));
  border:1px solid rgba(73,211,241,.10);
}
.starter-cause span{
  font-size:5.8px;
  line-height:1.35;
  font-weight:950;
  letter-spacing:.09em;
  color:#6f8298;
}
.starter-cause b{
  font-size:7.2px!important;
  line-height:1.35;
  color:#c9d6e4!important;
  font-weight:700!important;
}
.starter-cause span:first-child{color:#ff9a8c}
.starter-cause span:nth-of-type(2){color:#69dfaa}
.starter-mission.active,.starter-mission.ready{
  padding:9px 6px;
  margin:0 -6px;
  border-radius:12px;
}
.starter-mission.active{
  background:linear-gradient(90deg,rgba(49,217,255,.045),rgba(49,217,255,.01));
}
.starter-impact-result{
  margin:10px 0 8px;
  padding:10px 11px;
  border-radius:12px;
  border:1px solid rgba(77,225,163,.16);
  background:linear-gradient(145deg,rgba(37,91,70,.16),rgba(12,23,28,.94));
  display:flex;
  flex-direction:column;
  text-align:left;
}
.starter-impact-result span{
  font-size:6.3px;
  color:#71e1aa;
  font-weight:950;
  letter-spacing:.10em;
}
.starter-impact-result b{
  margin-top:4px;
  color:#e3f1eb;
  font-size:9px;
  line-height:1.4;
}
.starter-impact-result small{
  margin-top:7px;
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.06);
  color:#91a6ba;
  font-size:7.3px;
  line-height:1.4;
}
html.native-android .starter-cause,
html.native-android .starter-impact-result{
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}


/* =========================================================
   PULSE 1.26 — Living Camp
   ========================================================= */
.camp-live-status{
  position:absolute!important;
  z-index:9!important;
  left:50%!important;
  top:2.5%!important;
  transform:translateX(-50%)!important;
  width:78%!important;
  min-height:38px!important;
  padding:6px 8px!important;
  display:grid!important;
  grid-template-columns:24px 1fr 12px!important;
  gap:7px!important;
  align-items:center!important;
  border:1px solid rgba(118,202,237,.18)!important;
  border-radius:12px!important;
  background:linear-gradient(145deg,rgba(5,12,20,.94),rgba(11,22,34,.90))!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(0,0,0,.28)!important;
  text-align:left!important;
}
.camp-live-status>span{
  width:24px;height:24px;border-radius:8px;display:grid;place-items:center;
  background:#112536;border:1px solid rgba(84,217,249,.22);
  color:#72e6ff;font-size:10px;font-weight:950;
}
.camp-live-status>div{display:flex;min-width:0;flex-direction:column}
.camp-live-status b{font-size:7px;line-height:1.15;letter-spacing:.06em;color:#edf8ff}
.camp-live-status small{margin-top:2px;font-size:5.8px;line-height:1.2;color:#8fa4b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.camp-live-status>i{font-style:normal;color:#62dcf4;font-size:12px}
.camp-live-status.mode-power{border-color:rgba(255,109,82,.36)!important;background:linear-gradient(145deg,rgba(44,16,15,.94),rgba(25,17,20,.92))!important}
.camp-live-status.mode-power>span{color:#ff9a82;border-color:rgba(255,105,79,.28);background:#351716}
.camp-live-status.mode-morale{border-color:rgba(255,177,83,.32)!important}
.camp-live-status.mode-morale>span{color:#ffc16f;border-color:rgba(255,184,88,.25);background:#322313}
.camp-live-status.mode-research{border-color:rgba(171,134,255,.34)!important;background:linear-gradient(145deg,rgba(27,20,49,.95),rgba(11,18,31,.92))!important}
.camp-live-status.mode-research>span{color:#c7adff;border-color:rgba(178,142,255,.28);background:#211936}
.camp-live-status.mode-construction{border-color:rgba(255,198,96,.30)!important}
.camp-live-status.mode-shift{border-color:rgba(95,225,164,.27)!important}
.camp-live-status.mode-shift>span{color:#7be3ab;border-color:rgba(101,225,164,.23);background:#112a21}

.camp-life-layer,.camp-night-lights{position:absolute;inset:0;pointer-events:none}
.camp-life-layer{z-index:4}
.camp-night-lights{z-index:2}
.camp-person{
  position:absolute;
  width:14px;height:18px;
  transform:translate(-50%,-50%);
  pointer-events:none;
  opacity:.92;
  animation:camp-person-drift 7.5s ease-in-out infinite;
  animation-delay:var(--life-delay);
}
.camp-person i{
  position:absolute;left:4px;top:0;width:6px;height:6px;border-radius:50%;
  background:#dce7f3;box-shadow:0 0 6px rgba(170,224,255,.24);
}
.camp-person b{
  position:absolute;left:3px;top:6px;width:8px;height:10px;border-radius:3px 3px 4px 4px;
  background:#536d83;border:1px solid rgba(209,235,255,.22);
}
.camp-person small{
  position:absolute;left:50%;top:18px;transform:translateX(-50%);
  padding:2px 4px;border-radius:5px;background:rgba(4,10,17,.76);
  color:#9eb2c4;font-size:4.8px;line-height:1;white-space:nowrap;
}
.camp-person.role-scientist b{background:#695a8f}
.camp-person.role-scientist i{background:#c9b7ff}
.camp-person.role-crew b{background:#456779}
.camp-person.role-worker b{background:#6f6349}

.camp-drone{
  position:absolute;width:18px;height:8px;transform:translate(-50%,-50%);
  animation:camp-drone-float 6.5s ease-in-out infinite;
  animation-delay:var(--life-delay);
  opacity:.9;
}
.camp-drone b{position:absolute;left:5px;top:2px;width:8px;height:4px;border-radius:5px;background:#496f82;border:1px solid rgba(126,224,255,.35)}
.camp-drone:before,.camp-drone:after{content:"";position:absolute;top:3px;width:6px;height:1px;background:#7dcce0}
.camp-drone:before{left:0}.camp-drone:after{right:0}
.camp-drone i{position:absolute;left:8px;top:5px;width:2px;height:2px;border-radius:50%;background:#67e9ff;box-shadow:0 0 6px #67e9ff}

@keyframes camp-person-drift{
  0%,100%{transform:translate(-50%,-50%) translateX(-2px)}
  50%{transform:translate(-50%,-50%) translateX(8px)}
}
@keyframes camp-drone-float{
  0%,100%{transform:translate(-50%,-50%) translate(0,0)}
  50%{transform:translate(-50%,-50%) translate(12px,-4px)}
}

.camp-night-lights i{position:absolute;width:16px;height:16px;border-radius:50%;opacity:0;background:radial-gradient(circle,rgba(255,214,125,.62),rgba(255,189,83,.12) 44%,transparent 72%)}
.phase-dusk .camp-night-lights i,.phase-night .camp-night-lights i{opacity:.58}
.camp-night-lights i:nth-child(1){left:17%;top:25%}
.camp-night-lights i:nth-child(2){left:48%;top:28%}
.camp-night-lights i:nth-child(3){left:79%;top:28%}
.camp-night-lights i:nth-child(4){left:48%;top:64%}

.camp-scene-mode-power:after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(180deg,rgba(103,19,14,.08),transparent 32%,rgba(114,19,13,.08));
  box-shadow:inset 0 0 0 1px rgba(255,89,68,.12);
}
.camp-scene-mode-morale:after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:rgba(96,61,18,.045);
}
.camp-scene-mode-research:after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:radial-gradient(circle at 20% 28%,rgba(148,105,255,.11),transparent 25%);
}
.camp-scene-mode-construction:after{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:linear-gradient(135deg,transparent 69%,rgba(255,190,78,.045) 70%,transparent 72%);
}
.camp-art-hotspot.working .hotspot-card{border-color:rgba(89,220,158,.28);background:linear-gradient(145deg,rgba(7,22,20,.93),rgba(7,16,27,.90))}
.camp-art-hotspot.working .hotspot-icon{color:#7ce3aa;border-color:rgba(99,226,167,.27);background:#102921}
.camp-art-hotspot.warning .hotspot-card{border-color:rgba(255,102,78,.42);background:linear-gradient(145deg,rgba(39,16,16,.94),rgba(18,14,20,.90))}
.camp-art-hotspot.warning .hotspot-icon{color:#ff9b83;border-color:rgba(255,109,80,.31);background:#351815}
.camp-art-hotspot.attention .hotspot-card{border-color:rgba(255,185,82,.28)}
.camp-art-hotspot.has-reserve .hotspot-card{border-color:rgba(99,171,214,.24)}
.camp-art-hotspot.tier-2 .hotspot-level,.camp-art-hotspot.tier-3 .hotspot-level,.camp-art-hotspot.tier-4 .hotspot-level,.camp-art-hotspot.tier-5 .hotspot-level{border-color:rgba(88,225,255,.38);color:#d5f4ff}
.camp-art-hotspot.researching .hotspot-card{box-shadow:0 0 0 1px rgba(164,126,255,.08),0 8px 18px rgba(0,0,0,.30),0 0 20px rgba(144,97,255,.10)}

.camp-status-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0;
}
.camp-status-grid>div{
  min-height:70px;padding:9px;border-radius:11px;
  border:1px solid rgba(98,174,217,.12);background:#0d1722;
  display:flex;flex-direction:column;
}
.camp-status-grid span{font-size:6px;font-weight:950;letter-spacing:.08em;color:#71879e}
.camp-status-grid b{margin-top:5px;font-size:13px;color:#edf7ff}
.camp-status-grid small{margin-top:auto;font-size:7px;color:#8da1b5}
.camp-status-note{padding:9px 10px;margin:0 0 10px;border-left:3px solid #45d9f5;border-radius:9px;background:#0d1924;display:flex;flex-direction:column;gap:3px}
.camp-status-note span{font-size:6px;font-weight:950;color:#5adcf5;letter-spacing:.1em}
.camp-status-note b{font-size:8px;color:#cbd8e5}

html.native-android .camp-person,
html.native-android .camp-drone{animation:none!important}
html.native-android .camp-live-status,
html.native-android .camp-art-hotspot.researching .hotspot-card{box-shadow:none!important}
html.native-android .camp-night-lights i{opacity:.36}
@media(max-width:390px){
  .camp-live-status{width:82%!important;top:2%!important;min-height:35px!important;grid-template-columns:21px 1fr 10px!important;padding:5px 7px!important}
  .camp-live-status>span{width:21px;height:21px;font-size:9px}
  .camp-live-status b{font-size:6.4px}.camp-live-status small{font-size:5.3px}
  .camp-person small{display:none}
}


/* =========================================================
   PULSE 1.27 — Characters, Pets & Arena
   ========================================================= */
.camp-pet{
  position:absolute;left:43%;top:53%;z-index:5;transform:translate(-50%,-50%);
  display:flex;flex-direction:column;align-items:center;pointer-events:none;
  animation:camp-pet-float 5.8s ease-in-out infinite;
}
.camp-pet i{
  width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;
  background:radial-gradient(circle,#203a4f,#0b1824 68%);border:1px solid rgba(101,225,255,.34);
  color:#8eeaff;font-size:11px;box-shadow:0 0 12px rgba(76,211,245,.16);
}
.camp-pet b{margin-top:2px;font-size:5.8px;color:#dcecf5;text-shadow:0 1px 3px #000}
.camp-pet small{font-size:4.8px;color:#82a3b6}
.camp-pet.species-ash_hound i{color:#ffb27e;border-color:rgba(255,166,106,.4)}
.camp-pet.species-luma_anomaly i{color:#cab0ff;border-color:rgba(180,139,255,.42)}
.camp-pet.species-mole_mk1 i{color:#e3c391;border-color:rgba(214,179,123,.4)}
@keyframes camp-pet-float{0%,100%{transform:translate(-50%,-50%) translateY(0)}50%{transform:translate(-50%,-50%) translateY(-4px)}}
html.native-android .camp-pet{animation:none!important}
html.native-android .camp-pet i{box-shadow:none!important}

.companions-feature{border-color:rgba(104,227,180,.16)!important}
.arena-feature{border-color:rgba(255,145,83,.19)!important}
.companions-art{background:radial-gradient(circle at 45% 40%,rgba(78,213,165,.18),transparent 48%)}
.companions-art>i{position:absolute;left:39%;top:22%;font-style:normal;font-size:37px;color:#86ebbe;filter:drop-shadow(0 0 10px rgba(93,223,173,.25))}
.companions-art>b{position:absolute;left:35%;top:67%;font-size:7px;color:#8dddb9}
.companions-art>span{position:absolute;right:15%;top:42%;font-size:22px;color:#7892a5}
.arena-art{background:radial-gradient(circle at 50% 45%,rgba(255,112,71,.18),transparent 50%)}
.arena-glyph{position:absolute;left:32%;top:15%;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(255,143,91,.42);color:#ffb07e;font-size:25px;font-weight:950}
.arena-art>b{position:absolute;right:16%;bottom:20%;font-size:19px;color:#ff966b}.arena-art>i{position:absolute;left:18%;right:18%;bottom:12%;height:1px;background:linear-gradient(90deg,transparent,#e47750,transparent)}

.subscreen-head{display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;margin-bottom:12px}
.subscreen-head>button{width:42px;height:42px;border-radius:13px;border:1px solid rgba(103,176,216,.15);background:#101b28;color:#d8e8f4;font-size:22px}
.subscreen-head span{display:block;font-size:6px;letter-spacing:.12em;color:#6c8499;font-weight:950}
.subscreen-head h1{margin:2px 0 0;font-size:21px;line-height:1;color:#f0f7ff}
.arena-mark-badge{padding:8px 10px;border-radius:11px;border:1px solid rgba(180,141,255,.2);background:#18142a;color:#c4a8ff;font-size:9px;font-weight:950}

.companions-screen,.arena-screen{padding:14px 11px 105px;max-width:720px;margin:0 auto}
.active-pet-hero{
  min-height:140px;padding:14px;border-radius:18px;display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;
  border:1px solid rgba(100,215,181,.15);background:linear-gradient(145deg,#101e28,#0b141f);overflow:hidden;
}
.active-pet-visual{height:112px;border-radius:28px;display:grid;place-items:center;position:relative;background:radial-gradient(circle,#18384a,#0a1420 68%);border:1px solid rgba(92,218,255,.16)}
.active-pet-visual i{font-style:normal;font-size:48px;color:#88eaff}.active-pet-visual b{position:absolute;bottom:9px;font-size:7px;color:#9cc7d5;letter-spacing:.09em}
.active-pet-hero>div:last-child>span{font-size:6px;color:#6addab;font-weight:950;letter-spacing:.1em}.active-pet-hero h2{margin:4px 0 5px;font-size:24px}.active-pet-hero p{margin:0;color:#8ea2b5;font-size:8px;line-height:1.4}
.active-pet-stats{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}.active-pet-stats b{padding:5px 7px;border-radius:8px;background:#122230;border:1px solid rgba(90,179,215,.12);font-size:7px;color:#c8d9e6}

.companion-section{margin-top:14px}.pet-owned-list,.pet-catalog-list,.companion-character-list{display:grid;gap:8px}
.pet-card{padding:10px;border-radius:14px;border:1px solid rgba(111,175,207,.12);background:#0d1722;display:grid;grid-template-columns:68px 1fr auto;gap:10px;align-items:center}
.pet-card.active{border-color:rgba(83,226,165,.3);background:linear-gradient(145deg,rgba(20,55,46,.5),#0d1722)}
.pet-orb{height:64px;border-radius:18px;background:#132330;border:1px solid rgba(100,200,228,.14);display:grid;place-items:center;position:relative}.pet-orb i{font-style:normal;font-size:29px;color:#86e6ff}.pet-orb em{position:absolute;bottom:5px;font-size:5px;font-style:normal;color:#7899ad}
.pet-card-copy>span,.pet-catalog-card span{font-size:5.5px;color:#71879a;letter-spacing:.08em;text-transform:uppercase}.pet-card-copy>b,.pet-catalog-card b{display:block;margin-top:2px;font-size:11px;color:#e7f1f8}.pet-card-copy>small,.pet-catalog-card small{display:block;margin-top:3px;font-size:6.7px;line-height:1.3;color:#859aae}
.pet-xp{margin-top:6px}.pet-xp>i{height:4px;border-radius:4px;background:#172330;display:block;overflow:hidden}.pet-xp>i>em{height:100%;display:block;background:linear-gradient(90deg,#49d8f2,#80e5b1)}.pet-xp>small{font-size:5px;color:#698397}
.pet-stats{display:flex;gap:4px;margin-top:6px}.pet-stats span{padding:3px 4px;border-radius:5px;background:#111f2b;font-size:5.5px;color:#9eb0bd}
.pet-actions{display:flex;flex-direction:column;gap:5px}.pet-actions button,.pet-actions strong{min-width:64px;padding:6px;border-radius:8px;border:1px solid rgba(76,202,235,.15);background:#112432;color:#98eaff;font-size:6px;text-align:center}.pet-actions strong{color:#73dfaa;border-color:rgba(84,218,158,.17);background:#12271f}

.companion-character{min-height:72px;padding:9px;border-radius:13px;border:1px solid rgba(100,163,199,.11);background:#0d1722;display:grid;grid-template-columns:48px 1fr auto;gap:9px;align-items:center}
.character-portrait{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#1c3142,#101b27);font-size:18px;font-weight:950;color:#a9dbef}
.companion-character.role-assault .character-portrait{color:#ffac80}.companion-character.role-tank .character-portrait{color:#82d9ff}.companion-character.role-support .character-portrait{color:#91e3af}
.character-copy span{font-size:5.5px;color:#73889b;text-transform:uppercase}.character-copy b{display:block;font-size:10px;margin-top:2px}.character-copy small{font-size:6px;color:#8295a8}.character-power{text-align:right}.character-power>b{display:block;font-size:12px}.character-power small{font-size:5px;color:#718599}.character-power em{display:block;margin-top:4px;font-style:normal;font-size:6px;color:#8dcde4}
.pet-catalog-card{padding:9px;border-radius:13px;border:1px solid rgba(110,170,199,.11);background:#0e1823;display:grid;grid-template-columns:44px 1fr auto;gap:8px;align-items:center}.catalog-pet-icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#152331;font-size:20px}.pet-catalog-card button{padding:8px;border-radius:9px;border:1px solid rgba(175,139,255,.18);background:#1b1730;color:#c9adff;font-size:7px;font-weight:900}.pet-catalog-card button:disabled{opacity:.38}
.companion-arena-cta{margin-top:14px!important}

.arena-profile{padding:12px 13px;border-radius:17px;display:grid;grid-template-columns:55px 1fr auto;gap:10px;align-items:center;border:1px solid rgba(255,152,95,.18);background:linear-gradient(145deg,#211813,#0e1722)}
.arena-rank-emblem{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(255,166,105,.35);font-size:26px;font-weight:950;color:#ffad7d;background:#211714}
.arena-profile span{font-size:6px;color:#f3a071;font-weight:950;letter-spacing:.1em}.arena-profile h2{margin:3px 0;font-size:18px}.arena-profile small{font-size:6.5px;color:#8599aa}.arena-profile>strong{font-size:8px;color:#d6e2eb}
.arena-lineup-editor,.arena-opponents,.arena-leaderboard{margin-top:14px}
.arena-character-picks,.arena-pet-picks{display:grid;gap:6px;margin-bottom:8px}
.arena-character-pick,.arena-pet-pick{min-height:54px;padding:7px 8px;border-radius:12px;border:1px solid rgba(101,163,196,.1);background:#0d1722;color:#dce8f0;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:8px;text-align:left}
.arena-character-pick>span,.arena-pet-pick>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#152431;font-size:15px;font-weight:950}.arena-character-pick b,.arena-pet-pick b{font-size:8px}.arena-character-pick small,.arena-pet-pick small{display:block;font-size:5.8px;color:#71869a}.arena-character-pick>strong,.arena-pet-pick>strong{font-size:7px;color:#a7c5d7}
.arena-character-pick.selected,.arena-pet-pick.selected{border-color:rgba(74,218,163,.34);background:linear-gradient(145deg,rgba(23,65,50,.5),#0d1722)}.arena-character-pick.selected>span,.arena-pet-pick.selected>span{color:#83e5b2;border:1px solid rgba(82,222,165,.2)}
.arena-tactics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:9px 0}.arena-tactics button{min-height:60px;padding:7px 5px;border-radius:11px;border:1px solid rgba(104,163,195,.1);background:#0d1722;color:#cbd9e3}.arena-tactics button.selected{border-color:rgba(255,153,91,.34);background:#241813}.arena-tactics b{display:block;font-size:7px}.arena-tactics small{display:block;margin-top:3px;font-size:5px;line-height:1.2;color:#75899a}

.arena-opponent{padding:9px;border-radius:13px;border:1px solid rgba(113,168,197,.1);background:#0d1722;display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;margin-bottom:7px}.arena-op-avatar{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#152430;font-size:15px}.arena-opponent span{font-size:5px;color:#75899c}.arena-opponent b{display:block;font-size:8px}.arena-opponent small{font-size:5.8px;color:#8094a7}.arena-opponent>strong{font-size:6px;color:#b8cbd8}.arena-opponent>button{grid-column:3;padding:7px 9px;border-radius:8px;border:1px solid rgba(255,138,78,.24);background:#2a1711;color:#ffae80;font-size:7px;font-weight:900}.arena-opponent.used{opacity:.45}.arena-opponent button:disabled{opacity:.45}
.arena-leader{height:38px;padding:0 8px;display:grid;grid-template-columns:30px 1fr auto 46px;gap:6px;align-items:center;border-bottom:1px solid rgba(255,255,255,.045);font-size:6.5px}.arena-leader.me{background:rgba(75,208,239,.055)}.arena-leader>span{color:#6f8294}.arena-leader>b{font-size:7px}.arena-leader>small{color:#768da1}.arena-leader>strong{text-align:right;font-size:8px}

.arena-battle-modal{text-align:center}.arena-scoreboard{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;margin:12px 0}.arena-scoreboard>b{font-size:27px}.arena-scoreboard>span{font-size:7px;color:#71869a}
.arena-round-log{display:grid;gap:6px}.arena-round-log>div{padding:8px;border-radius:10px;background:#0e1823;border:1px solid rgba(99,161,193,.1);display:grid;grid-template-columns:24px 1fr auto;gap:7px;text-align:left}.arena-round-log>div.won{border-color:rgba(72,214,159,.22)}.arena-round-log>div.lost{border-color:rgba(235,108,78,.18)}.arena-round-log span{font-size:6px;color:#6f8496}.arena-round-log b{font-size:7px}.arena-round-log small{display:block;font-size:5.6px;color:#7d92a4}.arena-round-log strong{font-size:7px}
.arena-battle-result{margin-top:10px;padding:10px;border-radius:11px;background:#101a25;color:#8297a8}.arena-battle-result>b{display:block;font-size:12px}.arena-battle-result small{display:block;margin:5px 0 10px;font-size:6.5px}.arena-battle-result.win{color:#7ee4ac;background:#10251d}.arena-battle-result.loss{color:#ff9a80;background:#261714}.arena-battle-result.draw{color:#9dccde;background:#12222b}

@media(max-width:390px){
  .active-pet-hero{grid-template-columns:92px 1fr}.active-pet-visual{height:92px}.pet-card{grid-template-columns:56px 1fr}.pet-actions{grid-column:1/3;flex-direction:row}.pet-actions button,.pet-actions strong{flex:1}.arena-profile{grid-template-columns:48px 1fr}.arena-profile>strong{grid-column:1/3;text-align:right}.arena-rank-emblem{width:48px;height:48px}.arena-opponent{grid-template-columns:38px 1fr auto}.arena-op-avatar{width:38px;height:38px}.arena-tactics small{display:none}
}
html.native-android .active-pet-visual,
html.native-android .pet-orb,
html.native-android .arena-rank-emblem{box-shadow:none!important;filter:none!important}


/* =========================================================
   PULSE 1.27.1 — Android layout alignment hotfix
   ========================================================= */
html,body{
  overflow-x:hidden!important;
}
#app{
  width:100%!important;
  max-width:520px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow-x:clip!important;
}
#view{
  width:100%!important;
  max-width:100%!important;
  overflow-x:clip!important;
}
.topbar,
.global-resource-hud,
.global-next-step{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}

/* Keep fixed navigation centered even when Android GPU promotion is active. */
.nav.survival-nav{
  left:50%!important;
  right:auto!important;
  inset-inline-start:50%!important;
  inset-inline-end:auto!important;
  width:100%!important;
  max-width:520px!important;
  margin:0!important;
  transform:translateX(-50%) translateZ(0)!important;
  -webkit-transform:translateX(-50%) translateZ(0)!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  padding-left:max(8px,env(safe-area-inset-left))!important;
  padding-right:max(8px,env(safe-area-inset-right))!important;
}
.nav.survival-nav button{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  overflow:hidden!important;
}
.nav.survival-nav button>span,
.nav.survival-nav button>small{
  width:100%;
  text-align:center;
}
.nav.survival-nav button small{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* One horizontal rhythm for the whole base screen. */
.base-game-screen.camp-v2{
  width:100%!important;
  max-width:100%!important;
  overflow-x:clip!important;
}
.camp-v2 .base-scene-header{
  width:100%!important;
  padding:14px 12px 10px!important;
  margin:0!important;
}
.camp-live-status-flow{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:calc(100% - 24px)!important;
  min-height:48px!important;
  margin:0 12px 10px!important;
  padding:7px 9px!important;
  grid-template-columns:28px minmax(0,1fr) 14px!important;
}
.camp-live-status-flow>span{
  width:28px!important;
  height:28px!important;
}
.camp-live-status-flow b{font-size:7.4px!important}
.camp-live-status-flow small{font-size:6px!important}

.camp-scene-v2{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  transform:none!important;
}

/* Hotspots remain anchored only to the camp art, never to surrounding cards. */
.camp-scene-v2 .camp-art-hotspot{
  margin:0!important;
  max-width:none!important;
}
.hotspot-lab{left:20%!important;top:28%!important}
.hotspot-hq{left:50%!important;top:30%!important}
.hotspot-radio{left:80%!important;top:30%!important}
.hotspot-training{left:18%!important;top:56%!important}
.hotspot-quarry{left:82%!important;top:56%!important}
.hotspot-farm{left:50%!important;top:68%!important}
.hotspot-generator{left:24%!important;top:83%!important}
.hotspot-lumberyard{left:76%!important;top:83%!important}

/* All cards below the art share exactly the same 12px gutters. */
.camp-v2 .scene-next-objective.camp-next-v2,
.camp-v2 .base-chapter-progress,
.camp-v2 .base-activity-panel,
.camp-v2 .base-boost-banner,
.camp-v2 .base-job-banner,
.camp-v2 .base-vitals,
.camp-v2 .scene-alert,
.camp-v2 .scene-story-strip{
  box-sizing:border-box!important;
  width:calc(100% - 24px)!important;
  max-width:calc(100% - 24px)!important;
  margin-left:12px!important;
  margin-right:12px!important;
}
.camp-v2 .scene-next-objective.camp-next-v2{margin-top:10px!important;margin-bottom:8px!important}
.camp-v2 .base-chapter-progress{margin-top:8px!important;margin-bottom:0!important}
.camp-v2 .base-activity-panel{margin-top:8px!important;margin-bottom:0!important}

/* Prevent labels from escaping their building cards on narrow Android screens. */
.camp-art-hotspot .hotspot-card{
  min-width:0!important;
  overflow:hidden!important;
}
.camp-art-hotspot .hotspot-card b,
.camp-art-hotspot .hotspot-card small,
.camp-art-hotspot .hotspot-card u{
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.camp-pet{
  left:50%!important;
  top:51%!important;
}

/* Stable Android profile: no transforms that can alter fixed element coordinates. */
html.native-android .nav.survival-nav{
  left:50%!important;
  width:100%!important;
  max-width:520px!important;
  transform:translateX(-50%)!important;
  -webkit-transform:translateX(-50%)!important;
  contain:layout paint style!important;
}
html.native-android .camp-live-status-flow{
  box-shadow:none!important;
}
@media(max-width:390px){
  .camp-v2 .base-scene-header{padding-left:10px!important;padding-right:10px!important}
  .camp-live-status-flow{
    width:calc(100% - 20px)!important;
    margin-left:10px!important;
    margin-right:10px!important;
    min-height:44px!important;
    grid-template-columns:24px minmax(0,1fr) 12px!important;
  }
  .camp-live-status-flow>span{width:24px!important;height:24px!important}
  .camp-v2 .scene-next-objective.camp-next-v2,
  .camp-v2 .base-chapter-progress,
  .camp-v2 .base-activity-panel,
  .camp-v2 .base-boost-banner,
  .camp-v2 .base-job-banner,
  .camp-v2 .base-vitals,
  .camp-v2 .scene-alert,
  .camp-v2 .scene-story-strip{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
    margin-left:10px!important;
    margin-right:10px!important;
  }
  .camp-art-hotspot{width:31%!important}
  .camp-art-hotspot .hotspot-card{padding-right:5px!important}
  .nav.survival-nav{padding-left:5px!important;padding-right:5px!important}
}


/* =========================================================
   PULSE 1.28 — camp cleanup + expedition map rebuild
   ========================================================= */

/* Camp: hide baked-in labels under the interactive HUD. */
.camp-art-hotspot::before{
  content:"";
  position:absolute;
  z-index:0;
  left:-5px;
  right:-5px;
  bottom:-6px;
  height:64px;
  border-radius:15px;
  background:
    radial-gradient(ellipse at center,rgba(3,8,14,.97) 0 58%,rgba(3,8,14,.88) 68%,rgba(3,8,14,.18) 88%,transparent 100%);
  pointer-events:none;
}
.camp-art-hotspot .hotspot-card,
.camp-art-hotspot .hotspot-icon,
.camp-art-hotspot .hotspot-level,
.camp-art-hotspot .hotspot-alert{
  z-index:2!important;
}
.camp-art-hotspot .hotspot-card{
  background:linear-gradient(145deg,#07111a 0%,#0b1723 100%)!important;
  border-color:rgba(105,192,231,.24)!important;
  box-shadow:0 7px 14px rgba(0,0,0,.28)!important;
}
.camp-art-hotspot.working .hotspot-card{
  background:linear-gradient(145deg,#092018,#0a1720)!important;
}
.camp-art-hotspot.warning .hotspot-card{
  background:linear-gradient(145deg,#281312,#15121a)!important;
}
.camp-art-hotspot .hotspot-card b{font-size:8.4px!important}
.camp-art-hotspot .hotspot-card small{font-size:6.1px!important}
.camp-art-hotspot .hotspot-level{
  background:#102039!important;
  border-color:rgba(124,170,255,.34)!important;
}

/* Expedition intel */
.map-expedition-intel{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:1.4fr .8fr 1fr;
  gap:6px;
  padding:0 12px 7px;
}
.map-expedition-intel>div{
  min-width:0;
  min-height:55px;
  padding:8px 9px;
  border-radius:12px;
  border:1px solid rgba(102,179,205,.10);
  background:linear-gradient(145deg,rgba(11,20,30,.96),rgba(8,14,22,.94));
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.map-expedition-intel>div.primary{
  border-color:rgba(77,220,239,.22);
  background:linear-gradient(145deg,rgba(11,35,43,.96),rgba(8,18,28,.96));
}
.map-expedition-intel span{
  font-size:5.5px;
  font-weight:950;
  letter-spacing:.11em;
  color:#6edff1;
}
.map-expedition-intel b{
  margin-top:3px;
  font-size:8.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.map-expedition-intel small{
  margin-top:2px;
  font-size:5.6px;
  color:#7f91a4;
  white-space:nowrap;
}

/* Make the map feel like a field board, not an empty canvas. */
.map-world-wrap{
  height:clamp(520px,61dvh,620px)!important;
  margin-top:0!important;
  background:
    radial-gradient(circle at 50% 48%,rgba(47,114,102,.22),transparent 29%),
    radial-gradient(circle at 19% 80%,rgba(54,91,86,.10),transparent 28%),
    linear-gradient(180deg,#081219 0%,#081411 100%)!important;
}
.map-world-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.18;
  background:
    repeating-linear-gradient(45deg,transparent 0 31px,rgba(85,187,178,.04) 32px,transparent 33px),
    repeating-linear-gradient(-45deg,transparent 0 31px,rgba(85,187,178,.035) 32px,transparent 33px);
}
.map-world-grid{
  --map-zoom:.90;
  gap:4px!important;
  filter:drop-shadow(0 28px 24px rgba(0,0,0,.48))!important;
}
.map-world-cell{
  border-radius:7px!important;
  border-width:1px!important;
}
.map-world-cell:not(.fog){
  box-shadow:
    inset 0 1px rgba(255,255,255,.045),
    inset -4px -5px 9px rgba(0,0,0,.21),
    4px 5px 6px rgba(0,0,0,.24)!important;
}
.map-world-cell.terrain-forest{
  background:
    radial-gradient(circle at 22% 30%,#43764a 0 8%,transparent 9%),
    radial-gradient(circle at 70% 67%,#325d3b 0 11%,transparent 12%),
    radial-gradient(circle at 72% 18%,#3c6942 0 8%,transparent 9%),
    linear-gradient(145deg,#2d5537,#14271c)!important;
}
.map-world-cell.terrain-meadow{
  background:
    radial-gradient(circle at 28% 32%,rgba(221,218,119,.19) 0 4%,transparent 5%),
    radial-gradient(circle at 71% 65%,rgba(186,217,109,.14) 0 5%,transparent 6%),
    linear-gradient(145deg,#62764a,#2c3d24)!important;
}
.map-world-cell.terrain-rock{
  background:
    linear-gradient(28deg,transparent 0 38%,rgba(255,255,255,.07) 39% 42%,transparent 43%),
    linear-gradient(122deg,transparent 0 56%,rgba(0,0,0,.19) 57% 63%,transparent 64%),
    linear-gradient(145deg,#687275,#30373a)!important;
}
.map-world-cell.terrain-ruins{
  background:
    repeating-linear-gradient(0deg,transparent 0 8px,rgba(31,22,18,.17) 9px 10px),
    repeating-linear-gradient(90deg,transparent 0 12px,rgba(245,190,139,.065) 13px 14px),
    linear-gradient(145deg,#7a5f4f,#392e2a)!important;
}
.map-world-cell.biome-frost:not(.fog){filter:saturate(.9) brightness(1.12)}
.map-world-cell.biome-ash:not(.fog){filter:saturate(1.15) sepia(.08)}
.map-world-cell.biome-marsh:not(.fog){filter:saturate(1.18) hue-rotate(8deg)}
.map-world-cell.biome-anomaly:not(.fog){
  box-shadow:inset 0 0 14px rgba(212,88,223,.15),0 0 10px rgba(212,88,223,.10)!important;
}
.map-world-cell.revealed{
  border-width:2px!important;
  filter:brightness(1.08) saturate(1.15)!important;
}
.map-world-cell.has-poi.revealed{
  box-shadow:inset 0 0 16px rgba(117,209,255,.18),0 0 18px rgba(82,204,255,.28)!important;
}

/* Route to the active objective */
.map-world-cell.map-route-step>span::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:5px;
  height:5px;
  margin:-2.5px 0 0 -2.5px;
  border-radius:50%;
  background:#8eeeff;
  box-shadow:0 0 0 3px rgba(96,225,246,.08),0 0 8px rgba(96,225,246,.35);
  pointer-events:none;
}
.map-world-cell.map-objective{
  z-index:32!important;
  border-color:#b9f7ff!important;
  box-shadow:
    inset 0 0 18px rgba(85,226,255,.18),
    0 0 0 2px rgba(104,231,255,.22),
    0 0 22px rgba(85,226,255,.42)!important;
}
.map-world-cell.map-objective>span::before{
  content:"ЦЕЛЬ";
  position:absolute;
  left:50%;
  top:-16px;
  transform:translateX(-50%);
  padding:3px 5px;
  border-radius:5px;
  background:#0e2a34;
  border:1px solid rgba(104,229,247,.34);
  color:#9ef4ff;
  font-size:4.5px;
  font-weight:950;
  letter-spacing:.08em;
  white-space:nowrap;
  box-shadow:0 4px 10px rgba(0,0,0,.28);
}
.map-world-cell.map-objective>span::after{
  width:7px;
  height:7px;
  margin:-3.5px 0 0 -3.5px;
  background:#d8fbff;
  box-shadow:0 0 0 4px rgba(87,229,250,.11),0 0 12px rgba(104,235,255,.55);
}
.map-viewport-hud{
  top:9px!important;
  left:9px!important;
  border-left:0!important;
  border-radius:10px!important;
  padding:7px 8px!important;
  background:rgba(7,17,25,.86)!important;
  border:1px solid rgba(83,213,233,.13)!important;
}
.map-viewport-controls{
  right:9px!important;
  top:9px!important;
}
.map-minimap{
  width:94px!important;
  left:9px!important;
  bottom:9px!important;
  padding:5px!important;
  background:rgba(5,12,18,.92)!important;
}
.map-minimap-grid{padding:2px!important}
.map-biome-legend{
  padding-top:7px!important;
  padding-bottom:4px!important;
}
.map-biome-legend span{
  padding:5px 7px!important;
  font-size:4.8px!important;
}
.map-legend{
  margin-top:0!important;
  padding-top:1px!important;
  padding-bottom:3px!important;
}
.map-bottom-console{
  margin-top:7px!important;
}

/* Android: preserve the visual hierarchy without expensive animation/filter work. */
html.native-android .camp-art-hotspot::before{filter:none!important}
html.native-android .camp-art-hotspot .hotspot-card{box-shadow:none!important}
html.native-android .map-world-cell.map-route-step>span::after,
html.native-android .map-world-cell.map-objective>span::after{box-shadow:none!important}
html.native-android .map-world-cell.map-objective{box-shadow:inset 0 0 0 2px rgba(110,232,249,.36)!important}
html.native-android .map-world-wrap::after{opacity:.10!important}

@media(max-width:390px){
  .map-expedition-intel{
    grid-template-columns:1.25fr .75fr .9fr;
    gap:4px;
    padding-left:8px;
    padding-right:8px;
  }
  .map-expedition-intel>div{padding:7px 6px;min-height:50px}
  .map-expedition-intel b{font-size:7.5px}
  .map-expedition-intel small{font-size:5px}
  .map-world-wrap{height:505px!important}
  .map-minimap{width:86px!important}
  .camp-art-hotspot::before{height:58px}
}


/* Camp labels: compact integrated level badge, no detached pills. */
.camp-art-hotspot .hotspot-card{
  min-height:40px!important;
  padding:6px 34px 6px 29px!important;
}
.camp-art-hotspot .hotspot-level{
  left:auto!important;
  right:6px!important;
  top:7px!important;
  bottom:auto!important;
  transform:none!important;
  min-width:27px!important;
  width:auto!important;
  height:17px!important;
  padding:0 5px!important;
  border-radius:6px!important;
  font-size:5.6px!important;
  box-shadow:none!important;
}
.camp-art-hotspot .hotspot-icon{
  left:6px!important;
  bottom:10px!important;
  width:18px!important;
  height:18px!important;
  border-radius:6px!important;
  font-size:8.5px!important;
}
.camp-art-hotspot .hotspot-alert{
  right:1px!important;
  top:-7px!important;
  width:19px!important;
  height:19px!important;
  font-size:7px!important;
}
.camp-art-hotspot::before{
  bottom:-1px!important;
  height:56px!important;
}
@media(max-width:390px){
  .camp-art-hotspot .hotspot-card{
    min-height:37px!important;
    padding:5px 30px 5px 26px!important;
  }
  .camp-art-hotspot .hotspot-level{
    right:5px!important;
    top:6px!important;
    min-width:25px!important;
    height:15px!important;
    font-size:5px!important;
  }
  .camp-art-hotspot .hotspot-icon{
    left:5px!important;
    bottom:9px!important;
    width:17px!important;
    height:17px!important;
  }
}


/* =========================================================
   PULSE 1.29 — clean camp, priority alerts, expedition crew
   ========================================================= */
.camp-art-hotspot::before{display:none!important}
.camp-art-hotspot .hotspot-card{
  background:linear-gradient(145deg,rgba(5,14,22,.985),rgba(8,20,30,.985))!important;
  border-color:rgba(98,191,226,.23)!important;
}
.camp-art-hotspot.working .hotspot-card{background:linear-gradient(145deg,rgba(7,31,23,.985),rgba(7,19,27,.985))!important}
.camp-art-hotspot.warning .hotspot-card{background:linear-gradient(145deg,rgba(43,16,15,.985),rgba(18,14,21,.985))!important}

/* A building owns one alert badge only. */
.camp-art-hotspot .hotspot-alert{
  position:absolute!important;
  z-index:8!important;
  right:2px!important;
  top:-7px!important;
  left:auto!important;
  bottom:auto!important;
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  padding:0!important;
  border-radius:7px!important;
  display:grid!important;
  place-items:center!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 4px 10px rgba(0,0,0,.32)!important;
  font-size:0!important;
}
.camp-art-hotspot .hotspot-alert i{font-style:normal;font-size:8px;line-height:1;font-weight:950}
.camp-art-hotspot .hotspot-alert.alert-problem{background:#4b1c19!important;color:#ffac96!important;border-color:rgba(255,118,88,.42)!important}
.camp-art-hotspot .hotspot-alert.alert-ready{background:#123428!important;color:#81e7b1!important;border-color:rgba(91,224,163,.38)!important}
.camp-art-hotspot .hotspot-alert.alert-new{background:#102d3c!important;color:#87e9ff!important;border-color:rgba(83,215,242,.38)!important}
.camp-art-hotspot .hotspot-alert.alert-process{background:#241d3d!important;color:#c8b3ff!important;border-color:rgba(176,143,255,.34)!important}
html.native-android .camp-art-hotspot .hotspot-alert{box-shadow:none!important}

/* Expedition crew card */
.map-squad-card{
  width:calc(100% - 24px)!important;
  margin:0 12px 7px!important;
  min-height:58px!important;
  padding:8px 9px!important;
  border-radius:13px!important;
  border:1px solid rgba(127,117,255,.20)!important;
  background:linear-gradient(145deg,rgba(20,22,43,.96),rgba(7,17,26,.96))!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) 13px!important;
  gap:8px!important;
  align-items:center!important;
  text-align:left!important;
  color:#eaf1f8!important;
}
.map-squad-icon{
  width:34px;height:34px;border-radius:11px;display:grid;place-items:center;
  border:1px solid rgba(158,132,255,.27);background:#1d1935;color:#c4adff;font-size:15px;font-weight:950;
}
.map-squad-card>div:nth-child(2){min-width:0;display:flex;flex-direction:column}
.map-squad-card span{font-size:5.6px;font-weight:950;letter-spacing:.09em;color:#a696ef}
.map-squad-card b{margin-top:2px;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-squad-card small{margin-top:3px;font-size:5.5px;color:#8095a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-squad-card>i{font-style:normal;color:#9f8cff;font-size:12px}

/* Loadout modal */
.expedition-loadout-modal{text-align:left}
.exp-loadout-section{margin-top:12px}
.exp-loadout-section>span{display:block;margin-bottom:6px;font-size:6px;font-weight:950;letter-spacing:.1em;color:#788da1}
.exp-char-grid,.exp-pet-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.exp-char-pick,.exp-pet-pick{
  min-height:58px;padding:7px;border-radius:11px;border:1px solid rgba(99,157,188,.11);
  background:#0d1722;color:#d9e6ee;display:grid;grid-template-columns:34px 1fr auto;gap:7px;align-items:center;text-align:left;
}
.exp-pet-pick{grid-template-columns:34px 1fr}
.exp-char-pick>i,.exp-pet-pick>i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#172532;color:#a8d8e8;font-style:normal;font-weight:950}
.exp-char-pick b,.exp-pet-pick b{display:block;font-size:7.5px}.exp-char-pick small,.exp-pet-pick small{display:block;font-size:5.4px;color:#74899b}.exp-char-pick em{font-style:normal;font-size:5.7px;color:#90a8b7}
.exp-char-pick.selected,.exp-pet-pick.selected{border-color:rgba(82,223,164,.34);background:linear-gradient(145deg,rgba(18,58,44,.54),#0d1722)}
.exp-char-pick.selected>i,.exp-pet-pick.selected>i{color:#7fe3af;border:1px solid rgba(86,218,162,.20)}
.exp-char-pick:disabled{opacity:.38}
.exp-style-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.exp-style-grid button{min-height:67px;padding:8px;border-radius:11px;border:1px solid rgba(110,158,188,.1);background:#0d1722;color:#cddbe5;text-align:left;display:grid;grid-template-columns:24px 1fr;gap:6px;align-content:start}
.exp-style-grid button>i{grid-row:1/3;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#172330;color:#9fc7da;font-style:normal}
.exp-style-grid button>b{font-size:7.4px}.exp-style-grid button>small{font-size:5.3px;line-height:1.3;color:#74899b}
.exp-style-grid button.selected{border-color:rgba(166,135,255,.34);background:#1a1730}.exp-style-grid button.selected>i{color:#c4adff;background:#25203f}
.exp-loadout-summary{margin:10px 0;padding:9px;border-left:3px solid #9d83ff;border-radius:9px;background:#121527;display:flex;flex-direction:column}
.exp-loadout-summary span{font-size:5.7px;color:#ae99ff;font-weight:950;letter-spacing:.09em}.exp-loadout-summary b{font-size:8px;margin-top:3px}.exp-loadout-summary small{font-size:6px;color:#8296a9;margin-top:2px}
.expedition-squad-impact{margin:8px 0;padding:9px;border-radius:11px;border:1px solid rgba(162,132,255,.18);background:#121426;display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center}
.expedition-squad-impact>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#221c3a;color:#c5adff;font-size:14px}
.expedition-squad-impact>div{display:flex;min-width:0;flex-direction:column}.expedition-squad-impact small{font-size:5.5px;color:#9a88df;font-weight:950}.expedition-squad-impact b{font-size:7.7px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expedition-squad-impact em{font-size:5.5px;font-style:normal;color:#778da0;margin-top:3px}
.expedition-squad-impact>button{padding:6px 7px;border-radius:8px;border:1px solid rgba(159,130,255,.22);background:#1d1833;color:#c7b1ff;font-size:5.8px;font-weight:900}

@media(max-width:390px){
  .map-squad-card{width:calc(100% - 16px)!important;margin-left:8px!important;margin-right:8px!important}
  .exp-char-grid,.exp-pet-grid{grid-template-columns:1fr}
}


.character-event-trust{
  margin:10px 0;padding:9px 10px;border-left:3px solid #9d83ff;border-radius:9px;
  background:#151429;display:flex;flex-direction:column;gap:3px;text-align:left;
}
.character-event-trust span{font-size:5.8px;font-weight:950;letter-spacing:.1em;color:#ad99ff}
.character-event-trust b{font-size:7px;line-height:1.4;color:#cfd7e4}


/* =========================================================
   PULSE 1.30 — expedition consequences & field reports
   ========================================================= */
.map-report-card{
  width:calc(100% - 24px)!important;margin:0 12px 7px!important;padding:8px 9px!important;
  min-height:54px;border-radius:13px;border:1px solid rgba(79,163,188,.15);
  background:linear-gradient(145deg,rgba(8,24,31,.96),rgba(7,15,23,.96));
  display:grid;grid-template-columns:34px minmax(0,1fr) 12px;gap:8px;align-items:center;text-align:left;color:#dceaf1;
}
.map-report-card>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#10252d;color:#7de0c0;font-size:13px;font-weight:950}
.map-report-card>div{min-width:0;display:flex;flex-direction:column}
.map-report-card small{font-size:5.4px;letter-spacing:.09em;font-weight:950;color:#7898a5}
.map-report-card b{font-size:7.1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.map-report-card em{font-size:5.4px;font-style:normal;color:#6e8796;margin-top:3px}
.map-report-card>i{font-style:normal;color:#7ea9bb}.map-report-card.empty{opacity:.72}
.map-report-card.has-report:has(>span:first-child){border-color:rgba(88,190,177,.18)}

.exp-report-list{display:flex;flex-direction:column;gap:7px;margin:12px 0}
.exp-report-row{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:9px;border-radius:11px;border:1px solid rgba(95,147,170,.12);background:#0c1720;text-align:left}
.exp-report-row>span{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#132730;color:#7fe0c0;font-weight:950}
.exp-report-row>div{min-width:0;display:flex;flex-direction:column}.exp-report-row small{font-size:5.2px;color:#6d8b9a;font-weight:950;letter-spacing:.08em}.exp-report-row b{font-size:7.5px;margin-top:2px}.exp-report-row p{font-size:6px;line-height:1.35;color:#99aab6;margin:4px 0 0}.exp-report-row em{font-size:5.4px;font-style:normal;color:#6f8795;margin-top:4px}
.exp-report-row.report-danger{border-color:rgba(255,111,80,.22);background:linear-gradient(145deg,rgba(45,20,18,.78),#0d1720)}.exp-report-row.report-danger>span{background:#3b1d1a;color:#ffab94}
.exp-report-row.report-bonus{border-color:rgba(180,145,255,.22);background:linear-gradient(145deg,rgba(31,25,52,.78),#0d1720)}.exp-report-row.report-bonus>span{background:#271f41;color:#d0b7ff}

.exp-report-result{margin:10px 0;padding:10px;border-radius:12px;border:1px solid rgba(92,170,184,.16);background:#0d1820;text-align:left}
.exp-report-result.report-danger{border-color:rgba(255,111,80,.24);background:linear-gradient(145deg,rgba(46,20,18,.76),#0d1820)}
.exp-report-result.report-bonus{border-color:rgba(180,145,255,.24);background:linear-gradient(145deg,rgba(30,24,50,.82),#0d1820)}
.exp-report-head{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center}.exp-report-head>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#132832;color:#82dfc2;font-size:14px;font-weight:950}.report-danger .exp-report-head>span{background:#421e1a;color:#ffb099}.report-bonus .exp-report-head>span{background:#282043;color:#d1baff}
.exp-report-head>div{display:flex;flex-direction:column}.exp-report-head small{font-size:5.5px;font-weight:950;letter-spacing:.08em;color:#78929f}.exp-report-head b{font-size:8px;margin-top:2px}.exp-report-head em{font-size:5.4px;font-style:normal;color:#718694;margin-top:2px}
.exp-report-result>p{font-size:6.5px;line-height:1.4;color:#a9b7bf;margin:9px 0}
.exp-report-squad,.exp-report-injury,.exp-report-bonus{padding:8px;border-radius:9px;background:#111f28;margin-top:7px;display:flex;flex-direction:column;gap:2px}.exp-report-squad span,.exp-report-injury span,.exp-report-bonus span{font-size:5.3px;letter-spacing:.08em;font-weight:950;color:#7896a3}.exp-report-squad b,.exp-report-injury b,.exp-report-bonus b{font-size:7px}.exp-report-squad small,.exp-report-injury small{font-size:5.5px;line-height:1.35;color:#748a97}.exp-report-injury{background:#2a1717;border:1px solid rgba(255,108,80,.12)}.exp-report-injury span{color:#e88872}.exp-report-bonus{background:#1c1930;border:1px solid rgba(176,145,255,.12)}.exp-report-bonus span{color:#b89cff}

.exp-char-pick u{display:block;text-decoration:none;font-size:5px;color:#617a89;margin-top:2px}
.exp-char-pick.readiness-low{border-color:rgba(255,142,76,.22)!important;background:linear-gradient(145deg,rgba(44,26,18,.7),#0d1722)!important}
.exp-char-pick.readiness-low>i{color:#ffb074!important;background:#352317!important}
@media(max-width:390px){.map-report-card{width:calc(100% - 16px)!important;margin-left:8px!important;margin-right:8px!important}}


/* =========================================================
   PULSE 1.31 — field recovery
   ========================================================= */
.recovery-center{
  margin-top:14px;padding:10px 11px;border-radius:14px;border:1px solid rgba(94,170,197,.14);
  background:linear-gradient(145deg,rgba(11,28,37,.96),rgba(8,18,26,.96));
  display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center
}
.recovery-center.attention{border-color:rgba(255,143,84,.22);background:linear-gradient(145deg,rgba(47,27,18,.72),rgba(8,18,26,.96))}
.recovery-center-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#14302b;color:#85e5b2;font-size:17px;font-weight:950}
.recovery-center.attention .recovery-center-icon{background:#3a2519;color:#ffb479}
.recovery-center>div:last-child{display:flex;flex-direction:column;min-width:0}.recovery-center span{font-size:5.5px;letter-spacing:.09em;font-weight:950;color:#75a2b2}.recovery-center b{font-size:8px;margin-top:2px}.recovery-center small{font-size:5.5px;line-height:1.35;color:#778d9b;margin-top:4px}

.companion-character{grid-template-columns:48px minmax(0,1fr) auto}
.companion-character.recovery-tired{border-color:rgba(255,153,88,.19);background:linear-gradient(145deg,rgba(41,27,18,.54),#0d1722)}
.companion-character.recovery-critical{border-color:rgba(255,90,68,.28);background:linear-gradient(145deg,rgba(54,21,18,.70),#0d1722)}
.character-vitals{display:grid;gap:3px;margin-top:7px}
.character-vitals>span{display:grid;grid-template-columns:20px minmax(34px,1fr) 22px;gap:4px;align-items:center;font-size:5px;color:#738896}
.character-vitals i{height:3px;border-radius:4px;background:#182631;overflow:hidden}.character-vitals i em{display:block;height:100%;background:linear-gradient(90deg,#6cdbac,#43c9eb)}.recovery-tired .character-vitals i em{background:linear-gradient(90deg,#f0a158,#6dc6d9)}.recovery-critical .character-vitals i em{background:linear-gradient(90deg,#e7604c,#ef9c58)}
.character-vitals b{text-align:right;font-size:5.3px}
.character-power strong{display:block;margin-top:4px;font-size:5px;color:#79a3b3;font-weight:800}.recovery-tired .character-power strong{color:#e7a16d}.recovery-critical .character-power strong{color:#f27f69}
.character-recover{grid-column:1/4;margin-top:2px;min-height:39px;padding:6px 8px;border-radius:10px;border:1px solid rgba(255,150,89,.19);background:#251b15;color:#f2c09e;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;text-align:left;align-items:center}
.character-recover>span{font-size:7px;font-weight:950}.character-recover>small{font-size:5.2px;color:#a98c79}.character-recover>em{grid-column:2;grid-row:1/3;font-style:normal;font-size:5.8px;color:#f0c7a8;white-space:nowrap}
.character-ready-mark{grid-column:1/4;margin-top:2px;padding:5px 7px;border-radius:8px;background:#10251d;color:#76d9a6;font-size:5.5px;font-weight:950;text-align:center;letter-spacing:.06em}

.recovery-cross{width:54px;height:54px;margin:0 auto 9px;border-radius:17px;display:grid;place-items:center;background:#143027;border:1px solid rgba(100,220,165,.18);font-size:24px;color:#85e5b2}
.recovery-before-after{display:grid;grid-template-columns:1fr 24px 1fr;gap:6px;align-items:center;margin:12px 0}.recovery-before-after>span{padding:9px;border-radius:10px;background:#101d27;display:flex;flex-direction:column}.recovery-before-after small{font-size:5px;color:#718899;font-weight:950}.recovery-before-after b{font-size:7px;margin-top:3px}.recovery-before-after>i{text-align:center;font-style:normal;color:#77cfa8}
.recovery-cost{margin:8px 0 11px;padding:9px 10px;border-radius:10px;background:#211a15;border:1px solid rgba(255,151,87,.12);display:flex;align-items:center;justify-content:space-between}.recovery-cost span{font-size:5.4px;color:#a7836c;font-weight:950}.recovery-cost b{font-size:7px;color:#efbd98}
.recovery-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:11px 0}.recovery-result-stats span{padding:8px 6px;border-radius:9px;background:#10201f;border:1px solid rgba(94,215,157,.12);font-size:5.5px;color:#7f9d93}.recovery-result-stats b{display:block;margin-top:3px;font-size:11px;color:#86e0b2}

.arena-character-pick em{display:block;margin-top:2px;font-style:normal;font-size:5.2px;color:#617789}
.arena-character-pick.fatigued{border-color:rgba(255,143,84,.18);background:linear-gradient(145deg,rgba(43,27,18,.52),#0d1722)}
.arena-character-pick.fatigued>span{color:#ffb17a;background:#2f2119}


/* =========================================================
   PULSE 1.32 — competitive Arena loop
   ========================================================= */
.arena-season-panel{
  margin-top:10px;padding:10px;border-radius:15px;border:1px solid rgba(255,151,87,.16);
  background:linear-gradient(145deg,rgba(31,22,18,.94),rgba(11,19,28,.97))
}
.arena-season-top{display:grid;grid-template-columns:minmax(0,1fr) 74px;gap:9px;align-items:center}
.arena-season-top>div:first-child{min-width:0;display:flex;flex-direction:column}
.arena-season-top span{font-size:5.4px;letter-spacing:.1em;font-weight:950;color:#d78f63}
.arena-season-top b{font-size:7.4px;margin-top:2px;color:#e7eef4}
.arena-season-top i{display:block;height:4px;margin-top:7px;border-radius:4px;overflow:hidden;background:#231d1b}
.arena-season-top i em{display:block;height:100%;background:linear-gradient(90deg,#ff935d,#9f83ff)}
.arena-streak{height:62px;border-radius:12px;background:#151b25;border:1px solid rgba(255,153,91,.13);display:flex!important;flex-direction:column;align-items:center;justify-content:center}
.arena-streak small{font-size:5px;color:#8a7569;letter-spacing:.1em}.arena-streak strong{font-size:17px;margin:2px 0;color:#ffaf78}.arena-streak em{font-size:5px;font-style:normal;color:#778999}
.arena-weekly{margin-top:8px;padding:8px;border-radius:10px;background:#111a25;border:1px solid rgba(150,127,255,.1);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.arena-weekly>div{display:flex;min-width:0;flex-direction:column}.arena-weekly span{font-size:5.2px;color:#a58be9;font-weight:950}.arena-weekly b{font-size:7px;margin-top:2px}.arena-weekly small{font-size:5.3px;color:#75899a;margin-top:2px}
.arena-weekly button{min-width:72px;padding:7px;border-radius:8px;border:1px solid rgba(174,139,255,.22);background:#211a38;color:#cfb8ff;font-size:6px;font-weight:950}.arena-weekly button:disabled{opacity:.48}

.arena-contracts{margin-top:12px}.arena-contract{min-height:62px;padding:8px;margin-bottom:6px;border-radius:11px;border:1px solid rgba(102,159,188,.1);background:#0d1722;display:grid;grid-template-columns:minmax(0,1fr) 28px 68px;gap:7px;align-items:center}
.arena-contract>div{min-width:0;display:flex;flex-direction:column}.arena-contract span{font-size:5.3px;color:#7d92a3;font-weight:950;letter-spacing:.06em}.arena-contract b{font-size:7.2px;margin-top:2px}.arena-contract small{font-size:5.1px;color:#718596;margin-top:2px}
.arena-contract i{display:block;height:3px;margin-top:5px;border-radius:3px;background:#172532;overflow:hidden}.arena-contract i em{display:block;height:100%;background:#4bcfe9}
.arena-contract>strong{text-align:center;font-size:6px;color:#8ba4b5}.arena-contract>button{padding:7px 5px;border-radius:8px;border:1px solid rgba(93,191,219,.15);background:#102733;color:#9ceaff;font-size:5.6px;font-weight:900}
.arena-contract.ready{border-color:rgba(81,219,160,.22);background:linear-gradient(145deg,rgba(17,49,38,.56),#0d1722)}.arena-contract.ready i em{background:#63dfa4}.arena-contract.ready>button{border-color:rgba(89,220,162,.22);background:#123025;color:#85e4b0}
.arena-contract.claimed{opacity:.62}.arena-contract.claimed>button{background:#131c24;color:#708594;border-color:rgba(255,255,255,.05)}

.arena-battle-result>em{display:block;margin:4px 0 8px;font-size:6px;font-style:normal;color:#ffb079;font-weight:900}
.arena-claim-result{text-align:center}.arena-claim-result .big-number{margin-bottom:8px}
@media(max-width:390px){
  .arena-season-top{grid-template-columns:minmax(0,1fr) 64px}.arena-streak{height:58px}
  .arena-contract{grid-template-columns:minmax(0,1fr) 24px 60px;padding:7px}
  .arena-contract>button{font-size:5.2px;padding:6px 4px}
}


/* =========================================================
   PULSE 1.33 — pet specializations
   ========================================================= */
.pet-spec-state{
  margin-top:7px;padding:6px 7px;border-radius:9px;border:1px solid rgba(106,169,198,.1);
  background:#101c27;display:flex;flex-direction:column;gap:2px
}
.pet-spec-state span{font-size:5.2px!important;letter-spacing:.08em!important;font-weight:950;color:#7592a2!important}
.pet-spec-state b{font-size:6.2px;color:#a9bac5}
.pet-spec-state.ready{border-color:rgba(95,219,164,.22);background:#11291f}.pet-spec-state.ready span{color:#72dda8!important}.pet-spec-state.ready b{color:#b4e7cc}
.pet-spec-state.selected{border-color:rgba(161,132,255,.2);background:#1a1730}.pet-spec-state.selected span{color:#bba4ff!important}.pet-spec-state.selected b{color:#c8c0df}
.pet-spec-state.locked{opacity:.58}
.pet-actions .pet-spec-button{border-color:rgba(166,137,255,.18);background:#1d1931;color:#cab5ff}
.pet-actions .pet-spec-button.new{border-color:rgba(83,221,165,.24);background:#123025;color:#88e5b3}

.pet-specialization-modal{text-align:left}
.pet-spec-hero{display:grid;grid-template-columns:58px 1fr;gap:10px;align-items:center;margin-bottom:11px}
.pet-spec-hero>span{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:radial-gradient(circle,#1d3645,#111825 70%);border:1px solid rgba(113,211,242,.14);font-size:27px;color:#8ce7f7}
.pet-spec-hero small{font-size:5.5px;color:#7d91a1;letter-spacing:.08em}.pet-spec-hero h2{font-size:19px;margin:2px 0 4px}.pet-spec-hero p{margin:0;font-size:6.2px;line-height:1.4;color:#8398a8}
.pet-spec-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.pet-spec-options>button{min-height:142px;padding:9px;border-radius:12px;border:1px solid rgba(102,161,190,.12);background:#0d1722;color:#dce7ef;text-align:left;display:grid;grid-template-columns:34px 1fr;gap:8px;align-content:start}
.pet-spec-options>button>i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#172532;color:#a9d8e8;font-style:normal;font-size:15px}
.pet-spec-options>button>div{min-width:0;display:flex;flex-direction:column}.pet-spec-options span{font-size:5.1px;color:#718c9d;letter-spacing:.09em;font-weight:950}.pet-spec-options b{font-size:8.5px;margin-top:2px}.pet-spec-options small{font-size:5.7px;line-height:1.35;color:#7d91a0;margin-top:4px}.pet-spec-options em{font-size:5.4px;line-height:1.35;font-style:normal;color:#91b6c4;margin-top:6px}
.pet-spec-options>button.selected{border-color:rgba(164,134,255,.34);background:linear-gradient(145deg,#211b38,#101723)}.pet-spec-options>button.selected>i{background:#2b2247;color:#d2bcff}
.pet-spec-cost{margin:9px 0 11px;padding:8px 9px;border-radius:10px;background:#151d27;border:1px solid rgba(164,133,255,.1);display:flex;justify-content:space-between;align-items:center}.pet-spec-cost span{font-size:5.3px;color:#7f8fa0;font-weight:950}.pet-spec-cost b{font-size:6.5px;color:#cbb8ff}
.pet-spec-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:11px 0}.pet-spec-result-stats span{padding:8px 6px;border-radius:9px;background:#17182a;border:1px solid rgba(164,132,255,.12);font-size:5.3px;color:#847b9f}.pet-spec-result-stats b{display:block;margin-top:3px;font-size:9px;color:#cdbbff}

@media(max-width:390px){
  .pet-spec-options{grid-template-columns:1fr}
  .pet-spec-options>button{min-height:104px}
}
