/* Hex Cascade styles — generated from styles/main.css. Do not edit. */

/* tokens.css */
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;user-select:none;}
:root{
  --bg:#08080f;--surface:#111120;--surface2:#181828;--surface3:#222238;
  --accent:#c05cfc;--accent2:#c05cfc;--gold:#f5c842;--red:#fc5c7d;--teal:#5cf5d4;
  --txt:#f0f0ff;--txt2:#8080a8;--txt3:#44445a;--infect:#39ff14;
  --hub-top-safe:max(env(safe-area-inset-top,0px),8px);
  --hub-chrome-h:clamp(34px,9vw,40px);
  --hub-top-band:calc(var(--hub-top-safe) + var(--hub-chrome-h) + 8px);
  --game-sticky-top-band:calc(max(env(safe-area-inset-top,0px),clamp(2px,0.5vh,6px)) + clamp(34px,9vw,40px) + clamp(2px,0.5vh,6px));
  --game-ad-bar-reserve:50px;
  --hub-panel-top:calc(var(--hub-top-safe) + var(--hub-chrome-h) - 6px);
  --hub-nav-h:calc(1px + 10px + 78px + max(env(safe-area-inset-bottom,0px),10px));
  --modal-card-pad-y:clamp(20px,4.5vh,28px);
  --modal-card-pad-x:clamp(18px,5vw,28px);
  --modal-card-btn-gap:clamp(20px,4.5vh,28px);
  --modal-card-radius:26px;
  --scrim-heavy:rgba(8,8,15,.96);
  --scrim-strong:rgba(8,8,15,.92);
  --scrim-medium:rgba(8,8,15,.88);
  --scrim-light:rgba(8,8,15,.82);
  --scrim-bonus:rgba(8,8,16,.82);
  --scrim-bonus-intro:rgba(8,8,16,.55);
  --bg-bonus:#080810;
  --home-logo-pad:10px;
}
.logo-tm{font-family:'DM Sans',system-ui,-apple-system,sans-serif;font-size:.34em;font-weight:600;
  line-height:1;letter-spacing:0;text-transform:none;color:#fff;-webkit-text-fill-color:#fff;
  background:none;-webkit-background-clip:border-box;background-clip:border-box;
  vertical-align:super;margin-left:.08em;white-space:nowrap;}

/* base.css */
html,body{
  width:100%;height:100%;
  background:#000;
  overflow:hidden;
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
}
#app{
  /* Fill visible viewport; --app-h synced from visualViewport (iOS store return). */
  width:100%;
  max-width:480px;
  height:var(--app-h,100dvh);
  min-height:var(--app-h,100dvh);
  min-height:-webkit-fill-available;
  margin:0 auto;
  background:var(--bg);
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  font-family:'DM Sans',sans-serif;
}
#ambientHexBg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
/* On wide screens, give the app a card-like appearance */
@media(min-width:500px){
  body{background:#000;}
  #app{border-radius:0;box-shadow:0 0 80px rgba(124,92,252,.2);}
}

.screen{position:absolute;inset:0;display:flex;flex-direction:column;transition:opacity .22s,transform .22s;z-index:10;}
.screen.hidden{opacity:0;pointer-events:none;transform:scale(0.97);}
.game-overlay{z-index:15;}

/* hub.css */
/* ── HUB (5-panel swipe) ── */
#hubShell{position:relative;flex:1;min-height:0;width:100%;display:flex;flex-direction:column;z-index:1;background:var(--bg);}
#hubShell.hub-ambient-visible{background:transparent;}
#hubShell.hub-ambient-visible .hub-panel{background:transparent;}
#hubShell.hidden{display:none;}
.hidden{display:none!important;}
.hub-chrome{position:absolute;top:0;left:0;right:0;padding:var(--hub-top-safe) clamp(12px,3vw,16px) 8px;
  display:none;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;z-index:20;}
.hub-chrome.home-visible,.hub-chrome.journey-visible{display:grid;}
.hub-chrome.home-visible .hub-chrome-journey-only{display:none!important;}
.hub-chrome.journey-visible .hub-chrome-home-only{display:none!important;}
#hubShell.journey-backdrop{background:transparent;}
#hubShell.journey-backdrop .hub-chrome{pointer-events:auto;}
/* Journey backdrop: hide hub panels only during level select / journey overlays (not pointer-events:none on shell). */
#hubShell.journey-backdrop .hub-viewport{display:none!important;}
#hubNav.hub-nav-stowed{display:none!important;}
.hub-chrome-side{display:flex;align-items:center;min-width:clamp(34px,9vw,40px);}
.hub-chrome-left{justify-self:start;}
.hub-chrome-center{display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.6vw,8px);min-width:0;width:100%;}
.hub-chrome-center>.shard-bar,.hub-chrome-center>.lives-bar,.hub-chrome-center>.streak-bar{flex-shrink:0;}
.hub-chrome-score{flex:0 0 auto;text-align:center;min-width:0;pointer-events:none;overflow:hidden;}
.hub-chrome-bonus-active .hub-chrome-score{flex:1 1 auto;max-width:none;}
.hub-chrome-bonus-active .streak-bar{display:none!important;}
.hub-chrome-score.hidden{display:none!important;}
.hub-chrome-score-lbl{font-size:clamp(9px,2.5vw,11px);color:var(--txt3);letter-spacing:.1em;text-transform:uppercase;line-height:1.2;}
.hub-chrome-score-num{font-family:'Syne',sans-serif;font-size:clamp(22px,7vw,32px);font-weight:800;color:var(--txt);line-height:1;}
#hubJourneyScoreWrap .hub-chrome-score-num{font-size:clamp(17px,5vw,24px);letter-spacing:.01em;white-space:nowrap;}
.hub-chrome-right{justify-self:end;}
.hub-chrome-btn{width:clamp(34px,9vw,40px);height:clamp(34px,9vw,40px);border-radius:10px;
  background:var(--surface);border:1.5px solid var(--surface3);cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--txt2);
  transition:border-color .2s,color .2s,transform .1s;}
.hub-chrome-btn:active{transform:scale(.94);}
.hub-chrome-btn svg{width:18px;height:18px;display:block;}
.hub-chrome-btn.profile-avatar{font-family:'Syne',sans-serif;font-size:clamp(11px,3vw,13px);
  font-weight:800;color:var(--accent);background:rgba(192,92,252,.1);border-color:rgba(192,92,252,.35);
  overflow:hidden;padding:0;}
.hub-chrome-btn.profile-avatar.has-photo{border-radius:50%;}
.hub-chrome-btn.profile-avatar .profile-avatar-photo{width:100%;height:100%;object-fit:cover;display:block;}
.hub-chrome-btn.profile-avatar.has-photo .profile-avatar-photo{border-radius:50%;}
.hub-chrome-btn.profile-avatar #hubProfileInitial[hidden]{display:none!important;}
#hubNav.hub-nav{position:relative;flex-shrink:0;display:flex;width:100%;border-top:1px solid var(--surface3);
  background:var(--surface);padding:10px 4px max(env(safe-area-inset-bottom,0px),10px);
  z-index:6;pointer-events:auto;box-sizing:border-box;}
.hub-nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;
  padding:4px 2px 2px;background:none;border:none;color:var(--txt3);cursor:pointer;
  font-family:'DM Sans',sans-serif;font-size:10px;font-weight:600;letter-spacing:.03em;
  text-transform:uppercase;transition:color .2s;min-height:78px;-webkit-tap-highlight-color:transparent;}
.hub-nav-icon{width:clamp(44px,11vw,50px);height:clamp(44px,11vw,50px);border-radius:14px;
  position:relative;
  background:var(--surface2);border:1.5px solid var(--surface3);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background .2s,border-color .2s,transform .1s,box-shadow .2s;}
.hub-nav-btn svg{width:clamp(24px,6vw,28px);height:clamp(24px,6vw,28px);flex-shrink:0;display:block;}
.hub-nav-btn.active{color:var(--accent);}
.hub-nav-btn.active .hub-nav-icon{background:rgba(192,92,252,.12);border-color:rgba(192,92,252,.45);
  box-shadow:0 4px 14px rgba(192,92,252,.2);}
.hub-nav-btn.home .hub-nav-icon{width:clamp(48px,12vw,54px);height:clamp(48px,12vw,54px);border-radius:16px;}
.hub-nav-btn.home.active{color:#fff;}
.hub-nav-btn.home.active .hub-nav-icon{background:linear-gradient(145deg,rgba(124,92,252,.35),rgba(192,92,252,.2));
  border-color:var(--accent);box-shadow:0 6px 18px rgba(124,92,252,.35);}
.hub-nav-btn:active .hub-nav-icon{transform:scale(.94);}
.hub-nav-badge{position:absolute;top:4px;right:4px;width:10px;height:10px;border-radius:50%;
  background:var(--gold);border:2px solid var(--surface);box-shadow:0 0 8px rgba(245,200,66,.55);pointer-events:none;}
.shard-bar{display:flex;align-items:center;gap:5px;background:var(--surface);border:1.5px solid var(--surface3);
  border-radius:20px;padding:4px 10px 4px 6px;font-family:'Syne',sans-serif;font-size:clamp(11px,3vw,13px);
  font-weight:700;color:#fff;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .1s,border-color .2s;}
.shard-bar:active{transform:scale(.96);}
.hub-chrome:not(.home-visible):not(.journey-visible) .shard-bar{pointer-events:none;}
.lives-bar{display:flex;align-items:center;gap:4px;background:var(--surface);border:1.5px solid var(--surface3);
  border-radius:20px;padding:4px 10px 4px 6px;font-family:'Syne',sans-serif;font-size:clamp(11px,3vw,13px);
  font-weight:700;color:#fff;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .1s,border-color .2s;}
.lives-bar:active{transform:scale(.96);}
.hub-chrome:not(.home-visible):not(.journey-visible) .lives-bar{pointer-events:none;}
.streak-bar{display:flex;align-items:center;gap:4px;background:var(--surface);border:1.5px solid var(--surface3);
  border-radius:20px;padding:4px 10px 4px 6px;font-family:'Syne',sans-serif;font-size:clamp(11px,3vw,13px);
  font-weight:700;color:#fff;flex-shrink:0;cursor:pointer;-webkit-tap-highlight-color:transparent;
  transition:transform .1s,border-color .2s;}
.streak-bar:active{transform:scale(.96);}
.streak-bar.streak-ready{border-color:rgba(245,200,66,.55);box-shadow:0 0 10px rgba(245,200,66,.15);}
.hub-chrome:not(.home-visible):not(.journey-visible) .streak-bar{pointer-events:none;}
.streak-ico{font-size:clamp(13px,3.6vw,15px);line-height:1;flex-shrink:0;}
.lives-bar.empty{border-color:rgba(252,92,125,.45);color:var(--red);}
.lives-regen-sep{color:var(--txt3);font-weight:600;font-size:clamp(10px,2.8vw,12px);margin:0 2px;}
.lives-regen-time{font-variant-numeric:tabular-nums;color:var(--txt2);font-size:clamp(10px,2.8vw,12px);
  font-weight:600;letter-spacing:.02em;}
.lives-regen-sep.hidden,.lives-regen-time.hidden{display:none;}
.lives-regen-time.lives-inf-time{color:var(--teal);}
.lives-bar.inf-active{border-color:rgba(92,245,212,.45);}
.hc-heart,.hc-heart path{fill:var(--red);}
.life-ico{width:16px;height:16px;flex-shrink:0;}
.shard-ico{width:18px;height:18px;flex-shrink:0;}
.hub-viewport{flex:1;min-height:0;overflow:hidden;touch-action:pan-y pinch-zoom;}
.hub-track{display:flex;height:100%;will-change:transform;transform:translateX(-200%);transition:transform .38s cubic-bezier(.25,.8,.25,1);}
.hub-panel{flex:0 0 100%;width:100%;height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;}
.hub-panel:not(#panelHome){padding-top:var(--hub-panel-top);}
.hub-panel-title{font-family:'Syne',sans-serif;font-size:clamp(16px,4.5vw,20px);font-weight:800;color:var(--txt);
  padding:4px clamp(12px,3vw,16px) 10px;}
.hub-panel:not(#panelHome)>.hub-panel-title{padding-top:0;}
#panelCodex{display:flex;flex-direction:column;overflow:hidden;}
#panelCodex .hub-panel-title{flex-shrink:0;}
.hub-lock{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:24px;text-align:center;gap:12px;}
.hub-lock-ico{font-size:48px;opacity:.5;}
.hub-lock-msg{font-size:clamp(13px,3.5vw,15px);color:var(--txt2);line-height:1.45;max-width:280px;}
.hub-lock-prog{width:min(260px,80vw);height:6px;background:var(--surface2);border-radius:6px;overflow:hidden;}
.hub-lock-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:6px;transition:width .4s;}
.hub-lock-prog-txt{font-size:11px;color:var(--txt3);}
.hub-lock-prog--complete .hub-lock-fill{background:linear-gradient(90deg,var(--teal),var(--accent));}
.hub-lock-prog-txt--complete{color:var(--teal);font-weight:600;}
.hub-signin-gate{gap:12px;}
.hub-signin-gate .hub-lock-msg{margin-bottom:2px;}
.hub-signin-gate .hub-lock-prog{margin-top:4px;margin-bottom:0;}
.hub-signin-gate .hub-lock-prog-txt--complete{margin-top:4px;margin-bottom:6px;}
.hub-signin-avatar.profile-avatar-lg.is-guest-silhouette{color:rgba(255,255,255,.82);margin-bottom:4px;cursor:default;}
.hub-signin-sub{font-size:clamp(11px,3vw,13px);color:var(--txt2);line-height:1.45;margin:0;max-width:300px;text-align:center;}
.hub-signin-btn{max-width:240px;margin:0 auto;}
.profile-avatar-lg.is-guest-silhouette,
.hub-chrome-btn.profile-avatar.is-guest-silhouette{color:rgba(255,255,255,.82);}
.profile-avatar-lg.is-guest-silhouette{font-size:0;}
.profile-avatar-lg .profile-avatar-silhouette,
.hub-chrome-btn.profile-avatar .profile-avatar-silhouette{width:36px;height:36px;display:block;}
.hub-chrome-btn.profile-avatar .profile-avatar-silhouette{width:clamp(14px,4vw,18px);height:clamp(14px,4vw,18px);}

/* store.css */
/* Store panel */
.store-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:4px clamp(12px,3vw,16px) 10px;flex-shrink:0;}
.store-panel-head .hub-panel-title{padding:0;flex:1;min-width:0;}
.store-shard-bar{display:flex;align-items:center;gap:5px;background:var(--surface);border:1.5px solid var(--surface3);
  border-radius:20px;padding:4px 10px 4px 6px;font-family:'Syne',sans-serif;font-size:clamp(11px,3vw,13px);
  font-weight:700;color:#fff;flex-shrink:0;pointer-events:none;
  transition:transform .1s,border-color .2s;}
.store-shard-ico{width:18px;height:18px;flex-shrink:0;display:block;}
.store-scroll{flex:1;min-height:0;overflow-y:auto;padding:0 clamp(10px,3vw,14px) clamp(16px,4vh,24px);
  display:flex;flex-direction:column;gap:10px;}
#panelStore{overflow:hidden;}
.store-section{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--txt3);
  margin:8px 0 4px;padding-left:2px;}
.bundle-card{display:block;width:100%;text-align:left;font-family:inherit;color:inherit;
  appearance:none;-webkit-appearance:none;background:var(--surface);border:1.5px solid var(--surface3);border-radius:16px;padding:12px 14px;
  cursor:pointer;transition:border-color .15s,transform .1s;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.bundle-card:active{transform:scale(.98);}
.bundle-card.featured{border-color:var(--accent);background:linear-gradient(135deg,rgba(124,92,252,.12),rgba(192,92,252,.05));}
.bundle-card.contextual-pick,.shard-pack-btn.contextual-pick{border-color:var(--gold);box-shadow:0 0 0 1px rgba(245,200,66,.35);}
.fail-shop-banner{background:linear-gradient(135deg,rgba(245,200,66,.14),rgba(252,152,66,.06));
  border:1.5px solid rgba(245,200,66,.45);border-radius:14px;padding:12px 14px;display:flex;
  flex-direction:column;gap:10px;margin-bottom:4px;}
.fail-shop-banner-text{font-size:clamp(12px,3.2vw,14px);color:var(--txt2);line-height:1.4;}
.fail-shop-banner-text strong{color:var(--gold);}
.fail-shop-return{align-self:flex-start;background:var(--gold);color:#1a1200;border:none;border-radius:10px;
  padding:8px 14px;font-family:'DM Sans',sans-serif;font-size:clamp(12px,3.2vw,14px);font-weight:700;cursor:pointer;}
.fail-shop-return:active{transform:scale(.97);}
.bundle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.bundle-name{font-family:'Syne',sans-serif;font-size:clamp(14px,4vw,16px);font-weight:800;color:var(--txt);}
.bundle-badge{font-size:9px;font-weight:800;letter-spacing:.08em;padding:3px 8px;border-radius:6px;
  background:var(--accent);color:#fff;display:inline-block;margin-left:6px;vertical-align:middle;}
.bundle-badge.ultimate{background:linear-gradient(135deg,#f5c842,#fc9842);color:#000;}
.bundle-adfree{font-size:9px;font-weight:600;color:var(--accent2);letter-spacing:.04em;margin-top:2px;}
.bundle-rewards{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;}
.bundle-items{display:flex;flex-wrap:wrap;gap:6px;}
.bundle-items-shards{flex-wrap:nowrap;}
.bundle-item{font-size:11px;color:#fff;background:var(--surface2);border-radius:9px;padding:6px 10px;
  display:flex;align-items:center;gap:6px;}
.bundle-shard-ico,.bundle-pu-ico,.bundle-life-ico{width:20px;height:20px;flex-shrink:0;display:block;}
.bundle-item--lives{color:#fff;}
.bundle-inf-sym{font-weight:700;font-size:13px;line-height:1;color:#fff;}
.bundle-price{font-family:'Syne',sans-serif;font-size:clamp(14px,4vw,17px);font-weight:800;color:var(--gold);
  white-space:nowrap;flex-shrink:0;}
.shard-pack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,2vw,10px);}
.shard-pack-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  background:var(--surface);border:1.5px solid var(--surface3);border-radius:14px;
  padding:clamp(10px,2.5vw,14px) clamp(6px,1.5vw,8px);cursor:pointer;position:relative;
  min-height:clamp(76px,20vw,88px);text-align:center;font-family:'DM Sans',sans-serif;
  transition:border-color .15s,transform .1s;}
.shard-pack-btn:active{transform:scale(.97);}
.shard-pack-btn.best{border-color:var(--gold);background:linear-gradient(160deg,rgba(245,200,66,.12),rgba(252,152,66,.05));}
.shard-pack-badge{position:absolute;top:5px;left:50%;transform:translateX(-50%);
  font-size:7px;font-weight:800;letter-spacing:.06em;padding:2px 6px;border-radius:5px;
  background:linear-gradient(135deg,#f5c842,#fc9842);color:#000;white-space:nowrap;}
.shard-pack-btn.best{padding-top:clamp(18px,4.5vw,22px);}
.shard-pack-ico{width:26px;height:26px;flex-shrink:0;}
.shard-pack-amt{font-family:'Syne',sans-serif;font-size:clamp(16px,4.5vw,22px);font-weight:700;color:#fff;line-height:1.15;}
.shard-pack-price{font-size:clamp(11px,3.1vw,14px);font-weight:600;color:var(--gold);}
.store-footer-sub .shard-amt,.streak-modal-sub .shard-amt{display:inline-flex;align-items:center;gap:3px;vertical-align:middle;}
.shard-amt{display:inline-flex;align-items:center;gap:3px;vertical-align:middle;}
.shard-amt-ico,.streak-btn-shard-ico{width:12px;height:12px;flex-shrink:0;}
.lives-action-btn .streak-btn-shard-ico{width:13px;height:13px;}
.lives-action-btn.lives-action-btn-has-pill{flex-direction:column;gap:6px;padding:12px 16px;}
.lives-action-btn-has-pill .store-footer-btn-stack{display:flex;flex-direction:column;align-items:center;gap:6px;}
.lives-action-btn-has-pill .store-footer-btn-label{font-family:'Syne',sans-serif;font-size:11px;font-weight:800;line-height:1.1;}
.lives-action-btn-has-pill .bundle-item{pointer-events:none;}
.store-extras{display:flex;flex-direction:column;gap:8px;}
.store-extras-quick{display:flex;gap:8px;}
.store-quick-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
  padding:12px 8px;border-radius:14px;border:1.5px solid var(--surface3);background:var(--surface2);
  cursor:pointer;font-family:'DM Sans',sans-serif;-webkit-tap-highlight-color:transparent;
  transition:transform .1s,border-color .2s,opacity .2s;}
.store-quick-btn:active:not(:disabled){transform:scale(.97);}
.store-quick-btn:disabled{opacity:.45;pointer-events:none;cursor:not-allowed;}
.store-quick-sub.store-quick-full{color:var(--gold);}
.store-quick-btn.store-quick-freeze{border-color:rgba(92,212,245,.55);color:#5cd4f5;}
.store-quick-btn.store-quick-life{border-color:rgba(252,92,125,.45);color:var(--red);}
.store-quick-ico{font-size:clamp(22px,5.5vw,26px);line-height:1;display:flex;align-items:center;justify-content:center;}
.store-quick-ico .life-ico{width:clamp(22px,5.5vw,26px);height:clamp(22px,5.5vw,26px);}
.store-quick-text{display:flex;flex-direction:column;align-items:center;gap:3px;text-align:center;}
.store-quick-title{font-family:'DM Sans',sans-serif;font-size:clamp(10px,2.8vw,12px);font-weight:600;line-height:1.2;color:var(--txt);}
.store-quick-count{font-family:'Syne',sans-serif;font-size:clamp(11px,3vw,13px);font-weight:800;line-height:1.2;}
.store-quick-sub{display:flex;align-items:center;justify-content:center;gap:4px;font-size:10px;font-weight:600;color:var(--gold);}
.store-quick-sub .store-quick-shard-ico{width:12px;height:12px;flex-shrink:0;}
.store-footer-card{background:var(--surface2);border-radius:14px;padding:12px 14px;border:1px solid var(--surface3);}
.store-footer-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.store-footer-title{font-size:clamp(12px,3.2vw,14px);font-weight:600;color:var(--txt);}
.store-footer-title-row{display:flex;align-items:center;gap:8px;min-width:0;}
.store-footer-title-text{min-width:0;line-height:1.25;}
.store-footer-ico{flex-shrink:0;display:flex;align-items:center;justify-content:center;line-height:1;}
.store-footer-ico-emoji{font-size:clamp(18px,5vw,22px);}
.store-footer-ico-play{color:var(--gold);}
.store-footer-ico-play .modal-purchase-play{width:clamp(18px,5vw,22px);height:clamp(18px,5vw,22px);display:block;}
.store-footer-title .store-streak-days{color:var(--gold);font-weight:700;}
.store-footer-sub{font-size:10px;color:var(--txt3);margin-top:2px;line-height:1.45;}
.store-footer-body{flex:1;min-width:0;}
.store-footer-rewards{margin-top:8px;}
.store-footer-rewards.hidden{display:none;}
.store-footer-reward-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.store-footer-reward-row .bundle-items{margin-top:0;}
.store-footer-reward-msg{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:400;color:var(--txt2);line-height:1.35;}
.store-footer-cooldown-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.store-footer-cooldown-row .bundle-items{margin-top:0;}
.store-footer-cooldown-msg{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:300;color:var(--txt2);line-height:1.35;}
.store-footer-btn-pills{gap:5px;}
.store-extras-shard-pill{background:var(--surface)!important;border:1px solid var(--surface3);color:#fff;font-weight:600;}
.store-footer-cooldown-row .store-extras-shard-pill--milestone .store-extras-shard-amt,
.store-footer-reward-row .store-extras-shard-pill--milestone .store-extras-shard-amt,
.store-footer-btn-pills .store-extras-shard-pill--milestone .store-extras-shard-amt{color:var(--gold);font-weight:700;}
.store-footer-btn.store-footer-btn-has-pill{display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:8px 10px;min-width:5.75em;min-height:auto;line-height:1.1;}
.store-footer-btn-has-pill .store-footer-btn-stack{display:flex;flex-direction:column;align-items:center;gap:6px;}
.store-footer-btn-has-pill .store-footer-btn-label{font-family:'Syne',sans-serif;font-size:11px;font-weight:800;line-height:1.1;}
.store-footer-btn-has-pill .bundle-item{pointer-events:none;}
.store-footer-btn.store-footer-btn-rich{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
  padding:8px 12px;min-width:5.5em;min-height:44px;text-align:center;}
.store-footer-btn.store-footer-btn-rich .modal-purchase-title{font-family:'Syne',sans-serif;font-size:11px;font-weight:800;line-height:1.15;}
.store-footer-btn.store-footer-btn-rich .modal-purchase-sub{font-size:9px;font-weight:600;opacity:.92;line-height:1.2;}
.store-footer-btn{flex-shrink:0;align-self:center;box-sizing:border-box;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;
  border-radius:10px;padding:10px 16px;min-height:40px;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer;font-family:'DM Sans',sans-serif;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.store-footer-btn.disabled{opacity:.45;pointer-events:none;}
.store-footer-btn.store-footer-btn-countdown,.store-footer-btn.store-footer-btn-waiting{font-variant-numeric:tabular-nums;letter-spacing:.02em;min-width:4.5em;padding-left:10px;padding-right:10px;}
.store-quick-sub.store-quick-regen{color:var(--teal);}
.store-streak-milestone{font-size:10px;color:var(--txt2);margin-top:2px;line-height:1.35;}
.store-streak-freeze{font-size:10px;color:var(--txt3);margin-top:2px;}
.ach-celebrate-pu{display:inline-flex;align-items:center;gap:4px;margin:0 6px;}
.ach-celebrate-pu-ico{width:28px;height:28px;}
.ach-celebrate-pu-n{font-size:14px;font-weight:700;color:var(--txt);}
.store-countdown{font-size:10px;color:var(--teal);margin-top:6px;}
.store-actions{margin-top:4px;padding-top:8px;display:flex;flex-direction:column;gap:4px;}
.store-actions .restore-row{text-align:center;padding:clamp(10px,2.5vh,14px) 0;font-size:clamp(10px,3vw,13px);color:var(--txt3);}
.store-actions .restore-link{display:inline;background:none;border:none;padding:0;margin:0;font:inherit;font-size:inherit;line-height:inherit;
  color:var(--accent);cursor:pointer;text-decoration:underline;text-underline-offset:2px;-webkit-tap-highlight-color:transparent;
  touch-action:manipulation;}
.store-actions .restore-link:active{opacity:.85;}

/* leaderboard.css */
#panelLeaderboard{overflow:hidden;}
.lb-hint{font-size:clamp(10px,2.8vw,12px);color:var(--txt3);line-height:1.45;margin:0 clamp(12px,3vw,16px) 10px;}
.lb-tabs{display:flex;gap:8px;padding:0 clamp(12px,3vw,16px) 10px;position:relative;z-index:2;flex-shrink:0;}
.lb-tab{flex:1;padding:10px 8px;border-radius:10px;background:var(--surface);border:1.5px solid var(--surface3);
  font-size:12px;font-weight:600;color:var(--txt2);cursor:pointer;text-align:center;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;z-index:1;}
.lb-tab.active{border-color:var(--accent);color:var(--accent);background:rgba(124,92,252,.1);}
.lb-list{flex:1;overflow-y:auto;padding:0 clamp(10px,3vw,14px) 16px;min-height:0;}
.lb-row{display:flex;align-items:center;gap:14px;padding:10px 12px;background:var(--surface);
  border-radius:12px;margin-bottom:6px;font-size:clamp(11px,3vw,13px);}
.lb-row.me{background:rgba(124,92,252,.15);border:1px solid var(--accent);}
.lb-rank{font-family:'Syne',sans-serif;font-weight:800;color:var(--txt3);width:34px;flex-shrink:0;text-align:right;padding-right:6px;}
.lb-row.me .lb-rank{color:var(--accent);}
.lb-name{flex:1;min-width:0;color:var(--txt);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.lb-stats{display:flex;align-items:flex-end;gap:clamp(14px,4vw,22px);flex-shrink:0;}
.lb-stat-stack{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:52px;}
.lb-stat-label{font-size:clamp(9px,2.5vw,10px);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;line-height:1.2;}
.lb-stat-label.gold{color:var(--gold);}
.lb-stat-val{font-family:'Syne',sans-serif;font-size:clamp(17px,4.8vw,22px);font-weight:800;color:#fff;line-height:1.1;}
.lb-stat-val.gold{color:var(--gold);}
.lb-stat-val.diff-4{color:var(--teal);}
.lb-stat-val.diff-5{color:var(--gold);}
.lb-stat-val.diff-6{color:#e879f9;}
.lb-row.me .lb-stat-val{color:#fff;}
.lb-row.me .lb-stat-val.gold{color:var(--gold);}
.lb-row.me .lb-stat-val.diff-4{color:var(--teal);}
.lb-row.me .lb-stat-val.diff-5{color:var(--gold);}
.lb-row.me .lb-stat-val.diff-6{color:#e879f9;}
.lb-empty{padding:24px 16px;text-align:center;color:var(--txt3);font-size:clamp(12px,3.2vw,14px);line-height:1.45;}

/* home-panel.css */
/* Home panel */
#panelHome{align-items:center;justify-content:center;position:relative;overflow-x:clip;overflow-y:hidden;background:transparent;}
#panelHome .home-inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;
  justify-content:center;box-sizing:border-box;width:100%;min-width:0;min-height:100%;
  container-type:inline-size;
  padding:var(--hub-top-band) var(--home-logo-pad) clamp(12px,3vh,20px);}

/* overlays.css */
/* Settings overlay */
.settings-overlay{position:absolute;inset:0;z-index:30;background:var(--bg);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.25,.8,.25,1);pointer-events:none;}
.settings-overlay.open{transform:translateX(0);pointer-events:auto;}
.profile-overlay{position:absolute;inset:0;z-index:30;background:var(--bg);display:flex;flex-direction:column;
  transform:translateX(-100%);transition:transform .35s cubic-bezier(.25,.8,.25,1);pointer-events:none;}
.profile-overlay.open{transform:translateX(0);pointer-events:auto;}
.profile-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:24px 16px 20px;
  border-bottom:1px solid var(--surface2);margin-bottom:8px;}
.profile-avatar-lg{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,rgba(124,92,252,.35),rgba(192,92,252,.15));
  border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;
  font-family:'Syne',sans-serif;font-size:28px;font-weight:800;color:#fff;margin-bottom:12px;overflow:hidden;}
.profile-avatar-lg.has-photo{background:transparent;}
.profile-avatar-lg.is-guest-silhouette{font-size:0;color:rgba(255,255,255,.82);}
.profile-avatar-lg .profile-avatar-photo{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%;}
.profile-avatar-lg .profile-avatar-silhouette{width:36px;height:36px;display:block;}
.profile-name{font-family:'Syne',sans-serif;font-size:clamp(18px,5vw,22px);font-weight:800;color:var(--txt);margin-bottom:4px;}
.profile-meta{font-size:clamp(11px,3vw,13px);color:var(--txt3);}
.profile-records{margin:0 4px 16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.profile-records-block.hidden{display:none;}
.profile-record-tile{background:var(--surface);border:1.5px solid var(--surface3);border-radius:14px;
  padding:10px 6px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;min-height:88px;}
.profile-record-ico{display:flex;align-items:center;justify-content:center;margin-bottom:6px;min-height:24px;color:var(--txt2);}
.profile-record-ico .stat-ico,.profile-record-ico .shard-ico{width:22px;height:22px;display:block;}
.profile-record-ico--journey{color:#5eead4;}
.profile-record-ico--shards{color:#c05cfc;}
.profile-record-ico--endless{color:var(--accent);}
.profile-record-ico--cluster{color:#f5c842;}
.profile-record-ico--cells{color:#5cf5d4;}
.profile-record-ico--runs{color:var(--accent);}
.profile-record-ico--stars{color:#f5c842;}
.profile-record-ico--boss{color:#fc9842;}
.profile-record-ico--longest{color:#94a3b8;}
.profile-record-ico--bonus-hex{color:#7c5cfc;}
.profile-record-ico--bonus-bounce{color:#fc5c7d;}
.profile-record-ico--bonus-space{color:#5cf5d4;}
.profile-record-v{font-family:'Syne',sans-serif;font-size:clamp(14px,4vw,17px);font-weight:700;color:#fff;line-height:1.1;}
.profile-record-l{font-size:8px;color:var(--txt3);letter-spacing:.04em;text-transform:uppercase;margin-top:4px;line-height:1.25;padding:0 2px;}
.profile-friend-section{padding:4px 4px 0;margin-bottom:4px;}
.profile-friend-section.hidden{display:none;}
.profile-friend-hint{font-size:clamp(11px,3vw,13px);color:var(--txt2);line-height:1.45;margin:-4px 0 10px;}
.profile-friend-row{display:flex;align-items:center;gap:10px;}
.profile-friend-code{flex:1;min-width:0;font-family:'Syne',sans-serif;font-size:clamp(18px,5vw,22px);font-weight:800;
  letter-spacing:.12em;color:#fff;background:var(--surface);border:1.5px solid var(--surface3);border-radius:12px;
  padding:12px 14px;text-align:center;}
.profile-friend-copy{flex-shrink:0;padding:12px 16px;border-radius:12px;border:1.5px solid var(--accent);
  background:rgba(124,92,252,.12);color:var(--accent);font-family:'DM Sans',sans-serif;
  font-size:clamp(12px,3.2vw,14px);font-weight:700;cursor:pointer;}
.profile-friend-copy:active{opacity:.85;}
.profile-friend-copy:disabled{opacity:.55;cursor:wait;}
.profile-friend-copy[hidden]{display:none;}
.profile-edit-row{padding:8px 4px 0;}
.profile-name-input{width:100%;background:var(--surface2);border:1.5px solid var(--surface3);border-radius:12px;
  padding:12px 14px;color:var(--txt);font-family:'DM Sans',sans-serif;font-size:clamp(13px,3.5vw,15px);}
.profile-name-input:focus{outline:none;border-color:var(--accent);}
.profile-save-btn{width:100%;margin-top:10px;padding:12px;border-radius:14px;border:none;
  background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;
  font-family:'DM Sans',sans-serif;font-size:clamp(13px,3.6vw,15px);font-weight:700;cursor:pointer;
  transition:transform .1s,opacity .2s;-webkit-tap-highlight-color:transparent;}
.profile-save-btn:active{opacity:.9;transform:scale(.98);}
.settings-hdr{display:flex;align-items:center;gap:10px;padding:max(env(safe-area-inset-top,0px),12px) 14px 12px;
  border-bottom:1px solid var(--surface2);flex-shrink:0;}
.settings-scroll{flex:1;overflow-y:auto;padding:16px clamp(14px,4vw,20px) max(env(safe-area-inset-bottom,0px),24px);}
.settings-section{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--txt3);
  margin:4px 0 10px;padding-left:2px;}
.settings-section:not(:first-child){margin-top:20px;}
.settings-sub{font-size:clamp(11px,3vw,13px);color:var(--txt2);line-height:1.45;margin:-4px 0 12px;}
.settings-card{background:var(--surface);border:1.5px solid var(--surface3);border-radius:16px;overflow:hidden;margin-bottom:12px;}
.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;
  border-bottom:1px solid var(--surface2);font-size:clamp(13px,3.5vw,15px);color:var(--txt);}
.settings-row:last-child{border-bottom:none;}
.settings-row-lbl{display:flex;align-items:center;gap:10px;font-weight:500;}
.settings-row-lbl svg{width:18px;height:18px;flex-shrink:0;color:var(--txt2);}
.settings-toggle{width:48px;height:28px;border-radius:14px;border:none;padding:0;cursor:pointer;position:relative;
  background:var(--surface3);transition:background .2s;flex-shrink:0;}
.settings-toggle.on{background:var(--accent);}
.settings-toggle::after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;
  background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:transform .2s;}
.settings-toggle.on::after{transform:translateX(20px);}
.signin-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px 16px;
  border-radius:12px;border:1.5px solid var(--surface3);font-family:'DM Sans',sans-serif;
  font-size:clamp(13px,3.5vw,15px);font-weight:600;cursor:pointer;margin-bottom:8px;transition:transform .1s,opacity .15s;}
.signin-btn:active{transform:scale(.98);opacity:.9;}
.signin-btn svg{width:20px;height:20px;flex-shrink:0;}
.signin-btn.apple{background:#000;color:#fff;border-color:#000;}
.signin-btn.google{background:#fff;color:#333;border-color:#ddd;}
.signin-btn.gamecenter{background:linear-gradient(160deg,#2a2a3a,#111120);color:#fff;border-color:#44445a;}
#profileSignInBlock .signin-btn:last-child{margin-bottom:0;}
.settings-action-btn--danger{border-color:rgba(248,113,113,.45);color:#fca5a5;}
.settings-action-btn--danger:active{opacity:.9;}
#profileDeletionSection{margin-top:20px;}
#profileDeletionSection > .settings-section{margin-top:0;}
.profile-deletion-pending{color:var(--teal);}
.delete-account-overlay{position:absolute;inset:0;z-index:35;background:var(--bg);display:none;flex-direction:column;
  pointer-events:none;}
.delete-account-overlay.open{display:flex;pointer-events:auto;}
.delete-account-panel{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;}
.delete-account-scroll{flex:1;overflow-y:auto;padding:0 16px 24px;}
.delete-account-lead{font-size:clamp(13px,3.5vw,15px);color:var(--txt2);line-height:1.55;margin:0 0 14px;}
.delete-account-list{margin:0 0 18px;padding-left:18px;font-size:clamp(12px,3.2vw,14px);color:var(--txt2);line-height:1.55;}
.delete-account-list li{margin-bottom:8px;}
.delete-account-label{display:block;font-size:12px;color:var(--txt3);margin-bottom:8px;}
.delete-account-input{margin-bottom:10px;}
.delete-account-error{font-size:12px;color:#f87171;margin:0 0 10px;}
.deletion-grace-modal{position:absolute;inset:0;z-index:40;background:rgba(0,0,0,.85);display:none;align-items:center;
  justify-content:center;padding:20px;pointer-events:none;}
.deletion-grace-modal.open{display:flex;pointer-events:auto;}
.deletion-grace-box{width:100%;max-width:380px;background:var(--surface);border:1.5px solid var(--surface3);border-radius:20px;padding:22px 18px;}
.auth-prompt-modal{position:fixed;inset:0;z-index:2147483644;background:rgba(0,0,0,.65);display:flex;align-items:center;
  justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s;}
.auth-prompt-modal.open{opacity:1;pointer-events:auto;}
.auth-prompt-box{position:relative;width:100%;max-width:380px;background:var(--surface);border:1.5px solid var(--surface3);
  border-radius:20px;padding:var(--modal-card-pad-y) var(--modal-card-pad-x);transform:scale(.96);transition:transform .25s;
  font-family:'DM Sans',sans-serif;}
.auth-prompt-modal.open .auth-prompt-box{transform:scale(1);}
.auth-prompt-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:8px;border:none;
  background:var(--surface2);color:var(--txt2);font-size:22px;line-height:1;cursor:pointer;}
.auth-prompt-title{font-family:'Syne',sans-serif;font-size:clamp(18px,5vw,22px);font-weight:800;color:var(--txt);
  text-align:center;margin-bottom:8px;padding:0 24px;}
.auth-prompt-sub{font-family:'DM Sans',sans-serif;font-size:clamp(12px,3.2vw,14px);color:var(--txt2);text-align:center;line-height:1.5;margin-bottom:18px;}
.auth-prompt-actions{display:flex;flex-direction:column;gap:0;}
.auth-prompt-later{width:100%;margin-top:4px;padding:12px;border:none;background:transparent;color:var(--txt2);
  font-family:'DM Sans',sans-serif;font-size:clamp(13px,3.5vw,14px);font-weight:600;cursor:pointer;}
.auth-prompt-later:active{opacity:.75;}
.settings-action-btn{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;
  background:var(--surface);border:1.5px solid var(--surface3);border-radius:14px;
  font-family:'DM Sans',sans-serif;font-size:clamp(13px,3.5vw,15px);font-weight:600;color:var(--txt);
  cursor:pointer;margin-bottom:8px;text-align:left;transition:transform .1s,border-color .2s;}
.settings-action-btn:active{transform:scale(.98);}
.settings-action-btn svg{width:20px;height:20px;flex-shrink:0;color:var(--accent);}
.bonus-test-row{display:flex;gap:8px;margin-bottom:16px;}
.bonus-test-btn{flex:1;padding:10px 6px;border-radius:12px;background:var(--surface2);
  border:1.5px solid var(--surface3);color:var(--txt2);font-family:'DM Sans',sans-serif;
  font-size:clamp(10px,2.8vw,12px);font-weight:700;cursor:pointer;line-height:1.2;}
.bonus-test-btn:active{transform:scale(.97);border-color:var(--accent);color:var(--txt);}
.bonus-test-btn.active{border-color:var(--gold);color:var(--gold);background:rgba(245,200,66,.08);}
html:not(.hc-dev-tools) .settings-dev-only{display:none!important;}
#hcDevToolsMount > .settings-section{margin-top:28px;}
.settings-dev-tools{margin-bottom:4px;}
.settings-dev-group{margin-bottom:16px;}
.settings-dev-group:last-child{margin-bottom:0;}
.settings-dev-group .bonus-test-row{margin-bottom:8px;}
.settings-dev-group .bonus-test-row:last-child{margin-bottom:0;}
.settings-dev-group-lbl{font-size:11px;font-weight:600;color:var(--txt2);margin:0 0 8px;}
.settings-legal{display:flex;gap:10px;margin-top:24px;padding-top:8px;}
.settings-legal-btn{flex:1;padding:12px 10px;border-radius:12px;background:var(--surface2);
  border:1.5px solid var(--surface3);color:var(--txt2);font-family:'DM Sans',sans-serif;
  font-size:clamp(11px,3vw,13px);font-weight:600;cursor:pointer;transition:border-color .2s,color .2s;}
.settings-legal-btn:active{opacity:.85;}

/* Legal modal */
.legal-modal{position:fixed;inset:0;z-index:2147483643;background:rgba(0,0,0,.65);display:flex;align-items:center;
  justify-content:center;padding:clamp(16px,4vw,24px);opacity:0;pointer-events:none;transition:opacity .25s;}
.legal-modal.open{opacity:1;pointer-events:auto;}
.legal-modal-box{background:var(--surface);border:1.5px solid var(--surface3);border-radius:18px;
  width:min(100%,400px);max-height:min(80vh,560px);display:flex;flex-direction:column;overflow:hidden;
  transform:scale(.96);transition:transform .25s;font-family:'DM Sans',sans-serif;}
.legal-modal.open .legal-modal-box{transform:scale(1);}
.legal-modal-hdr{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;
  border-bottom:1px solid var(--surface2);flex-shrink:0;}
.legal-modal-hdr h2{font-family:'Syne',sans-serif;font-size:clamp(16px,4.5vw,18px);font-weight:800;color:var(--txt);}
.legal-modal-close{width:32px;height:32px;border-radius:8px;border:none;background:var(--surface2);
  color:var(--txt2);font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.legal-modal-body{flex:1;overflow-y:auto;padding:16px;font-size:clamp(12px,3.2vw,14px);color:var(--txt2);line-height:1.55;}
.legal-modal-body h3{font-size:13px;font-weight:700;color:var(--txt);margin:14px 0 6px;}
.legal-modal-body h3:first-child{margin-top:0;}
.legal-modal-body p{margin-bottom:10px;}

.lives-modal{position:fixed;inset:0;z-index:2147483646;background:rgba(0,0,0,.65);display:flex;align-items:center;
  justify-content:center;padding:20px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .22s;}
.lives-modal.open{opacity:1;pointer-events:auto;visibility:visible;align-items:center;justify-content:center;}
.lives-modal-box{position:relative;z-index:1;pointer-events:auto;background:var(--surface);border:1.5px solid var(--surface3);border-radius:20px;
  width:min(320px,92vw);padding:var(--modal-card-pad-y) var(--modal-card-pad-x);transform:scale(.94);transition:transform .22s;
  font-family:'DM Sans',sans-serif;}
.lives-modal.open .lives-modal-box{transform:scale(1);}
.lives-modal-title{font-family:'Syne',sans-serif;font-size:clamp(18px,5vw,22px);font-weight:800;color:var(--txt);
  text-align:center;margin-bottom:6px;}
.lives-modal-count{display:flex;align-items:center;justify-content:center;gap:6px;font-family:'Syne',sans-serif;
  font-size:clamp(28px,7.5vw,34px);font-weight:800;color:var(--red);margin-bottom:8px;line-height:1;}
.lives-modal-count.full{color:var(--teal);font-size:clamp(16px,4.5vw,20px);}
.lives-modal-count .life-ico{width:clamp(22px,6vw,28px);height:clamp(22px,6vw,28px);flex-shrink:0;}
.lives-modal-regen{text-align:center;font-size:clamp(12px,3.2vw,14px);color:var(--txt2);margin-bottom:18px;line-height:1.4;}
.lives-modal-regen.hidden{display:none;}
.lives-modal-actions{display:flex;flex-direction:column;gap:10px;position:relative;z-index:3;}
.lives-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  width:100%;min-height:48px;padding:14px 12px;border-radius:14px;border:1.5px solid var(--surface3);background:var(--surface2);
  cursor:pointer;font-family:'DM Sans',sans-serif;transition:border-color .15s,transform .1s,opacity .2s;
  pointer-events:auto;position:relative;z-index:2;touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.lives-action-btn *{pointer-events:none;}
.lives-action-btn:active:not(:disabled){transform:scale(.98);}
.lives-action-btn:disabled{opacity:.45;cursor:not-allowed;}
.lives-action-btn.store-funnel.disabled-funnel{opacity:.55;cursor:pointer;}
.lives-action-btn.store-funnel:not(:disabled):active{transform:scale(.98);}
.lives-action-btn.refill{border-color:rgba(192,92,252,.45);background:linear-gradient(160deg,rgba(124,92,252,.12),rgba(192,92,252,.05));}
.lives-action-btn.primary{border-color:rgba(192,92,252,.5);background:linear-gradient(160deg,rgba(124,92,252,.18),rgba(192,92,252,.08));font-family:'Syne',sans-serif;font-size:clamp(15px,4vw,17px);font-weight:800;color:var(--txt);}
.lives-action-btn.primary .shard-amt{display:inline-flex;align-items:center;gap:3px;vertical-align:middle;}
.lives-action-btn.ghost{background:transparent;border-color:var(--surface3);font-size:clamp(13px,3.5vw,14px);font-weight:600;color:var(--txt2);}
.streak-modal-box{text-align:center;}
.streak-modal-flame{font-size:clamp(40px,12vw,52px);line-height:1;margin:4px 0 8px;}
.streak-modal-days{font-family:'Syne',sans-serif;font-size:clamp(22px,6vw,28px);font-weight:800;color:var(--gold);margin-bottom:10px;line-height:1.2;}
.streak-modal-sub{font-size:clamp(12px,3.2vw,14px);color:var(--txt2);line-height:1.5;margin:0 0 18px;}
.streak-modal-sub strong{color:var(--txt);font-weight:700;}
.lives-modal-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:8px;border:none;
  background:var(--surface2);color:var(--txt2);font-size:20px;line-height:1;cursor:pointer;}

/* alliances.css */
/* Alliances */
#panelAlliance{position:relative;overflow:hidden;}
#panelAlliance:not(.al-tier-pane-open) > #alHome,
#panelAlliance:not(.al-tier-pane-open) > #alJoin{
  flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
.al-content{padding:0 clamp(12px,3vw,16px) 20px;display:flex;flex-direction:column;gap:14px;}

/* Alliance profile hero */
.al-profile-hero{position:relative;background:var(--surface);border-radius:18px;padding:16px 16px 14px;border:1.5px solid var(--surface3);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;}
.al-week-reset-pill{position:absolute;top:clamp(8px,2vw,10px);right:clamp(8px,2vw,10px);z-index:2;
  font-size:clamp(7px,2vw,8px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold);padding:3px 6px;border-radius:6px;white-space:nowrap;
  background:rgba(245,200,66,.12);border:1px solid rgba(245,200,66,.35);}

/* Tier badge (profile hero) */
.al-tier-badge-btn{display:flex;align-items:center;justify-content:center;
  margin:0 0 4px;padding:4px;border:none;background:transparent;cursor:pointer;font:inherit;color:inherit;border-radius:14px;
  transition:transform .12s ease,background .15s ease;}
.al-tier-badge-btn:active{transform:scale(0.96);}
.al-tier-badge-btn:hover,.al-tier-badge-btn:focus-visible{background:rgba(124,92,252,.08);outline:none;
  box-shadow:0 0 0 2px rgba(124,92,252,.22);}
.al-tier-badge-img{width:52px;height:52px;display:block;object-fit:contain;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.35));}
.al-tier-badge-img--hero{width:80px;height:80px;}
.al-profile-tier{font-family:'Syne',sans-serif;font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--txt2);line-height:1.2;margin-top:2px;}
.al-tier-badge-name{font-family:'Syne',sans-serif;font-size:11px;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;color:var(--txt2);line-height:1.2;}
.al-tier-badge-sub{font-size:10px;color:var(--txt3);line-height:1.3;max-width:100%;text-align:center;margin-top:4px;}

.al-profile-name{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--txt);line-height:1.2;margin-top:2px;}
.al-profile-role{font-size:11px;color:var(--txt3);margin-top:2px;}
.al-profile-role--owner{color:var(--gold,#fbbf24);font-weight:600;}
.al-profile-role--member{color:var(--teal);font-weight:600;}
.al-profile-hero--goal-met{border-color:rgba(92,245,212,.5);box-shadow:0 0 14px rgba(92,245,212,.14);}
.al-profile-goal{width:100%;margin-top:12px;padding-top:12px;border-top:1px solid var(--surface3);text-align:left;}
.al-profile-goal-hdr{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;}
.al-profile-goal-lbl{font-size:10px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.08em;}
.al-profile-goal-count{font-family:'Syne',sans-serif;font-size:12px;font-weight:700;color:var(--txt);flex-shrink:0;}
.al-profile-goal-bar{height:8px;background:var(--surface3);border-radius:8px;overflow:hidden;}
.al-profile-goal-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--accent));border-radius:8px;transition:width .25s ease;}
.al-profile-goal--met .al-profile-goal-fill{background:linear-gradient(90deg,var(--teal),#86efac);}
.al-profile-goal--met .al-profile-goal-count{color:var(--teal);}
.al-profile-goal-met{margin-top:6px;font-size:10px;font-weight:700;color:var(--teal);text-align:right;letter-spacing:.03em;}
.al-profile-members-row{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  margin-top:8px;}
.al-profile-members-lbl{font-size:10px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.08em;}
.al-profile-members-count{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:var(--txt);flex-shrink:0;}
.al-profile-members-bar{width:100%;height:10px;background:var(--surface3);border-radius:10px;overflow:hidden;margin-top:6px;}
.al-profile-members-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--accent));border-radius:10px;
  transition:width .25s ease;}

.al-stat-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.al-stat{background:var(--surface);border:1.5px solid var(--surface3);border-radius:12px;padding:10px 6px;text-align:center;}
.al-stat-v{font-family:'Syne',sans-serif;font-size:clamp(14px,4vw,17px);font-weight:700;color:var(--txt);line-height:1.1;}
.al-stat-l{font-size:9px;color:var(--txt3);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;}

.al-section-hdr{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;}
.al-section-lbl{font-size:11px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.06em;margin-bottom:0;}
.al-section-count{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:var(--txt);flex-shrink:0;}
.al-section-hdr+.al-section-lbl{margin-bottom:6px;}
.al-members-section{display:flex;flex-direction:column;gap:6px;}
.al-members{display:flex;flex-direction:column;gap:6px;}
.al-member{--al-member-h:52px;box-sizing:border-box;min-height:var(--al-member-h);height:var(--al-member-h);
  display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px;padding:0 12px;
  background:var(--surface);border-radius:12px;font-size:12px;border:1.5px solid var(--surface3);}
.al-member--pending{border-style:dashed;border-color:rgba(124,92,252,.45);background:var(--surface2);}
.al-member--invited{border-color:rgba(45,212,191,.4);}
.al-member--invite{cursor:pointer;border-style:dashed;border-color:rgba(124,92,252,.35);background:var(--surface2);
  font-family:'DM Sans',sans-serif;-webkit-tap-highlight-color:transparent;}
.al-member--invite:active{transform:scale(.98);opacity:.9;}
.al-member-identity{display:flex;align-items:center;gap:8px;flex:1;min-width:0;}
.al-owner-crown{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:20px;color:var(--gold,#fbbf24);}
.al-owner-crown-ico{display:block;}
.al-invite-plus{flex-shrink:0;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--accent);
  background:rgba(124,92,252,.12);color:var(--accent);font-size:16px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;font-weight:700;}
.al-invite-lbl{font-size:13px;font-weight:600;color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.al-member-name{min-width:0;color:var(--txt);font-weight:600;font-size:13px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.al-member-score{font-weight:600;flex-shrink:0;line-height:1;}
.al-member-req-actions{display:flex;gap:6px;flex-shrink:0;align-items:center;}
.al-req-btn{width:32px;height:32px;border-radius:8px;border:1.5px solid var(--surface3);background:var(--surface2);
  color:var(--txt);font-size:16px;line-height:1;cursor:pointer;font-family:'DM Sans',sans-serif;
  display:inline-flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;-webkit-tap-highlight-color:transparent;}
.al-req-approve{border-color:rgba(45,212,191,.5);color:var(--teal);}
.al-req-deny{border-color:rgba(252,92,125,.45);color:var(--red);}
.al-req-btn:active{transform:scale(.94);}
.al-pending-badge{font-size:10px;color:var(--accent);font-weight:700;margin-left:4px;}
.al-invite-badge{color:var(--teal);}
.al-reserved-badge{color:var(--gold,#f5c842);}
.al-member--reserved{border-color:rgba(245,200,66,.35);opacity:.92;}
.al-nudge-cta{width:min(320px,88vw);margin:14px auto 0;}
.al-nudge-cta-btn{width:100%;box-sizing:border-box;padding:12px 14px;border-radius:14px;border:1.5px solid rgba(167,139,250,.55);
  background:linear-gradient(135deg,rgba(124,58,237,.22),rgba(167,139,250,.12));color:var(--txt);font-size:12px;font-weight:600;
  line-height:1.45;text-align:center;cursor:pointer;font-family:'DM Sans',sans-serif;-webkit-tap-highlight-color:transparent;}
.al-nudge-cta-btn:active{transform:scale(.98);background:rgba(124,58,237,.28);}
.al-member-pending-note{font-size:10px;color:var(--txt3);font-weight:500;flex-shrink:0;text-align:right;max-width:42%;}
.al-member:has(.al-member-actions){height:auto;min-height:var(--al-member-h);flex-wrap:wrap;padding:8px 12px;}
.al-member-actions{display:flex;gap:6px;flex:1 1 100%;justify-content:flex-end;}
.al-mini-btn{padding:5px 10px;border-radius:8px;border:1px solid var(--surface3);background:var(--surface2);
  color:var(--txt);font-size:10px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}
.al-mini-deny{border-color:rgba(252,92,125,.4);color:var(--red);}
.al-actions{display:flex;gap:8px;flex-wrap:wrap;}
.al-btn{flex:1;min-width:120px;padding:10px;border-radius:12px;border:1.5px solid var(--surface3);
  background:var(--surface);color:var(--txt);font-size:12px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}
.al-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border:none;color:#fff;}
.al-btn.al-leave{flex:1 1 100%;margin-top:4px;border-color:rgba(252,92,125,.45);color:var(--red);background:transparent;}
.al-btn.al-leave:active{background:rgba(252,92,125,.08);}
.al-btn:disabled{opacity:.45;cursor:not-allowed;}
.al-join-card{background:var(--surface);border:1.5px solid var(--surface3);border-radius:16px;padding:16px;
  width:min(320px,88vw);margin:0 auto;text-align:left;}
.al-join-title{font-family:'Syne',sans-serif;font-size:15px;font-weight:800;color:var(--txt);margin-bottom:6px;}
.al-join-desc{font-size:11px;color:var(--txt3);line-height:1.45;margin-bottom:12px;}
.al-join-input{width:100%;box-sizing:border-box;background:var(--surface2);border:1.5px solid var(--surface3);
  border-radius:12px;padding:10px 12px;color:var(--txt);font-size:12px;font-family:'DM Sans',sans-serif;margin-bottom:10px;}
.al-join-input::placeholder{color:var(--txt3);}
.al-create-btn{width:100%;margin-top:0;padding:10px 16px;font-size:13px;font-weight:600;
  border-radius:12px;box-shadow:0 4px 16px rgba(124,92,252,.35);letter-spacing:0;
  white-space:nowrap;line-height:1.2;min-height:40px;box-sizing:border-box;}
.al-friend-code-bar{width:min(320px,88vw);margin:0 auto 12px;padding:10px 12px;
  background:var(--surface);border:1.5px solid var(--surface3);border-radius:14px;box-sizing:border-box;}
.al-friend-code-bar.hidden{display:none;}
.al-fc-lbl{display:block;font-size:10px;font-weight:700;color:var(--txt2);text-transform:uppercase;
  letter-spacing:.08em;margin-bottom:8px;}
.al-fc-row{display:flex;align-items:center;gap:10px;}
.al-fc-val{flex:1;min-width:0;font-family:'Syne',sans-serif;font-size:clamp(16px,4.5vw,19px);font-weight:800;
  color:var(--accent);letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.al-fc-copy{flex-shrink:0;padding:8px 14px;border-radius:10px;border:1.5px solid var(--accent);
  background:rgba(124,92,252,.12);color:var(--accent);font-family:'DM Sans',sans-serif;
  font-size:12px;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.al-fc-copy:active{opacity:.85;}
.al-fc-hint{font-size:10px;color:var(--txt3);line-height:1.4;margin:8px 0 0;}
.al-home-friend-code{margin-bottom:2px;}
.al-join-divider{font-size:11px;color:var(--txt3);text-align:center;margin:14px 0;}
.al-join-code-host{margin-bottom:10px;padding:0 clamp(4px,2vw,10px);box-sizing:border-box;}
.al-join-card .fc-seg-input{gap:clamp(4px,1.2vw,6px);}
.al-join-card .fc-seg-dash{font-size:clamp(15px,4vw,17px);}
.al-join-card .fc-seg-cell{width:clamp(24px,5.8vw,30px);height:clamp(34px,8.5vw,40px);
  font-size:clamp(14px,3.8vw,17px);}
.al-join-code-host.is-disabled{opacity:.55;pointer-events:none;}
.al-pending-status{width:min(320px,88vw);margin:0 auto 14px;text-align:center;}
.al-pending-status.hidden{display:none;}
.al-pending-card{background:var(--surface2);border:1.5px solid var(--accent);border-radius:14px;padding:14px;}
.al-pending-title{font-family:'Syne',sans-serif;font-size:14px;font-weight:800;color:var(--txt);margin-bottom:6px;}
.al-pending-msg{font-size:11px;color:var(--txt2);line-height:1.45;margin-bottom:12px;}
.al-pending-when{font-size:10px;color:var(--txt3);}
.al-pending-alliance{font-family:'Syne',sans-serif;font-size:15px;font-weight:800;color:var(--accent);margin-bottom:8px;}
.al-pending-actions{display:flex;gap:8px;margin-top:4px;}
.al-pending-actions .al-btn{flex:1;min-width:0;margin-top:0;}
.al-pending-actions .al-pending-decline{flex:1 1 auto;}
#alJoin.al-has-pending .al-join-card,#alJoin.al-has-pending .al-join-divider{opacity:.45;pointer-events:none;}
#alJoin.al-has-invite .al-join-card,#alJoin.al-has-invite .al-join-divider{display:none;}
.al-invite-pending{width:100%;max-width:360px;margin:0 auto 14px;text-align:center;}
.al-invite-card{width:100%;box-sizing:border-box;border-color:rgba(124,92,252,.35);
  box-shadow:0 0 18px rgba(124,92,252,.1);padding:18px 16px 16px;gap:2px;}
.al-invite-from{font-family:'DM Sans',sans-serif;font-size:13px;color:var(--txt2);line-height:1.45;margin:0 0 8px;}
.al-invite-from-name{font-family:'Syne',sans-serif;font-weight:800;color:var(--txt);}
.al-invite-badge{display:flex;justify-content:center;margin:4px 0 2px;}
.al-invite-actions{display:flex;gap:10px;width:100%;margin-top:14px;padding-top:14px;border-top:1px solid var(--surface3);}
.al-invite-actions .al-btn{flex:1;min-width:0;margin-top:0;}
.al-invite-actions .al-btn.primary{flex:1.1;}

/* Invite modal — fully removed from layout when closed (no click blocking) */
.al-invite-modal{display:none!important;position:fixed;inset:0;z-index:2147483645;background:rgba(0,0,0,.65);
  align-items:center;justify-content:center;padding:16px;pointer-events:none;}
.al-invite-modal.open{display:flex!important;pointer-events:auto;}
.al-invite-modal-box{position:relative;width:min(320px,92vw);background:var(--surface);border:1.5px solid var(--surface3);
  border-radius:20px;padding:var(--modal-card-pad-y) var(--modal-card-pad-x);text-align:left;transform:scale(.96);transition:transform .2s ease;}
.al-invite-modal.open .al-invite-modal-box{transform:scale(1);}
.al-invite-modal-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:8px;border:none;
  background:var(--surface2);color:var(--txt2);font-size:20px;line-height:1;cursor:pointer;}
.al-invite-modal-title{font-family:'Syne',sans-serif;font-size:clamp(17px,4.5vw,20px);font-weight:800;color:var(--txt);
  margin-bottom:8px;padding-right:28px;}
.al-invite-modal-desc{font-family:'DM Sans',sans-serif;font-size:clamp(12px,3.2vw,14px);color:var(--txt);
  line-height:1.5;margin-bottom:14px;}
.al-invite-modal-status{font-family:'DM Sans',sans-serif;font-size:clamp(11px,3vw,13px);line-height:1.45;
  margin:-6px 0 12px;color:var(--teal);}
.al-invite-modal-status.hidden{display:none;}
.al-invite-modal-status.is-error{color:#ff7b9a;}
.al-invite-modal-status.is-info{color:var(--accent);}
.fc-seg-input{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;box-sizing:border-box;}
.fc-seg-group{display:flex;align-items:center;gap:4px;}
.fc-seg-dash{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--txt3);line-height:1;user-select:none;}
.fc-seg-cell{width:clamp(28px,7.5vw,34px);height:clamp(38px,10vw,44px);padding:0;
  border-radius:10px;border:1.5px solid var(--surface3);background:var(--surface2);
  color:var(--txt);font-family:'Syne',sans-serif;font-size:clamp(15px,4.2vw,18px);font-weight:800;
  text-align:center;text-transform:uppercase;caret-color:var(--accent);box-sizing:border-box;}
.fc-seg-cell:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px rgba(124,92,252,.25);}
/* Invite modal: horizontal inset only (no outer field box) */
.al-invite-modal-box .fc-seg-input-host{
  margin-bottom:14px;padding:0 clamp(12px,4vw,20px);box-sizing:border-box;}
.al-invite-modal-box .fc-seg-input{gap:clamp(4px,1.2vw,6px);}
.al-invite-modal-box .fc-seg-dash{font-size:clamp(15px,4vw,17px);}
.al-invite-modal-box .fc-seg-cell{width:clamp(24px,5.8vw,30px);height:clamp(34px,8.5vw,40px);
  font-size:clamp(14px,3.8vw,17px);}
.al-invite-modal-submit{width:100%;flex:none;min-width:0;}
.al-level-gate-sub{font-family:'DM Sans',sans-serif;font-size:clamp(11px,3vw,13px);color:var(--txt2);
  line-height:1.45;margin:-4px 0 14px;text-align:center;}
.al-level-gate-actions{display:flex;gap:10px;width:100%;}
.al-level-gate-actions .al-btn{flex:1;min-width:0;margin-top:0;}
.al-level-gate-actions .al-btn.primary{flex:1.15;}

/* Tier path pane (full alliance panel overlay) */
#panelAlliance{position:relative;}
#panelAlliance.al-tier-pane-open{padding-top:0;}
#panelAlliance.al-tier-pane-open > .hub-panel-title{display:none;}
#panelAlliance.al-tier-pane-open > #alHome{visibility:hidden;pointer-events:none;height:0;overflow:hidden;margin:0;padding:0;}
.al-tier-pane{position:absolute;inset:0;z-index:8;background:var(--bg);display:none;flex-direction:column;
  overflow:hidden;min-height:0;}
.al-tier-pane.open{display:flex;}
.al-tier-pane-hdr{flex-shrink:0;}
.al-tier-pane-hdr-spacer{width:clamp(32px,9vw,40px);flex-shrink:0;}
.al-tier-pane-title{flex:1;text-align:center;}
.al-tier-pane-scroll{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:0 clamp(12px,3vw,16px) clamp(24px,6vh,32px);}
.al-tier-path-sub{font-family:'DM Sans',sans-serif;font-size:12px;color:var(--txt2);line-height:1.45;margin:0 0 12px;}
.al-tier-path-crown-banner{margin-bottom:14px;padding:8px 10px;border-radius:10px;font-family:'DM Sans',sans-serif;
  font-size:11px;line-height:1.45;background:rgba(245,200,66,.1);border:1px solid rgba(245,200,66,.28);
  color:var(--gold,#f5c842);text-align:left;}
.al-tier-path-track{display:flex;flex-direction:column-reverse;align-items:stretch;
  padding:clamp(8px,2vh,12px) 0 0;gap:0;min-height:min-content;box-sizing:border-box;}
.al-tier-path-segment{width:4px;height:clamp(20px,4vh,32px);margin:0 auto;border-radius:2px;flex-shrink:0;
  background:linear-gradient(180deg,var(--teal),var(--accent));}
.al-tier-path-segment.locked{background:var(--surface3);opacity:.45;}
.al-tier-path-node{display:flex;align-items:center;gap:16px;padding:14px;border-radius:14px;
  border:1.5px solid var(--surface3);background:var(--surface2);transition:border-color .2s,box-shadow .2s,opacity .2s;}
.al-tier-path-node--locked{opacity:.42;}
.al-tier-path-node--unlocked{border-color:rgba(124,92,252,.35);}
.al-tier-path-node--maintained{border-color:rgba(92,245,212,.45);box-shadow:0 0 12px rgba(92,245,212,.12);}
.al-tier-path-node--current{border-color:var(--accent);background:rgba(124,92,252,.1);
  box-shadow:0 0 16px rgba(192,92,252,.28);}
.al-tier-path-badge{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:76px;height:76px;}
.al-tier-badge-img--path{width:72px;height:72px;}
.al-tier-path-body{flex:1;min-width:0;text-align:left;font-family:'DM Sans',sans-serif;}
.al-tier-path-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;}
.al-tier-path-name{font-family:'Syne',sans-serif;font-size:15px;font-weight:800;color:var(--txt);}
.al-tier-path-chip{font-family:'DM Sans',sans-serif;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;
  border-radius:999px;flex-shrink:0;}
.al-tier-path-chip--current{background:rgba(124,92,252,.25);color:var(--accent);}
.al-tier-path-chip--maintained{background:rgba(92,245,212,.18);color:var(--teal);}
.al-tier-path-chip--unlocked{background:rgba(124,92,252,.12);color:var(--txt2);}
.al-tier-path-chip--locked{background:var(--surface3);color:var(--txt3);}
.al-tier-path-tag{font-family:'DM Sans',sans-serif;font-size:11px;color:var(--txt2);font-style:italic;margin-top:4px;line-height:1.45;}
.al-tier-path-goal{font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;color:var(--gold,#f5c842);margin-top:6px;}
.al-tier-path-desc{font-family:'DM Sans',sans-serif;font-size:12px;color:#fff;line-height:1.5;margin-top:6px;}
.al-tier-path-exclusive{font-family:'DM Sans',sans-serif;font-size:10px;font-weight:700;color:var(--gold,#f5c842);margin-top:6px;text-transform:uppercase;letter-spacing:.05em;}
.al-tier-path-node--locked .al-tier-path-badge{filter:grayscale(.85) brightness(.7);}
.al-tier-path-node--current .al-tier-path-badge{filter:drop-shadow(0 0 10px rgba(192,92,252,.5));}
.al-tier-path-node--maintained .al-tier-path-badge{filter:drop-shadow(0 0 8px rgba(92,245,212,.4));}

/* codex.css */
/* Codex / Achievements */
.codex-earned-goal{margin:0 clamp(10px,3vw,14px) 12px;padding:12px 14px;background:var(--surface);
  border-radius:14px;border:1.5px solid var(--surface3);}
.codex-earned-goal-hdr{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px;}
.codex-earned-goal-lbl{font-size:10px;font-weight:700;color:var(--txt2);text-transform:uppercase;letter-spacing:.08em;}
.codex-earned-goal-count{font-family:'Syne',sans-serif;font-size:13px;font-weight:800;color:var(--txt);flex-shrink:0;}
.codex-earned-goal-bar{height:8px;background:var(--surface3);border-radius:8px;overflow:hidden;}
.codex-earned-goal-fill{height:100%;background:linear-gradient(90deg,var(--accent),#e879f9);border-radius:8px;transition:width .35s ease;}
.codex-earned-goal--complete{border-color:rgba(192,92,252,.45);box-shadow:0 0 14px rgba(192,92,252,.12);}
.codex-earned-goal--complete .codex-earned-goal-fill{background:linear-gradient(90deg,var(--teal),var(--accent));}
.codex-earned-goal--complete .codex-earned-goal-count{color:var(--accent);}
.codex-scroll{flex:1;overflow-y:auto;padding:0 clamp(10px,3vw,14px) 24px;min-height:0;}
.codex-cat{margin-bottom:14px;background:var(--surface);border-radius:16px;border:1.5px solid var(--surface3);overflow:hidden;}
.codex-cat-head{padding:12px 14px;background:var(--surface2);display:flex;align-items:center;gap:10px;
  border:none;width:100%;cursor:pointer;text-align:left;font:inherit;color:inherit;
  -webkit-tap-highlight-color:transparent;transition:background .15s;}
.codex-cat-head:active{background:var(--surface3);}
.codex-cat-chevron{flex-shrink:0;width:18px;height:18px;color:var(--txt3);transition:transform .2s ease;display:flex;align-items:center;justify-content:center;}
.codex-cat-chevron svg{width:14px;height:14px;display:block;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.codex-cat.collapsed .codex-cat-chevron{transform:rotate(-90deg);}
.codex-cat-body{overflow:hidden;}
.codex-cat.collapsed .codex-cat-body{display:none;}
.codex-cat-icon{font-size:22px;line-height:1;flex-shrink:0;}
.codex-cat-meta{flex:1;min-width:0;}
.codex-cat-title{font-family:'Syne',sans-serif;font-size:14px;font-weight:800;color:var(--txt);}
.codex-cat-tag{font-size:10px;color:var(--txt3);margin-top:1px;}
.codex-cat-prog{font-size:11px;font-weight:700;color:var(--accent);flex-shrink:0;}
.codex-cat-bar{height:3px;background:var(--surface3);margin:0 14px 8px;}
.codex-cat-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),#e879f9);border-radius:2px;transition:width .35s;}
.codex-ach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 10px 10px;align-items:stretch;}
.ach-card{background:var(--bg);border-radius:14px;padding:8px 8px 10px;border:1px solid var(--surface3);
  width:100%;height:126px;min-height:126px;box-sizing:border-box;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;position:relative;}
.ach-card.locked.milestone{padding-top:10px;padding-right:6px;}
.ach-card.locked{opacity:.62;border-style:dashed;border-color:var(--surface3);}
.ach-card.locked.secret .ach-badge{background:var(--surface3);color:var(--txt3);font-weight:700;font-family:'Syne',sans-serif;}
.ach-card.locked.secret .ach-name{color:var(--txt3);letter-spacing:.06em;}
.ach-card.locked.secret .ach-desc,.ach-card.locked.secret .ach-reward-locked{color:var(--txt3);}
.ach-card.locked.milestone{opacity:.92;border-style:solid;border-color:var(--surface3);}
.ach-card.locked.milestone .ach-badge{background:var(--surface2);color:var(--txt2);opacity:.85;}
.ach-card.locked.milestone .ach-name{color:var(--txt);}
.ach-card.locked.milestone .ach-desc{color:var(--txt2);}
.ach-reward-pill{position:absolute;top:6px;right:6px;width:auto;margin:0;padding:0;z-index:1;pointer-events:none;}
.ach-reward-pill .bundle-items{justify-content:flex-end;margin:0;}
.ach-reward-pill .bundle-item{font-size:8px;padding:3px 6px;gap:3px;pointer-events:none;}
.ach-reward-pill .bundle-shard-ico{width:12px;height:12px;}
.ach-reward-locked{font-size:8px;color:var(--txt3);text-align:center;width:100%;margin-top:auto;flex-shrink:0;}
.ach-card.dev-revealed{border-color:rgba(245,200,66,.35);}
.ach-dev-tag{font-size:8px;font-weight:700;color:var(--gold);letter-spacing:.04em;text-transform:uppercase;}
.ach-card.earned{border-color:var(--accent);box-shadow:0 0 14px rgba(192,92,252,.18);}
.ach-card.earned .ach-badge{background:rgba(192,92,252,.2);color:#e879f9;}
.ach-badge{width:clamp(44px,13vw,52px);height:clamp(44px,13vw,52px);border-radius:12px;background:var(--surface2);display:flex;align-items:center;
  justify-content:center;font-size:clamp(22px,6.5vw,26px);line-height:1;flex-shrink:0;}
.ach-name{font-size:clamp(11px,3.1vw,12px);font-weight:700;color:#fff;line-height:1.2;padding:0 4px;flex-shrink:0;width:100%;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.ach-desc{font-size:clamp(10px,2.8vw,11px);color:var(--txt2);line-height:1.3;padding:0 4px;flex:1;min-height:0;width:100%;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
.shard-continue-btn{width:100%;background:transparent;border:1.5px solid var(--accent);color:var(--accent);
  border-radius:13px;padding:clamp(10px,2.5vh,14px);font-family:'DM Sans',sans-serif;
  font-size:clamp(12px,3.5vw,15px);font-weight:600;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:10px;}

/* Achievement celebration overlay */
.ach-celebrate-overlay{position:fixed;inset:0;background:var(--scrim-medium);z-index:80;
  display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;overflow:hidden;}
.ach-celebrate-overlay.hidden{display:none;}
.hub-chrome.home-visible~.ach-celebrate-overlay:not(.hidden),
.hub-chrome.journey-visible~.ach-celebrate-overlay:not(.hidden){
  padding-top:calc(var(--hub-top-band) + 20px);}
#hubNav:not(.hub-nav-stowed)~.ach-celebrate-overlay:not(.hidden){
  padding-bottom:calc(var(--hub-nav-h) + 20px);}
#game.game-chrome-sticky:not(.hidden)~.ach-celebrate-overlay:not(.hidden){
  padding-top:calc(var(--game-sticky-top-band) + 20px);}
#game.game-ads-active:not(.hidden)~.ach-celebrate-overlay:not(.hidden){
  padding-bottom:calc(var(--game-ad-bar-reserve) + 20px);}
.ach-celebrate-fireworks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.ach-celebrate-modal{width:min(100%,320px);background:var(--surface);border:1.5px solid var(--surface3);
  border-radius:18px;padding:var(--modal-card-pad-y) var(--modal-card-pad-x);text-align:center;box-shadow:0 16px 48px rgba(0,0,0,.45);
  position:relative;z-index:1;}
.ach-celebrate-title{font-family:'Syne',sans-serif;font-size:11px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
.ach-celebrate-badge{width:56px;height:56px;margin:0 auto 8px;border-radius:16px;
  background:rgba(192,92,252,.15);border:1.5px solid rgba(192,92,252,.35);
  display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;overflow:hidden;}
.ach-celebrate-badge.hidden{display:none;}
.ach-celebrate-product-img{width:100%;height:100%;object-fit:contain;display:block;}
.ach-celebrate-tag{font-size:10px;color:var(--txt3);margin-bottom:4px;}
.ach-celebrate-tag.hidden{display:none;}
.ach-celebrate-name{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--txt);line-height:1.2;}
.ach-celebrate-desc{font-size:12px;color:var(--txt2);margin-top:6px;line-height:1.4;}
.ach-celebrate-shard{margin:14px 0 6px;width:100%;
  opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1);}
.ach-celebrate-shard.show{opacity:1;transform:translateY(0);}
.ach-celebrate-shard-off{display:none;}
.ach-celebrate-shard-lbl{font-size:11px;color:var(--txt2);letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px;}
.ach-celebrate-shard-amt{display:flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Syne',sans-serif;font-size:clamp(40px,12vw,56px);font-weight:800;color:var(--accent);line-height:1;}
.ach-celebrate-shard-amt.pop{animation:lcShardPop .21s cubic-bezier(.34,1.4,.64,1);}
.ach-celebrate-shard-ico{width:clamp(32px,9vw,44px);height:clamp(32px,9vw,44px);flex-shrink:0;}
.ach-celebrate-reward{font-size:13px;font-weight:700;color:var(--accent);margin-top:10px;}
.ach-celebrate-reward.hidden{display:none;}
.ach-celebrate-sub{font-size:11px;color:var(--txt3);margin-top:8px;line-height:1.35;}
.ach-celebrate-sub.hidden{display:none;}
.ach-celebrate-btn{width:100%;margin-top:var(--modal-card-btn-gap);border:none;border-radius:13px;padding:12px 14px;
  font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;cursor:pointer;
  background:linear-gradient(135deg,var(--accent),#7c5cfc);color:#fff;
  transition:opacity .35s ease,transform .35s ease;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
.ach-celebrate-btn:disabled{opacity:.42;pointer-events:none;transform:scale(.98);}

/* daily-missions.css */
/* Daily Mission — home square icon + journey-style objective modal */
#panelHome .dm-home-btn{
  position:absolute;right:clamp(10px,3vw,16px);z-index:2;
  /* Midpoint between hub chrome and logo (logo ~ min(36vh, 320px) on centered home layout) */
  top:calc((var(--hub-top-band) + min(36vh,320px)) / 2);
  transform:translateY(-50%);
  padding:0;border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;}
#panelHome .dm-home-btn.hidden{display:none;}
#panelHome .dm-home-btn-icon{
  width:clamp(44px,11vw,50px);height:clamp(44px,11vw,50px);color:var(--txt2);}
#panelHome .dm-home-btn-icon svg{
  width:clamp(24px,6vw,28px);height:clamp(24px,6vw,28px);flex-shrink:0;display:block;}
#panelHome .dm-home-btn:active .dm-home-btn-icon{transform:scale(.94);}
#panelHome .dm-home-btn--ready .dm-home-btn-icon{
  background:rgba(192,92,252,.12);border-color:rgba(192,92,252,.45);color:var(--accent);
  box-shadow:0 4px 14px rgba(192,92,252,.2);}
.dm-mission-box{text-align:left;}
.dm-mission-box .dm-mission-title{
  text-align:center;margin-bottom:4px;
  font-family:'Syne',sans-serif;font-size:clamp(22px,7vw,30px);font-weight:800;
  background:linear-gradient(135deg,#a78bfa,#e879f9,#5eead4);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.dm-mission-sub{text-align:center;margin:0 0 14px;}
.dm-mission-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
.dm-mission-row{
  display:flex;align-items:stretch;gap:clamp(6px,2vw,10px);
  --dm-action-h:var(--obj-box-h,46px);
}
.dm-mission-row .obj-box{
  flex:1;min-width:0;max-height:none;min-height:var(--dm-action-h);
  display:flex;align-items:center;
}
.dm-mission-row .obj-body{width:100%;}
.dm-task-reward-pill{
  flex-shrink:0;align-self:center;display:inline-flex;align-items:center;gap:4px;
  pointer-events:none;opacity:.55;
}
button.dm-task-reward-pill{
  pointer-events:auto;cursor:pointer;font:inherit;line-height:inherit;
  -webkit-tap-highlight-color:transparent;
}
button.dm-task-reward-pill:active:not(:disabled){transform:scale(.97);}
button.dm-task-reward-pill:disabled{opacity:.45;cursor:default;}
.dm-task-reward-pill .shard-ico,.dm-task-reward-pill svg{
  width:clamp(11px,3vw,13px);height:clamp(11px,3vw,13px);flex-shrink:0;display:block;
}
.dm-task-reward-pill--ready{
  opacity:1;border-color:rgba(245,200,66,.75)!important;color:var(--gold);
  box-shadow:0 0 10px rgba(245,200,66,.18);
}
.dm-task-reward-pill--claimed{
  opacity:1;border-color:rgba(92,245,212,.45)!important;color:var(--txt);
}
.dm-task-pill-check{
  font-size:clamp(12px,3.2vw,14px);font-weight:800;color:var(--teal);line-height:1;
}
.dm-mission-reset{text-align:center;margin:0 0 12px;font-size:clamp(10px,2.8vw,12px)!important;color:var(--txt3);}
.dm-empty{font-size:clamp(12px,3.2vw,14px);color:var(--txt3);text-align:center;margin:8px 0;
  font-family:'DM Sans',sans-serif;}
.ach-celebrate-overlay[data-celebrate-kind="supply_capsule"] .ach-celebrate-name{
  font-size:clamp(20px,6vw,26px);
  background:linear-gradient(135deg,var(--gold),#fc9842);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}

/* Supply Capsule drop — pre-celebration sequence (contained to #app phone pane) */
.sc-drop{
  position:absolute;inset:0;z-index:90;overflow:hidden;pointer-events:none;
  opacity:0;visibility:hidden;
  background:radial-gradient(ellipse 130% 90% at 50% -10%,#2a1858 0%,#0c0a18 48%,#050508 100%);
  transition:opacity .28s ease,visibility .28s;}
.sc-drop:not(.hidden){visibility:visible;}
.sc-drop--active{opacity:1;pointer-events:auto;}
.sc-drop-stars{
  position:absolute;inset:0;pointer-events:none;opacity:.9;
  background-image:
    radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.85) 0,transparent 100%),
    radial-gradient(1px 1px at 78% 12%,rgba(255,255,255,.7) 0,transparent 100%),
    radial-gradient(1.5px 1.5px at 34% 62%,rgba(192,92,252,.9) 0,transparent 100%),
    radial-gradient(1px 1px at 88% 44%,rgba(94,234,212,.75) 0,transparent 100%),
    radial-gradient(1px 1px at 52% 28%,rgba(255,255,255,.6) 0,transparent 100%),
    radial-gradient(1px 1px at 22% 78%,rgba(255,255,255,.5) 0,transparent 100%),
    radial-gradient(1px 1px at 66% 82%,rgba(255,255,255,.55) 0,transparent 100%);}
.sc-drop-label{
  position:absolute;top:16%;left:0;right:0;margin:0;padding:0 16px;
  text-align:center;font-family:'Syne',sans-serif;
  font-size:clamp(13px,3.8vw,17px);font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal);text-shadow:0 0 18px rgba(94,234,212,.45);
  opacity:0;transform:translateY(-8px);pointer-events:none;}
.sc-drop--active:not(.sc-drop--ready) .sc-drop-label{
  animation:scLabelIn .55s cubic-bezier(.22,1,.36,1) .12s forwards,
    scLabelOut .45s ease 1.55s forwards;}
.sc-drop-tap{
  position:absolute;top:16%;left:0;right:0;margin:0;padding:0 16px;
  text-align:center;font-family:'Syne',sans-serif;
  font-size:clamp(12px,3.5vw,15px);font-weight:700;letter-spacing:.08em;
  color:var(--accent);text-shadow:0 0 14px rgba(192,92,252,.4);
  opacity:0;transform:translateY(6px);pointer-events:none;}
.sc-drop-tap.hidden{display:none;}
.sc-drop--ready .sc-drop-tap:not(.hidden){
  display:block;
  animation:scTapHintIn .45s cubic-bezier(.22,1,.36,1) forwards,
    scTapHintPulse 1.35s ease-in-out .45s infinite;}
.sc-drop-capsule-wrap{
  position:absolute;left:50%;top:0;width:clamp(76px,24vw,112px);
  appearance:none;border:none;background:transparent;padding:0;margin:0;
  transform:translate(-50%,-100%);
  pointer-events:none;cursor:default;
  -webkit-tap-highlight-color:transparent;}
.sc-drop--active:not(.sc-drop--ready) .sc-drop-capsule-wrap{
  animation:scCapsuleDescent 2.6s cubic-bezier(.16,1,.3,1) .2s forwards;}
.sc-drop--ready .sc-drop-capsule-wrap{
  top:45%;
  transform:translate(-50%,-50%) scale(1);
  pointer-events:auto;cursor:pointer;
  animation:scCapsuleIdle 1.5s ease-in-out infinite;}
.sc-drop-trail{
  position:absolute;left:50%;top:72%;width:clamp(8px,2.5vw,12px);height:clamp(56px,18vw,88px);
  background:linear-gradient(180deg,rgba(252,152,66,0),rgba(232,121,249,.45) 45%,rgba(124,92,252,.7));
  border-radius:999px;opacity:0;pointer-events:none;
  transform:translateX(-50%) scaleY(.6);transform-origin:center top;}
.sc-drop--active:not(.sc-drop--ready) .sc-drop-trail{
  animation:scTrailFade 2.6s ease .2s forwards;}
.sc-drop-capsule{
  position:relative;z-index:2;pointer-events:none;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.5)) drop-shadow(0 0 16px rgba(192,92,252,.3));}
.sc-drop-svg{width:100%;height:auto;display:block;}
.sc-drop-flame{transform-origin:0 0;opacity:.9;}
.sc-drop-impact{
  position:absolute;left:50%;top:50%;width:20px;height:20px;border-radius:50%;
  border:2px solid rgba(192,92,252,.7);
  transform:translate(-50%,-50%) scale(0);opacity:0;pointer-events:none;}
.sc-drop-flash{
  position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(192,92,252,.3),transparent 55%);
  opacity:0;pointer-events:none;}
.sc-drop--active:not(.sc-drop--ready) .sc-drop-impact{
  animation:scImpactRing .55s cubic-bezier(.22,1,.36,1) 2.35s forwards;}
.sc-drop--active:not(.sc-drop--ready) .sc-drop-flash{
  animation:scLandFlash .4s ease 2.35s forwards;}
.sc-drop--ready .sc-drop-capsule-wrap:active .sc-drop-capsule{transform:scale(.96);}
@keyframes scLabelIn{
  to{opacity:1;transform:translateY(0);}
}
@keyframes scLabelOut{
  to{opacity:0;transform:translateY(6px);}
}
@keyframes scTapHintIn{
  to{opacity:1;transform:translateY(0);}
}
@keyframes scTapHintPulse{
  0%,100%{opacity:1;}
  50%{opacity:.65;}
}
@keyframes scCapsuleDescent{
  0%{top:0;transform:translate(-50%,-100%) scale(.92);opacity:.75;}
  100%{top:45%;transform:translate(-50%,-50%) scale(1);opacity:1;}
}
@keyframes scTrailFade{
  0%,6%{opacity:0;transform:translateX(-50%) scaleY(.4);}
  18%,82%{opacity:.7;transform:translateX(-50%) scaleY(1);}
  100%{opacity:0;transform:translateX(-50%) scaleY(.5);}
}
@keyframes scImpactRing{
  0%{opacity:.85;transform:translate(-50%,-50%) scale(.15);}
  100%{opacity:0;transform:translate(-50%,-50%) scale(9);}
}
@keyframes scLandFlash{
  0%{opacity:.55;}
  100%{opacity:0;}
}
@keyframes scCapsuleIdle{
  0%,100%{transform:translate(-50%,-50%) scale(1);}
  50%{transform:translate(-50%,-50%) scale(1.035);}
}
@media (prefers-reduced-motion:reduce){
  .sc-drop--active:not(.sc-drop--ready) .sc-drop-capsule-wrap,
  .sc-drop--active:not(.sc-drop--ready) .sc-drop-trail,
  .sc-drop--active:not(.sc-drop--ready) .sc-drop-label,
  .sc-drop--active:not(.sc-drop--ready) .sc-drop-impact,
  .sc-drop--active:not(.sc-drop--ready) .sc-drop-flash{animation-duration:.01ms!important;animation-delay:0s!important;}
  .sc-drop--ready .sc-drop-capsule-wrap{animation:none;top:45%;transform:translate(-50%,-50%) scale(1);}
}

/* home.css */
/* ── HOME ── */
#panelHome .logo{font-family:'Syne',sans-serif;font-size:clamp(22px,calc((100cqi - 24px) / 8.15),52px);font-weight:800;
  background:linear-gradient(135deg,#a78bfa,#e879f9,#5eead4);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  text-align:center;line-height:.95;z-index:1;margin-bottom:clamp(4px,1vh,8px);
  width:100%;max-width:100%;align-self:stretch;box-sizing:border-box;
  padding-inline:3px;overflow:visible;}
#panelHome .logo .logo-tm{margin-right:0;}
.tagline{color:var(--txt2);font-size:clamp(10px,3vw,13px);letter-spacing:.18em;
  text-transform:uppercase;z-index:1;margin-bottom:clamp(28px,6vh,48px);}
.home-stats{display:flex;gap:clamp(16px,6vw,32px);z-index:1;margin-bottom:clamp(24px,5vh,44px);}
.hstat{text-align:center;}
.hstat-v{font-family:'Syne',sans-serif;font-size:clamp(18px,5vw,26px);font-weight:700;color:var(--txt);}
.hstat-l{font-size:clamp(9px,2.5vw,11px);color:var(--txt3);letter-spacing:.1em;text-transform:uppercase;margin-top:1px;}
.btn-play{background:linear-gradient(135deg,#7c5cfc,#c05cfc);color:#fff;border:none;
  border-radius:18px;padding:clamp(14px,3.5vh,22px) clamp(40px,14vw,70px);
  font-family:'DM Sans',sans-serif;font-size:clamp(15px,4.5vw,19px);font-weight:700;
  cursor:pointer;z-index:1;box-shadow:0 8px 40px rgba(124,92,252,.5);
  transition:transform .1s;letter-spacing:.02em;}
.btn-play:active{transform:scale(0.95);}
.btn-noads{background:transparent;color:var(--txt2);border:1.5px solid var(--surface3);
  border-radius:12px;padding:clamp(9px,2vh,13px) clamp(18px,6vw,30px);
  font-family:'DM Sans',sans-serif;font-size:clamp(12px,3.5vw,15px);font-weight:500;
  cursor:pointer;z-index:1;margin-top:clamp(8px,2vh,16px);}
.btn-noads.ad-free{color:var(--teal);border-color:rgba(94,234,212,.45);font-weight:600;}

/* endless-setup.css */
/* Mute toggle buttons */
.mute-row{display:flex;gap:clamp(10px,3vw,16px);z-index:1;margin-top:clamp(10px,2.5vh,16px);}
.mute-btn{display:flex;align-items:center;gap:6px;background:var(--surface);
  border:1.5px solid var(--surface3);border-radius:12px;
  padding:clamp(8px,2vh,12px) clamp(14px,4vw,20px);
  font-family:'DM Sans',sans-serif;font-size:clamp(11px,3vw,13px);font-weight:500;
  color:var(--txt2);cursor:pointer;z-index:1;transition:border-color .2s,color .2s;}
.mute-btn svg{width:clamp(14px,4vw,18px);height:clamp(14px,4vw,18px);flex-shrink:0;}
.mute-btn.active{border-color:var(--accent);color:var(--txt);}
.mute-btn.muted{border-color:var(--red);color:var(--red);opacity:.7;}
.btn-mute{background:transparent;color:var(--txt3);border:none;
  font-family:'DM Sans',sans-serif;font-size:clamp(11px,3vw,13px);font-weight:500;
  cursor:pointer;z-index:1;margin-top:clamp(6px,1.5vh,10px);
  display:flex;align-items:center;gap:6px;opacity:.7;transition:opacity .2s;}
.btn-mute:active{opacity:1;}
.btn-mute.muted{color:var(--red);opacity:.9;}
/* Difficulty selector (Endless Cascade setup) */
#endlesssetup{background:transparent;flex-direction:column;}
#endlesssetup:not(.hidden){padding-top:var(--hub-top-band);}
#endlesssetup .es-body{position:relative;z-index:1;}
.es-desc{font-size:clamp(12px,3.5vw,15px);color:var(--txt2);text-align:center;line-height:1.55;}
.diff-row{display:flex;gap:clamp(8px,2.5vw,12px);width:min(340px,88vw);}
.diff-btn{flex:1;background:var(--surface);border:1.5px solid var(--surface3);
  border-radius:12px;padding:clamp(10px,2.5vh,14px) clamp(6px,2vw,10px);
  font-family:'DM Sans',sans-serif;font-size:clamp(12px,3.5vw,15px);font-weight:600;
  color:var(--txt2);cursor:pointer;transition:border-color .2s,color .2s,background .2s;
  display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;}
.diff-btn .diff-dots{font-size:clamp(10px,2.8vw,12px);font-weight:500;opacity:.8;letter-spacing:.02em;}
.diff-btn.easy.sel{border-color:var(--teal);color:var(--teal);background:rgba(92,245,212,.08);}
.diff-btn.medium.sel{border-color:var(--gold);color:var(--gold);background:rgba(245,200,66,.08);}
.diff-btn.hard.sel{border-color:var(--red);color:var(--red);background:rgba(252,92,125,.08);}
.diff-btn:not(.sel){opacity:.55;}

/* game.css */
/* ── GAME ── */
#game{
  position:absolute;inset:0;z-index:15;
  display:flex;flex-direction:column;min-height:0;overflow:hidden;width:100%;
  --game-pad-x:clamp(8px,2.5vw,14px);
  --game-pad-y:clamp(2px,0.5vh,6px);
  --obj-box-h:46px;
  --obj-grid-gap:8px;
  --pu-bar-h:clamp(58px,15vw,76px);
  --game-ad-bar-h:0px;
  --game-ad-bar-w:min(320px,100%);
}
#game.game-ads-active{--game-ad-bar-h:50px;}
#game.game-ads-active.admob-banner-active{--game-ad-bar-h:50px;--game-ad-bar-w:100%;}
.g-bottom-chrome{
  display:flex;flex-direction:column;flex-shrink:0;
  gap:clamp(2px,0.5vh,4px);
  padding-bottom:env(safe-area-inset-bottom,0px);
  box-sizing:border-box;
}
#game.game-ads-active .g-powerups{
  margin-bottom:0;
  border-bottom:1px solid var(--surface2);
}
@media (max-height:740px){
  #game.journey-active,#game.endless-active{
    --obj-box-h:clamp(34px,9vw,42px);
    --obj-grid-gap:clamp(3px,0.8vh,6px);
    --pu-bar-h:clamp(50px,13vw,64px);
    --game-pad-y:clamp(1px,0.35vh,4px);
  }
  #game.journey-active .g-header,#game.endless-active .g-header{
    padding-bottom:clamp(1px,0.3vh,4px);}
  #game.journey-active .score-num,#game.endless-active .score-num{
    font-size:clamp(18px,6vw,28px);}
}
@media (max-height:640px){
  #game.journey-active,#game.endless-active{
    --obj-box-h:clamp(30px,8.5vw,38px);
    --obj-grid-gap:2px;
    --pu-bar-h:clamp(46px,12vw,56px);
  }
}
.game-overlay{height:100%;min-height:0;}
/* Level complete: keep in-game header (shards, level, lives) pinned over the overlay */
#game.game-chrome-sticky{
  position:absolute;inset:0;z-index:16;pointer-events:none;
  background:transparent!important;display:flex;flex-direction:column;
}
#game.game-chrome-sticky .g-top-chrome{
  flex-shrink:0;pointer-events:none;
  background:var(--bg);
  box-shadow:0 1px 0 rgba(255,255,255,.06);
}
#game.game-chrome-sticky .journey-mid-band,
#game.game-chrome-sticky .grid-wrap,
#game.game-chrome-sticky .g-bottom-chrome,
#game.game-chrome-sticky .clear-pop-layer,
#game.game-chrome-sticky .jc-layer{display:none!important;}
.g-top-chrome{flex-shrink:0;display:flex;flex-direction:column;gap:0;}
.journey-mid-band{
  flex-shrink:0;width:100%;overflow:visible;
  padding:0 var(--game-pad-x) 0;
  display:flex;flex-direction:column;align-items:center;gap:0;}
#game.journey-active .journey-mid-band,
#game.endless-active .journey-mid-band{
  padding-top:clamp(2px,0.6vh,10px);}
#game.journey-active .journey-mid-inner,
#game.endless-active .journey-mid-inner{
  min-height:calc(var(--obj-box-h) * 2 + var(--obj-grid-gap));}
.journey-mid-inner{
  width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--game-pad-y);}
.g-header,.g-progress,.g-mingroup,.journey-objs,.journey-mid-band,.g-bottom-chrome,.g-powerups,.ad-sense-banner{flex-shrink:0;}
.g-bottom-chrome{
  display:flex;flex-direction:column;width:100%;height:auto;flex-shrink:0;min-height:0;
  overflow:hidden;
  padding-bottom:max(env(safe-area-inset-bottom,0px),0px);
}
.g-header{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;
  padding:max(env(safe-area-inset-top,0px),var(--game-pad-y)) var(--game-pad-x) var(--game-pad-y);}
.g-header-side{display:flex;align-items:center;min-width:clamp(34px,9vw,40px);}
.g-header-left{justify-self:start;}
.g-header-center{display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.6vw,8px);min-width:0;}
.g-header-right{justify-self:end;}
#game .shard-bar.game-stat,#game .lives-bar.game-stat{
  cursor:default;pointer-events:none;-webkit-tap-highlight-color:transparent;
  display:none;}
#game.journey-active .shard-bar.game-stat,#game.journey-active .lives-bar.game-stat,
#game.endless-active .shard-bar.game-stat,#game.endless-active .lives-bar.game-stat,
#game.game-chrome-sticky .shard-bar.game-stat,#game.game-chrome-sticky .lives-bar.game-stat{display:flex;}
.score-block{flex:1;text-align:center;min-width:0;}
.score-lbl{font-size:clamp(9px,2.5vw,11px);color:var(--txt3);letter-spacing:.1em;text-transform:uppercase;}
.score-num{font-family:'Syne',sans-serif;font-size:clamp(22px,7vw,32px);font-weight:800;color:var(--txt);line-height:1;}
#game.endless-active .score-block--pb .score-num{
  color:var(--gold);
  text-shadow:0 0 10px rgba(245,200,66,.5),0 0 22px rgba(245,200,66,.28);
  animation:scorePbPulse 1.65s ease-in-out infinite;}
#game.endless-active .score-block--pb .score-lbl{color:rgba(245,200,66,.88);}
@keyframes scorePbPulse{
  0%,100%{transform:scale(1);filter:brightness(1);}
  50%{transform:scale(1.045);filter:brightness(1.1);}}
.back-btn{width:clamp(32px,9vw,40px);height:clamp(32px,9vw,40px);border-radius:10px;
  background:var(--surface);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:transform .1s;-webkit-tap-highlight-color:transparent;}
.back-btn:active{transform:scale(.94);}
.back-btn svg{width:17px;height:17px;stroke:var(--txt2);fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;}
.g-progress{padding:0 var(--game-pad-x) var(--game-pad-y);display:none;flex-direction:column;gap:3px;}
@keyframes moveFlash{from{opacity:1;transform:scale(1)}to{opacity:.5;transform:scale(1.15)}}
#gameOverFlash{position:absolute;inset:0;background:var(--red);opacity:0;pointer-events:none;z-index:9;transition:opacity .15s;}
#gameOverFlash.bang{opacity:.45;}
.g-prog-row{display:flex;justify-content:space-between;align-items:center;}
.level-badge{font-size:clamp(10px,3vw,13px);font-weight:600;color:var(--accent);letter-spacing:.05em;}
.goal-txt{font-size:clamp(9px,2.8vw,12px);color:#fff;}
.prog-track{height:6px;background:var(--surface2);border-radius:8px;overflow:hidden;}
.prog-fill{height:100%;border-radius:8px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .4s cubic-bezier(.34,1.56,.64,1);}
.g-mingroup{padding:0 var(--game-pad-x);font-size:clamp(10px,2.8vw,12px);color:var(--txt3);text-align:center;letter-spacing:.04em;line-height:1.35;}
#game.journey-active .g-mingroup,
#game.endless-active .g-mingroup{display:none;}
.grid-wrap{flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:stretch;justify-content:center;position:relative;overflow:hidden;padding:0;}
.grid-canvas-stack{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;width:100%;max-width:100%;line-height:0;transform:translateZ(0);}
.grid-canvas-inner{position:relative;display:inline-block;line-height:0;max-width:100%;max-height:100%;}
#hexCanvas{display:block;touch-action:none;max-width:100%;max-height:100%;}
#particleCanvas{
  position:fixed;left:-9999px;top:0;width:1px;height:1px;
  opacity:0;pointer-events:none;visibility:hidden;
}
.clear-pop-layer{position:fixed;inset:0;pointer-events:none;z-index:20;overflow:visible;}
.clear-pop{
  position:absolute;left:0;top:0;
  font-family:'Syne',sans-serif;font-weight:800;
  font-size:18px;line-height:1;color:#fff;
  -webkit-text-stroke:3px #000;paint-order:stroke fill;
  white-space:nowrap;pointer-events:none;
  will-change:transform,opacity;
  animation:clearPopFloat 1.1s cubic-bezier(0.45,0,1,1) forwards;}
@keyframes clearPopFloat{
  from{opacity:1;transform:translate(-50%,-50%);}
  to{opacity:0;transform:translate(-50%,calc(-50% - var(--clear-pop-rise,96px)));}}

.g-powerups{display:flex;width:100%;gap:clamp(6px,1.5vw,8px);
  padding:clamp(2px,0.4vh,var(--game-pad-y)) var(--game-pad-x);
  box-sizing:border-box;border-top:1px solid var(--surface2);
  background:linear-gradient(180deg,rgba(17,17,32,.6),var(--bg));
  transition:box-shadow .3s;}
.g-powerups.tut-glow{box-shadow:0 -4px 28px rgba(124,92,252,.45);}
.g-powerups.hidden{display:none;}
.pu{flex:1;min-width:0;max-width:none;height:var(--pu-bar-h);border-radius:14px;
  background:var(--surface);border:1.5px solid var(--surface3);
  display:grid;grid-template-rows:1fr auto auto auto 1fr;
  grid-template-columns:1fr;align-items:center;justify-items:center;
  padding:clamp(7px,1.6vw,10px) clamp(5px,1.2vw,8px);
  box-sizing:border-box;row-gap:clamp(3px,0.6vw,4px);
  cursor:pointer;transition:border-color .15s,transform .1s,background .2s;
  position:relative;overflow:visible;}
.pu:active{transform:scale(0.91);}
.pu.lit{border-color:var(--accent);background:rgba(124,92,252,.15);}
.pu.jc-pu-coach{
  border-color:#f5c842!important;
  background:rgba(245,200,66,.1)!important;
  animation:jc-pu-coach-pulse 1.1s ease-in-out infinite;
}
@keyframes jc-pu-coach-pulse{
  0%,100%{box-shadow:0 0 0 2px rgba(245,200,66,.8),0 0 12px rgba(245,200,66,.4);}
  50%{box-shadow:0 0 0 3px rgba(245,200,66,1),0 0 22px rgba(245,200,66,.7);}
}
.pu-bar-ico{grid-row:2;width:clamp(18px,5vw,22px);height:clamp(18px,5vw,22px);display:block;justify-self:center;}
.pu-tut-ico .pu-tut-ico-svg{width:clamp(16px,4.5vw,18px);height:clamp(16px,4.5vw,18px);display:block;}
.pu-lbl{grid-row:3;font-size:clamp(9px,2.4vw,11px);color:#fff;letter-spacing:.03em;line-height:1;
  display:flex;align-items:center;justify-content:center;width:100%;margin:0;font-weight:600;}
.pu-ct{grid-row:4;font-size:clamp(11px,3vw,14px);color:#fff;font-weight:700;line-height:1;
  min-height:clamp(12px,3vw,14px);
  display:flex;align-items:center;justify-content:center;gap:3px;width:100%;margin:0;}
.pu-shard-ico{width:clamp(10px,2.8vw,12px);height:clamp(10px,2.8vw,12px);flex-shrink:0;display:block;}

.pu-tut-overlay{position:absolute;inset:0;background:rgba(8,8,15,.82);z-index:25;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(12px,4vw,20px);overflow:hidden;}
.pu-tut-overlay.hidden{display:none;}
.pu-tut-modal{background:var(--surface);border:1.5px solid var(--surface3);border-radius:22px;
  width:min(340px,100%);overflow:hidden;display:flex;flex-direction:column;}
.pu-tut-page{display:none;padding:clamp(18px,4.5vw,22px) clamp(18px,4.5vw,22px) clamp(10px,2.5vw,14px);}
.pu-tut-page.active{display:block;}
.pu-tut-title{font-family:'Syne',sans-serif;font-size:clamp(17px,4.5vw,20px);font-weight:800;color:var(--txt);
  text-align:center;margin-bottom:clamp(10px,2.5vh,14px);}
.pu-tut-text{font-size:clamp(11px,3vw,13px);color:#fff;line-height:1.45;text-align:center;}
.pu-tut-text strong{color:var(--gold);font-weight:600;}
.pu-tut-visual{display:flex;justify-content:center;margin:clamp(12px,2.5vh,16px) 0;}
.pu-tut-match{width:clamp(148px,42vw,168px);height:auto;display:block;}
.pu-tut-steps{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:clamp(10px,2vh,12px);
  font-size:clamp(10px,2.8vw,12px);color:var(--txt2);}
.pu-tut-step{display:flex;align-items:center;gap:5px;background:var(--surface2);border-radius:9px;padding:5px 9px;}
.pu-tut-step-num{width:18px;height:18px;border-radius:50%;background:var(--accent);color:#fff;
  font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pu-tut-arrow{color:var(--txt3);font-size:13px;}
.pu-tut-list{display:grid;grid-template-columns:1fr 1fr;gap:clamp(6px,1.5vw,8px);}
.pu-tut-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;
  padding:clamp(7px,1.8vw,9px) clamp(5px,1.5vw,7px);background:var(--surface2);border-radius:12px;}
.pu-tut-ico{width:clamp(30px,8vw,34px);height:clamp(30px,8vw,34px);border-radius:9px;background:var(--surface);
  border:1.5px solid var(--surface3);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.pu-tut-name{font-size:clamp(11px,3vw,12px);font-weight:700;color:var(--txt);}
.pu-tut-desc{font-size:clamp(9px,2.4vw,10px);color:#fff;line-height:1.25;}
.pu-tut-hazards{display:flex;flex-direction:column;gap:clamp(8px,2vh,10px);margin-top:clamp(10px,2vh,12px);}
.pu-tut-hazard{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:var(--surface2);border-radius:12px;text-align:left;}
.pu-tut-hazard-ico{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;border:1.5px solid var(--surface3);}
.pu-tut-hazard-ico.infect{background:rgba(57,255,20,.12);border-color:rgba(57,255,20,.35);box-shadow:0 0 10px rgba(57,255,20,.2);}
.pu-tut-hazard-ico.stone{background:rgba(120,120,140,.15);border-color:rgba(160,160,180,.35);}
.pu-tut-hazard-name{font-size:clamp(12px,3.2vw,13px);font-weight:700;color:var(--txt);margin-bottom:3px;}
.pu-tut-hazard-desc{font-size:clamp(10px,2.8vw,11px);color:#fff;line-height:1.35;}
.pu-tut-hazard-desc strong{color:var(--gold);font-weight:600;}
.pu-tut-dots{display:flex;justify-content:center;gap:6px;padding:clamp(4px,1vh,8px) 0;}
.pu-tut-dot{width:6px;height:6px;border-radius:50%;background:var(--surface3);transition:width .2s,background .2s;}
.pu-tut-dot.active{background:var(--accent);width:18px;border-radius:3px;}
.pu-tut-footer{padding:0 clamp(18px,4.5vw,22px) clamp(18px,4.5vw,22px);}
.pu-tut-btn{width:100%;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;
  border-radius:14px;padding:clamp(12px,2.8vh,14px);font-family:'DM Sans',sans-serif;font-size:clamp(13px,3.5vw,15px);
  font-weight:700;cursor:pointer;}
.jt-modal{padding:clamp(18px,4.5vw,22px) clamp(18px,5vw,24px) clamp(18px,4.5vw,22px);}
.jt-modal .pu-tut-title{margin-bottom:clamp(8px,2vh,10px);}
.jt-visual-wrap{display:flex;justify-content:center;margin:0 0 clamp(10px,2.5vh,14px);}
.jt-visual-wrap.hidden{display:none;}
.jt-visual-canvas{display:block;width:min(260px,100%);height:auto;border-radius:14px;background:var(--surface2);
  border:1px solid var(--surface3);}
.jt-modal .pu-tut-text{max-height:min(52vh,360px);overflow-y:auto;text-align:left;margin:0;}
.jt-modal .pu-tut-text strong{color:var(--gold);font-weight:600;}
.jt-modal .pu-tut-footer{padding:clamp(10px,2vh,14px) 0 0;}
.jt-guide-head{display:flex;align-items:center;gap:10px;margin-bottom:4px;}
.jt-guide-canvas{display:block;width:72px;height:56px;flex-shrink:0;border-radius:10px;background:var(--surface2);
  border:1px solid var(--surface3);}
.jt-guide-block{padding:10px 0;border-bottom:1px solid var(--surface3);}
.jt-guide-block:last-child{border-bottom:none;padding-bottom:0;}
.jt-guide-name{font-size:clamp(12px,3.2vw,13px);font-weight:700;color:var(--txt);margin-bottom:4px;}
.jt-guide-text{font-size:clamp(11px,3vw,12px);color:#fff;line-height:1.4;margin:0;}
.jt-guide-text strong{color:var(--gold);font-weight:600;}
.jt-pu-lead{font-size:clamp(11px,3vw,12px);color:#fff;line-height:1.45;margin:0 0 10px;text-align:left;}
.jt-pu-guide{display:flex;flex-direction:column;gap:8px;}
.jt-pu-row{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;background:var(--surface2);border-radius:12px;text-align:left;}
.jt-pu-ico{flex-shrink:0;width:34px;height:34px;border-radius:9px;background:var(--surface);
  border:1.5px solid var(--surface3);display:flex;align-items:center;justify-content:center;}
.jt-pu-name{font-size:clamp(12px,3.2vw,13px);font-weight:700;color:var(--txt);margin-bottom:2px;}
.jt-pu-desc{font-size:clamp(10px,2.8vw,11px);color:#fff;line-height:1.35;margin:0;}
.jt-pu-desc strong{color:var(--gold);font-weight:600;}
.jt-pu-footnote{font-size:clamp(10px,2.8vw,11px);color:var(--txt-dim);line-height:1.4;margin:10px 0 0;text-align:left;}
.jt-pu-footnote strong{color:var(--gold);font-weight:600;}
.jt-coach-lead{font-size:clamp(12px,3.2vw,14px);color:#fff;line-height:1.45;margin:0;text-align:center;}

/* In-game journey coach — fixed overlay on board + hint chip */
.jc-fx-layer{position:fixed;inset:0;pointer-events:none;z-index:19;overflow:visible;}
.jc-fx-layer.hidden{display:none;}
.jc-beam-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.jc-beam-line{fill:none;stroke:#ff5060;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;
  filter:drop-shadow(0 0 8px rgba(255,80,96,0.55));}
.jc-ring-el{position:absolute;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  border:3px solid #f5c842;background:rgba(245,200,66,0.22);
  box-shadow:0 0 14px rgba(245,200,66,0.85),inset 0 0 8px rgba(245,200,66,0.15);}
.jc-ring-el--success{border-color:#5cf5d4;background:rgba(92,245,212,0.22);
  box-shadow:0 0 14px rgba(92,245,212,0.85),inset 0 0 8px rgba(92,245,212,0.15);}
.jc-ring-el--laser{border-color:#fff;background:rgba(255,255,255,0.12);
  box-shadow:0 0 0 3px rgba(245,200,66,0.95),0 0 18px rgba(255,255,255,0.75),0 0 28px rgba(245,200,66,0.55);}
.jc-ring-el--pu{border-color:#fff;background:rgba(124,92,252,0.2);
  box-shadow:0 0 0 3px rgba(124,92,252,0.9),0 0 18px rgba(124,92,252,0.55);}
.jc-ring-el--bomb{border-color:#fff;background:rgba(255,255,255,0.1);
  box-shadow:0 0 0 3px rgba(252,92,125,0.95),0 0 18px rgba(255,255,255,0.7),0 0 24px rgba(252,92,125,0.5);}
.jc-ring-el--stone{border-color:#f5c842;background:rgba(245,200,66,0.14);
  box-shadow:0 0 0 2px rgba(180,180,190,0.55),0 0 16px rgba(245,200,66,0.75);}
.jc-finger-el{position:absolute;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:#fff;border:2px solid rgba(245,200,66,0.85);
  box-shadow:0 0 10px rgba(255,255,255,0.45);}
.jc-layer{position:absolute;left:0;right:0;bottom:0;z-index:6;pointer-events:none;height:auto;top:auto;}
.jc-layer.hidden{display:none;}
.jc-hint{position:absolute;z-index:1;left:50%;bottom:clamp(6px,2vh,12px);transform:translateX(-50%);
  padding:6px 14px;border-radius:999px;font-size:clamp(10px,2.8vw,12px);font-weight:700;color:#f5c842;
  background:var(--scrim-medium);border:1px solid rgba(245,200,66,.45);white-space:nowrap;letter-spacing:.02em;}

#adSenseBanner,
.ad-sense-banner{
  position:relative;
  flex:0 0 var(--game-ad-bar-h);
  width:100%;height:var(--game-ad-bar-h);min-height:var(--game-ad-bar-h);max-height:var(--game-ad-bar-h);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;background:var(--surface2);flex-shrink:0;box-sizing:border-box;
  border-top:1px solid var(--surface3);
  contain:size layout style;
  pointer-events:none;
}
#game.admob-banner-active #adSenseBanner{
  background:transparent;
  border-top-color:transparent;
  pointer-events:none;
  width:100%;
  max-width:100%;
}
#adSenseBanner:empty:not(.game-ad-live){background:var(--surface2);}
#adSenseBanner.game-ad-live{background:transparent;}
.game-ad-mock{
  position:absolute;inset:0;
  width:100%;max-width:100%;height:100%;display:flex;align-items:center;gap:6px;
  padding:0 8px;box-sizing:border-box;flex-shrink:0;
}
.game-ad-mock.hidden{display:none!important;}
.game-ad-mock-lbl{font-size:8px;color:var(--txt3);letter-spacing:.08em;text-transform:uppercase;flex-shrink:0;}
.game-ad-mock-pill{
  flex:1;min-width:0;height:34px;border-radius:8px;background:var(--surface);border:1px solid var(--surface3);
  display:flex;align-items:center;padding:0 8px;gap:6px;overflow:hidden;
}
.game-ad-mock-ico{
  width:22px;height:22px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:13px;line-height:1;
}
.game-ad-mock-text{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:1px;}
.game-ad-mock-name{font-size:10px;font-weight:600;color:var(--txt);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;}
.game-ad-mock-sub{font-size:9px;color:var(--txt3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;}
.game-ad-mock-cta{font-size:9px;font-weight:700;color:var(--accent);flex-shrink:0;letter-spacing:.04em;}
#adSenseBanner .adsbygoogle{
  position:absolute!important;inset:0!important;margin:0 auto!important;
  display:block!important;width:var(--game-ad-bar-w)!important;height:50px!important;
  min-height:50px!important;max-height:50px!important;overflow:hidden;flex-shrink:0;
}
#adSenseBanner iframe{
  display:block!important;width:var(--game-ad-bar-w)!important;max-width:100%!important;
  height:50px!important;max-height:50px!important;margin:0 auto;
}
#game .g-bottom-chrome #adSenseBanner{z-index:2;}
.ad-sense-inter{display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden;}
.ad-sense-inter:not(.hidden){min-height:clamp(160px,28vh,220px);}
.ad-mock-part.hidden{display:none!important;}
.inter-vis--adsense{background:var(--bg)!important;}
.inter-vis--adsense .ad-sense-inter{height:100%;}

/* shard-fly.css */
/* Shard fly animation + pill pulse — pair with apps/web/js/src/22-shard-fly.js */
.shard-fly-layer{position:fixed;inset:0;pointer-events:none;z-index:2147483646;overflow:visible;}
.shard-fly-gem{position:fixed;left:0;top:0;width:22px;height:22px;margin:-11px 0 0 -11px;z-index:2147483647;
  transition:transform .89s cubic-bezier(.22,.85,.32,1),opacity .71s ease;will-change:transform,opacity;}
.shard-fly-gem svg{width:100%;height:100%;display:block;filter:drop-shadow(0 0 6px rgba(192,92,252,.65));}
.shard-fly-plus{position:fixed;left:0;top:0;margin:-12px 0 0 -12px;z-index:2147483647;pointer-events:none;
  font-family:'Syne',sans-serif;font-size:clamp(22px,6vw,30px);font-weight:800;color:var(--accent);
  text-shadow:0 0 12px rgba(192,92,252,.55);transition:transform 1.03s cubic-bezier(.22,.61,.36,1),opacity 1.03s ease;
  will-change:transform,opacity;}
.shard-bar.shard-pulse,.store-shard-bar.shard-pulse{animation:shardBarPulse .45s ease;}
@keyframes shardBarPulse{
  0%,100%{transform:scale(1);border-color:var(--surface3);}
  50%{transform:scale(1.08);border-color:rgba(192,92,252,.7);box-shadow:0 0 14px rgba(192,92,252,.35);}
}

/* toast.css */
.float-toast-layer{
  position:fixed;inset:0;pointer-events:none;z-index:2147483647;overflow:visible;}
.float-toast{
  position:absolute;left:50%;top:50%;
  font-family:'Syne',sans-serif;font-weight:800;
  font-size:clamp(16px,4.8vw,26px);line-height:1.25;color:#fff;
  -webkit-text-stroke:3px #000;paint-order:stroke fill;
  text-align:center;max-width:min(88vw,420px);
  white-space:normal;pointer-events:none;
  will-change:transform,opacity;
  animation:floatToastRise var(--float-toast-dur,1.1s) cubic-bezier(0.45,0,1,1) forwards;}
@keyframes floatToastRise{
  from{opacity:1;transform:translate(-50%,calc(-50% + var(--float-toast-stack,0px)));}
  to{opacity:0;transform:translate(-50%,calc(-50% - var(--float-toast-rise,120px) + var(--float-toast-stack,0px)));}}
.pu{flex:1;min-width:0;max-width:none;height:clamp(58px,15vw,76px);border-radius:14px;
  background:var(--surface);border:1.5px solid var(--surface3);
  display:grid;grid-template-rows:1fr auto auto auto 1fr;
  grid-template-columns:1fr;align-items:center;justify-items:center;
  padding:clamp(7px,1.6vw,10px) clamp(5px,1.2vw,8px);
  box-sizing:border-box;row-gap:clamp(3px,0.6vw,4px);
  cursor:pointer;transition:border-color .15s,transform .1s,background .2s;
  position:relative;overflow:visible;}
.pu:active{transform:scale(0.91);}
.pu.lit{border-color:var(--accent);background:rgba(124,92,252,.15);}
.pu-bar-ico{grid-row:2;width:clamp(18px,5vw,22px);height:clamp(18px,5vw,22px);display:block;justify-self:center;}
.pu-tut-ico .pu-tut-ico-svg{width:clamp(16px,4.5vw,18px);height:clamp(16px,4.5vw,18px);display:block;}
.pu-lbl{grid-row:3;font-size:clamp(9px,2.4vw,11px);color:#fff;letter-spacing:.03em;line-height:1;
  display:flex;align-items:center;justify-content:center;width:100%;margin:0;font-weight:600;}
.pu-ct{grid-row:4;font-size:clamp(11px,3vw,14px);color:#fff;font-weight:700;line-height:1;
  min-height:clamp(12px,3vw,14px);
  display:flex;align-items:center;justify-content:center;gap:3px;width:100%;margin:0;}
.pu-shard-ico{width:clamp(10px,2.8vw,12px);height:clamp(10px,2.8vw,12px);flex-shrink:0;display:block;}

/* ── OVERLAYS ── */
#levelcomplete{background:var(--scrim-heavy);align-items:center;justify-content:center;z-index:10;overflow:hidden;}
#game.game-chrome-sticky~#levelcomplete{
  padding-top:var(--game-sticky-top-band);box-sizing:border-box;z-index:14;
  background:transparent;
}
#game.game-ads-active:not(.hidden)~#levelcomplete{
  padding-bottom:var(--game-ad-bar-reserve);box-sizing:border-box;
}
#game.game-chrome-sticky~#levelcomplete::before{
  content:'';position:absolute;left:0;right:0;bottom:0;top:var(--game-sticky-top-band);
  background:var(--scrim-heavy);z-index:0;pointer-events:none;
}
#game.game-ads-active:not(.hidden)~#levelcomplete::before{bottom:var(--game-ad-bar-reserve);}
#game.game-chrome-sticky~#levelcomplete .lc-fireworks{
  top:var(--game-sticky-top-band);bottom:0;height:auto;
}
#game.game-ads-active:not(.hidden)~#levelcomplete .lc-fireworks{bottom:var(--game-ad-bar-reserve);}
#game.game-chrome-sticky .g-top-chrome{position:relative;z-index:1;}
.lc-fireworks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.lc-wrap{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1;width:100%;}
.lc-logo{font-family:'Syne',sans-serif;font-size:clamp(36px,11vw,52px);font-weight:800;
  background:linear-gradient(135deg,#a78bfa,#e879f9,#5eead4);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  text-align:center;line-height:.95;margin:0 0 clamp(14px,3.5vh,22px);padding:0 12px;
  opacity:0;transform:scale(.88);
  transition:opacity .45s ease,transform .45s cubic-bezier(.34,1.56,.64,1);}
.lc-logo.show{opacity:1;transform:scale(1);}
.lc-logo.solo{margin-bottom:0;}
.lc-logo.hide{opacity:0!important;transform:scale(.92);transition:opacity .4s ease,transform .4s ease;}
.lc-card{background:var(--surface);border-radius:var(--modal-card-radius);padding:var(--modal-card-pad-y) var(--modal-card-pad-x);
  width:min(320px,90vw);height:408px;box-sizing:border-box;overflow:hidden;
  text-align:center;border:1px solid var(--surface3);position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  opacity:0;transform:translateY(10px);
  transition:opacity .45s ease,transform .45s cubic-bezier(.34,1.56,.64,1);}
.lc-card.show{opacity:1;transform:translateY(0);}
.lc-phase-hidden{display:none!important;}
.lc-stars-row{display:flex;justify-content:center;align-items:center;gap:clamp(10px,3.5vw,16px);
  margin-top:clamp(14px,3.5vh,20px);margin-bottom:clamp(14px,3.5vh,22px);
  min-height:clamp(36px,10vw,48px);width:100%;flex-shrink:0;}
.lc-star{font-size:clamp(30px,9vw,42px);line-height:1;color:rgba(245,200,66,.22);
  transform:scale(.82);opacity:.4;transition:transform .14s cubic-bezier(.34,1.56,.64,1),opacity .13s,color .13s;}
.lc-star.lit{color:#f5c842;opacity:1;transform:scale(1.18);
  text-shadow:0 0 18px rgba(245,200,66,.95),0 2px 6px rgba(0,0,0,.35);
  animation:lcStarPop .18s cubic-bezier(.34,1.56,.64,1);}
.lc-star.dim{opacity:.18;color:rgba(245,200,66,.15);transform:scale(.78);}
@keyframes lcStarPop{
  0%{transform:scale(.5);opacity:0;}
  70%{transform:scale(1.22);}
  100%{transform:scale(1.18);opacity:1;}
}
.lc-title{font-family:'Syne',sans-serif;font-size:clamp(20px,6vw,28px);font-weight:800;
  background:linear-gradient(135deg,var(--gold),#fc9842);-webkit-background-clip:text;-webkit-text-fill-color:transparent;
  margin:0;padding:clamp(2px,0.5vh,6px) 0 0;flex-shrink:0;width:100%;
  opacity:0;transform:translateY(8px);
  transition:opacity .45s ease,transform .45s cubic-bezier(.34,1.56,.64,1);}
.lc-title.show{opacity:1;transform:translateY(0);}
.lc-shard-reward{margin:clamp(10px,2.5vh,16px) 0 clamp(8px,2vh,12px);flex-shrink:0;width:100%;
  opacity:0;transform:translateY(8px);transition:opacity .4s ease,transform .4s ease;}
.lc-shard-reward.show{opacity:1;transform:translateY(0);}
.lc-shard-lbl{font-size:clamp(10px,2.8vw,12px);color:#fff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;}
.lc-shard-amt{display:flex;align-items:center;justify-content:center;gap:clamp(6px,2vw,10px);
  font-family:'Syne',sans-serif;font-size:clamp(36px,11vw,54px);font-weight:800;color:#fff;line-height:1;}
.lc-shard-amt.pop{animation:lcShardPop .21s cubic-bezier(.34,1.4,.64,1);}
.lc-shard-ico{width:clamp(28px,8vw,38px);height:clamp(28px,8vw,38px);flex-shrink:0;}
.lc-card .get-lives-btn#btnNext,
.br-results-card .get-lives-btn#btnBrContinue{width:100%;margin-top:auto;flex-shrink:0;
  opacity:0;transform:translateY(10px);visibility:hidden;
  transition:opacity .4s ease,transform .4s cubic-bezier(.34,1.56,.64,1);}
.lc-card .get-lives-btn#btnNext.show,
.br-results-card .get-lives-btn#btnBrContinue.show{opacity:1;transform:translateY(0);visibility:visible;}
.lc-card .get-lives-btn#btnNext.lc-phase-hidden,
.br-results-card .get-lives-btn#btnBrContinue.br-phase-hidden{display:none!important;}
@keyframes lcShardPop{
  0%{transform:scale(1);}
  40%{transform:scale(1.14);filter:drop-shadow(0 0 14px rgba(192,92,252,.75));}
  100%{transform:scale(1);}
}
.go-card .get-lives-btn{margin-top:0;}
.er-recap-actions .get-lives-btn,.go-secondary-actions .get-lives-btn,.go-primary-actions .get-lives-btn{margin-bottom:0;}
.er-recap-actions .get-lives-btn.btn-life-leave .modal-purchase-title:only-child{padding:2px 0;}

#gameover{background:var(--scrim-heavy);align-items:center;justify-content:center;z-index:10;}
#game.game-chrome-sticky~#gameover{
  padding-top:var(--game-sticky-top-band);box-sizing:border-box;z-index:14;
  background:transparent;
}
#game.game-ads-active:not(.hidden)~#gameover{
  padding-bottom:var(--game-ad-bar-reserve);box-sizing:border-box;
}
#game.game-chrome-sticky~#gameover::before{
  content:'';position:absolute;left:0;right:0;bottom:0;top:var(--game-sticky-top-band);
  background:var(--scrim-heavy);z-index:0;pointer-events:none;
}
#game.game-ads-active:not(.hidden)~#gameover::before{bottom:var(--game-ad-bar-reserve);}
#game.game-chrome-sticky~#gameover .go-card{position:relative;z-index:1;}
.go-card{background:var(--surface);border-radius:var(--modal-card-radius);padding:var(--modal-card-pad-y) var(--modal-card-pad-x);
  width:min(306px,88vw);text-align:center;border:1px solid var(--surface3);position:relative;}
.go-header{margin-bottom:2px;}
.go-level-line{font-size:clamp(12px,3.4vw,14px);color:var(--txt3);font-weight:600;letter-spacing:.04em;margin:2px 0 8px;}
.go-card.go-journey .go-title{margin-bottom:0;}
.go-card.go-journey .go-reason{margin-bottom:clamp(14px,3vh,18px);}
.go-card.go-continue-offer .go-reason{margin-bottom:clamp(10px,2.5vh,14px);}
.go-card.go-continue-offer .go-lives-wrap{display:none;}
.go-primary-actions{display:flex;flex-direction:column;gap:10px;margin-bottom:0;}
.go-continue-block{display:flex;flex-direction:column;align-items:stretch;gap:6px;}
.go-continue-block.hidden{display:none;}
.go-continue-tagline{margin:0;padding:0 4px;font-size:clamp(10px,2.8vw,11px);font-weight:600;color:var(--teal);line-height:1.3;text-align:center;}
.go-secondary-actions{display:flex;flex-direction:column;gap:10px;margin-top:clamp(12px,2.8vh,16px);
  padding-top:clamp(12px,2.8vh,16px);border-top:1px solid var(--surface3);}
.go-card:not(.go-continue-offer) .go-primary-actions:empty,
.go-card:not(.go-continue-offer) .go-primary-actions .hidden:only-child{display:none;}
.go-card:not(.go-continue-offer) .go-secondary-actions{margin-top:0;padding-top:0;border-top:none;}
.go-card.go-endless-fail .go-title{background:linear-gradient(135deg,var(--txt),var(--txt2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.go-card.go-endless-fail .go-reason{margin-bottom:clamp(14px,3vh,18px);}
.go-card.go-endless-fail .go-secondary-actions{display:none;}
.go-card.go-endless-fail #btnEndlessContinue{margin-top:4px;}
.go-card.go-endless-recap-pending>.go-header,
.go-card.go-endless-recap-pending>.go-reason,
.go-card.go-endless-recap-pending>.go-lives-wrap,
.go-card.go-endless-recap-pending>.go-primary-actions{display:none!important;}
.go-card.go-endless-recap-active{height:auto;width:min(318px,92vw);max-height:92vh;padding:0;overflow:visible;}
.go-card.go-endless-recap-active>.go-header,
.go-card.go-endless-recap-active>.go-reason,
.go-card.go-endless-recap-active>.go-lives-wrap,
.go-card.go-endless-recap-active>.go-primary-actions{display:none!important;}
.go-card.go-endless-recap-active .er-recap-overlay{position:relative;inset:auto;overflow:visible;flex:0 1 auto;}
.er-recap-overlay{position:absolute;inset:0;background:var(--surface);z-index:6;border-radius:26px;
  display:flex;align-items:stretch;justify-content:center;padding:clamp(14px,3.2vh,20px) clamp(14px,4vw,18px);
  overflow:visible;border:1px solid var(--surface3);}
.er-recap-overlay.hidden{display:none;}
.er-recap-card{width:100%;height:auto;display:flex;flex-direction:column;justify-content:flex-start;
  text-align:center;overflow:visible;padding-bottom:4px;}
.er-recap-head{flex-shrink:0;margin-bottom:2px;}
.er-recap-title{font-family:'Syne',sans-serif;font-size:clamp(18px,5.5vw,24px);font-weight:800;
  background:linear-gradient(135deg,var(--gold),var(--teal));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:2px;}
.er-recap-badge{display:inline-block;font-size:clamp(9px,2.6vw,10px);font-weight:700;color:var(--gold);
  letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;padding:3px 9px;border-radius:999px;
  border:1px solid rgba(245,200,66,.35);background:rgba(245,200,66,.08);}
.er-recap-badge.hidden{display:none;}
.er-recap-hero{flex-shrink:0;margin:clamp(4px,1.2vh,8px) 0 clamp(10px,2.2vh,14px);}
.er-recap-mode{font-size:clamp(10px,2.8vw,11px);color:var(--txt3);font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.er-recap-hero-val{font-family:'Syne',sans-serif;font-size:clamp(34px,10vw,46px);font-weight:800;color:var(--txt);line-height:1.05;}
.er-recap-list{list-style:none;margin:0;padding:0;flex-shrink:0;width:100%;}
.er-list-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 2px;
  border-bottom:1px solid var(--surface3);opacity:0;transform:translateY(6px);
  transition:opacity .28s ease,transform .28s ease;}
.er-list-row.show{opacity:1;transform:translateY(0);}
.er-list-row--hi .er-list-val{color:var(--gold);}
.er-list-val.diff-4{color:var(--teal);}
.er-list-val.diff-5{color:var(--gold);}
.er-list-val.diff-6{color:#e879f9;}
.er-list-lbl{font-size:clamp(11px,3vw,12px);color:var(--txt2);font-weight:500;text-align:left;}
.er-list-val{font-family:'Syne',sans-serif;font-size:clamp(13px,3.8vw,15px);font-weight:800;color:var(--txt);text-align:right;}
.er-recap-card .lc-shard-reward{position:relative;z-index:1;}
.er-phase-hidden{display:none!important;}
.er-recap-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0;margin-top:auto;padding-top:clamp(10px,2.2vh,14px);}
.er-recap-actions.er-phase-hidden{display:none!important;}
.go-store-link{width:100%;background:transparent;border:none;color:var(--txt3);font-family:'DM Sans',sans-serif;
  font-size:clamp(11px,3vw,12px);font-weight:500;text-decoration:underline;text-underline-offset:3px;
  cursor:pointer;padding:0 0 10px;margin-top:-4px;-webkit-tap-highlight-color:transparent;}
.go-store-link:active{opacity:.75;}
.go-confirm-overlay{position:absolute;inset:0;background:var(--scrim-strong);z-index:5;border-radius:var(--modal-card-radius);
  display:flex;align-items:center;justify-content:center;padding:clamp(14px,3vh,20px);}
.go-confirm-overlay.hidden{display:none;}
.go-card.go-confirm-open .go-secondary-actions{pointer-events:none;}
.go-confirm-card{width:100%;margin:0;display:flex;flex-direction:column;gap:10px;}
.go-confirm-card .journey-fail-title{margin-bottom:2px;}
.go-confirm-card .journey-quit-msg{margin-bottom:4px;}
.go-confirm-card .btn-retry,
.go-confirm-card .btn-home-go{margin-bottom:0;}
.go-title{font-family:'Syne',sans-serif;font-size:clamp(22px,7vw,30px);font-weight:800;
  background:linear-gradient(135deg,var(--red),#fc9842);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:2px;}
.go-score-lbl{font-size:clamp(10px,3vw,12px);color:var(--txt3);font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-top:4px;}
.go-score{font-family:'Syne',sans-serif;font-size:clamp(40px,12vw,56px);font-weight:800;color:var(--txt);line-height:1;margin:4px 0 clamp(18px,4vh,26px);}
.go-best{font-size:clamp(10px,3vw,13px);color:var(--txt3);margin-bottom:clamp(12px,2.5vh,16px);}
.go-best span{color:var(--gold);font-weight:600;}
.go-reason{font-size:clamp(10px,3vw,12px);color:var(--txt2);margin-bottom:clamp(20px,4.5vh,28px);line-height:1.45;}
.go-reason strong{color:var(--gold);font-weight:600;}
.go-lives-wrap{display:flex;justify-content:center;margin-bottom:clamp(16px,3.5vh,22px);}
.go-lives-wrap.hidden{display:none;}
.go-lives-bar{pointer-events:none;cursor:default;}
.go-lives-bar:active{transform:none;}
.get-lives-btn .life-ico{width:14px;height:14px;margin-left:2px;}
.go-restart-slot{margin-bottom:10px;}
.get-lives-btn.go-restart-slot{margin-bottom:10px;}
.btn-retry:disabled{opacity:.45;cursor:not-allowed;}
.get-lives-btn{width:100%;background:var(--surface2);border:1.5px solid var(--teal);
  border-radius:13px;padding:11px 12px;font-family:'DM Sans',sans-serif;
  cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  margin-bottom:0;transition:transform .1s,opacity .2s;-webkit-tap-highlight-color:transparent;}
.get-lives-btn:active:not(:disabled){transform:scale(.97);}
.get-lives-btn:disabled{opacity:.45;cursor:not-allowed;}
.get-lives-btn *{pointer-events:none;}
.get-lives-btn .life-ico{width:14px;height:14px;margin-left:2px;}
.modal-purchase-title{font-family:'Syne',sans-serif;font-size:clamp(15px,4vw,17px);font-weight:800;
  color:var(--txt);line-height:1.2;text-align:center;}
.modal-purchase-sub{display:flex;align-items:center;justify-content:center;gap:5px;
  font-size:clamp(11px,3vw,12px);font-weight:600;color:var(--txt2);line-height:1.25;text-align:center;}
.modal-purchase-sub .modal-purchase-ico,.modal-purchase-sub .shard-ico,.modal-purchase-sub .hc-heart{width:14px;height:14px;flex-shrink:0;}
.modal-purchase-play{color:var(--gold);stroke:var(--gold);}
.modal-purchase-tier{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.85;}
.btn-stabilize{border-color:var(--purple,#c05cfc);}
.btn-stabilize:disabled{opacity:.45;cursor:not-allowed;}
.get-lives-btn .shard-ico,.btn-retry .shard-ico{width:14px;height:14px;flex-shrink:0;display:block;}
.btn-retry.btn-get-shards{background:linear-gradient(135deg,#d4a017,var(--gold,#f5c842));color:#1a1200;border:none;}
.go-continue-ad{display:block;width:100%;margin:0;padding:2px 0 0;
  background:transparent;border:none;color:var(--txt3);font-family:'DM Sans',sans-serif;
  font-size:clamp(10px,2.9vw,12px);font-weight:500;text-decoration:underline;text-underline-offset:3px;
  cursor:pointer;-webkit-tap-highlight-color:transparent;}
.go-continue-ad.hidden{display:none;}
.go-continue-ad:active{opacity:.7;}
.btn-stabilize .go-stabilize-shard,.btn-stabilize .shard-ico,.btn-streak-freeze .shard-ico{width:14px;height:14px;flex-shrink:0;}
.btn-stabilize,.btn-cure-continue,.btn-time-continue,.btn-streak-freeze,.btn-ad{display:flex;align-items:center;justify-content:center;}
.btn-ad{border-color:rgba(245,200,66,.45);background:linear-gradient(160deg,rgba(245,200,66,.1),rgba(252,152,66,.04));}
.btn-streak-freeze{border-color:rgba(92,212,245,.75);}
.btn-streak-freeze:disabled{opacity:.45;cursor:not-allowed;}
.btn-streak-freeze.store-funnel{opacity:.55;cursor:pointer;}
.get-lives-btn.store-funnel.disabled-funnel{opacity:.55;cursor:pointer;}
.lives-modal-actions .get-lives-btn,.streak-modal-box .get-lives-btn{width:100%;margin-bottom:0;}
.lives-modal-actions .get-lives-btn.store-funnel:not(:disabled):active,.streak-modal-box .get-lives-btn.store-funnel:active{transform:scale(.97);}
.btn-time-continue{border-color:var(--gold,#f5c842);}
.btn-time-continue:disabled{opacity:.45;cursor:not-allowed;}
.btn-cure-continue{border-color:rgba(92,212,245,.55);}
.ls-tile-pressure .ls-tile-hard-lbl{color:var(--gold,#f5c842);}
.ls-tile-boss .ls-tile-hard-lbl{color:var(--red);}
.life-continue-btn{width:100%;background:transparent;border:1.5px solid var(--red);color:var(--red);
  border-radius:13px;padding:clamp(10px,2.5vh,14px);font-family:'DM Sans',sans-serif;
  font-size:clamp(12px,3.5vw,15px);font-weight:600;cursor:pointer;
  display:none;align-items:center;justify-content:center;gap:7px;margin-bottom:10px;}
.life-continue-btn:disabled{opacity:.45;cursor:not-allowed;}
.life-continue-btn .hc-heart{width:14px;height:14px;flex-shrink:0;}
.journey-quit-overlay{position:absolute;inset:0;background:var(--scrim-medium);z-index:28;
  display:flex;align-items:center;justify-content:center;padding:20px;}
.journey-quit-overlay.hidden{display:none;}
.journey-fail-card{background:var(--surface);border-radius:22px;padding:var(--modal-card-pad-y) var(--modal-card-pad-x);
  width:min(306px,88vw);text-align:center;border:1px solid var(--surface3);
  display:flex;flex-direction:column;gap:10px;}
.journey-fail-card .get-lives-btn{width:100%;margin-bottom:0;}
.journey-fail-card .btn-retry,
.journey-fail-card .btn-home-go{margin-bottom:0;}
.btn-life-leave{border-color:rgba(252,92,125,.55);}
.modal-purchase-sub .modal-purchase-heart{width:14px;height:14px;flex-shrink:0;}
.journey-fail-title{font-family:'Syne',sans-serif;font-size:clamp(20px,6vw,26px);font-weight:800;color:var(--txt);margin-bottom:4px;}
.journey-fail-level{font-size:clamp(11px,3vw,13px);color:var(--txt3);font-weight:600;margin-bottom:10px;}
.journey-fail-reason{font-size:clamp(11px,3vw,13px);color:var(--txt2);margin-bottom:16px;line-height:1.45;}
.journey-quit-msg{font-size:clamp(12px,3.2vw,14px);color:var(--txt2);line-height:1.45;margin-bottom:18px;}
.journey-quit-msg strong{color:var(--red);font-weight:600;}
.watch-ad-btn{width:100%;background:transparent;border:1.5px solid var(--gold);color:var(--gold);
  border-radius:13px;padding:clamp(10px,2.5vh,14px);font-family:'DM Sans',sans-serif;
  font-size:clamp(12px,3.5vw,15px);font-weight:600;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:10px;}
.btn-retry{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border:none;
  border-radius:14px;padding:clamp(13px,3vh,18px);font-family:'DM Sans',sans-serif;
  font-size:clamp(14px,4vw,17px);font-weight:700;cursor:pointer;width:100%;margin-bottom:0;
  transition:transform .1s,opacity .2s;-webkit-tap-highlight-color:transparent;
  display:flex;align-items:center;justify-content:center;gap:6px;}
.btn-retry:active:not(:disabled){transform:scale(.97);}
.btn-home-go{background:var(--surface2);color:var(--txt2);border:1px solid var(--surface3);
  border-radius:13px;padding:clamp(10px,2.4vh,13px);font-family:'DM Sans',sans-serif;
  font-size:clamp(12px,3.4vw,15px);font-weight:500;cursor:pointer;width:100%;
  transition:transform .1s;-webkit-tap-highlight-color:transparent;
  display:flex;align-items:center;justify-content:center;gap:6px;}
.btn-home-go:active{transform:scale(.97);}
.hc-broken-heart,.hc-broken-heart path{fill:var(--red);}
.go-life-cost-ico,.journey-quit-heart{width:14px;height:14px;flex-shrink:0;pointer-events:none;}
.life-cost-tag{display:inline-flex;align-items:center;gap:3px;font-weight:600;font-size:.92em;opacity:.95;white-space:nowrap;}
.life-cost-tag .go-life-cost-ico{width:13px;height:13px;}
#btnGoConfirmYes,#btnRetry,#btnGoHome,#btnQuitLeave{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap;}
#btnGoConfirmYes .go-life-cost-ico{width:13px;height:13px;flex-shrink:0;}
.journey-quit-life-cost{color:var(--red);font-weight:600;}

#shop{background:var(--surface);flex-direction:column;z-index:5;}
.shop-hdr{display:flex;align-items:center;gap:12px;
  padding:clamp(12px,3vh,20px) clamp(10px,3vw,16px) clamp(10px,2vh,14px);
  padding-top:max(env(safe-area-inset-top,0px),clamp(12px,3vh,20px));}
.shop-title{font-family:'Syne',sans-serif;font-size:clamp(18px,5.5vw,24px);font-weight:800;color:var(--txt);}
.shop-body{padding:0 clamp(8px,2.5vw,14px);display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1;padding-bottom:clamp(12px,3vh,20px);}
.sc{background:var(--bg);border-radius:15px;padding:clamp(12px,3vw,16px);border:1.5px solid var(--surface3);cursor:pointer;}
.sc.feat{border-color:var(--accent);background:linear-gradient(135deg,rgba(124,92,252,.1),rgba(192,92,252,.05));}
.sc-row{display:flex;align-items:center;gap:12px;}
.sc-ico{width:clamp(38px,10vw,46px);height:clamp(38px,10vw,46px);border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:clamp(17px,5vw,22px);}
.sc-info{flex:1;}
.sc-name{font-size:clamp(12px,3.5vw,15px);font-weight:600;color:var(--txt);margin-bottom:2px;}
.sc-desc{font-size:clamp(10px,2.8vw,12px);color:var(--txt3);line-height:1.35;}
.sc-price{font-size:clamp(13px,3.8vw,16px);font-weight:700;color:var(--gold);}
.sc-price.fr{color:var(--teal);}
.pop-badge{font-size:9px;font-weight:700;color:var(--accent);background:rgba(124,92,252,.18);border-radius:5px;padding:2px 7px;letter-spacing:.07em;display:inline-block;margin-bottom:5px;}
.restore-row{text-align:center;padding:clamp(10px,2.5vh,16px);font-size:clamp(10px,3vw,13px);color:var(--txt3);cursor:pointer;}
.restore-row span{color:var(--accent);}

#interstitial{background:#000;align-items:center;justify-content:center;z-index:50;}
.inter-wrap{width:min(340px,92vw);background:var(--surface);border-radius:22px;overflow:hidden;}
.inter-vis{height:clamp(160px,28vh,220px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;position:relative;}
.inter-skip{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.55);border:none;
  color:var(--txt3);border-radius:8px;padding:6px 12px;font-size:11px;cursor:pointer;font-family:'DM Sans',sans-serif;}
.inter-skip.go{color:var(--txt);}
.inter-body{padding:clamp(14px,3vh,20px);}
.inter-nm{font-size:clamp(14px,4.5vw,18px);font-weight:600;color:var(--txt);margin-bottom:3px;}
.inter-sb{font-size:clamp(10px,3vw,13px);color:var(--txt3);margin-bottom:14px;}
.inter-install{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;border:none;
  border-radius:12px;width:100%;padding:clamp(11px,2.8vh,15px);
  font-size:clamp(13px,4vw,16px);font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;}

/* ── MODE SELECT ── */
#modeselect{background:transparent;flex-direction:column;}
#modeselect:not(.hidden){padding-top:var(--hub-top-band);}
#modeselect .ms-body{position:relative;z-index:1;}
.pane-heading{font-family:'Syne',sans-serif;font-size:clamp(20px,5.5vw,26px);font-weight:800;color:var(--txt);
  display:block;text-align:center;width:100%;max-width:100%;margin:0;padding:0 0 clamp(4px,1vh,8px);
  letter-spacing:.02em;flex-shrink:0;align-self:stretch;box-sizing:border-box;}
.ms-header{display:flex;align-items:center;gap:10px;flex-shrink:0;
  padding:clamp(12px,3vh,20px) clamp(10px,3vw,16px) clamp(8px,2vh,14px);
  padding-top:max(env(safe-area-inset-top,0px),clamp(12px,3vh,20px));
  border-bottom:1px solid var(--surface2);}
.ms-header .ms-title,.settings-hdr .ms-title{font-family:'Syne',sans-serif;font-size:clamp(16px,4.5vw,20px);
  font-weight:800;color:var(--txt);flex:1;text-align:center;}
.ms-body,.es-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:clamp(16px,4vh,28px) clamp(12px,3vw,20px);overflow-y:auto;}
.ms-stack,.es-stack{width:100%;max-width:min(400px,92vw);display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:clamp(16px,4vh,24px);flex-shrink:0;}
.es-stack .es-desc{width:100%;max-width:320px;margin-inline:auto;}
.es-stack .diff-row,.es-stack>.btn-play{width:min(340px,100%);max-width:min(340px,88vw);align-self:center;}
.mode-card{background:var(--surface);border-radius:20px;padding:clamp(20px,4.5vw,28px);
  border:1.5px solid var(--surface3);cursor:pointer;display:flex;gap:clamp(14px,3.5vw,20px);
  align-items:center;min-height:clamp(148px,24vh,176px);flex-shrink:0;
  transition:border-color .2s,transform .12s,box-shadow .2s;
  position:relative;overflow:hidden;}
.mode-card:active{transform:scale(0.98);}
.mode-card:hover{border-color:var(--surface2);}
.mode-card.featured-mode{border-color:var(--accent);
  background:linear-gradient(135deg,rgba(124,92,252,.1),rgba(192,92,252,.05));}
.mode-badge{position:absolute;top:12px;right:12px;background:var(--accent2);
  color:#fff;font-size:9px;font-weight:800;letter-spacing:.1em;
  border-radius:6px;padding:3px 8px;}
.mode-icon{flex-shrink:0;width:clamp(56px,15vw,72px);height:clamp(56px,15vw,72px);
  border-radius:16px;background:var(--surface2);display:flex;align-items:center;
  justify-content:center;color:var(--txt2);}
.mode-card.featured-mode .mode-icon{background:rgba(124,92,252,.2);color:var(--accent);}
.mode-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.mode-name{font-family:'Syne',sans-serif;font-size:clamp(17px,4.8vw,22px);font-weight:800;
  color:var(--txt);margin-bottom:clamp(6px,1.2vh,8px);}
.mode-desc{font-size:clamp(11px,3vw,13px);color:var(--txt2);line-height:1.5;margin-bottom:clamp(8px,1.5vh,12px);}
.mode-tags{display:flex;flex-wrap:wrap;gap:6px;}
.mode-tag{font-size:clamp(9px,2.5vw,11px);font-weight:600;color:var(--txt3);
  background:var(--surface2);border-radius:6px;padding:3px 8px;letter-spacing:.04em;}
.mode-card.featured-mode .mode-tag{color:var(--accent2);background:rgba(192,92,252,.12);}

/* Journey objectives — fixed 2×2 grid */
.journey-objs{padding:0;flex-shrink:0;overflow:visible;width:100%;}
.obj-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--obj-grid-gap,8px);width:100%;
  height:calc(var(--obj-box-h,46px) * 2 + var(--obj-grid-gap,8px));min-height:calc(var(--obj-box-h,46px) * 2 + var(--obj-grid-gap,8px));}
.obj-box{display:flex;align-items:stretch;padding:clamp(2px,0.5vh,3px) 8px;background:var(--surface2);
  border:1.5px solid var(--surface3);border-radius:10px;min-height:var(--obj-box-h,46px);max-height:var(--obj-box-h,46px);
  box-sizing:border-box;overflow:hidden;
  transition:border-color .25s,background .25s,box-shadow .25s;}
.obj-box--empty{opacity:.32;pointer-events:none;}
.obj-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:3px;}
.obj-row{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;}
.obj-txt{flex:1;min-width:0;line-height:1.25;color:#fff;font-size:clamp(10px,2.8vw,12px);font-weight:600;}
.obj-prog{color:#fff;font-size:clamp(10px,2.7vw,11px);flex-shrink:0;font-weight:700;line-height:1.25;}
.obj-box.obj-done{border-color:var(--teal);background:rgba(92,245,212,.12);
  box-shadow:0 0 16px rgba(92,245,212,.38),0 0 28px rgba(92,245,212,.16);}
.obj-box.obj-done .obj-prog{color:var(--teal);}
.obj-track{height:6px;background:var(--surface);border-radius:4px;overflow:hidden;flex-shrink:0;}
.obj-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .35s cubic-bezier(.34,1.2,.64,1);}
.obj-box.obj-done .obj-fill{background:linear-gradient(90deg,var(--teal),#5eead4);}
.obj-box.obj-fail{border-color:rgba(252,92,125,.55);background:var(--surface2);
  box-shadow:0 0 14px rgba(252,92,125,.28);}
.obj-box.obj-fail .obj-prog{color:var(--red);}
.obj-box.obj-fail .obj-fill{background:var(--red);}
.obj-box.obj-box--stat .obj-track{display:none;}
.obj-box.obj-box--stat .obj-prog{color:var(--accent2);font-size:clamp(11px,3.1vw,13px);}
.obj-box.obj-box--stat.obj-box--pb{
  border-color:rgba(245,200,66,.55);
  background:rgba(245,200,66,.1);
  box-shadow:0 0 14px rgba(245,200,66,.22);}
.obj-box.obj-box--stat.obj-box--pb .obj-txt,
.obj-box.obj-box--stat.obj-box--pb .obj-prog{color:var(--gold);}
.obj-box.obj-box--timer .obj-fill{background:linear-gradient(90deg,var(--gold),#fc9842);}
.obj-box.obj-box--timer.obj-fail{border-color:rgba(252,92,125,.55);}
.obj-box.obj-box--timer.obj-fail .obj-fill{background:var(--red);}
.obj-box.obj-timer-warn .obj-prog{color:var(--red);animation:moveFlash .5s infinite alternate;}

/* Journey level tile objectives text */
.ls-tile-obj{font-size:clamp(7px,2vw,9px);color:var(--txt3);text-align:center;
  line-height:1.2;padding:0 2px;max-width:100%;overflow:hidden;
  white-space:nowrap;text-overflow:ellipsis;width:100%;}

/* level-select.css */
/* ── OVERLAYS ── */
/* ── LEVEL SELECT · vertical path ── */
#levelselect{background:var(--ls-sky-bottom,#c5e8f7);flex-direction:column;position:relative;overflow:hidden;
  --ls-sky-top:#4a9fd4;--ls-sky-bottom:#c5e8f7;--ls-journey-p:0;--ls-star-o:0;
  --ls-haze-o:.14;--ls-haze-mid:rgba(255,255,255,.18);--ls-haze-bottom:rgba(160,215,255,.28);
  --ls-earth-glow:rgba(100,185,240,.22);
  --ls-ascent-pull:0;--ls-earth-o:1;--ls-earth-scale:1.14;
  --ls-earth-bottom:-54vh;--ls-earth-size:840px;}
#levelselect:not(.hidden){padding-top:var(--hub-top-band);
  --ls-band-hud-h:clamp(54px,14vw,66px);}
#levelselect .ls-scroll,
#levelselect .ls-band-hud{transition:opacity .32s ease;}
#levelselect.ls-positioning .ls-scroll,
#levelselect.ls-positioning .ls-band-hud{opacity:0;pointer-events:none;}
#levelselect .ls-scroll{position:relative;z-index:1;padding-top:calc(var(--ls-band-hud-h) + 6px);}
.ls-path-title{font-family:'Syne',sans-serif;font-size:clamp(20px,5.5vw,26px);font-weight:800;color:var(--txt);
  text-align:center;width:100%;flex-shrink:0;margin-top:clamp(22px,5vh,34px);letter-spacing:.02em;}
.ls-unlock-hint.hidden{display:none;}
.ls-unlock-hint{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom,0px));
  transform:translateX(-50%) translateY(12px);z-index:22;pointer-events:none;
  padding:10px 16px;border-radius:14px;background:rgba(124,92,252,.92);border:1px solid rgba(192,92,252,.5);
  font-family:'Syne',sans-serif;font-size:clamp(12px,3.4vw,14px);font-weight:700;color:#fff;
  box-shadow:0 8px 28px rgba(124,92,252,.45);opacity:0;transition:opacity .35s,transform .35s;white-space:nowrap;}
.ls-unlock-hint.show{opacity:1;transform:translateX(-50%) translateY(0);}
.ls-tile.ls-unlock-highlight,.ls-path-portal.ls-unlock-highlight{
  animation:lsUnlockPulse 1.15s ease-in-out infinite;border-color:var(--gold)!important;}
@keyframes lsUnlockPulse{
  0%,100%{box-shadow:0 0 14px rgba(192,92,252,.35),0 0 0 0 rgba(245,200,66,0);}
  50%{box-shadow:0 0 26px rgba(192,92,252,.65),0 0 20px rgba(245,200,66,.35);}}
.ls-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  display:flex;flex-direction:column;align-items:center;box-sizing:border-box;}
.ls-path-track{display:flex;flex-direction:column-reverse;align-items:center;
  --ls-tile:min(114px,33vw);
  width:max-content;max-width:calc(100% - clamp(24px,6vw,32px));
  margin:0 auto;padding:clamp(16px,4vh,24px) clamp(12px,4vw,20px) clamp(28px,6vh,40px);
  min-height:min-content;box-sizing:border-box;}
.ls-path-segment{width:4px;flex-shrink:0;border-radius:2px;
  height:clamp(22px,4.5vh,36px);
  background:linear-gradient(180deg,var(--accent),var(--surface3));}
.ls-path-segment.locked{background:var(--surface3);opacity:.45;}
.ls-tile-wrap{width:var(--ls-tile);flex-shrink:0;}
#levelselect .ls-tile-wrap--milestone,
#levelselect .ls-tile-wrap--orbit,
#levelselect .ls-tile-wrap--event-horizon,
#levelselect .ls-portal-wrap:not(.ls-portal-wrap--back){width:calc(var(--ls-tile) * 2 + 10px);max-width:100%;flex-shrink:0;}
.ls-tile-wrap--milestone{width:calc(var(--ls-tile) * 2 + 10px);}
.ls-tile-wrap--orbit{width:calc(var(--ls-tile) * 2 + 10px);max-width:100%;flex-shrink:0;}
.ls-tile{width:100%;aspect-ratio:1;border-radius:12px;background:var(--surface);
  border:1.5px solid var(--surface3);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2px;padding:6px;
  cursor:pointer;font:inherit;color:inherit;
  transition:border-color .15s,transform .1s,opacity .2s,box-shadow .2s;
  box-shadow:0 4px 12px rgba(0,0,0,.2);}
.ls-tile:active{transform:scale(0.93);}
.ls-tile.locked{opacity:.35;cursor:default;pointer-events:none;box-shadow:none;}
.ls-tile.done-1{border-color:#7a6030;}
.ls-tile.done-2{border-color:#a0a020;}
.ls-tile.done-3{border-color:var(--gold);box-shadow:0 0 12px rgba(245,200,66,.22);}
.ls-tile.current{border-color:var(--accent);background:rgba(124,92,252,.12);
  box-shadow:0 0 16px rgba(192,92,252,.3);}
.ls-tile--orbit{width:100%;aspect-ratio:1;height:auto;min-height:0;max-height:none;
  box-sizing:border-box;overflow:hidden;position:relative;
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
  gap:0;padding:0;
  border-width:2px;border-color:rgba(245,200,66,.42);
  background:linear-gradient(165deg,rgba(124,92,252,.16) 0%,rgba(8,10,22,.92) 48%,rgba(4,6,14,.98) 100%);
  box-shadow:0 0 28px rgba(192,92,252,.22),0 8px 24px rgba(0,0,0,.35);}
.ls-tile--orbit.current{border-color:var(--gold);
  background:linear-gradient(165deg,rgba(245,200,66,.18) 0%,rgba(124,92,252,.14) 42%,rgba(8,10,22,.94) 100%);
  box-shadow:0 0 32px rgba(245,200,66,.28),0 0 20px rgba(192,92,252,.25);}
.ls-tile--orbit.done-1,.ls-tile--orbit.done-2,.ls-tile--orbit.done-3{border-color:var(--gold);
  box-shadow:0 0 24px rgba(245,200,66,.24);}
.ls-tile--orbit.ls-tile--reward-milestone{border-color:rgba(92,245,212,.45);
  box-shadow:0 0 14px rgba(92,245,212,.14);}
.ls-tile--orbit.ls-tile--reward-milestone.current{border-color:var(--teal);
  background:linear-gradient(165deg,rgba(92,245,212,.1) 0%,rgba(124,92,252,.14) 42%,rgba(8,10,22,.94) 100%);
  box-shadow:0 0 16px rgba(92,245,212,.28);}
.ls-tile-orbit-badge{position:absolute;top:clamp(6px,1.6vw,8px);right:clamp(6px,1.6vw,8px);z-index:2;
  font-size:clamp(7px,2vw,8px);font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);padding:3px 6px;border-radius:6px;
  background:rgba(245,200,66,.12);border:1px solid rgba(245,200,66,.35);}
.ls-tile-orbit-hero{flex:1 1 0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(4px,1.1vw,8px);padding:clamp(8px,2.2vw,12px) clamp(10px,2.4vw,12px) clamp(4px,1.2vw,6px);
  background:transparent;}
.ls-tile-orbit-planet{width:clamp(52px,34%,76px);height:clamp(52px,34%,76px);max-width:76px;max-height:76px;
  aspect-ratio:1;border-radius:50%;flex:0 0 auto;
  box-shadow:0 0 20px rgba(255,255,255,.16);}
.ls-tile-orbit-planet.ls-sky-dest-planet{width:100%;height:100%;min-width:0;min-height:0;}
.ls-tile-orbit-label{font-family:'Syne',sans-serif;font-size:clamp(11px,3.2vw,13px);font-weight:800;
  color:#fff;text-align:center;line-height:1.15;width:100%;max-width:100%;
  text-shadow:0 0 16px rgba(192,92,252,.35);}
.ls-tile--orbit.ls-orbit-label--locked .ls-tile-orbit-label{
  color:rgba(255,255,255,.72);letter-spacing:.12em;text-shadow:none;}
.ls-tile-orbit-foot{flex:0 0 var(--ls-tile);height:var(--ls-tile);min-height:var(--ls-tile);width:100%;
  display:flex;flex-direction:row;align-items:stretch;justify-content:flex-start;gap:0;padding:0;overflow:hidden;}
.ls-tile--orbit:not(:has(.ls-tile-reward)) .ls-tile-orbit-foot{justify-content:center;}
.ls-tile--orbit:not(:has(.ls-tile-reward)) .ls-tile-side{flex:1 1 auto;}
.ls-tile--orbit.ls-tile--reward-milestone .ls-tile-reward{color:var(--teal);}
.ls-tile--orbit.ls-orbit-pending .ls-tile-reward{opacity:.4;filter:grayscale(.9);}
.ls-tile--orbit.ls-orbit-pending.ls-tile--reward-milestone .ls-tile-reward{color:var(--txt3);}
.ls-tile.milestone{aspect-ratio:auto;min-height:var(--ls-tile);height:auto;
  flex-direction:row;align-items:stretch;justify-content:flex-start;gap:0;padding:0;}
.ls-tile.milestone.ls-tile--reward-milestone{border-color:rgba(92,245,212,.45);
  box-shadow:0 0 14px rgba(92,245,212,.14);}
.ls-tile.milestone.ls-tile--reward-milestone.current{border-color:var(--teal);
  background:rgba(92,245,212,.08);box-shadow:0 0 16px rgba(92,245,212,.28);}
.ls-tile.milestone.ls-tile--hub-unlock{border-color:rgba(192,92,252,.45);
  box-shadow:0 0 14px rgba(192,92,252,.15);}
.ls-tile.milestone.ls-tile--hub-unlock.current{border-color:var(--accent);
  background:rgba(124,92,252,.12);box-shadow:0 0 16px rgba(192,92,252,.3);}
.ls-tile-side{flex:0 0 var(--ls-tile);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:2px;padding:6px 4px;box-sizing:border-box;}
.ls-tile-divider{display:flex;align-items:center;justify-content:center;flex-shrink:0;
  align-self:stretch;padding:0 4px;margin:8px 0;color:var(--txt3);font-size:clamp(14px,4vw,18px);
  font-weight:300;line-height:1;opacity:.55;}
.ls-tile.milestone.ls-milestone-pending .ls-tile-reward{opacity:.4;filter:grayscale(.9);}
.ls-tile.milestone.ls-milestone-pending .ls-hub-unlock-ico{border-color:rgba(192,92,252,.22);
  box-shadow:none;background:rgba(124,92,252,.06);}
.ls-tile.milestone.ls-milestone-pending.ls-tile--reward-milestone .ls-tile-reward{color:var(--txt3);}
.ls-tile-reward{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  padding:6px 8px;font-size:clamp(10px,2.9vw,12px);font-weight:600;color:var(--accent2);
  text-align:left;line-height:1.25;min-width:0;overflow:hidden;
  transition:opacity .35s ease,filter .35s ease;}
.ls-reward-stack{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(3px,.8vw,5px);width:100%;}
.ls-reward-stack--hub{gap:clamp(6px,1.6vw,8px);}
.ls-hub-unlock{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(5px,1.4vw,7px);
  width:100%;padding:clamp(2px,.6vw,4px) 0;}
.ls-hub-unlock.ls-reward-blink{border-radius:10px;}
.ls-hub-unlock-ico{display:flex;align-items:center;justify-content:center;flex-shrink:0;
  width:clamp(44px,12vw,52px);height:clamp(44px,12vw,52px);border-radius:14px;
  background:rgba(124,92,252,.14);border:1.5px solid rgba(192,92,252,.4);color:var(--accent);
  box-shadow:0 0 14px rgba(192,92,252,.22);}
.ls-hub-unlock-ico svg{width:clamp(26px,7vw,32px);height:clamp(26px,7vw,32px);display:block;}
.ls-hub-unlock-lbl{font-size:clamp(10px,2.9vw,12px);font-weight:700;color:var(--accent2);text-align:center;line-height:1.25;}
.ls-tile.ls-tile--hub-unlock .ls-tile-reward{align-items:center;justify-content:center;}
.ls-tile.milestone.ls-tile--reward-milestone .ls-tile-reward{color:var(--teal);}
.ls-reward-row{display:grid;grid-template-columns:20px auto 1fr;align-items:center;column-gap:6px;width:100%;}
.ls-reward-row--lives{grid-template-columns:20px auto;}
.ls-reward-ico-wrap{display:flex;align-items:center;justify-content:center;width:20px;height:20px;}
.ls-reward-ico{width:18px;height:18px;display:block;}
.ls-reward-amt{font-weight:700;color:#fff;white-space:nowrap;font-size:1.05em;}
.ls-reward-txt{color:var(--txt2);font-weight:500;min-width:0;font-size:1.02em;}
.ls-reward-row.ls-reward-blink{animation:lsRewardBlink .52s ease-in-out 2;}
.ls-tile--reward-milestone .ls-reward-row.ls-reward-blink{animation:lsRewardBlinkTeal .52s ease-in-out 2;}
.ls-hub-unlock.ls-reward-blink{animation:lsRewardBlink .52s ease-in-out 2;}
@keyframes lsRewardBlink{
  0%,100%{opacity:1;transform:scale(1);background:transparent;border-radius:6px;}
  50%{opacity:1;transform:scale(1.05);background:rgba(192,92,252,.22);box-shadow:0 0 12px rgba(192,92,252,.45);}}
@keyframes lsRewardBlinkTeal{
  0%,100%{opacity:1;transform:scale(1);background:transparent;border-radius:6px;}
  50%{opacity:1;transform:scale(1.05);background:rgba(92,245,212,.18);box-shadow:0 0 12px rgba(92,245,212,.4);}}
.ls-tile-num{font-family:'Syne',sans-serif;font-size:clamp(21px,5.8vw,27px);font-weight:700;color:var(--txt);line-height:1;}
.ls-tile.locked .ls-tile-num{color:var(--txt3);}
.ls-tile-stars{font-size:clamp(12px,3.4vw,15px);color:var(--gold);letter-spacing:1.5px;min-height:15px;line-height:1;}
.ls-tile-stars.ls-star-pop{animation:lsStarPop .34s ease-out;}
@keyframes lsStarPop{
  0%{transform:scale(.35);opacity:.15;}
  65%{transform:scale(1.18);opacity:1;}
  100%{transform:scale(1);opacity:1;}}
.ls-tile-hard{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:5px;
  margin-top:3px;flex-wrap:nowrap;white-space:nowrap;}
.ls-tile-hard-lbl{font-size:clamp(8px,2.4vw,10px);font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#ff7b9a;line-height:1;}
.ls-tile-hard-mult{display:inline-flex;align-items:center;justify-content:center;gap:3px;
  font-family:'Syne',sans-serif;font-size:clamp(9px,2.7vw,11px);font-weight:700;color:var(--accent2);line-height:1;}
.ls-tile-hard-mult .ls-tile-hard-shard{width:13px;height:13px;flex-shrink:0;}
.ls-tile.hard-level:not(.locked){border-color:rgba(255,123,154,.45);box-shadow:0 0 12px rgba(255,123,154,.12);}
.ls-tile.hard-level.current{border-color:#ff7b9a;box-shadow:0 0 16px rgba(255,123,154,.28);}
.ls-tile-lock{font-size:clamp(10px,2.8vw,13px);color:var(--txt3);}

.ls-portal-wrap{width:calc(var(--ls-tile) * 2 + 10px);max-width:100%;flex-shrink:0;}
.ls-portal-wrap--back{width:calc(var(--ls-tile) * 2 + 10px);}
.ls-path-portal{width:100%;aspect-ratio:1;border-radius:12px;border:2px solid rgba(92,245,212,.55);
  background:linear-gradient(165deg,rgba(124,92,252,.28),rgba(92,245,212,.14) 45%,rgba(8,8,20,.5));
  box-shadow:0 0 24px rgba(124,92,252,.25),inset 0 0 20px rgba(92,245,212,.08);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:clamp(4px,1.2vw,6px);padding:clamp(10px,2.5vw,14px);text-align:center;font:inherit;color:inherit;cursor:pointer;
  transition:border-color .2s,transform .1s,box-shadow .2s;}
.ls-path-portal:active:not(.locked){transform:scale(.96);}
.ls-path-portal.locked{opacity:.42;cursor:default;pointer-events:none;box-shadow:none;}
.ls-path-portal-art{width:clamp(44px,12vw,56px);height:clamp(44px,12vw,56px);display:flex;align-items:center;justify-content:center;
  filter:drop-shadow(0 0 12px rgba(92,245,212,.35));}
.ls-path-portal-txt{font-family:'Syne',sans-serif;font-size:clamp(11px,3vw,13px);font-weight:800;color:#5cf5d4;line-height:1.3;}
.ls-path-portal-sub{font-size:clamp(9px,2.5vw,10px);font-weight:600;color:var(--txt2);}
.ls-path-portal--back{border-color:rgba(192,92,252,.5);
  background:linear-gradient(165deg,rgba(192,92,252,.2),rgba(124,92,252,.1) 50%,rgba(8,8,20,.45));
  aspect-ratio:auto;height:var(--ls-tile);min-height:var(--ls-tile);}
.ls-path-portal--back .ls-path-portal-txt{color:var(--accent2);}
.ls-path-portal--back .ls-path-portal-art{width:clamp(40px,11vw,52px);height:clamp(40px,11vw,52px);}
.ls-path-portal--event-horizon{border-color:rgba(124,92,252,.55);
  background:radial-gradient(circle at 50% 42%,rgba(20,8,40,.95) 0%,rgba(4,4,12,.98) 62%,rgba(0,0,0,.99) 100%);
  box-shadow:0 0 32px rgba(124,92,252,.35),0 0 48px rgba(0,0,0,.6),inset 0 0 28px rgba(124,92,252,.12);}
.ls-path-portal--event-horizon .ls-path-portal-txt{color:#d4a8ff;}
.ls-path-portal--event-horizon .ls-path-portal-art{width:clamp(52px,14vw,68px);height:clamp(52px,14vw,68px);}
.ls-path-portal-bh{width:100%;height:100%;display:flex;align-items:center;justify-content:center;}
.ls-path-portal--event-horizon .ls-path-portal-bh .ls-sky-dest-planet{width:100%;height:100%;border-radius:50%;}
#levelselect.ls-eh-entering .ls-path-portal--event-horizon .ls-path-portal-bh{visibility:hidden;}

.ls-tile-wrap--event-horizon{width:calc(var(--ls-tile) * 2 + 10px);max-width:100%;flex-shrink:0;}
.ls-tile--event-horizon{width:100%;aspect-ratio:1;height:auto;min-height:0;max-height:none;
  box-sizing:border-box;overflow:hidden;position:relative;
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
  gap:0;padding:0;
  border-width:2px;border-color:rgba(124,92,252,.5);
  background:radial-gradient(circle at 50% 38%,rgba(30,12,60,.55) 0%,rgba(6,4,14,.96) 52%,rgba(0,0,0,.99) 100%);
  box-shadow:0 0 36px rgba(124,92,252,.28),0 0 60px rgba(0,0,0,.45),inset 0 0 32px rgba(0,0,0,.75);}
.ls-tile--event-horizon.current{border-color:rgba(192,92,252,.65);
  background:radial-gradient(circle at 50% 38%,rgba(50,20,90,.6) 0%,rgba(10,6,20,.96) 50%,rgba(0,0,0,.99) 100%);
  box-shadow:0 0 40px rgba(192,92,252,.38),0 0 24px rgba(124,92,252,.3),inset 0 0 36px rgba(0,0,0,.8);}
.ls-tile--event-horizon .ls-tile-orbit-badge{color:#d4a8ff;border-color:rgba(192,92,252,.45);background:rgba(124,92,252,.16);}
.ls-tile--event-horizon .ls-tile-orbit-label{color:#e8d8ff;text-shadow:0 0 20px rgba(124,92,252,.5);}
.ls-tile-orbit-range{font-size:clamp(9px,2.5vw,11px);font-weight:600;color:var(--txt2);
  text-align:center;line-height:1.3;width:100%;max-width:100%;}
.ls-tile--event-horizon .ls-tile-orbit-range{color:rgba(255,255,255,.78);}
.ls-tile--event-horizon .ls-tile-orbit-planet{width:clamp(56px,36%,84px);height:clamp(56px,36%,84px);
  max-width:84px;max-height:84px;}
.ls-tile--event-horizon .ls-tile-orbit-hero{flex:1 1 0;min-height:0;overflow:hidden;}
.ls-tile--event-horizon .ls-tile-orbit-foot{flex:0 0 50%;height:50%;min-height:0;max-height:50%;}
.ls-tile--event-horizon:not(:has(.ls-tile-reward)) .ls-tile-orbit-foot{justify-content:center;}
.ls-tile--event-horizon:not(:has(.ls-tile-reward)) .ls-tile-side{flex:1 1 auto;}
.ls-tile--event-horizon:has(.ls-tile-reward) .ls-tile-orbit-foot{justify-content:flex-start;}
.ls-tile--event-horizon:has(.ls-tile-reward) .ls-tile-side{flex:0 0 50%;max-width:50%;}
.ls-tile--event-horizon:has(.ls-tile-reward) .ls-tile-reward{flex:1;min-width:0;padding:4px 6px;}
.ls-tile--event-horizon:has(.ls-tile-reward) .ls-tile-num{font-size:clamp(18px,5vw,23px);}
.ls-tile--event-horizon:has(.ls-tile-reward) .ls-tile-stars{font-size:clamp(10px,2.8vw,12px);min-height:12px;}
.ls-tile--event-horizon:has(.ls-tile-reward) .ls-tile-hard-lbl{font-size:clamp(7px,2vw,9px);}
.ls-tile--event-horizon:has(.ls-tile-reward) .ls-tile-hard-mult{font-size:clamp(8px,2.3vw,10px);}
.ls-tile--event-horizon.ls-tile--reward-milestone{border-color:rgba(92,245,212,.45);
  box-shadow:0 0 20px rgba(92,245,212,.16),0 0 36px rgba(124,92,252,.22),inset 0 0 32px rgba(0,0,0,.75);}
.ls-tile--event-horizon.ls-tile--reward-milestone.current{border-color:var(--teal);
  box-shadow:0 0 24px rgba(92,245,212,.28),0 0 32px rgba(192,92,252,.32),inset 0 0 36px rgba(0,0,0,.8);}
.ls-tile--event-horizon.ls-tile--reward-milestone .ls-tile-reward{color:var(--teal);}
.ls-tile--event-horizon.ls-milestone-pending .ls-tile-reward{opacity:.4;filter:grayscale(.9);color:var(--txt3);}

#levelselect[data-ls-pane="interstellar"] .ls-scroll{
  overflow:hidden;overscroll-behavior:none;touch-action:none;}
#levelselect[data-ls-pane="interstellar"] .ls-path-track--event-horizon{
  flex-direction:column;align-items:center;justify-content:center;
  min-height:100%;height:100%;
  padding:0 clamp(12px,4vw,20px) clamp(12px,3vh,20px);box-sizing:border-box;}
#levelselect[data-ls-pane="interstellar"] .ls-path-title--event-horizon{
  margin:clamp(10px,2.5vh,18px) 0 0;flex-shrink:0;text-align:center;width:100%;}
.ls-eh-stage{flex:1 1 auto;width:100%;min-height:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  box-sizing:border-box;padding:0;}
.ls-eh-stack{display:flex;flex-direction:column;align-items:center;gap:0;}

#levelselect.ls-eh-entering{pointer-events:none;}
#levelselect.ls-eh-entering .ls-scroll{overflow:hidden;touch-action:none;}
#levelselect.ls-eh-entering .ls-path-segment,
#levelselect.ls-eh-entering .ls-band-marker,
#levelselect.ls-eh-entering .ls-path-title,
#levelselect.ls-eh-entering .ls-eh-path-hidden{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
#levelselect.ls-eh-entering-consume .ls-path-segment,
#levelselect.ls-eh-entering-consume .ls-band-marker,
#levelselect.ls-eh-entering-consume .ls-path-title,
#levelselect.ls-eh-entering-consume .ls-eh-path-hidden{opacity:0!important;visibility:hidden!important;}
#levelselect.ls-eh-entering-consume .ls-scroll{
  transform-origin:var(--ls-eh-sox,50%) var(--ls-eh-soy,50%);
  animation:lsEhViewportPull 1.5s cubic-bezier(.58,.02,.88,.78) forwards;}
#levelselect.ls-eh-entering-consume .ls-sky{
  transform-origin:var(--ls-eh-ox,50%) var(--ls-eh-oy,42%);
  animation:lsEhSkyConsume 1.5s cubic-bezier(.5,.02,.82,.9) forwards;}
#levelselect:not(.ls-eh-entering) .ls-sky{transform:none;filter:none;}
body.ls-eh-entering-body{overflow:hidden;}
.ls-eh-suck-item{
  position:relative;z-index:2;pointer-events:none!important;
  will-change:transform,opacity;
  animation:lsEhTileSuck var(--ls-eh-tdur,480ms) cubic-bezier(.45,.04,.78,.92) forwards;
  animation-delay:var(--ls-eh-tdelay,0ms);}
.ls-portal-wrap.ls-eh-suck-item{z-index:4;}
@keyframes lsEhTileSuck{
  0%{transform:translate(0,0) scale(1) rotate(0deg);opacity:1;filter:brightness(1);}
  8%{transform:translate(calc(var(--ls-eh-tdx)*.012),calc(var(--ls-eh-tdy)*.012)) scale(1) rotate(-2.2deg);opacity:1;}
  16%{transform:translate(calc(var(--ls-eh-tdx)*-.01),calc(var(--ls-eh-tdy)*-.01)) scale(1) rotate(2deg);opacity:1;}
  24%{transform:translate(calc(var(--ls-eh-tdx)*.018),calc(var(--ls-eh-tdy)*.018)) scale(1) rotate(-2.8deg);opacity:1;}
  32%{transform:translate(calc(var(--ls-eh-tdx)*-.014),calc(var(--ls-eh-tdy)*-.014)) scale(.99) rotate(2.2deg);opacity:1;}
  40%{transform:translate(calc(var(--ls-eh-tdx)*.022),calc(var(--ls-eh-tdy)*.022)) scale(.98) rotate(-1.6deg);opacity:.98;}
  52%{transform:translate(calc(var(--ls-eh-tdx)*.14),calc(var(--ls-eh-tdy)*.14)) scale(.9) rotate(3deg);opacity:.92;filter:brightness(.88);}
  72%{transform:translate(calc(var(--ls-eh-tdx)*.52),calc(var(--ls-eh-tdy)*.52)) scale(.45) rotate(7deg);opacity:.55;filter:brightness(.45);}
  100%{transform:translate(calc(var(--ls-eh-tdx)*.96),calc(var(--ls-eh-tdy)*.96)) scale(.04) rotate(12deg);opacity:0;filter:brightness(.15);}}
.ls-eh-enter-fx{position:fixed;inset:0;z-index:12000;pointer-events:all;overflow:hidden;background:transparent;}
.ls-eh-enter-fx::after{content:'';position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;}
.ls-eh-enter-fx-consume::after{animation:lsEhFxBlackout 1.5s ease-in forwards;}
#levelselect.ls-eh-entering .ls-parallax-planet:not([data-planet="blackhole"]){
  opacity:0!important;visibility:hidden!important;}
#levelselect.ls-eh-entering .ls-parallax-planet[data-planet="blackhole"].ls-eh-sky-blackhole{
  position:fixed;left:var(--ls-eh-vx,50vw);top:var(--ls-eh-vy,50vh);
  width:var(--ls-eh-v0,64px)!important;height:var(--ls-eh-v0,64px)!important;
  margin:0;
  transform:translate(-50%,-50%)!important;transform-origin:center center;
  opacity:1!important;visibility:visible!important;
  z-index:11900;pointer-events:none;
  animation:lsEhSkyBhPulse 2.2s ease-in-out infinite;}
#levelselect.ls-eh-entering-consume .ls-parallax-planet[data-planet="blackhole"].ls-eh-sky-blackhole{
  animation:lsEhSkyBhConsume 1.5s cubic-bezier(.38,.02,.62,1) forwards;}
@keyframes lsEhSkyBhPulse{
  0%,100%{filter:brightness(1);}
  50%{filter:brightness(1.14);}}
@keyframes lsEhSkyBhConsume{
  0%{transform:translate(-50%,-50%) scale(1) rotate(0deg);opacity:1;filter:brightness(1.05);}
  22%{transform:translate(-50%,-50%) scale(2.6) rotate(42deg);opacity:1;}
  55%{transform:translate(-50%,-50%) scale(calc(var(--ls-eh-vscale,24)*.58)) rotate(150deg);opacity:1;filter:brightness(1.1);}
  100%{transform:translate(-50%,-50%) scale(var(--ls-eh-vscale,24)) rotate(260deg);opacity:1;filter:blur(1.5px) brightness(1.15);}}
#levelselect[data-ls-mobile-perf="1"] .ls-eh-suck-item{
  animation-name:lsEhTileSuckLite;filter:none!important;}
@keyframes lsEhTileSuckLite{
  0%{transform:translate(0,0) scale(1);opacity:1;}
  100%{transform:translate(calc(var(--ls-eh-tdx)*.96),calc(var(--ls-eh-tdy)*.96)) scale(.04);opacity:0;}}
@keyframes lsEhFxBlackout{
  0%,35%{opacity:0;}
  72%,100%{opacity:1;}}
@keyframes lsEhViewportPull{
  0%{transform:scale(1);filter:brightness(.55);}
  45%{transform:scale(1.12);filter:brightness(.28);}
  100%{transform:scale(2.1);filter:brightness(0);}}
@keyframes lsEhSkyConsume{
  0%{transform:scale(1);filter:brightness(.75);}
  40%{transform:scale(1.65);filter:brightness(.22);}
  100%{transform:scale(2.85);filter:brightness(.01);}}

#levelselect[data-ls-pane="interstellar"]{background:#000;}
#levelselect[data-ls-pane="interstellar"] .ls-sky-base{background:#000;}
#levelselect[data-ls-pane="interstellar"] .ls-sky-stars,
#levelselect[data-ls-pane="interstellar"] .ls-sky-aurora,
#levelselect[data-ls-pane="interstellar"] .ls-sky-shooting,
#levelselect[data-ls-pane="interstellar"] .ls-sky-floats,
#levelselect[data-ls-pane="interstellar"] .ls-sky-haze,
#levelselect[data-ls-pane="interstellar"] .ls-sky-parallax,
#levelselect[data-ls-pane="interstellar"] .ls-sky-planet-wrap{opacity:0!important;visibility:hidden!important;}
#levelselect[data-ls-pane="interstellar"] .ls-band-hud{
  background:linear-gradient(180deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.78) 42%,rgba(0,0,0,.65) 78%,transparent 100%);}

.ls-eh-singularity{position:absolute;inset:0;z-index:1;opacity:0;visibility:hidden;pointer-events:none;overflow:hidden;}
.ls-sky--event-horizon .ls-eh-singularity,
#levelselect[data-ls-pane="interstellar"] .ls-eh-singularity{opacity:1;visibility:visible;}
.ls-eh-singularity-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;}
.ls-eh-singularity-lens{position:absolute;left:var(--ls-eh-cx,50%);top:var(--ls-eh-cy,50%);
  width:clamp(160px,46vw,320px);height:clamp(160px,46vw,320px);
  transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:
    radial-gradient(circle,transparent 38%,rgba(255,255,255,.035) 44%,rgba(192,92,252,.14) 52%,transparent 64%),
    radial-gradient(circle,transparent 58%,rgba(255,255,255,.06) 62%,transparent 68%);
  animation:lsEhLensPulse 5.5s ease-in-out infinite;}
@keyframes lsEhLensPulse{
  0%,100%{opacity:.75;transform:translate(-50%,-50%) scale(1);}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.06);}}
.ls-eh-singularity-disk{position:absolute;left:var(--ls-eh-cx,50%);top:var(--ls-eh-cy,50%);
  width:clamp(220px,58vw,400px);height:clamp(32px,9vw,52px);
  transform:translate(-50%,-50%) rotateX(68deg);
  border-radius:50%;pointer-events:none;opacity:.72;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(255,130,50,.12) 35deg,rgba(255,210,120,.38) 95deg,
    rgba(192,92,252,.28) 185deg,rgba(255,100,70,.18) 265deg,transparent 360deg);
  filter:blur(1.2px);
  animation:lsEhDiskSpin 14s linear infinite;}
@keyframes lsEhDiskSpin{to{transform:translate(-50%,-50%) rotateX(68deg) rotateZ(360deg);}}
.ls-eh-singularity-photon{position:absolute;left:var(--ls-eh-cx,50%);top:var(--ls-eh-cy,50%);
  width:clamp(88px,24vw,132px);height:clamp(88px,24vw,132px);
  transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  box-shadow:0 0 24px 3px rgba(255,255,255,.07),0 0 48px 12px rgba(124,92,252,.18),inset 0 0 36px rgba(0,0,0,.98);
  animation:lsEhPhotonShimmer 4s ease-in-out infinite alternate;}
@keyframes lsEhPhotonShimmer{
  0%{opacity:.55;box-shadow:0 0 20px 2px rgba(255,255,255,.05),0 0 40px 8px rgba(124,92,252,.12),inset 0 0 32px rgba(0,0,0,.98);}
  100%{opacity:.9;box-shadow:0 0 28px 4px rgba(255,255,255,.1),0 0 56px 14px rgba(192,92,252,.22),inset 0 0 40px rgba(0,0,0,.99);}}

/* ── Journey sky (parallax ascent) ── */
.ls-sky{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.ls-sky-base{position:absolute;inset:0;
  background:linear-gradient(180deg,var(--ls-sky-top) 0%,var(--ls-sky-bottom) 65%,var(--ls-sky-bottom) 100%);}
.ls-sky-aurora{position:absolute;inset:-5% -20%;opacity:0;pointer-events:none;
  background:
    linear-gradient(105deg,transparent 30%,rgba(92,245,212,.18) 42%,transparent 52%),
    linear-gradient(75deg,transparent 38%,rgba(192,92,252,.22) 48%,transparent 58%),
    linear-gradient(95deg,transparent 55%,rgba(245,200,66,.12) 62%,transparent 72%);
  filter:blur(18px);transform:translateY(calc(var(--ls-journey-p) * -4vh));
  transition:opacity .6s ease;animation:lsAuroraShift 14s ease-in-out infinite alternate;}
.ls-sky-aurora.visible{opacity:.75;}
@keyframes lsAuroraShift{
  0%{transform:translateY(calc(var(--ls-journey-p) * -4vh)) skewX(-3deg);}
  100%{transform:translateY(calc(var(--ls-journey-p) * -4vh - 2vh)) skewX(3deg);}}
.ls-sky-stars{position:absolute;inset:-10% 0;opacity:var(--ls-star-o);
  background-image:
    radial-gradient(1px 1px at 10% 20%,rgba(255,255,255,.85),transparent),
    radial-gradient(1px 1px at 30% 65%,rgba(255,255,255,.7),transparent),
    radial-gradient(1.5px 1.5px at 55% 15%,rgba(255,255,255,.9),transparent),
    radial-gradient(1px 1px at 72% 42%,rgba(255,255,255,.65),transparent),
    radial-gradient(1px 1px at 88% 78%,rgba(255,255,255,.75),transparent),
    radial-gradient(1px 1px at 18% 88%,rgba(200,220,255,.6),transparent),
    radial-gradient(1.5px 1.5px at 45% 38%,rgba(255,255,255,.8),transparent),
    radial-gradient(1px 1px at 92% 28%,rgba(255,255,255,.55),transparent),
    radial-gradient(1px 1px at 6% 48%,rgba(255,255,255,.5),transparent),
    radial-gradient(1.5px 1.5px at 63% 82%,rgba(200,220,255,.7),transparent);
  background-size:100% 100%;transform:translateY(calc(var(--ls-journey-p) * -12vh));}
.ls-sky-shooting{position:absolute;inset:0;opacity:0;transition:opacity .5s ease;}
.ls-sky-shooting.visible{opacity:1;}
.ls-sky-shooting::before,.ls-sky-shooting::after{
  content:'';position:absolute;width:96px;height:2px;border-radius:2px;
  background:linear-gradient(to left,rgba(255,255,255,.9) 0%,rgba(200,230,255,.55) 18%,transparent 72%);
  transform-origin:100% 50%;transform:rotate(-32deg);opacity:0;}
.ls-sky-shooting.visible::before{top:18%;left:-10%;animation:lsShootStar 9s linear infinite;}
.ls-sky-shooting.visible::after{top:42%;left:-10%;animation:lsShootStar 13s linear 4.5s infinite;}
@keyframes lsShootStar{
  0%,78%,100%{opacity:0;transform:translate(0,0) rotate(-32deg);}
  82%{opacity:1;}95%{opacity:.6;transform:translate(130vw,calc(130vw * 0.625)) rotate(-32deg);}}
.ls-sky-floats{position:absolute;inset:0;overflow:hidden;}
.ls-float{position:absolute;opacity:var(--fl-o,.35);animation:lsFloatDrift var(--fl-dur,22s) ease-in-out infinite;
  animation-delay:var(--fl-delay,0s);will-change:transform;}
.ls-float--hex{width:var(--fl-s,18px);height:calc(var(--fl-s,18px) * 1.1547);
  clip-path:polygon(50% 0%, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25%);
  background:linear-gradient(145deg,rgba(192,92,252,.55),rgba(124,92,252,.25));
  box-shadow:0 0 10px rgba(192,92,252,.25);}
.ls-float--shard{width:var(--fl-s,12px);height:var(--fl-s,12px);border-radius:3px;
  background:linear-gradient(135deg,rgba(92,245,212,.5),rgba(124,92,252,.35));
  transform:rotate(45deg);}
.ls-float--cloud{width:var(--fl-w,48px);height:var(--fl-h,22px);border-radius:50%;
  background:radial-gradient(ellipse at 50% 50%,rgba(255,255,255,.14),rgba(255,255,255,.04) 70%,transparent);
  filter:blur(2px);}
.ls-float--bubble{width:var(--fl-s,10px);height:var(--fl-s,10px);border-radius:50%;
  border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);}
@keyframes lsFloatDrift{
  0%,100%{transform:translate(0,0) rotate(var(--fl-r,0deg));}
  33%{transform:translate(var(--fl-x1,12px),var(--fl-y1,-18px)) rotate(calc(var(--fl-r,0deg) + 8deg));}
  66%{transform:translate(var(--fl-x2,-8px),var(--fl-y2,-32px)) rotate(calc(var(--fl-r,0deg) - 5deg));}}
.ls-sky-haze{position:absolute;left:-10%;right:-10%;bottom:0;height:55%;opacity:var(--ls-haze-o);
  background:linear-gradient(180deg,transparent,var(--ls-haze-mid,rgba(255,255,255,.18)) 40%,var(--ls-haze-bottom,rgba(160,215,255,.28)));
  transform:translateY(calc(var(--ls-journey-p) * -6vh));}
.ls-sky-parallax{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0;
  clip-path:inset(calc(var(--hub-top-band,0px) + var(--ls-band-hud-h,58px)) 0 0 0);}
.ls-parallax-planet{position:absolute;left:50%;top:0;width:min(62vw,300px);aspect-ratio:1;
  transform:translate3d(-50%,-50%,0);will-change:transform,opacity;pointer-events:none;
  filter:drop-shadow(0 0 calc(18px + var(--pp-glow,0px)) rgba(255,255,255,.16));}
.ls-parallax-planet .ls-sky-planet,.ls-parallax-planet .ls-sky-dest{width:100%;height:100%;border-radius:50%;}
.ls-sky-planet-wrap{position:absolute;left:50%;bottom:var(--ls-earth-bottom,-54vh);
  width:var(--ls-earth-size,840px);max-width:none;aspect-ratio:1;
  transform:translateX(-50%) translateY(calc((1 - var(--ls-journey-p)) * -8vh))
    scale(var(--ls-earth-scale,1.14));
  opacity:0;pointer-events:none;contain:layout paint;
  filter:drop-shadow(0 -8px 48px var(--ls-earth-glow,rgba(100,185,240,.22)));}
.ls-sky-planet-wrap.visible{opacity:var(--ls-earth-o,1);}
.ls-sky-planet--css-earth{
  width:100%;height:100%;border-radius:50%;overflow:hidden;
  background:
    radial-gradient(circle at 72% 28%,rgba(92,184,232,.55) 0%,transparent 38%),
    radial-gradient(circle at 28% 38%,rgba(92,200,120,.45) 0%,transparent 42%),
    radial-gradient(circle at 38% 32%,rgba(255,255,255,.16),transparent 48%),
    radial-gradient(circle at 50% 58%,#4a9a68 0%,#2d6848 52%,#142818 100%);
  box-shadow:inset -12px -10px 28px rgba(0,0,0,.28),inset 8px 8px 20px rgba(255,255,255,.08);}
#levelselect[data-ls-mobile-perf="1"] .ls-sky-planet-wrap{
  filter:none;
  box-shadow:0 -12px 36px color-mix(in srgb,var(--ls-earth-glow,rgba(100,185,240,.22)) 70%,transparent);}
#levelselect[data-ls-mobile-perf="1"] .ls-sky-planet--hexearth svg{display:none;}
.ls-sky-planet{width:100%;height:100%;border-radius:50%;overflow:visible;}
.ls-sky-planet-wrap .ls-sky-dest{width:100%;height:100%;border-radius:50%;}
.ls-sky-planet--hexearth svg{display:block;overflow:visible;filter:drop-shadow(0 -4px 32px rgba(80,160,120,.35));}
#levelselect[data-ls-mobile-perf="1"] .ls-sky-planet--hexearth svg{filter:none;}

/* Mobile perf — trim GPU-heavy sky layers and defer off-screen path layout */

#levelselect[data-ls-mobile-perf="1"] .ls-sky-aurora,
#levelselect[data-ls-mobile-perf="1"] .ls-sky-shooting,
#levelselect[data-ls-mobile-perf="1"] .ls-sky-floats,
#levelselect[data-ls-mobile-perf="1"] .ls-sky-wildlife{
  display:none!important;}
#levelselect[data-ls-mobile-perf="1"] .ls-parallax-planet{filter:none!important;}
#levelselect[data-ls-mobile-perf="1"] .ls-sky-haze{opacity:calc(var(--ls-haze-o,.2) * .55);}
.ls-sky-planet--hexearth{overflow:hidden;border-radius:50%;}
.ls-sky-dest-planet{width:100%;height:100%;border-radius:50%;position:relative;overflow:visible;
  filter:drop-shadow(0 0 28px rgba(255,255,255,.18));}
.ls-sky-dest--moon{background:linear-gradient(145deg,#f0f0f8,#a8a8b8 42%,#686878 100%);
  box-shadow:inset -12px -8px 24px rgba(0,0,0,.25);}
.ls-sky-dest--moon::before{content:'';position:absolute;inset:8%;border-radius:50%;pointer-events:none;
  background:
    radial-gradient(circle at 28% 32%,rgba(0,0,0,.14) 0%,transparent 9%),
    radial-gradient(circle at 62% 48%,rgba(0,0,0,.1) 0%,transparent 7%),
    radial-gradient(circle at 44% 68%,rgba(0,0,0,.12) 0%,transparent 11%),
    radial-gradient(circle at 72% 28%,rgba(0,0,0,.08) 0%,transparent 6%);}
.ls-sky-dest--mars{background:linear-gradient(160deg,#e87858 0%,#c84830 35%,#903020 65%,#601810 100%);
  box-shadow:0 0 32px rgba(232,112,80,.25),inset -10px -6px 20px rgba(0,0,0,.3);}
.ls-sky-dest--mars::before{content:'';position:absolute;top:8%;left:12%;width:22%;height:16%;border-radius:50%;
  background:rgba(255,255,255,.35);filter:blur(1px);transform:rotate(-20deg);}
.ls-sky-dest--jupiter{background:
  linear-gradient(180deg,#e8c898 0%,#d4a060 12%,#b87840 22%,#d8b878 32%,#a86838 44%,#e0c088 56%,#986838 68%,#c89858 80%,#805028 100%);
  box-shadow:0 0 36px rgba(216,168,88,.2);}
.ls-sky-dest--saturn{background:linear-gradient(145deg,#f0e0b0,#d0b070 45%,#a88848 100%);position:relative;
  box-shadow:0 0 30px rgba(232,216,168,.25);}
.ls-sky-dest--saturn::after{content:'';position:absolute;left:50%;top:50%;width:165%;height:32%;
  transform:translate(-50%,-50%) rotate(-16deg);border-radius:50%;
  border:3px solid rgba(232,216,168,.5);box-shadow:0 0 16px rgba(232,216,168,.3);pointer-events:none;}
.ls-sky-dest--neptune{background:linear-gradient(145deg,#68b0e8,#3888c8 40%,#2058a0 100%);
  box-shadow:0 0 40px rgba(80,152,216,.35);}
.ls-sky-dest--neptune::before{content:'';position:absolute;inset:0;border-radius:50%;
  background:linear-gradient(90deg,transparent 40%,rgba(255,255,255,.08) 50%,transparent 60%);}
.ls-sky-dest--pluto{background:linear-gradient(145deg,#d8c0b0,#a89080 50%,#706058 100%);
  box-shadow:0 0 20px rgba(200,176,160,.15);}
.ls-sky-dest--proxima{background:radial-gradient(circle at 38% 36%,#ffa878,#e85028 35%,#882818 75%);
  box-shadow:0 0 48px rgba(255,120,80,.45);}
.ls-sky-dest--nebula{background:
  radial-gradient(circle at 40% 40%,rgba(255,100,140,.55),transparent 50%),
  radial-gradient(circle at 65% 55%,rgba(140,80,255,.45),transparent 45%),
  radial-gradient(ellipse at 50% 50%,rgba(200,120,255,.25),transparent 70%),
  linear-gradient(145deg,#281038,#180828);border-radius:50%;
  box-shadow:0 0 50px rgba(200,100,255,.3);}
.ls-sky-dest--redstar{background:radial-gradient(circle at 42% 38%,#fff0e0,#ff6040 22%,#c82018 45%,#601008 78%);
  box-shadow:0 0 60px rgba(255,80,40,.55),0 0 100px rgba(255,60,30,.2);}
.ls-sky-dest--binary{background:
  radial-gradient(circle at 35% 45%,#fff8e0 0%,#f5c842 14%,transparent 18%),
  radial-gradient(circle at 62% 52%,#c8e8ff 0%,#6898ff 14%,transparent 18%),
  radial-gradient(circle at 50% 50%,#181830 0%,#080818 70%);border-radius:50%;}
.ls-sky-dest--void{background:radial-gradient(circle at 50% 50%,#2a1848 0%,#080810 72%);
  box-shadow:inset 0 0 50px rgba(0,0,0,.85),0 0 30px rgba(124,92,252,.15);}
.ls-sky-dest--galaxy{background:
  radial-gradient(ellipse 85% 40% at 50% 50%,rgba(200,160,255,.4),transparent 58%),
  radial-gradient(circle at 48% 48%,rgba(255,255,255,.35),transparent 14%),
  radial-gradient(ellipse 60% 25% at 50% 50%,rgba(255,200,255,.2),transparent 50%),
  linear-gradient(145deg,#180828,#080410);border-radius:50%;
  animation:lsGalaxySpin 80s linear infinite;}
.ls-sky-dest--blackhole{background:
  radial-gradient(circle at 50% 50%,#000 0%,#000 26%,transparent 31%),
  radial-gradient(circle at 50% 50%,rgba(124,92,252,.55) 0%,rgba(60,30,120,.2) 42%,transparent 62%),
  radial-gradient(circle at 50% 50%,rgba(245,200,66,.12) 0%,transparent 48%),
  radial-gradient(circle at 42% 38%,rgba(92,245,212,.08),transparent 35%);
  box-shadow:0 0 50px rgba(124,92,252,.45),0 0 90px rgba(60,20,100,.35),inset 0 0 40px rgba(0,0,0,.9);
  animation:lsBhPulse 6s ease-in-out infinite alternate;}
@keyframes lsBhPulse{
  0%{box-shadow:0 0 44px rgba(124,92,252,.38),0 0 80px rgba(60,20,100,.28),inset 0 0 40px rgba(0,0,0,.9);}
  100%{box-shadow:0 0 64px rgba(124,92,252,.55),0 0 110px rgba(92,245,212,.15),inset 0 0 48px rgba(0,0,0,.95);}}
@keyframes lsGalaxySpin{to{transform:rotate(360deg);}}
.ls-sky-dest--station{background:
  radial-gradient(circle at 50% 50%,rgba(92,245,212,.45),rgba(124,92,252,.35) 60%,rgba(40,30,80,.8) 100%);
  box-shadow:0 0 36px rgba(92,245,212,.4);border-radius:50%;}
.ls-sky-dest--station::before{content:'';position:absolute;inset:20%;border-radius:50%;
  border:2px dashed rgba(92,245,212,.45);animation:lsStationSpin 24s linear infinite;}
@keyframes lsStationSpin{to{transform:rotate(360deg);}}
.ls-sky-wildlife{position:absolute;inset:0;overflow:hidden;}
.ls-wild{position:absolute;pointer-events:none;will-change:transform,opacity;}
.ls-wild[data-bl-from]:not(.ls-wild--comet):not(.ls-wild--voyager){opacity:var(--bl-o,1);}
.ls-wild--plane{top:20%;left:-20%;width:clamp(72px,20vw,112px);height:auto;
  animation:lsPlaneFly 22s linear infinite;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3));}
.ls-wild--plane svg{display:block;width:100%;height:auto;}
@keyframes lsPlaneFly{
  0%{transform:translateX(0) translateY(0) scaleX(1);}
  48%{transform:translateX(calc(100vw + 36vw)) translateY(-3vh) scaleX(1);}
  50%{transform:translateX(calc(100vw + 36vw)) translateY(-3vh) scaleX(-1);}
  98%{transform:translateX(0) translateY(2vh) scaleX(-1);}
  100%{transform:translateX(0) translateY(0) scaleX(1);}}
.ls-wild--comet{top:8%;left:-20%;width:clamp(100px,28vw,160px);height:clamp(4px,1.2vw,6px);
  transform-origin:100% 50%;
  animation:lsCometStreak var(--cm-dur,18s) linear infinite;animation-delay:var(--cm-delay,0s);opacity:0;}
.ls-wild--comet::before{content:'';position:absolute;inset:0;border-radius:4px;
  background:linear-gradient(to left,rgba(255,255,255,.95) 0%,rgba(200,240,255,.7) 14%,rgba(92,245,212,.35) 42%,transparent 100%);}
.ls-wild--comet::after{content:'';position:absolute;right:0;left:auto;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;
  background:#fff;box-shadow:0 0 12px #fff,0 0 24px rgba(92,245,212,.8);}
@keyframes lsCometStreak{
  0%,8%,100%{opacity:0;transform:translate(0,0) rotate(16deg);}
  10%{opacity:1;}22%{opacity:1;transform:translate(130vw,38vh) rotate(16deg);}24%{opacity:0;}}
.ls-wild--satellite{top:14%;right:8%;width:clamp(32px,9vw,48px);
  animation:lsSatelliteBob 6s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(92,245,212,.4));}
.ls-wild--satellite svg{display:block;width:100%;height:auto;}
@keyframes lsSatelliteBob{
  0%,100%{transform:translateY(0) rotate(-8deg);}
  50%{transform:translateY(-10px) rotate(6deg);}}
.ls-wild--ufo{bottom:28%;left:-12%;width:clamp(40px,11vw,56px);
  animation:lsUfoGlide 26s ease-in-out infinite;opacity:.85;}
.ls-wild--ufo svg{display:block;width:100%;height:auto;filter:drop-shadow(0 0 14px rgba(192,92,252,.5));}
@keyframes lsUfoGlide{
  0%,100%{transform:translateX(0) translateY(0);}
  45%{transform:translateX(55vw) translateY(-4vh);}
  55%{transform:translateX(55vw) translateY(-2vh);}}
.ls-wild--voyager{top:18%;left:-24%;width:clamp(88px,24vw,132px);height:auto;
  transform-origin:center center;
  animation:lsVoyagerFly var(--vy-dur,52s) linear infinite;
  animation-delay:var(--vy-delay,0s);
  filter:drop-shadow(0 0 10px rgba(200,220,255,.25));}
.ls-wild--voyager svg{display:block;width:100%;height:auto;}
@keyframes lsVoyagerFly{
  0%,6%,100%{opacity:0;transform:translate(0,0) rotate(-8deg);}
  8%{opacity:1;}
  42%{opacity:1;transform:translate(128vw,22vh) rotate(-8deg);}
  44%{opacity:0;}}
.ls-band-hud{position:absolute;left:0;right:0;top:0;z-index:3;pointer-events:none;text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  height:calc(var(--hub-top-band) + var(--ls-band-hud-h,clamp(54px,14vw,66px)));
  min-height:calc(var(--hub-top-band) + var(--ls-band-hud-h,clamp(54px,14vw,66px)));
  padding:var(--hub-top-band) clamp(12px,4vw,20px) 0;box-sizing:border-box;
  background:linear-gradient(180deg,rgba(8,8,16,.94) 0%,rgba(8,8,16,.82) 42%,rgba(8,8,16,.72) 78%,transparent 100%);}
.ls-band-hud-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  line-height:1.25;width:100%;}
.ls-band-hud-label{font-family:'Syne',sans-serif;font-size:clamp(14px,4vw,17px);font-weight:800;color:#fff;
  text-shadow:0 0 20px rgba(192,92,252,.35);line-height:1.2;}
.ls-band-hud-range{font-size:clamp(10px,2.8vw,11px);font-weight:600;color:var(--txt2);line-height:1.3;
  white-space:nowrap;}
.ls-band-marker{width:calc(var(--ls-tile) * 2 + 10px);max-width:100%;flex-shrink:0;display:flex;
  flex-direction:column;align-items:center;gap:3px;
  padding:clamp(2px,.6vh,4px) 8px clamp(16px,3.2vh,24px);text-align:center;}
.ls-band-marker:not([data-from="1"]){transform:translateY(clamp(-8px,-1.4vh,-12px));}
.ls-band-marker-line{width:2px;height:clamp(10px,2.4vh,16px);border-radius:1px;flex-shrink:0;
  background:linear-gradient(180deg,rgba(192,92,252,.65),transparent);}
.ls-band-marker-label{font-family:'Syne',sans-serif;font-size:clamp(13px,3.8vw,16px);font-weight:800;
  color:rgba(255,255,255,.92);letter-spacing:.04em;line-height:1.2;}
.ls-band-marker-range{font-size:clamp(11px,3.2vw,13px);font-weight:600;color:#fff;line-height:1.25;
  opacity:.92;}
.ls-band-marker--locked .ls-band-marker-label,
.ls-band-marker--locked .ls-band-marker-range{color:rgba(255,255,255,.72);letter-spacing:.12em;}
.ls-band-marker--ascent .ls-band-marker-line{background:linear-gradient(180deg,rgba(192,92,252,.7),transparent);}
.ls-band-marker--solar .ls-band-marker-line{background:linear-gradient(180deg,rgba(92,245,212,.75),transparent);}
.ls-band-marker--solar .ls-band-marker-label{color:#5cf5d4;}
.ls-band-marker--extrasolar .ls-band-marker-line{background:linear-gradient(180deg,rgba(245,200,66,.7),transparent);}
.ls-band-marker--extrasolar .ls-band-marker-label{color:var(--gold);}
.ls-band-marker--deep .ls-band-marker-line{background:linear-gradient(180deg,rgba(200,160,255,.65),transparent);}
.ls-band-marker--deep .ls-band-marker-label{color:#d4a8ff;}
.ls-band-marker--lunar .ls-band-marker-line{background:linear-gradient(180deg,rgba(168,200,255,.7),transparent);}
.ls-band-marker--lunar .ls-band-marker-label{color:#a8d8ff;}
.ls-band-marker--mars .ls-band-marker-line{background:linear-gradient(180deg,rgba(232,112,80,.75),transparent);}
.ls-band-marker--mars .ls-band-marker-label{color:#ff9a78;}
.ls-band-marker--jupiter .ls-band-marker-line{background:linear-gradient(180deg,rgba(216,168,88,.7),transparent);}
.ls-band-marker--jupiter .ls-band-marker-label{color:#e8c878;}
.ls-band-marker--saturn .ls-band-marker-line{background:linear-gradient(180deg,rgba(232,216,168,.65),transparent);}
.ls-band-marker--saturn .ls-band-marker-label{color:#f0e0b0;}
.ls-band-marker--neptune .ls-band-marker-line{background:linear-gradient(180deg,rgba(100,180,232,.7),transparent);}
.ls-band-marker--neptune .ls-band-marker-label{color:#88c8f0;}
.ls-band-marker--pluto .ls-band-marker-line{background:linear-gradient(180deg,rgba(200,176,160,.6),transparent);}
.ls-band-marker--pluto .ls-band-marker-label{color:#d8c0b0;}

/* mode-select.css */
/* ── MODE SELECT ── */
#modeselect{background:transparent;flex-direction:column;}
#modeselect:not(.hidden){padding-top:var(--hub-top-band);}
#modeselect .ms-body{position:relative;z-index:1;}
.pane-heading{font-family:'Syne',sans-serif;font-size:clamp(20px,5.5vw,26px);font-weight:800;color:var(--txt);
  display:block;text-align:center;width:100%;max-width:100%;margin:0;padding:0 0 clamp(4px,1vh,8px);
  letter-spacing:.02em;flex-shrink:0;align-self:stretch;box-sizing:border-box;}
.ms-header{display:flex;align-items:center;gap:10px;flex-shrink:0;
  padding:clamp(12px,3vh,20px) clamp(10px,3vw,16px) clamp(8px,2vh,14px);
  padding-top:max(env(safe-area-inset-top,0px),clamp(12px,3vh,20px));
  border-bottom:1px solid var(--surface2);}
.ms-header .ms-title,.settings-hdr .ms-title{font-family:'Syne',sans-serif;font-size:clamp(16px,4.5vw,20px);
  font-weight:800;color:var(--txt);flex:1;text-align:center;}
.ms-body,.es-body{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:clamp(16px,4vh,28px) clamp(12px,3vw,20px);overflow-y:auto;}
.ms-stack,.es-stack{width:100%;max-width:min(400px,92vw);display:flex;flex-direction:column;
  align-items:center;text-align:center;gap:clamp(16px,4vh,24px);flex-shrink:0;}
.es-stack .es-desc{width:100%;max-width:320px;margin-inline:auto;}
.es-stack .diff-row,.es-stack>.btn-play{width:min(340px,100%);max-width:min(340px,88vw);align-self:center;}
.mode-card{background:var(--surface);border-radius:20px;padding:clamp(20px,4.5vw,28px);
  border:1.5px solid var(--surface3);cursor:pointer;display:flex;gap:clamp(14px,3.5vw,20px);
  align-items:center;min-height:clamp(148px,24vh,176px);flex-shrink:0;
  transition:border-color .2s,transform .12s,box-shadow .2s;
  position:relative;overflow:hidden;}
.mode-card:active{transform:scale(0.98);}
.mode-card:hover{border-color:var(--surface2);}
.mode-card.featured-mode{border-color:var(--accent);
  background:linear-gradient(135deg,rgba(124,92,252,.1),rgba(192,92,252,.05));}
.mode-badge{position:absolute;top:12px;right:12px;background:var(--accent2);
  color:#fff;font-size:9px;font-weight:800;letter-spacing:.1em;
  border-radius:6px;padding:3px 8px;}
.mode-icon{flex-shrink:0;width:clamp(56px,15vw,72px);height:clamp(56px,15vw,72px);
  border-radius:16px;background:var(--surface2);display:flex;align-items:center;
  justify-content:center;color:var(--txt2);}
.mode-card.featured-mode .mode-icon{background:rgba(124,92,252,.2);color:var(--accent);}
.mode-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.mode-name{font-family:'Syne',sans-serif;font-size:clamp(17px,4.8vw,22px);font-weight:800;
  color:var(--txt);margin-bottom:clamp(6px,1.2vh,8px);}
.mode-desc{font-size:clamp(11px,3vw,13px);color:var(--txt2);line-height:1.5;margin-bottom:clamp(8px,1.5vh,12px);}
.mode-tags{display:flex;flex-wrap:wrap;gap:6px;}
.mode-tag{font-size:clamp(9px,2.5vw,11px);font-weight:600;color:var(--txt3);
  background:var(--surface2);border-radius:6px;padding:3px 8px;letter-spacing:.04em;}
.mode-card.featured-mode .mode-tag{color:var(--accent2);background:rgba(192,92,252,.12);}

/* journey-ui.css */
/* Journey level tile objectives text (in-game grid styles → toast.css) */
.ls-tile-obj{font-size:clamp(7px,2vw,9px);color:var(--txt3);text-align:center;
  line-height:1.2;padding:0 2px;max-width:100%;overflow:hidden;
  white-space:nowrap;text-overflow:ellipsis;width:100%;}

/* bonus-round.css */
/* Journey bonus round (Galaga-style hex swarm) */
#bonusround{background:var(--bg-bonus);align-items:stretch;justify-content:stretch;overflow:hidden;}
#bonusround #bonusCanvas{position:absolute;left:0;right:0;bottom:0;top:var(--hub-top-band);width:100%;touch-action:none;}
#bonusround.br-intro-active #bonusCanvas{pointer-events:none;}
.br-intro{position:absolute;left:0;right:0;bottom:0;top:var(--hub-top-band);display:flex;flex-direction:column;align-items:center;justify-content:center;
  z-index:3;pointer-events:none;background:var(--scrim-bonus-intro);animation:brIntroFade 2.2s ease forwards;}
@keyframes brIntroFade{0%{opacity:0}12%{opacity:1}78%{opacity:1}100%{opacity:0}}
.br-intro-glow{position:absolute;width:min(70vw,320px);height:min(70vw,320px);border-radius:50%;
  background:radial-gradient(circle,rgba(192,92,252,.35) 0%,transparent 70%);animation:brPulse 1.2s ease-in-out infinite;}
@keyframes brPulse{0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.08);opacity:1}}
.br-intro-text{font-family:'Syne',sans-serif;font-size:clamp(36px,11vw,56px);font-weight:800;color:#fff;
  text-align:center;letter-spacing:.04em;text-shadow:0 0 40px rgba(192,92,252,.8);position:relative;z-index:1;
  animation:brIntroPop .6s cubic-bezier(.34,1.4,.64,1) .15s both;}
.br-intro-sub{margin-top:12px;font-size:clamp(11px,3.2vw,13px);color:var(--txt2);letter-spacing:.08em;
  text-transform:uppercase;position:relative;z-index:1;opacity:.85;}
@keyframes brIntroPop{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
.br-play-hud{position:absolute;left:0;right:0;bottom:0;top:var(--hub-top-band);z-index:2;pointer-events:none;display:flex;flex-direction:column;
  padding:8px clamp(12px,4vw,20px) max(clamp(12px,3vh,20px),var(--hub-nav-h));}
.br-play-hud.hidden{display:none!important;}
.br-hud-top{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.br-hud-title{font-family:'Syne',sans-serif;font-size:clamp(14px,4vw,18px);font-weight:800;color:#fff;letter-spacing:.06em;}
.br-remaining{font-family:'Syne',sans-serif;font-size:clamp(12px,3.5vw,15px);font-weight:700;color:#5cf5d4;
  letter-spacing:.04em;text-transform:uppercase;}
.br-hud-stats{display:flex;gap:clamp(16px,5vw,28px);margin-top:10px;}
.br-stat{display:flex;flex-direction:column;gap:2px;font-family:'Syne',sans-serif;font-size:clamp(16px,4.5vw,20px);
  font-weight:800;color:#fff;}
.br-stat-lbl{font-size:clamp(9px,2.5vw,10px);font-weight:600;color:var(--txt2);letter-spacing:.1em;text-transform:uppercase;}
.br-input-lock{margin-top:8px;font-family:'Syne',sans-serif;font-size:clamp(12px,3.4vw,14px);font-weight:800;
  color:#fc5c7d;letter-spacing:.06em;text-transform:uppercase;animation:brLockPulse .45s ease-in-out infinite alternate;}
.br-input-lock.hidden{display:none!important;}
@keyframes brLockPulse{from{opacity:.65}to{opacity:1}}
.br-pinball-hint{margin-top:auto;font-size:clamp(11px,3vw,13px);color:var(--txt2);text-align:center;
  letter-spacing:.04em;pointer-events:none;padding-bottom:4px;}
.pb-flipper-row{display:none!important;}
.pb-flipper-gap{pointer-events:none;}
.pb-flip-btn{pointer-events:auto;border-radius:12px;border:1.5px solid rgba(192,92,252,.55);
  background:linear-gradient(180deg,rgba(124,92,252,.42),rgba(60,40,140,.32));color:#fff;
  font-family:'Syne',sans-serif;font-size:clamp(13px,3.6vw,15px);font-weight:800;letter-spacing:.06em;
  cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;
  transition:transform .08s ease,border-color .12s,box-shadow .12s,background .12s;}
.pb-flip-btn:active,.pb-flip-btn.active{transform:scale(.97);border-color:rgba(245,200,66,.8);
  background:linear-gradient(180deg,rgba(245,200,66,.35),rgba(124,92,252,.35));
  box-shadow:0 0 18px rgba(192,92,252,.5);}
.br-results{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;
  background:var(--scrim-bonus);overflow:hidden;padding:clamp(16px,5vw,24px);box-sizing:border-box;}
.br-results.hidden{display:none!important;}
.br-results-fw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;}
.br-results-card{position:relative;z-index:1;background:var(--surface);border:1px solid var(--surface3);border-radius:var(--modal-card-radius);
  width:min(320px,100%);height:min(408px,86vh);box-sizing:border-box;overflow:hidden;text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
  padding:var(--modal-card-pad-y) var(--modal-card-pad-x);
  opacity:0;transform:translateY(10px);
  transition:opacity .45s ease,transform .45s cubic-bezier(.34,1.56,.64,1);}
.br-results-card.show{opacity:1;transform:translateY(0);}
.br-results-stack{width:100%;flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;}
.br-results-title{font-family:'Syne',sans-serif;font-size:clamp(20px,5.5vw,26px);font-weight:800;color:#fff;
  margin:0 0 clamp(16px,4vh,22px);padding:0;width:100%;text-align:center;line-height:1.2;flex-shrink:0;
  opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .45s cubic-bezier(.34,1.56,.64,1);}
.br-results-title.show{opacity:1;transform:translateY(0);}
.br-results-title.perfect{color:var(--gold);text-shadow:0 0 18px rgba(245,200,66,.35);}
.br-phase-hidden{display:none!important;}
.br-results-block{margin:0 0 clamp(14px,3.5vh,20px);width:100%;box-sizing:border-box;padding:0;flex-shrink:0;}
.br-results-block:last-of-type{margin-bottom:0;}
.br-results-lbl-row{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 0 6px;}
.br-results-lbl{font-size:clamp(10px,2.8vw,12px);color:var(--txt2);letter-spacing:.12em;text-transform:uppercase;
  margin:0;text-align:center;}
.br-results-mult{font-family:'Syne',sans-serif;font-size:clamp(11px,3vw,13px);font-weight:800;color:var(--gold);
  letter-spacing:.06em;line-height:1;}
.br-results-mult.hidden{display:none!important;}
.br-results-count{font-family:'Syne',sans-serif;font-size:clamp(40px,12vw,56px);font-weight:800;color:#fff;line-height:1;
  text-align:center;text-shadow:0 0 28px rgba(192,92,252,.35);}
.br-results-count.pop,.br-results-amt.pop{animation:brCountPop .18s cubic-bezier(.34,1.5,.64,1);}
@keyframes brCountPop{0%{transform:scale(1)}45%{transform:scale(1.14)}100%{transform:scale(1)}}
.br-results-shard-row{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;}
.br-results-amt{font-family:'Syne',sans-serif;font-size:clamp(32px,9vw,48px);font-weight:800;color:#c05cfc;line-height:1;}
.br-shard-ico{width:clamp(32px,9vw,44px);height:clamp(32px,9vw,44px);flex-shrink:0;}
.br-pause-overlay{position:absolute;inset:0;z-index:6;background:var(--scrim-medium);display:flex;align-items:center;
  justify-content:center;padding:clamp(16px,5vw,24px);box-sizing:border-box;}
.br-pause-overlay.hidden{display:none!important;}
.br-pause-overlay .journey-fail-card .journey-quit-msg{margin-bottom:4px;}
.br-pause-overlay .journey-fail-card .get-lives-btn{width:100%;margin-bottom:0;}
