: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}
}
